linux-firmware-rpidistro_git.bb 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103
  1. SUMMARY = "Linux kernel firmware files from Raspbian distribution"
  2. DESCRIPTION = "Updated firmware files for RaspberryPi hardware. \
  3. RPi-Distro obtains these directly from Cypress; they are not submitted \
  4. to linux-firmware for general use."
  5. HOMEPAGE = "https://github.com/RPi-Distro/firmware-nonfree"
  6. SECTION = "kernel"
  7. LICENSE = "GPL-2.0-only & binary-redist-Cypress-rpidistro & Synaptics-rpidistro"
  8. LIC_FILES_CHKSUM = "\
  9. file://debian/config/brcm80211/copyright;md5=b0630b02d90e3da72206c909b6aecc8c \
  10. "
  11. # Where these are no common licenses, set NO_GENERIC_LICENSE so that the
  12. # license files will be copied from the fetched source.
  13. NO_GENERIC_LICENSE[binary-redist-Cypress-rpidistro] = "debian/config/brcm80211/copyright"
  14. NO_GENERIC_LICENSE[Synaptics-rpidistro] = "debian/config/brcm80211/copyright"
  15. LICENSE_FLAGS = "synaptics-killswitch"
  16. SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree;branch=bullseye;protocol=https"
  17. SRCREV = "541e5a05d152e7e6f0d9be45622e4a3741e51c02"
  18. PV = "20210315-3+rpt7"
  19. S = "${WORKDIR}/git"
  20. inherit allarch
  21. do_configure[noexec] = "1"
  22. do_compile[noexec] = "1"
  23. do_install() {
  24. install -d ${D}${nonarch_base_libdir}/firmware/brcm ${D}${nonarch_base_libdir}/firmware/cypress
  25. cp debian/config/brcm80211/copyright ${D}${nonarch_base_libdir}/firmware/copyright.firmware-nonfree-rpidistro
  26. for fw in \
  27. brcmfmac43430-sdio \
  28. brcmfmac43436-sdio \
  29. brcmfmac43436s-sdio \
  30. brcmfmac43455-sdio \
  31. brcmfmac43456-sdio; do
  32. cp -R --no-dereference --preserve=mode,links -v debian/config/brcm80211/brcm/${fw}.* ${D}${nonarch_base_libdir}/firmware/brcm/
  33. done
  34. cp -R --no-dereference --preserve=mode,links -v debian/config/brcm80211/cypress/* ${D}${nonarch_base_libdir}/firmware/cypress/
  35. rm ${D}${nonarch_base_libdir}/firmware/cypress/README.txt
  36. # add compat links. Fixes errors like
  37. # brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-model-compute-module.txt failed with error -2
  38. ln -s brcmfmac43455-sdio.txt ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-compute-module.txt
  39. # brcmfmac mmc1:0001:1: Direct firmware load for brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.bin failed with error -2
  40. ln -s brcmfmac43455-sdio.bin ${D}${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.bin
  41. }
  42. PACKAGES = "\
  43. ${PN}-bcm43430 \
  44. ${PN}-bcm43436 \
  45. ${PN}-bcm43436s \
  46. ${PN}-bcm43455 \
  47. ${PN}-bcm43456 \
  48. ${PN}-license \
  49. "
  50. LICENSE:${PN}-bcm43430 = "binary-redist-Cypress-rpidistro"
  51. LICENSE:${PN}-bcm43436 = "Synaptics-rpidistro"
  52. LICENSE:${PN}-bcm43436s = "Synaptics-rpidistro"
  53. LICENSE:${PN}-bcm43455 = "binary-redist-Cypress-rpidistro"
  54. LICENSE:${PN}-bcm43456 = "Synaptics-rpidistro"
  55. LICENSE:${PN}-license = "GPL-2.0-only"
  56. FILES:${PN}-bcm43430 = " \
  57. ${nonarch_base_libdir}/firmware/brcm/brcmfmac43430* \
  58. ${nonarch_base_libdir}/firmware/cypress/cyfmac43430-sdio.bin \
  59. ${nonarch_base_libdir}/firmware/cypress/cyfmac43430-sdio.clm_blob \
  60. "
  61. FILES:${PN}-bcm43436 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43436-*"
  62. FILES:${PN}-bcm43436s = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43436s*"
  63. FILES:${PN}-bcm43455 = " \
  64. ${nonarch_base_libdir}/firmware/brcm/brcmfmac43455* \
  65. ${nonarch_base_libdir}/firmware/cypress/cyfmac43455-sdio* \
  66. "
  67. FILES:${PN}-bcm43456 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43456*"
  68. FILES:${PN}-license = "${nonarch_base_libdir}/firmware/copyright.firmware-nonfree-rpidistro"
  69. RDEPENDS:${PN}-bcm43430 += "${PN}-license"
  70. RDEPENDS:${PN}-bcm43436 += "${PN}-license"
  71. RDEPENDS:${PN}-bcm43436s += "${PN}-license"
  72. RDEPENDS:${PN}-bcm43455 += "${PN}-license"
  73. RDEPENDS:${PN}-bcm43456 += "${PN}-license"
  74. RCONFLICTS:${PN}-bcm43430 = "linux-firmware-raspbian-bcm43430"
  75. RCONFLICTS:${PN}-bcm43436 = "linux-firmware-bcm43436"
  76. RCONFLICTS:${PN}-bcm43436s = "linux-firmware-bcm43436s"
  77. RCONFLICTS:${PN}-bcm43455 = "linux-firmware-bcm43455"
  78. RCONFLICTS:${PN}-bcm43456 = "linux-firmware-bcm43456"
  79. RREPLACES:${PN}-bcm43430 = "linux-firmware-bcm43430"
  80. RREPLACES:${PN}-bcm43436 = "linux-firmware-bcm43436"
  81. RREPLACES:${PN}-bcm43436s = "linux-firmware-bcm43436s"
  82. RREPLACES:${PN}-bcm43455 = "linux-firmware-bcm43455"
  83. RREPLACES:${PN}-bcm43456 = "linux-firmware-bcm43456"
  84. # Firmware files are generally not run on the CPU, so they can be
  85. # allarch despite being architecture specific
  86. INSANE_SKIP = "arch"