meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb
Matthias Klein d5ffe135c7
Some checks failed
Mirrors / Yocto Git Mirror (push) Has been cancelled
linux-firmware-rpidistro: Upgrade to bookworm/20230625-2+rpt3
The upgrade was necessary to get WLAN running on a CM4 (under scarthgap).
Otherwise I continuously got the following kernel messages when trying to connect:
[   31.907395] brcmfmac: brcmf_set_channel: set chanspec 0xd022 fail, reason -52
[   32.023434] brcmfmac: brcmf_set_channel: set chanspec 0xd026 fail, reason -52
[   32.135403] brcmfmac: brcmf_set_channel: set chanspec 0xd02a fail, reason -52
[   32.247392] brcmfmac: brcmf_set_channel: set chanspec 0xd02e fail, reason -52
[   33.919395] brcmfmac: brcmf_set_channel: set chanspec 0xd090 fail, reason -52
[   33.926940] brcmfmac: brcmf_set_channel: set chanspec 0xd095 fail, reason -52
[   33.935151] brcmfmac: brcmf_set_channel: set chanspec 0xd099 fail, reason -52
[   33.942691] brcmfmac: brcmf_set_channel: set chanspec 0xd09d fail, reason -52
[   33.950338] brcmfmac: brcmf_set_channel: set chanspec 0xd0a1 fail, reason -52
[   33.957903] brcmfmac: brcmf_set_channel: set chanspec 0xd0a5 fail, reason -52

Firmware version before:  BCM4345/6 wl0: Apr 15 2021 03:03:20 version 7.45.234 (4ca95bb CY) FWID 01-996384e2
Firmware version current: BCM4345/6 wl0: Aug 29 2023 01:47:08 version 7.45.265 (28bca26 CY) FWID 01-b677b91b

Signed-off-by: Matthias Klein <matthias@extraklein.de>
2024-09-21 11:50:51 +01:00

113 lines
4.3 KiB
BlitzBasic

SUMMARY = "Linux kernel firmware files from Raspbian distribution"
DESCRIPTION = "Updated firmware files for RaspberryPi hardware. \
RPi-Distro obtains these directly from Cypress; they are not submitted \
to linux-firmware for general use."
HOMEPAGE = "https://github.com/RPi-Distro/firmware-nonfree"
SECTION = "kernel"
LICENSE = "GPL-2.0-only & binary-redist-Cypress-rpidistro & Synaptics-rpidistro"
LIC_FILES_CHKSUM = "\
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"
SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree;branch=bookworm;protocol=https \
file://0001-Default-43455-firmware-to-standard-variant.patch \
"
SRCREV = "4b356e134e8333d073bd3802d767a825adec3807"
PV = "20230625-2+rpt3"
S = "${WORKDIR}/git"
inherit allarch
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/copyright ${D}${nonarch_base_libdir}/firmware/copyright.firmware-nonfree-rpidistro
for fw in \
brcmfmac43430-sdio \
brcmfmac43430b0-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
}
PACKAGES = "\
${PN}-bcm43430 \
${PN}-bcm43436 \
${PN}-bcm43436s \
${PN}-bcm43439 \
${PN}-bcm43455 \
${PN}-bcm43456 \
${PN}-license \
"
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 \
"
FILES:${PN}-bcm43436 = " \
${nonarch_base_libdir}/firmware/brcm/brcmfmac43436-* \
${nonarch_base_libdir}/firmware/brcm/brcmfmac43430b0-* \
"
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* \
"
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
INSANE_SKIP = "arch"