cypress-nvram: use symlink to provide NVRAM for some RPis

This is to align the implementation with upstream `linux-firmware`.

Some Raspberry Pi boards do not have dedicated NVRAM in `linux-firmware`
source repository, their NVRAM is provided through a symbolic link to
NVRAM of another board with an identical wireless design.

Signed-off-by: Kuan-Yi Li <kyli@abysm.org>
This commit is contained in:
Kuan-Yi Li 2022-10-22 23:09:19 +08:00 committed by Álvaro Fernández Rojas
parent ce6f86e134
commit efaad5e901
2 changed files with 33 additions and 16 deletions

View file

@ -11,7 +11,7 @@ PKG_NAME:=cypress-nvram
PKG_SOURCE_DATE:=2019-09-03 PKG_SOURCE_DATE:=2019-09-03
PKG_SOURCE_VERSION:=e7b78df22f2a0c5f56abb7b5880661611de35e5f PKG_SOURCE_VERSION:=e7b78df22f2a0c5f56abb7b5880661611de35e5f
PKG_MIRROR_HASH:=1cb20a749696852be0a512d51961365dd9c031362af0af1a2b9f5a3fb894885f PKG_MIRROR_HASH:=1cb20a749696852be0a512d51961365dd9c031362af0af1a2b9f5a3fb894885f
PKG_RELEASE:=3 PKG_RELEASE:=4
PKG_SOURCE_PROTO:=git PKG_SOURCE_PROTO:=git
PKG_SOURCE_URL:=https://github.com/openwrt/cypress-nvram.git PKG_SOURCE_URL:=https://github.com/openwrt/cypress-nvram.git
@ -44,7 +44,7 @@ define Package/cypress-nvram-43430-sdio-rpi-3b/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm $(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DATA) \ $(INSTALL_DATA) \
$(PKG_BUILD_DIR)/brcmfmac43430-sdio.raspberrypi,3-model-b.txt \ $(PKG_BUILD_DIR)/brcmfmac43430-sdio.raspberrypi,3-model-b.txt \
$(1)/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt $(1)/lib/firmware/brcm/
endef endef
$(eval $(call BuildPackage,cypress-nvram-43430-sdio-rpi-3b)) $(eval $(call BuildPackage,cypress-nvram-43430-sdio-rpi-3b))
@ -53,14 +53,14 @@ $(eval $(call BuildPackage,cypress-nvram-43430-sdio-rpi-3b))
define Package/cypress-nvram-43430-sdio-rpi-zero-w define Package/cypress-nvram-43430-sdio-rpi-zero-w
$(Package/cypress-nvram-default) $(Package/cypress-nvram-default)
TITLE:=CYW43430 NVRAM for Raspberry Pi Zero W TITLE:=CYW43430 NVRAM for Raspberry Pi Zero W
DEPENDS:=@TARGET_bcm27xx DEPENDS:=@TARGET_bcm27xx +cypress-nvram-43430-sdio-rpi-3b
CONFLICTS:=brcmfmac-firmware-43430-sdio-rpi-zero-w CONFLICTS:=brcmfmac-firmware-43430-sdio-rpi-zero-w
endef endef
define Package/cypress-nvram-43430-sdio-rpi-zero-w/install define Package/cypress-nvram-43430-sdio-rpi-zero-w/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm $(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DATA) \ $(LN) \
$(PKG_BUILD_DIR)/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt \ brcmfmac43430-sdio.raspberrypi,3-model-b.txt \
$(1)/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt $(1)/lib/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt
endef endef
@ -78,7 +78,7 @@ define Package/cypress-nvram-43455-sdio-rpi-3b-plus/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm $(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DATA) \ $(INSTALL_DATA) \
$(PKG_BUILD_DIR)/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt \ $(PKG_BUILD_DIR)/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt \
$(1)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt $(1)/lib/firmware/brcm/
endef endef
$(eval $(call BuildPackage,cypress-nvram-43455-sdio-rpi-3b-plus)) $(eval $(call BuildPackage,cypress-nvram-43455-sdio-rpi-3b-plus))
@ -95,14 +95,28 @@ define Package/cypress-nvram-43455-sdio-rpi-4b/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm $(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DATA) \ $(INSTALL_DATA) \
$(PKG_BUILD_DIR)/brcmfmac43455-sdio.raspberrypi,4-model-b.txt \ $(PKG_BUILD_DIR)/brcmfmac43455-sdio.raspberrypi,4-model-b.txt \
$(1)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt $(1)/lib/firmware/brcm/
$(INSTALL_DATA) \
$(PKG_BUILD_DIR)/brcmfmac43455-sdio.raspberrypi,4-model-b.txt \
$(1)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.txt
endef endef
$(eval $(call BuildPackage,cypress-nvram-43455-sdio-rpi-4b)) $(eval $(call BuildPackage,cypress-nvram-43455-sdio-rpi-4b))
# Cypress 43455 SDIO Raspberry Pi CM4 NVRAM
define Package/cypress-nvram-43455-sdio-rpi-cm4
$(Package/cypress-nvram-default)
TITLE:=CYW43455 NVRAM for Raspberry Pi CM4
DEPENDS:=@TARGET_bcm27xx +cypress-nvram-43455-sdio-rpi-4b
CONFLICTS:=brcmfmac-firmware-43455-sdio-rpi-cm4
endef
define Package/cypress-nvram-43455-sdio-rpi-cm4/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm
$(LN) \
brcmfmac43455-sdio.raspberrypi,4-model-b.txt \
$(1)/lib/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.txt
endef
$(eval $(call BuildPackage,cypress-nvram-43455-sdio-rpi-cm4))
# Cypress 4339 SDIO PICO-PI-IMX7D # Cypress 4339 SDIO PICO-PI-IMX7D
define Package/cypress-nvram-4339-pico-pi-imx7d define Package/cypress-nvram-4339-pico-pi-imx7d
$(Package/cypress-nvram-default) $(Package/cypress-nvram-default)
@ -115,7 +129,7 @@ define Package/cypress-nvram-4339-pico-pi-imx7d/install
$(INSTALL_DIR) $(1)/lib/firmware/brcm $(INSTALL_DIR) $(1)/lib/firmware/brcm
$(INSTALL_DATA) \ $(INSTALL_DATA) \
./files/brcmfmac4339-sdio.technexion,imx7d-pico-pi.txt \ ./files/brcmfmac4339-sdio.technexion,imx7d-pico-pi.txt \
$(1)/lib/firmware/brcm/brcmfmac4339-sdio.technexion,imx7d-pico-pi.txt $(1)/lib/firmware/brcm/
endef endef
$(eval $(call BuildPackage,cypress-nvram-4339-pico-pi-imx7d)) $(eval $(call BuildPackage,cypress-nvram-4339-pico-pi-imx7d))

