Chuanhong Guo b8a8bf53e9 siflower: sf21: add support for Bananapi BPI-RV2
Specification:
 - Siflower SF21H8898
 - 512MB DDR3, 128MB SPI-NAND and 16MB SPI-NOR
 - 5x Gigabit ports (SF23P1240 QSGMII PHY and SF23P1211F RGMII PHY)
 - 1x 2.5G port (Airoha EN8811H PHY)
 - M.2 Key B slot with USB2.0, PCIEx1 and a NanoSIM card slot
 - MiniPCIe slot with USB2.0 and PCIEx1
 - 1x USB2.0 port through USB Hub
 - PCF8563-compatible RTC

The SoC can only boot from SPI0. Two SPI flash chipselects are connected
to GPIO5 (SPI0 CS) and GPIO36 through a 2x2 jumper. It boots from
SPI-NOR or SPI-NAND depending on how the jumpers are connected.

The firmware can be flashed using U-boot web recovery from Siflower
vendor U-boot.

Link: https://github.com/openwrt/openwrt/pull/17115
Signed-off-by: Chuanhong Guo <gch981213@gmail.com>
2025-02-05 11:08:37 +08:00

40 lines
1.4 KiB
Makefile

define Device/Default
PROFILES = Default $$(DEVICE_NAME)
BLOCKSIZE := 64k
KERNEL = kernel-bin | lzma
KERNEL_INITRAMFS = kernel-bin | lzma | \
fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 128k
KERNEL_LOADADDR := 0x20000000
FILESYSTEMS := squashfs
DEVICE_DTS_DIR := ../dts
IMAGES := sysupgrade.bin
IMAGE/sysupgrade.bin = append-kernel | fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | pad-rootfs | append-metadata
endef
define Device/NAND
KERNEL := kernel-bin | gzip
KERNEL_INITRAMFS = kernel-bin | lzma | \
fit lzma $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb with-initrd | pad-to 128k
IMAGE/sysupgrade.bin = append-kernel | fit gzip $$(KDIR)/image-$$(firstword $$(DEVICE_DTS)).dtb external-static-with-rootfs | append-metadata
endef
define Device/bananapi_bpi-rv2
DEVICE_VENDOR := Bananapi
DEVICE_PACKAGES := kmod-usb-dwc2 kmod-phy-sf21-usb kmod-phy-airoha-en8811h kmod-rtc-pcf8563
endef
define Device/bananapi_bpi-rv2-nand
DEVICE_MODEL := BPi-RV2 (Booting from NAND)
DEVICE_DTS := sf21h8898_bananapi_bpi-rv2-nand
$(call Device/bananapi_bpi-rv2)
endef
TARGET_DEVICES += bananapi_bpi-rv2-nand
define Device/bananapi_bpi-rv2-nor
DEVICE_MODEL := BPi-RV2 (Booting from NOR)
DEVICE_DTS := sf21h8898_bananapi_bpi-rv2-nor
$(call Device/bananapi_bpi-rv2)
endef
TARGET_DEVICES += bananapi_bpi-rv2-nor