linux-firmware-rpidistro_git.bb 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  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/copyright;md5=291ee5385b4cf74b10c5fb5a46a7bbc6 \
  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/copyright"
  14. NO_GENERIC_LICENSE[Synaptics-rpidistro] = "debian/copyright"
  15. LICENSE_FLAGS = "synaptics-killswitch"
  16. SRC_URI = "git://github.com/RPi-Distro/firmware-nonfree;branch=bookworm;protocol=https \
  17. file://0001-Default-43455-firmware-to-standard-variant.patch \
  18. "
  19. SRCREV = "4b356e134e8333d073bd3802d767a825adec3807"
  20. PV = "20230625-2+rpt3"
  21. S = "${WORKDIR}/git"
  22. inherit allarch
  23. do_configure[noexec] = "1"
  24. do_compile[noexec] = "1"
  25. # The minimal firmware doesn't work with Raspberry Pi 5, so default to the
  26. # standard firmware
  27. CYFMAC43455_SDIO_FIRMWARE ??= "minimal"
  28. CYFMAC43455_SDIO_FIRMWARE:raspberrypi5 ??= "standard"
  29. do_install() {
  30. install -d ${D}${nonarch_base_libdir}/firmware/brcm ${D}${nonarch_base_libdir}/firmware/cypress
  31. cp debian/copyright ${D}${nonarch_base_libdir}/firmware/copyright.firmware-nonfree-rpidistro
  32. for fw in \
  33. brcmfmac43430-sdio \
  34. brcmfmac43430b0-sdio \
  35. brcmfmac43436-sdio \
  36. brcmfmac43436s-sdio \
  37. brcmfmac43455-sdio \
  38. brcmfmac43456-sdio; do
  39. cp -R --no-dereference --preserve=mode,links -v debian/config/brcm80211/brcm/${fw}.* ${D}${nonarch_base_libdir}/firmware/brcm/
  40. done
  41. cp -R --no-dereference --preserve=mode,links -v debian/config/brcm80211/cypress/* ${D}${nonarch_base_libdir}/firmware/cypress/
  42. ln -s cyfmac43455-sdio-${CYFMAC43455_SDIO_FIRMWARE}.bin ${D}${nonarch_base_libdir}/firmware/cypress/cyfmac43455-sdio.bin
  43. rm ${D}${nonarch_base_libdir}/firmware/cypress/README.txt
  44. }
  45. PACKAGES = "\
  46. ${PN}-bcm43430 \
  47. ${PN}-bcm43436 \
  48. ${PN}-bcm43436s \
  49. ${PN}-bcm43439 \
  50. ${PN}-bcm43455 \
  51. ${PN}-bcm43456 \
  52. ${PN}-license \
  53. "
  54. LICENSE:${PN}-bcm43430 = "binary-redist-Cypress-rpidistro"
  55. LICENSE:${PN}-bcm43436 = "Synaptics-rpidistro"
  56. LICENSE:${PN}-bcm43436s = "Synaptics-rpidistro"
  57. LICENSE:${PN}-bcm43439 = "Synaptics-rpidistro"
  58. LICENSE:${PN}-bcm43455 = "binary-redist-Cypress-rpidistro"
  59. LICENSE:${PN}-bcm43456 = "Synaptics-rpidistro"
  60. LICENSE:${PN}-license = "GPL-2.0-only"
  61. FILES:${PN}-bcm43430 = " \
  62. ${nonarch_base_libdir}/firmware/brcm/brcmfmac43430* \
  63. ${nonarch_base_libdir}/firmware/cypress/cyfmac43430-sdio.bin \
  64. ${nonarch_base_libdir}/firmware/cypress/cyfmac43430-sdio.clm_blob \
  65. "
  66. FILES:${PN}-bcm43436 = " \
  67. ${nonarch_base_libdir}/firmware/brcm/brcmfmac43436-* \
  68. ${nonarch_base_libdir}/firmware/brcm/brcmfmac43430b0-* \
  69. "
  70. FILES:${PN}-bcm43436s = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43436s*"
  71. FILES:${PN}-bcm43439 = " \
  72. ${nonarch_base_libdir}/firmware/cypress/43439A0-7.95.49.00.combined \
  73. ${nonarch_base_libdir}/firmware/cypress/cyfmac43439-sdio* \
  74. "
  75. FILES:${PN}-bcm43455 = " \
  76. ${nonarch_base_libdir}/firmware/brcm/brcmfmac43455* \
  77. ${nonarch_base_libdir}/firmware/cypress/cyfmac43455-sdio* \
  78. "
  79. FILES:${PN}-bcm43456 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43456*"
  80. FILES:${PN}-license = "${nonarch_base_libdir}/firmware/copyright.firmware-nonfree-rpidistro"
  81. RDEPENDS:${PN}-bcm43430 += "${PN}-license"
  82. RDEPENDS:${PN}-bcm43436 += "${PN}-license"
  83. RDEPENDS:${PN}-bcm43436s += "${PN}-license"
  84. RDEPENDS:${PN}-bcm43439 += "${PN}-license"
  85. RDEPENDS:${PN}-bcm43455 += "${PN}-license"
  86. RDEPENDS:${PN}-bcm43456 += "${PN}-license"
  87. RCONFLICTS:${PN}-bcm43430 = "linux-firmware-raspbian-bcm43430"
  88. RCONFLICTS:${PN}-bcm43436 = "linux-firmware-bcm43436"
  89. RCONFLICTS:${PN}-bcm43436s = "linux-firmware-bcm43436s"
  90. RCONFLICTS:${PN}-bcm43439 = "linux-firmware-bcm43439"
  91. RCONFLICTS:${PN}-bcm43455 = "linux-firmware-bcm43455"
  92. RCONFLICTS:${PN}-bcm43456 = "linux-firmware-bcm43456"
  93. RREPLACES:${PN}-bcm43430 = "linux-firmware-bcm43430"
  94. RREPLACES:${PN}-bcm43436 = "linux-firmware-bcm43436"
  95. RREPLACES:${PN}-bcm43436s = "linux-firmware-bcm43436s"
  96. RREPLACES:${PN}-bcm43439 = "linux-firmware-bcm43439"
  97. RREPLACES:${PN}-bcm43455 = "linux-firmware-bcm43455"
  98. RREPLACES:${PN}-bcm43456 = "linux-firmware-bcm43456"
  99. # Firmware files are generally not run on the CPU, so they can be
  100. # allarch despite being architecture specific
  101. INSANE_SKIP = "arch"