diff options
author | ToshikazuOhiwa <toshikazu_ohiwa@mail.toyota.co.jp> | 2020-03-30 09:24:26 +0900 |
---|---|---|
committer | ToshikazuOhiwa <toshikazu_ohiwa@mail.toyota.co.jp> | 2020-03-30 09:24:26 +0900 |
commit | 5b80bfd7bffd4c20d80b7c70a7130529e9a755dd (patch) | |
tree | b4bb18dcd1487dbf1ea8127e5671b7bb2eded033 /bsp/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb | |
parent | 706ad73eb02caf8532deaf5d38995bd258725cb8 (diff) |
agl-basesystem
Diffstat (limited to 'bsp/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb')
-rw-r--r-- | bsp/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb | 96 |
1 files changed, 96 insertions, 0 deletions
diff --git a/bsp/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb b/bsp/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb new file mode 100644 index 00000000..1f63c329 --- /dev/null +++ b/bsp/meta-raspberrypi/recipes-kernel/linux-firmware-rpidistro/linux-firmware-rpidistro_git.bb @@ -0,0 +1,96 @@ +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" + +# In maintained upstream linux-firmware: +# * brcmfmac43430-sdio falls under LICENCE.cypress +# * brcmfmac43455-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 \ +" +LIC_FILES_CHKSUM = "\ + file://LICENCE.broadcom_bcm43xx;md5=3160c14df7228891b868060e1951dfbc \ + file://WHENCE;md5=a9c2c217f513c20e1d16b384b3e2c12d \ +" + +# 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 = "b518de45ced519e8f7a499f4778100173402ae43" +PV = "0.0+git${SRCPV}" + +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/LICENCE.broadcom_bcm43xx-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 ; do + install -m 0644 brcm/${fw}.* ${D}${nonarch_base_libdir}/firmware/brcm/ + done +} + +PACKAGES = "\ + ${PN}-broadcom-license \ + ${PN}-bcm43430 \ + ${PN}-bcm43455 \ +" + +LICENSE_${PN}-bcm43430 = "Firmware-broadcom_bcm43xx-rpidistro" +LICENSE_${PN}-bcm43455 = "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*" +RDEPENDS_${PN}-bcm43430 += "${PN}-broadcom-license" +RDEPENDS_${PN}-bcm43455 += "${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 \ +" + +# Firmware files are generally not run on the CPU, so they can be +# allarch despite being architecture specific +INSANE_SKIP = "arch" |