View file

@ -87,10 +87,10 @@ define Device/rpi-2
DEVICE_MODEL := 2B/2B 1.2 DEVICE_MODEL := 2B/2B 1.2
DEVICE_VARIANT := (32bit) DEVICE_VARIANT := (32bit)
DEVICE_ALT0_VENDOR := Raspberry Pi DEVICE_ALT0_VENDOR := Raspberry Pi
DEVICE_ALT0_MODEL := 3B/3B+/3CM DEVICE_ALT0_MODEL := 3B/3B+/CM3
DEVICE_ALT0_VARIANT := (32bit) DEVICE_ALT0_VARIANT := (32bit)
DEVICE_ALT1_VENDOR := Raspberry Pi DEVICE_ALT1_VENDOR := Raspberry Pi
DEVICE_ALT1_MODEL := 4B/400/4CM DEVICE_ALT1_MODEL := 4B/400/CM4
DEVICE_ALT1_VARIANT := (32bit) DEVICE_ALT1_VARIANT := (32bit)
DEVICE_DTS := \ DEVICE_DTS := \
bcm2709-rpi-2-b bcm2710-rpi-2-b \ bcm2709-rpi-2-b bcm2710-rpi-2-b \
@ -109,7 +109,9 @@ define Device/rpi-2
cypress-firmware-43430-sdio \ cypress-firmware-43430-sdio \
cypress-nvram-43430-sdio-rpi-3b \ cypress-nvram-43430-sdio-rpi-3b \
cypress-firmware-43455-sdio \ cypress-firmware-43455-sdio \
cypress-nvram-43455-sdio-rpi-3b-plus cypress-nvram-43455-sdio-rpi-4b \ cypress-nvram-43455-sdio-rpi-3b-plus \
cypress-nvram-43455-sdio-rpi-4b \
cypress-nvram-43455-sdio-rpi-cm4 \
kmod-brcmfmac wpad-basic-wolfssl kmod-brcmfmac wpad-basic-wolfssl
IMAGE/sysupgrade.img.gz := boot-common | boot-2708 | boot-2711 | sdcard-img | gzip | append-metadata IMAGE/sysupgrade.img.gz := boot-common | boot-2708 | boot-2711 | sdcard-img | gzip | append-metadata
IMAGE/factory.img.gz := boot-common | boot-2708 | boot-2711 | sdcard-img | gzip IMAGE/factory.img.gz := boot-common | boot-2708 | boot-2711 | sdcard-img | gzip
@ -119,7 +121,7 @@ ifeq ($(SUBTARGET),bcm2709)
endif endif
define Device/rpi-3 define Device/rpi-3
DEVICE_MODEL := 3B/3B+/3CM DEVICE_MODEL := 3B/3B+/CM3
DEVICE_VARIANT := (64bit) DEVICE_VARIANT := (64bit)
DEVICE_ALT0_VENDOR := Raspberry Pi DEVICE_ALT0_VENDOR := Raspberry Pi
DEVICE_ALT0_MODEL := 2B-1.2 DEVICE_ALT0_MODEL := 2B-1.2
@ -148,7 +150,7 @@ ifeq ($(SUBTARGET),bcm2710)
endif endif
define Device/rpi-4 define Device/rpi-4
DEVICE_MODEL := 4B/400/4CM DEVICE_MODEL := 4B/400/CM4
DEVICE_VARIANT := (64bit) DEVICE_VARIANT := (64bit)
KERNEL_IMG := kernel8.img KERNEL_IMG := kernel8.img
DEVICE_DTS := \ DEVICE_DTS := \
@ -162,6 +164,7 @@ define Device/rpi-4
DEVICE_PACKAGES := \ DEVICE_PACKAGES := \
cypress-firmware-43455-sdio \ cypress-firmware-43455-sdio \
cypress-nvram-43455-sdio-rpi-4b \ cypress-nvram-43455-sdio-rpi-4b \
cypress-nvram-43455-sdio-rpi-cm4 \
kmod-brcmfmac wpad-basic-wolfssl \ kmod-brcmfmac wpad-basic-wolfssl \
kmod-usb-net-lan78xx kmod-usb-net-lan78xx
IMAGE/sysupgrade.img.gz := boot-common | boot-2711 | sdcard-img | gzip | append-metadata IMAGE/sysupgrade.img.gz := boot-common | boot-2711 | sdcard-img | gzip | append-metadata