diff options
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.bb | 159 |
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 |