summaryrefslogtreecommitdiff
path: root/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb
diff options
context:
space:
mode:
Diffstat (limited to 'meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb')
-rw-r--r--meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb159
1 files changed, 59 insertions, 100 deletions
diff --git a/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb b/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb
index 81ccc2cf8c..d39340abf6 100644
--- a/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb
+++ b/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb
@@ -5,60 +5,44 @@ 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 LICENSE.cypress
-# * brcmfmac43455-sdio falls under LICENSE.broadcom_bcm43xx
-# * brcmfmac43456-sdio falls under LICENSE.broadcom_bcm43xx
-#
-# It is likely[^1] that both of these should be under LICENSE.cypress.
-# Further, at this time the text of LICENSE.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 \
-"
+LICENSE = "GPL-2.0-only & binary-redist-Cypress-rpidistro & Synaptics-rpidistro"
LIC_FILES_CHKSUM = "\
- file://debian/config/brcm80211/LICENSE;md5=8cba1397cda6386db37210439a0da3eb \
+ file://debian/config/brcm80211/copyright;md5=b0630b02d90e3da72206c909b6aecc8c \
"
-
-# 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] = "debian/config/brcm80211/LICENSE"
+# 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/config/brcm80211/copyright"
+NO_GENERIC_LICENSE[Synaptics-rpidistro] = "debian/config/brcm80211/copyright"
+LICENSE_FLAGS = "synaptics-killswitch"
SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree;branch=bullseye;protocol=https"
-
-SRCREV = "99d5c588e95ec9c9b86d7e88d3cf85b4f729d2bc"
-PV = "20210315-3+rpt4"
-
+SRCREV = "541e5a05d152e7e6f0d9be45622e4a3741e51c02"
+PV = "20210315-3+rpt7"
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 ${D}${nonarch_base_libdir}/firmware/cypress
- cp debian/config/brcm80211/LICENSE ${D}${nonarch_base_libdir}/firmware/LICENSE.broadcom_bcm43xx-rpidistro
+ cp debian/config/brcm80211/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 brcmfmac43436-sdio brcmfmac43436s-sdio brcmfmac43455-sdio brcmfmac43456-sdio ; do
+ 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
+
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
+
# add compat links. Fixes errors like
# brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-model-compute-module.txt failed with error -2
ln -s brcmfmac43455-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.txt
@@ -67,77 +51,52 @@ do_install() {
}
PACKAGES = "\
- ${PN}-broadcom-license \
${PN}-bcm43430 \
- ${PN}-bcm43455 \
- ${PN}-bcm43456 \
${PN}-bcm43436 \
${PN}-bcm43436s \
+ ${PN}-bcm43455 \
+ ${PN}-bcm43456 \
+ ${PN}-license \
"
-LICENSE:${PN}-bcm43430 = "Firmware-broadcom_bcm43xx-rpidistro"
-LICENSE:${PN}-bcm43436 = "Firmware-broadcom_bcm43xx-rpidistro"
-LICENSE:${PN}-bcm43436s = "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/LICENSE.broadcom_bcm43xx-rpidistro"
-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"
+LICENSE:${PN}-bcm43430 = "binary-redist-Cypress-rpidistro"
+LICENSE:${PN}-bcm43436 = "Synaptics-rpidistro"
+LICENSE:${PN}-bcm43436s = "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 \
+"
FILES:${PN}-bcm43436 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43436-*"
FILES:${PN}-bcm43436s = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43436s*"
-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*"
-RDEPENDS:${PN}-bcm43430 += "${PN}-broadcom-license"
-RDEPENDS:${PN}-bcm43436 += "${PN}-broadcom-license"
-RDEPENDS:${PN}-bcm43436s += "${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}-bcm43436 = "\
- linux-firmware-bcm43436 \
- linux-firmware-raspbian-bcm43436 \
-"
-
-RREPLACES:${PN}-bcm43436 = "\
- linux-firmware-bcm43436 \
- linux-firmware-raspbian-bcm43436 \
-"
-
-RCONFLICTS:${PN}-bcm43436s = "\
- linux-firmware-bcm43436s \
- linux-firmware-raspbian-bcm43436s \
-"
-
-RREPLACES:${PN}-bcm43436s = "\
- linux-firmware-bcm43436s \
- linux-firmware-raspbian-bcm43436s \
-"
-
-RCONFLICTS:${PN}-bcm43455 = "\
- linux-firmware-bcm43455 \
- linux-firmware-raspbian-bcm43455 \
-"
-RREPLACES:${PN}-bcm43455 = "\
- linux-firmware-bcm43455 \
- linux-firmware-raspbian-bcm43455 \
-"
-RCONFLICTS:${PN}-bcm43456 = "\
- linux-firmware-bcm43456 \
- linux-firmware-raspbian-bcm43456 \
-"
-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}-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}-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}-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