blob: c0f9e170494ddf9d6302fe73886cc06b380e6f18 [file] [log] [blame]
Brad Bishop316dfdd2018-06-25 12:45:53 -04001# 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
Brad Bishop3a5fbf52017-12-04 02:17:07 -05005
Brad Bishop316dfdd2018-06-25 12:45:53 -04006SRC_URI_append_rpi = " \
7 git://github.com/RPi-Distro/firmware-nonfree;destsuffix=raspbian-nf;name=raspbian-nf \
8 git://github.com/RPi-Distro/bluez-firmware;destsuffix=raspbian-bluez;name=raspbian-bluez \
9"
10
11SRCREV_raspbian-nf = "86e88fbf0345da49555d0ec34c80b4fbae7d0cd3"
12SRCREV_raspbian-bluez = "e28cd7ee8615de33aa7ec2b41d556af61a4a2707"
13SRCREV_FORMAT_rpi = "default+raspbian-nf+raspbian-bluez"
14
15do_install_append_rpi() {
16 install -d ${D}${nonarch_base_libdir}/firmware/brcm/
17
18 # Replace outdated linux-firmware files with updated ones from
19 # raspbian firmware-nonfree. Raspbian adds blobs and nvram
20 # definitions that are also necessary so copy those too.
21 for fw in brcmfmac43430-sdio brcmfmac43455-sdio ; do
22 install -m 0644 ${WORKDIR}/raspbian-nf/brcm/${fw}.* ${D}${nonarch_base_libdir}/firmware/brcm/
23 done
24
25 # Add missing Cypress Bluetooth files from raspbian bluez-firmware
26 for fw in BCM43430A1.hcd BCM4345C0.hcd ; do
27 install -m 0644 ${WORKDIR}/raspbian-bluez/broadcom/${fw} ${D}${nonarch_base_libdir}/firmware/brcm/
28 done
Brad Bishop3a5fbf52017-12-04 02:17:07 -050029}
30
Brad Bishop316dfdd2018-06-25 12:45:53 -040031# NB: Must prepend, else these become empty and their content is left in
32# the roll-up package which precedes them.
33PACKAGES_prepend_rpi = "\
Brad Bishop316dfdd2018-06-25 12:45:53 -040034 ${PN}-bcm43430a1-hcd \
35 ${PN}-bcm4345c0-hcd \
Brad Bishop3a5fbf52017-12-04 02:17:07 -050036"
Brad Bishop316dfdd2018-06-25 12:45:53 -040037
Brad Bishopd5ae7d92018-06-14 09:52:03 -070038# ${PN}-bcm43455 package and brcmfmac43455-sdio from linux-firmware
39# is already included in the oe-core recipe, so don't add it to PACKAGES
40# again, the version from raspbian-nf seems a bit newer:
41# $ strings ./1_0.0+gitAUTOINC+d114732723+86e88fbf03+e28cd7ee86-r0/git/brcm/brcmfmac43455-sdio.bin | grep Ver
42# Version: 7.45.18.0 CRC: d7226371 Date: Sun 2015-03-01 07:31:57 PST Ucode Ver: 1026.2 FWID: 01-6a2c8ad4
43# $ strings ./1_0.0+gitAUTOINC+d114732723+86e88fbf03+e28cd7ee86-r0/raspbian-nf/brcm/brcmfmac43455-sdio.bin | grep Ver
44# Version: 7.45.154 (r684107 CY) CRC: b1f79383 Date: Tue 2018-02-27 03:18:17 PST Ucode Ver: 1043.2105 FWID 01-4fbe0b04
45
Brad Bishop316dfdd2018-06-25 12:45:53 -040046# For additional Broadcom
47LICENSE_${PN}-bcm43455 = "Firmware-broadcom_bcm43xx"
48
49FILES_${PN}-bcm43430_append_rpi = " \
50 ${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.txt \
51"
52FILES_${PN}-bcm43455 = " \
53 ${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.* \
54"
55
56RDEPENDS_${PN}-bcm43455 += "${PN}-broadcom-license"
57
Brad Bishop316dfdd2018-06-25 12:45:53 -040058LICENSE_${PN}-bcm43430a1-hcd = "Firmware-cypress"
59LICENSE_${PN}-bcm4345c0-hcd = "Firmware-cypress"
60
61FILES_${PN}-bcm43430a1-hcd = " \
62 ${nonarch_base_libdir}/firmware/brcm/BCM43430A1.hcd \
63"
64FILES_${PN}-bcm4345c0-hcd = " \
65 ${nonarch_base_libdir}/firmware/brcm/BCM4345C0.hcd \
66"
67
68RDEPENDS_${PN}-bcm43430a1-hcd += "${PN}-cypress-license"
69RDEPENDS_${PN}-bcm4345c0-hcd += "${PN}-cypress-license"