mirror of
https://git.yoctoproject.org/meta-raspberrypi
synced 2026-07-16 15:56:57 +00:00
linux-firmware: restore and merge bluez-firmware
The attempt to Raspbian updated firmware blobs in packages separate from linux-firmware introduced unresolvable conflicts with the standard linux-firmware roll-up package. Revert to using an augmented linux-firmware recipe that overrides and adds firmware from two Raspbian repositories that have up-to-date images. Closes #244 Signed-off-by: Peter A. Bigot <pab@pabigot.com>
This commit is contained in:
committed by
Andrei Gherzan
parent
6aa54e92e3
commit
092d42cd82
@@ -1,55 +0,0 @@
|
||||
SUMMARY = "Firmware files for use with Linux kernel"
|
||||
SECTION = "kernel"
|
||||
|
||||
LICENSE = "Firmware-broadcom_bcm43xx"
|
||||
|
||||
LIC_FILES_CHKSUM = "file://LICENCE.broadcom_bcm43xx;md5=3160c14df7228891b868060e1951dfbc"
|
||||
|
||||
INHIBIT_DEFAULT_DEPS = "1"
|
||||
|
||||
# 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] = "LICENCE.broadcom_bcm43xx"
|
||||
|
||||
SRCREV = "86e88fbf0345da49555d0ec34c80b4fbae7d0cd3"
|
||||
PV = "0.0+git${SRCPV}"
|
||||
|
||||
SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree"
|
||||
|
||||
UPSTREAM_VERSION_UNKNOWN = "1"
|
||||
|
||||
S = "${WORKDIR}/git"
|
||||
|
||||
inherit allarch
|
||||
|
||||
CLEANBROKEN = "1"
|
||||
|
||||
do_compile() {
|
||||
:
|
||||
}
|
||||
|
||||
do_install() {
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/brcm
|
||||
cp ./LICENCE.broadcom_bcm43xx ${D}${nonarch_base_libdir}/firmware
|
||||
cp -r ./brcm/brcmfmac43430* ${D}${nonarch_base_libdir}/firmware/brcm
|
||||
cp -r ./brcm/brcmfmac43455* ${D}${nonarch_base_libdir}/firmware/brcm
|
||||
}
|
||||
|
||||
PACKAGES = " \
|
||||
${PN}-broadcom-license \
|
||||
${PN}-bcm43430 \
|
||||
${PN}-bcm43455 \
|
||||
"
|
||||
|
||||
LICENSE_${PN}-bcm43430 = "Firmware-broadcom_bcm43xx"
|
||||
LICENSE_${PN}-bcm43455 = "Firmware-broadcom_bcm43xx"
|
||||
LICENSE_${PN}-broadcom-license = "Firmware-broadcom_bcm43xx"
|
||||
FILES_${PN}-broadcom-license = "${nonarch_base_libdir}/firmware/LICENCE.broadcom_bcm43xx"
|
||||
FILES_${PN}-bcm43430 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430*"
|
||||
FILES_${PN}-bcm43455 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43455*"
|
||||
RDEPENDS_${PN}-bcm43430 += "${PN}-broadcom-license"
|
||||
RDEPENDS_${PN}-bcm43455 += "${PN}-broadcom-license"
|
||||
|
||||
# Firmware files are generally not ran on the CPU, so they can be
|
||||
# allarch despite being architecture specific
|
||||
INSANE_SKIP = "arch"
|
||||
@@ -0,0 +1,77 @@
|
||||
# Augments upstream linux-firmware with additional and updated images
|
||||
# from Raspbian:
|
||||
# https://github.com/RPi-Distro/firmware-nonfree
|
||||
# https://github.com/RPi-Distro/bluez-firmware
|
||||
|
||||
LICENSE_append_rpi = "\
|
||||
& Firmware-cypress \
|
||||
"
|
||||
|
||||
LIC_FILES_CHKSUM_append_rpi = "\
|
||||
file://LICENCE.cypress;md5=cbc5f665d04f741f1e006d2096236ba7 \
|
||||
"
|
||||
NO_GENERIC_LICENSE[Firmware-cypress] = "LICENCE.cypress"
|
||||
|
||||
SRC_URI_append_rpi = " \
|
||||
git://github.com/RPi-Distro/firmware-nonfree;destsuffix=raspbian-nf;name=raspbian-nf \
|
||||
git://github.com/RPi-Distro/bluez-firmware;destsuffix=raspbian-bluez;name=raspbian-bluez \
|
||||
"
|
||||
|
||||
SRCREV_raspbian-nf = "86e88fbf0345da49555d0ec34c80b4fbae7d0cd3"
|
||||
SRCREV_raspbian-bluez = "e28cd7ee8615de33aa7ec2b41d556af61a4a2707"
|
||||
SRCREV_FORMAT_rpi = "default+raspbian-nf+raspbian-bluez"
|
||||
|
||||
do_install_append_rpi() {
|
||||
install -d ${D}${nonarch_base_libdir}/firmware/brcm/
|
||||
|
||||
# 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 ; do
|
||||
install -m 0644 ${WORKDIR}/raspbian-nf/brcm/${fw}.* ${D}${nonarch_base_libdir}/firmware/brcm/
|
||||
done
|
||||
|
||||
# Add missing Cypress Bluetooth files from raspbian bluez-firmware
|
||||
for fw in BCM43430A1.hcd BCM4345C0.hcd ; do
|
||||
install -m 0644 ${WORKDIR}/raspbian-bluez/broadcom/${fw} ${D}${nonarch_base_libdir}/firmware/brcm/
|
||||
done
|
||||
}
|
||||
|
||||
# NB: Must prepend, else these become empty and their content is left in
|
||||
# the roll-up package which precedes them.
|
||||
PACKAGES_prepend_rpi = "\
|
||||
${PN}-bcm43455 \
|
||||
${PN}-cypress-license \
|
||||
${PN}-bcm43430a1-hcd \
|
||||
${PN}-bcm4345c0-hcd \
|
||||
"
|
||||
|
||||
# For additional Broadcom
|
||||
LICENSE_${PN}-bcm43455 = "Firmware-broadcom_bcm43xx"
|
||||
|
||||
FILES_${PN}-bcm43430_append_rpi = " \
|
||||
${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.txt \
|
||||
"
|
||||
FILES_${PN}-bcm43455 = " \
|
||||
${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.* \
|
||||
"
|
||||
|
||||
RDEPENDS_${PN}-bcm43455 += "${PN}-broadcom-license"
|
||||
|
||||
# For additional Cypress
|
||||
FILES_${PN}-cypress-license = "\
|
||||
${nonarch_base_libdir}/firmware/LICENCE.cypress \
|
||||
"
|
||||
|
||||
LICENSE_${PN}-bcm43430a1-hcd = "Firmware-cypress"
|
||||
LICENSE_${PN}-bcm4345c0-hcd = "Firmware-cypress"
|
||||
|
||||
FILES_${PN}-bcm43430a1-hcd = " \
|
||||
${nonarch_base_libdir}/firmware/brcm/BCM43430A1.hcd \
|
||||
"
|
||||
FILES_${PN}-bcm4345c0-hcd = " \
|
||||
${nonarch_base_libdir}/firmware/brcm/BCM4345C0.hcd \
|
||||
"
|
||||
|
||||
RDEPENDS_${PN}-bcm43430a1-hcd += "${PN}-cypress-license"
|
||||
RDEPENDS_${PN}-bcm4345c0-hcd += "${PN}-cypress-license"
|
||||
Reference in New Issue
Block a user