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