package/linux-firmware: add option for Cypress FullMAC
PATCH 1/1 package/linux-firmware: add option for Cypress FullMAC
Since 2016, Cypress is in charge of supporting old Broadcom wireless chips and producing new ones. Newer firmwares for now come with a different license and have anoter location in a package.
Now, most of Broadcom FullMac firmwares in brcm/ directory should now be just symlinks to the corresponding files in cypress/ directory.
Respectively, it also makes sence to autoselect corresponding CYPRESS options if user selectes BRCM wireless stuff.
This patch was created as a result of investigation the issue with broken wireless support for such popular boards as Raspberry Pi Zero W and BananaPi M2 Zero.
--- package/linux-firmware/Config.in | 17 ++++++++++ package/linux-firmware/linux-firmware.hash | 1 + package/linux-firmware/linux-firmware.mk | 39 ++++++++++++++++++++++ 3 files changed, 57 insertions(+)
package/linux-firmware/Config.in +17 -0
@@ -140,11 +140,13 @@ config BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA998X config BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX bool "Broadcom BRCM bcm43xx" + select BR2_PACKAGE_LINUX_FIRMWARE_CYPRESS_CYW43XX help Firmware files for the Broadcom bcm43xx SoftMAC and FullMAC. config BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX bool "Broadcom BRCM bcm43xxx" + select BR2_PACKAGE_LINUX_FIRMWARE_CYPRESS_CYW43XXX help Firmware files for the Broadcom bcm43xxx, SoftMAC and FullMAC.
@@ -158,6 +160,21 @@ config BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM4366C0 help Firmware file for the Broadcom 4366c0 FullMAC chip. +config BR2_PACKAGE_LINUX_FIRMWARE_CYPRESS_CYW43XX + bool "Cypress CY cyw43xx" + help + Firmware files for the Cypress cyw43xx FullMAC. + +config BR2_PACKAGE_LINUX_FIRMWARE_CYPRESS_CYW43XXX + bool "Cypress CY cyw43xxx" + help + Firmware files for the Cypress cyw43xxx FullMAC. + +config BR2_PACKAGE_LINUX_FIRMWARE_CYPRESS_CYW54XXX + bool "Cypress CY cyw54xxx" + help + Firmware files for the Cypress cyw54xxx FullMAC. + config BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_22260 bool "Intel iwlwifi 22260" help
package/linux-firmware/linux-firmware.hash +1 -0
@@ -11,6 +11,7 @@ sha256 631065703055d11b099477c508508f20a80b202aad548a7726564bfa59a96c91 ath10k sha256 8ce5c6ea0542bf4aac31fc3ae16a39792ad22d0eae4543063fac56fb3380f021 ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt sha256 b16056fc91b82a0e3e8de8f86c2dac98201aa9dc3cbd33e8d38f1b087fcec30d LICENCE.broadcom_bcm43xx sha256 a5777f9e80aca0603b0648454de996168b1c530322550ccda94d6d78bcf6c061 LICENCE.chelsio_firmware +sha256 ae0db6cc4db33941148df0f67de53e76a77b1b5a46b3165edb7040aa2750015f LICENCE.cypress sha256 60fbc9cccb455e1a3306c97db942d6f24fa93664be61d54c497637e6d0e2ae83 LICENCE.fw_sst_0f28 sha256 5181b0b51efc79d5acb2c9bb92042878fdbad97a92114d4ab5e32e2b5b52fce4 LICENCE.ibt_firmware sha256 0e0c11073ba3c832097da38e0905da36b8a3526f219407977b13b71c6675be7d LICENCE.it913x
package/linux-firmware/linux-firmware.mk +39 -0
@@ -675,6 +675,45 @@ LINUX_FIRMWARE_FILES += brcm/brcmfmac4366c-pcie.bin LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.broadcom_bcm43xx endif +# cyfmac43xx +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CYPRESS_CYW43XX),y) +LINUX_FIRMWARE_FILES += \ + cypress/cyfmac4339-sdio.bin \ + cypress/cyfmac4354-sdio.bin \ + cypress/cyfmac4354-sdio.clm_blob \ + cypress/cyfmac4356-pcie.bin \ + cypress/cyfmac4356-pcie.clm_blob \ + cypress/cyfmac4356-sdio.bin \ + cypress/cyfmac4356-sdio.clm_blob \ + cypress/cyfmac4373-sdio.bin \ + cypress/cyfmac4373-sdio.clm_blob +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.cypress +endif + +# cyfmac43xxx +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CYPRESS_CYW43XXX),y) +LINUX_FIRMWARE_FILES += \ + cypress/cyfmac43012-sdio.bin \ + cypress/cyfmac43012-sdio.clm_blob \ + cypress/cyfmac43340-sdio.bin \ + cypress/cyfmac43362-sdio.bin \ + cypress/cyfmac43430-sdio.bin \ + cypress/cyfmac43430-sdio.clm_blob \ + cypress/cyfmac43455-sdio.bin \ + cypress/cyfmac43455-sdio.clm_blob \ + cypress/cyfmac43570-pcie.bin \ + cypress/cyfmac43570-pcie.clm_blob +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.cypress +endif + +# cyfmac54xxx +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CYPRESS_CYW54XXX),y) +LINUX_FIRMWARE_FILES += \ + cypress/cyfmac54591-pcie.bin \ + cypress/cyfmac54591-pcie.clm_blob +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.cypress +endif + # ql2xxx ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QLOGIC_2XXX),y) LINUX_FIRMWARE_FILES += \
Signature · 6 lines
2.34.1 _______________________________________________ buildroot mailing list [email protected] https://lists.buildroot.org/mailman/listinfo/buildroot
Arnout Vandecappelle
AppliedQuoted 6 lines · Uladzimir Bely
Since 2016, Cypress is in charge of supporting old Broadcom wireless chips and producing new ones. Newer firmwares for now come with a different license and have anoter location in a package.
Now, most of Broadcom FullMac firmwares in brcm/ directory should now be just symlinks to the corresponding files in cypress/ directory.
It's not actually most, just about half.
Quoted 3 lines
Respectively, it also makes sence to autoselect corresponding CYPRESS options if user selectes BRCM wireless stuff.
This looked very suspicious at first, but indeed, with our linux-firmware
infrastructure, this is the only reasonable way we can make sure that all the BCM firmware blobs are actually installed.
Applied to master, thanks.
Regards,
Arnout
Quoted 105 lines
This patch was created as a result of investigation the issue with broken wireless support for such popular boards as Raspberry Pi Zero W and BananaPi M2 Zero.
Signed-off-by Uladzimir Bely <[email protected]>--- package/linux-firmware/Config.in | 17 ++++++++++ package/linux-firmware/linux-firmware.hash | 1 + package/linux-firmware/linux-firmware.mk | 39 ++++++++++++++++++++++ 3 files changed, 57 insertions(+)package/linux-firmware/Config.in +17
-0@@ -140,11 +140,13 @@ config BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA998X config BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX bool "Broadcom BRCM bcm43xx" + select BR2_PACKAGE_LINUX_FIRMWARE_CYPRESS_CYW43XX help Firmware files for the Broadcom bcm43xx SoftMAC and FullMAC. config BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX bool "Broadcom BRCM bcm43xxx" + select BR2_PACKAGE_LINUX_FIRMWARE_CYPRESS_CYW43XXX help Firmware files for the Broadcom bcm43xxx, SoftMAC and FullMAC.@@ -158,6 +160,21 @@ config BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM4366C0 help Firmware file for the Broadcom 4366c0 FullMAC chip. +config BR2_PACKAGE_LINUX_FIRMWARE_CYPRESS_CYW43XX + bool "Cypress CY cyw43xx" + help + Firmware files for the Cypress cyw43xx FullMAC. + +config BR2_PACKAGE_LINUX_FIRMWARE_CYPRESS_CYW43XXX + bool "Cypress CY cyw43xxx" + help + Firmware files for the Cypress cyw43xxx FullMAC. + +config BR2_PACKAGE_LINUX_FIRMWARE_CYPRESS_CYW54XXX + bool "Cypress CY cyw54xxx" + help + Firmware files for the Cypress cyw54xxx FullMAC. + config BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_22260 bool "Intel iwlwifi 22260" helppackage/linux-firmware/linux-firmware.hash +1
-0@@ -11,6 +11,7 @@ sha256 631065703055d11b099477c508508f20a80b202aad548a7726564bfa59a96c91 ath10k sha256 8ce5c6ea0542bf4aac31fc3ae16a39792ad22d0eae4543063fac56fb3380f021 ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt sha256 b16056fc91b82a0e3e8de8f86c2dac98201aa9dc3cbd33e8d38f1b087fcec30d LICENCE.broadcom_bcm43xx sha256 a5777f9e80aca0603b0648454de996168b1c530322550ccda94d6d78bcf6c061 LICENCE.chelsio_firmware +sha256 ae0db6cc4db33941148df0f67de53e76a77b1b5a46b3165edb7040aa2750015f LICENCE.cypress sha256 60fbc9cccb455e1a3306c97db942d6f24fa93664be61d54c497637e6d0e2ae83 LICENCE.fw_sst_0f28 sha256 5181b0b51efc79d5acb2c9bb92042878fdbad97a92114d4ab5e32e2b5b52fce4 LICENCE.ibt_firmware sha256 0e0c11073ba3c832097da38e0905da36b8a3526f219407977b13b71c6675be7d LICENCE.it913xpackage/linux-firmware/linux-firmware.mk +32
-0@@ -675,6 +675,45 @@ LINUX_FIRMWARE_FILES += brcm/brcmfmac4366c-pcie.bin LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.broadcom_bcm43xx endif +# cyfmac43xx +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CYPRESS_CYW43XX),y) +LINUX_FIRMWARE_FILES += \ + cypress/cyfmac4339-sdio.bin \ + cypress/cyfmac4354-sdio.bin \ + cypress/cyfmac4354-sdio.clm_blob \ + cypress/cyfmac4356-pcie.bin \ + cypress/cyfmac4356-pcie.clm_blob \ + cypress/cyfmac4356-sdio.bin \ + cypress/cyfmac4356-sdio.clm_blob \ + cypress/cyfmac4373-sdio.bin \ + cypress/cyfmac4373-sdio.clm_blob +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.cypress +endif + +# cyfmac43xxx +ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CYPRESS_CYW43XXX),y) +LINUX_FIRMWARE_FILES += \ + cypress/cyfmac43012-sdio.bin \ + cypress/cyfmac43012-sdio.clm_blob \ + cypress/cyfmac43340-sdio.bin \ + cypress/cyfmac43362-sdio.bin \ + cypress/cyfmac43430-sdio.bin \ + cypress/cyfmac43430-sdio.clm_blob \ + cypress/cyfmac43455-sdio.bin \ + cypress/cyfmac43455-sdio.clm_blob \ + cypress/cyfmac43570-pcie.bin \ + cypress/cyfmac43570-pcie.clm_blob +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.cypress +endif + +# cyfmac54xxx
package/linux-firmware/linux-firmware.mk LINUX_FIRMWARE_FILES += brcm/brcmfmac4366c-pcie.bin · line 719
Quoted 10 lines
package/linux-firmware/linux-firmware.mk +7
-0+ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CYPRESS_CYW54XXX),y) +LINUX_FIRMWARE_FILES += \ + cypress/cyfmac54591-pcie.bin \ + cypress/cyfmac54591-pcie.clm_blob +LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.cypress +endif + # ql2xxx ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QLOGIC_2XXX),y) LINUX_FIRMWARE_FILES += \
_______________________________________________
buildroot mailing list
[email protected]
https://lists.buildroot.org/mailman/listinfo/buildroot