aboutsummaryrefslogtreecommitdiffstats
path: root/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb
diff options
context:
space:
mode:
Diffstat (limited to 'recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb')
-rw-r--r--recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb156
1 files changed, 74 insertions, 82 deletions
diff --git a/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb b/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb
index a091585..959513d 100644
--- a/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb
+++ b/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb
@@ -5,111 +5,103 @@ to linux-firmware for general use."
HOMEPAGE = "https://github.com/RPi-Distro/firmware-nonfree"
SECTION = "kernel"
-# In maintained upstream linux-firmware:
-# * brcmfmac43430-sdio falls under LICENCE.cypress
-# * brcmfmac43455-sdio falls under LICENCE.broadcom_bcm43xx
-# * brcmfmac43456-sdio falls under LICENCE.broadcom_bcm43xx
-#
-# It is likely[^1] that both of these should be under LICENCE.cypress.
-# Further, at this time the text of LICENCE.broadcom_bcm43xx is the same
-# in linux-firmware and RPi-Distro/firmware-nonfree, but this may
-# change.
-#
-# Rather than make assumptions about what's supposed to be what, we'll
-# use the license implied by the source of these files, named to avoid
-# conflicts with linux-firmware.
-#
-# [^1]: https://github.com/RPi-Distro/bluez-firmware/issues/1
-LICENSE = "\
- Firmware-broadcom_bcm43xx-rpidistro \
- & WHENCE \
-"
+LICENSE = "GPL-2.0-only & binary-redist-Cypress-rpidistro & Synaptics-rpidistro"
LIC_FILES_CHKSUM = "\
- file://LICENCE.broadcom_bcm43xx;md5=3160c14df7228891b868060e1951dfbc \
- file://WHENCE;md5=7b12b2224438186e4c97c4c7f3a5cc28 \
+ file://debian/copyright;md5=291ee5385b4cf74b10c5fb5a46a7bbc6 \
"
+# Where these are no common licenses, set NO_GENERIC_LICENSE so that the
+# license files will be copied from the fetched source.
+NO_GENERIC_LICENSE[binary-redist-Cypress-rpidistro] = "debian/copyright"
+NO_GENERIC_LICENSE[Synaptics-rpidistro] = "debian/copyright"
+LICENSE_FLAGS = "synaptics-killswitch"
-# These are not common licenses, set NO_GENERIC_LICENSE for them
-# so that the license files will be copied from fetched source
-NO_GENERIC_LICENSE[Firmware-broadcom_bcm43xx-rpidistro] = "LICENCE.broadcom_bcm43xx"
-NO_GENERIC_LICENSE[WHENCE] = "WHENCE"
-
-SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree"
-
-SRCREV = "83938f78ca2d5a0ffe0c223bb96d72ccc7b71ca5"
-PV = "20190114-1+rpt11"
-
+SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree;branch=bookworm;protocol=https \
+ file://0001-Default-43455-firmware-to-standard-variant.patch \
+"
+SRCREV = "223ccf3a3ddb11b3ea829749fbbba4d65b380897"
+PV = "20230625-2+rpt2"
S = "${WORKDIR}/git"
inherit allarch
-CLEANBROKEN = "1"
-
-do_compile() {
- :
-}
+do_configure[noexec] = "1"
+do_compile[noexec] = "1"
do_install() {
- install -d ${D}${nonarch_base_libdir}/firmware/brcm
+ install -d ${D}${nonarch_base_libdir}/firmware/brcm ${D}${nonarch_base_libdir}/firmware/cypress
- cp ./LICENCE.broadcom_bcm43xx ${D}${nonarch_base_libdir}/firmware/LICENCE.broadcom_bcm43xx-rpidistro
+ cp debian/copyright ${D}${nonarch_base_libdir}/firmware/copyright.firmware-nonfree-rpidistro
- # Replace outdated linux-firmware files with updated ones from
- # raspbian firmware-nonfree. Raspbian adds blobs and nvram
- # definitions that are also necessary so copy those too.
- for fw in brcmfmac43430-sdio brcmfmac43455-sdio brcmfmac43456-sdio ; do
- install -m 0644 brcm/${fw}.* ${D}${nonarch_base_libdir}/firmware/brcm/
+ for fw in \
+ brcmfmac43430-sdio \
+ brcmfmac43436-sdio \
+ brcmfmac43436s-sdio \
+ brcmfmac43455-sdio \
+ brcmfmac43456-sdio; do
+ cp -R --no-dereference --preserve=mode,links -v debian/config/brcm80211/brcm/${fw}.* ${D}${nonarch_base_libdir}/firmware/brcm/
done
- # add compat links. Fixes errors like
- # brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt failed with error -2
- ln -s brcmfmac43455-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
- ln -s brcmfmac43455-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt
- ln -s brcmfmac43430-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt
- ln -s brcmfmac43430-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.raspberrypi,model-zero-w.txt
+
+ cp -R --no-dereference --preserve=mode,links -v debian/config/brcm80211/cypress/* ${D}${nonarch_base_libdir}/firmware/cypress/
+
+ rm ${D}${nonarch_base_libdir}/firmware/cypress/README.txt
}
PACKAGES = "\
- ${PN}-broadcom-license \
${PN}-bcm43430 \
+ ${PN}-bcm43436 \
+ ${PN}-bcm43436s \
+ ${PN}-bcm43439 \
${PN}-bcm43455 \
${PN}-bcm43456 \
+ ${PN}-license \
"
-LICENSE_${PN}-bcm43430 = "Firmware-broadcom_bcm43xx-rpidistro"
-LICENSE_${PN}-bcm43455 = "Firmware-broadcom_bcm43xx-rpidistro"
-LICENSE_${PN}-bcm43456 = "Firmware-broadcom_bcm43xx-rpidistro"
-LICENSE_${PN}-broadcom-license = "Firmware-broadcom_bcm43xx-rpidistro"
-FILES_${PN}-broadcom-license = "${nonarch_base_libdir}/firmware/LICENCE.broadcom_bcm43xx-rpidistro"
-FILES_${PN}-bcm43430 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430*"
-FILES_${PN}-bcm43455 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43455*"
-FILES_${PN}-bcm43456 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43456*"
-RDEPENDS_${PN}-bcm43430 += "${PN}-broadcom-license"
-RDEPENDS_${PN}-bcm43455 += "${PN}-broadcom-license"
-RDEPENDS_${PN}-bcm43456 += "${PN}-broadcom-license"
-RCONFLICTS_${PN}-bcm43430 = "\
- linux-firmware-bcm43430 \
- linux-firmware-raspbian-bcm43430 \
-"
-RREPLACES_${PN}-bcm43430 = "\
- linux-firmware-bcm43430 \
- linux-firmware-raspbian-bcm43430 \
-"
-RCONFLICTS_${PN}-bcm43455 = "\
- linux-firmware-bcm43455 \
- linux-firmware-raspbian-bcm43455 \
-"
-RREPLACES_${PN}-bcm43455 = "\
- linux-firmware-bcm43455 \
- linux-firmware-raspbian-bcm43455 \
+LICENSE:${PN}-bcm43430 = "binary-redist-Cypress-rpidistro"
+LICENSE:${PN}-bcm43436 = "Synaptics-rpidistro"
+LICENSE:${PN}-bcm43436s = "Synaptics-rpidistro"
+LICENSE:${PN}-bcm43439 = "Synaptics-rpidistro"
+LICENSE:${PN}-bcm43455 = "binary-redist-Cypress-rpidistro"
+LICENSE:${PN}-bcm43456 = "Synaptics-rpidistro"
+LICENSE:${PN}-license = "GPL-2.0-only"
+
+FILES:${PN}-bcm43430 = " \
+ ${nonarch_base_libdir}/firmware/brcm/brcmfmac43430* \
+ ${nonarch_base_libdir}/firmware/cypress/cyfmac43430-sdio.bin \
+ ${nonarch_base_libdir}/firmware/cypress/cyfmac43430-sdio.clm_blob \
"
-RCONFLICTS_${PN}-bcm43456 = "\
- linux-firmware-bcm43456 \
- linux-firmware-raspbian-bcm43456 \
+FILES:${PN}-bcm43436 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43436-*"
+FILES:${PN}-bcm43436s = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43436s*"
+FILES:${PN}-bcm43439 = " \
+ ${nonarch_base_libdir}/firmware/cypress/43439A0-7.95.49.00.combined \
+ ${nonarch_base_libdir}/firmware/cypress/cyfmac43439-sdio* \
"
-RREPLACES_${PN}-bcm43456 = "\
- linux-firmware-bcm43456 \
- linux-firmware-raspbian-bcm43456 \
+FILES:${PN}-bcm43455 = " \
+ ${nonarch_base_libdir}/firmware/brcm/brcmfmac43455* \
+ ${nonarch_base_libdir}/firmware/cypress/cyfmac43455-sdio* \
"
+FILES:${PN}-bcm43456 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43456*"
+FILES:${PN}-license = "${nonarch_base_libdir}/firmware/copyright.firmware-nonfree-rpidistro"
+
+RDEPENDS:${PN}-bcm43430 += "${PN}-license"
+RDEPENDS:${PN}-bcm43436 += "${PN}-license"
+RDEPENDS:${PN}-bcm43436s += "${PN}-license"
+RDEPENDS:${PN}-bcm43439 += "${PN}-license"
+RDEPENDS:${PN}-bcm43455 += "${PN}-license"
+RDEPENDS:${PN}-bcm43456 += "${PN}-license"
+
+RCONFLICTS:${PN}-bcm43430 = "linux-firmware-raspbian-bcm43430"
+RCONFLICTS:${PN}-bcm43436 = "linux-firmware-bcm43436"
+RCONFLICTS:${PN}-bcm43436s = "linux-firmware-bcm43436s"
+RCONFLICTS:${PN}-bcm43439 = "linux-firmware-bcm43439"
+RCONFLICTS:${PN}-bcm43455 = "linux-firmware-bcm43455"
+RCONFLICTS:${PN}-bcm43456 = "linux-firmware-bcm43456"
+
+RREPLACES:${PN}-bcm43430 = "linux-firmware-bcm43430"
+RREPLACES:${PN}-bcm43436 = "linux-firmware-bcm43436"
+RREPLACES:${PN}-bcm43436s = "linux-firmware-bcm43436s"
+RREPLACES:${PN}-bcm43439 = "linux-firmware-bcm43439"
+RREPLACES:${PN}-bcm43455 = "linux-firmware-bcm43455"
+RREPLACES:${PN}-bcm43456 = "linux-firmware-bcm43456"
# Firmware files are generally not run on the CPU, so they can be
# allarch despite being architecture specific