diff options
author | Peter A. Bigot <pab@pabigot.com> | 2018-05-10 19:33:45 -0500 |
---|---|---|
committer | Andrei Gherzan <andrei@gherzan.com> | 2018-05-14 10:34:08 +0100 |
commit | f3ecec38aa8ae4137b1a0e11b925d0e736e8ffda (patch) | |
tree | f3175193e13d45c7d2935e1371397f098a3bbe80 /recipes-kernel | |
parent | de8912cbcb06b221fb4617f3042e06b68f74c814 (diff) | |
download | meta-raspberrypi-f3ecec38aa8ae4137b1a0e11b925d0e736e8ffda.tar.gz |
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>
Diffstat (limited to 'recipes-kernel')
-rw-r--r-- | recipes-kernel/linux-firmware/linux-firmware-raspbian.bb | 55 | ||||
-rw-r--r-- | recipes-kernel/linux-firmware/linux-firmware_%.bbappend | 77 |
2 files changed, 77 insertions, 55 deletions
diff --git a/recipes-kernel/linux-firmware/linux-firmware-raspbian.bb b/recipes-kernel/linux-firmware/linux-firmware-raspbian.bb deleted file mode 100644 index d11a53b..0000000 --- a/recipes-kernel/linux-firmware/linux-firmware-raspbian.bb +++ /dev/null | |||
@@ -1,55 +0,0 @@ | |||
1 | SUMMARY = "Firmware files for use with Linux kernel" | ||
2 | SECTION = "kernel" | ||
3 | |||
4 | LICENSE = "Firmware-broadcom_bcm43xx" | ||
5 | |||
6 | LIC_FILES_CHKSUM = "file://LICENCE.broadcom_bcm43xx;md5=3160c14df7228891b868060e1951dfbc" | ||
7 | |||
8 | INHIBIT_DEFAULT_DEPS = "1" | ||
9 | |||
10 | # These are not common licenses, set NO_GENERIC_LICENSE for them | ||
11 | # so that the license files will be copied from fetched source | ||
12 | NO_GENERIC_LICENSE[Firmware-broadcom_bcm43xx] = "LICENCE.broadcom_bcm43xx" | ||
13 | |||
14 | SRCREV = "86e88fbf0345da49555d0ec34c80b4fbae7d0cd3" | ||
15 | PV = "0.0+git${SRCPV}" | ||
16 | |||
17 | SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree" | ||
18 | |||
19 | UPSTREAM_VERSION_UNKNOWN = "1" | ||
20 | |||
21 | S = "${WORKDIR}/git" | ||
22 | |||
23 | inherit allarch | ||
24 | |||
25 | CLEANBROKEN = "1" | ||
26 | |||
27 | do_compile() { | ||
28 | : | ||
29 | } | ||
30 | |||
31 | do_install() { | ||
32 | install -d ${D}${nonarch_base_libdir}/firmware/brcm | ||
33 | cp ./LICENCE.broadcom_bcm43xx ${D}${nonarch_base_libdir}/firmware | ||
34 | cp -r ./brcm/brcmfmac43430* ${D}${nonarch_base_libdir}/firmware/brcm | ||
35 | cp -r ./brcm/brcmfmac43455* ${D}${nonarch_base_libdir}/firmware/brcm | ||
36 | } | ||
37 | |||
38 | PACKAGES = " \ | ||
39 | ${PN}-broadcom-license \ | ||
40 | ${PN}-bcm43430 \ | ||
41 | ${PN}-bcm43455 \ | ||
42 | " | ||
43 | |||
44 | LICENSE_${PN}-bcm43430 = "Firmware-broadcom_bcm43xx" | ||
45 | LICENSE_${PN}-bcm43455 = "Firmware-broadcom_bcm43xx" | ||
46 | LICENSE_${PN}-broadcom-license = "Firmware-broadcom_bcm43xx" | ||
47 | FILES_${PN}-broadcom-license = "${nonarch_base_libdir}/firmware/LICENCE.broadcom_bcm43xx" | ||
48 | FILES_${PN}-bcm43430 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430*" | ||
49 | FILES_${PN}-bcm43455 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43455*" | ||
50 | RDEPENDS_${PN}-bcm43430 += "${PN}-broadcom-license" | ||
51 | RDEPENDS_${PN}-bcm43455 += "${PN}-broadcom-license" | ||
52 | |||
53 | # Firmware files are generally not ran on the CPU, so they can be | ||
54 | # allarch despite being architecture specific | ||
55 | INSANE_SKIP = "arch" | ||
diff --git a/recipes-kernel/linux-firmware/linux-firmware_%.bbappend b/recipes-kernel/linux-firmware/linux-firmware_%.bbappend new file mode 100644 index 0000000..34d2b67 --- /dev/null +++ b/recipes-kernel/linux-firmware/linux-firmware_%.bbappend | |||
@@ -0,0 +1,77 @@ | |||
1 | # Augments upstream linux-firmware with additional and updated images | ||
2 | # from Raspbian: | ||
3 | # https://github.com/RPi-Distro/firmware-nonfree | ||
4 | # https://github.com/RPi-Distro/bluez-firmware | ||
5 | |||
6 | LICENSE_append_rpi = "\ | ||
7 | & Firmware-cypress \ | ||
8 | " | ||
9 | |||
10 | LIC_FILES_CHKSUM_append_rpi = "\ | ||
11 | file://LICENCE.cypress;md5=cbc5f665d04f741f1e006d2096236ba7 \ | ||
12 | " | ||
13 | NO_GENERIC_LICENSE[Firmware-cypress] = "LICENCE.cypress" | ||
14 | |||
15 | SRC_URI_append_rpi = " \ | ||
16 | git://github.com/RPi-Distro/firmware-nonfree;destsuffix=raspbian-nf;name=raspbian-nf \ | ||
17 | git://github.com/RPi-Distro/bluez-firmware;destsuffix=raspbian-bluez;name=raspbian-bluez \ | ||
18 | " | ||
19 | |||
20 | SRCREV_raspbian-nf = "86e88fbf0345da49555d0ec34c80b4fbae7d0cd3" | ||
21 | SRCREV_raspbian-bluez = "e28cd7ee8615de33aa7ec2b41d556af61a4a2707" | ||
22 | SRCREV_FORMAT_rpi = "default+raspbian-nf+raspbian-bluez" | ||
23 | |||
24 | do_install_append_rpi() { | ||
25 | install -d ${D}${nonarch_base_libdir}/firmware/brcm/ | ||
26 | |||
27 | # Replace outdated linux-firmware files with updated ones from | ||
28 | # raspbian firmware-nonfree. Raspbian adds blobs and nvram | ||
29 | # definitions that are also necessary so copy those too. | ||
30 | for fw in brcmfmac43430-sdio brcmfmac43455-sdio ; do | ||
31 | install -m 0644 ${WORKDIR}/raspbian-nf/brcm/${fw}.* ${D}${nonarch_base_libdir}/firmware/brcm/ | ||
32 | done | ||
33 | |||
34 | # Add missing Cypress Bluetooth files from raspbian bluez-firmware | ||
35 | for fw in BCM43430A1.hcd BCM4345C0.hcd ; do | ||
36 | install -m 0644 ${WORKDIR}/raspbian-bluez/broadcom/${fw} ${D}${nonarch_base_libdir}/firmware/brcm/ | ||
37 | done | ||
38 | } | ||
39 | |||
40 | # NB: Must prepend, else these become empty and their content is left in | ||
41 | # the roll-up package which precedes them. | ||
42 | PACKAGES_prepend_rpi = "\ | ||
43 | ${PN}-bcm43455 \ | ||
44 | ${PN}-cypress-license \ | ||
45 | ${PN}-bcm43430a1-hcd \ | ||
46 | ${PN}-bcm4345c0-hcd \ | ||
47 | " | ||
48 | |||
49 | # For additional Broadcom | ||
50 | LICENSE_${PN}-bcm43455 = "Firmware-broadcom_bcm43xx" | ||
51 | |||
52 | FILES_${PN}-bcm43430_append_rpi = " \ | ||
53 | ${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.txt \ | ||
54 | " | ||
55 | FILES_${PN}-bcm43455 = " \ | ||
56 | ${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.* \ | ||
57 | " | ||
58 | |||
59 | RDEPENDS_${PN}-bcm43455 += "${PN}-broadcom-license" | ||
60 | |||
61 | # For additional Cypress | ||
62 | FILES_${PN}-cypress-license = "\ | ||
63 | ${nonarch_base_libdir}/firmware/LICENCE.cypress \ | ||
64 | " | ||
65 | |||
66 | LICENSE_${PN}-bcm43430a1-hcd = "Firmware-cypress" | ||
67 | LICENSE_${PN}-bcm4345c0-hcd = "Firmware-cypress" | ||
68 | |||
69 | FILES_${PN}-bcm43430a1-hcd = " \ | ||
70 | ${nonarch_base_libdir}/firmware/brcm/BCM43430A1.hcd \ | ||
71 | " | ||
72 | FILES_${PN}-bcm4345c0-hcd = " \ | ||
73 | ${nonarch_base_libdir}/firmware/brcm/BCM4345C0.hcd \ | ||
74 | " | ||
75 | |||
76 | RDEPENDS_${PN}-bcm43430a1-hcd += "${PN}-cypress-license" | ||
77 | RDEPENDS_${PN}-bcm4345c0-hcd += "${PN}-cypress-license" | ||