linux-firmware.mk 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441
  1. ################################################################################
  2. #
  3. # linux-firmware
  4. #
  5. ################################################################################
  6. LINUX_FIRMWARE_VERSION = 6d3bc8886517d171068fd1263176b8b5c51df204
  7. LINUX_FIRMWARE_SITE = http://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
  8. LINUX_FIRMWARE_SITE_METHOD = git
  9. # Intel SST DSP
  10. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_INTEL_SST_DSP),y)
  11. LINUX_FIRMWARE_FILES += intel/fw_sst_0f28.bin-48kHz_i2s_master
  12. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.fw_sst_0f28
  13. endif
  14. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_I915),y)
  15. LINUX_FIRMWARE_DIRS += i915
  16. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.i915
  17. endif
  18. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RADEON),y)
  19. LINUX_FIRMWARE_DIRS += radeon
  20. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.radeon
  21. endif
  22. # Intel Wireless Bluetooth
  23. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IBT),y)
  24. LINUX_FIRMWARE_FILES += intel/ibt-*
  25. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ibt_firmware
  26. endif
  27. # rt2501/rt61
  28. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61),y)
  29. LINUX_FIRMWARE_FILES += rt2561.bin rt2561s.bin rt2661.bin
  30. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink-firmware.txt
  31. endif
  32. # rt73
  33. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73),y)
  34. LINUX_FIRMWARE_FILES += rt73.bin
  35. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink-firmware.txt
  36. endif
  37. # rt2xx
  38. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX),y)
  39. # rt3090.bin is a symlink to rt2860.bin
  40. # rt3070.bin is a symlink to rt2870.bin
  41. LINUX_FIRMWARE_FILES += rt2860.bin rt2870.bin rt3070.bin rt3071.bin rt3090.bin
  42. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink-firmware.txt
  43. endif
  44. # rtl81xx
  45. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX),y)
  46. LINUX_FIRMWARE_FILES += \
  47. rtlwifi/rtl8192cfw.bin rtlwifi/rtl8192cfwU.bin \
  48. rtlwifi/rtl8192cfwU_B.bin rtlwifi/rtl8192cufw.bin \
  49. rtlwifi/rtl8192defw.bin rtlwifi/rtl8192sefw.bin \
  50. rtlwifi/rtl8188efw.bin rtlwifi/rtl8188eufw.bin \
  51. rtlwifi/rtl8192cufw_A.bin \
  52. rtlwifi/rtl8192cufw_B.bin rtlwifi/rtl8192cufw_TMSC.bin
  53. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt
  54. endif
  55. # rtl87xx
  56. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX),y)
  57. LINUX_FIRMWARE_FILES += \
  58. rtlwifi/rtl8712u.bin rtlwifi/rtl8723fw.bin \
  59. rtlwifi/rtl8723fw_B.bin rtlwifi/rtl8723befw.bin
  60. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt
  61. endif
  62. # rtl88xx
  63. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX),y)
  64. LINUX_FIRMWARE_FILES += \
  65. rtlwifi/rtl8821aefw.bin \
  66. rtlwifi/rtl8821aefw_wowlan.bin
  67. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt
  68. endif
  69. # ar6002
  70. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6002),y)
  71. LINUX_FIRMWARE_FILES += ath6k/AR6002
  72. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  73. endif
  74. # ar6003
  75. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6003),y)
  76. LINUX_FIRMWARE_FILES += ath6k/AR6003
  77. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  78. endif
  79. # ar6004
  80. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6004),y)
  81. LINUX_FIRMWARE_FILES += ath6k/AR6004
  82. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  83. endif
  84. # ar7010
  85. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_7010),y)
  86. LINUX_FIRMWARE_FILES += ar7010.fw ar7010_1_1.fw htc_7010.fw ath9k_htc/htc_7010-1.4.0.fw
  87. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  88. endif
  89. # ar9170
  90. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170),y)
  91. LINUX_FIRMWARE_FILES += ar9170-1.fw ar9170-2.fw carl9170-1.fw
  92. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  93. endif
  94. # ar9271
  95. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271),y)
  96. LINUX_FIRMWARE_FILES += ar9271.fw htc_9271.fw ath9k_htc/htc_9271-1.4.0.fw
  97. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  98. endif
  99. # sd8686 v8
  100. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V8),y)
  101. LINUX_FIRMWARE_FILES += libertas/sd8686_v8.bin libertas/sd8686_v8_helper.bin
  102. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  103. endif
  104. # sd8686 v9
  105. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V9),y)
  106. LINUX_FIRMWARE_FILES += libertas/sd8686_v9.bin libertas/sd8686_v9_helper.bin
  107. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  108. endif
  109. # sd8688
  110. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8688),y)
  111. LINUX_FIRMWARE_FILES += libertas/sd8688.bin libertas/sd8688_helper.bin
  112. # The two files above are but symlinks to those two ones:
  113. LINUX_FIRMWARE_FILES += mrvl/sd8688.bin mrvl/sd8688_helper.bin
  114. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  115. endif
  116. # sd8787
  117. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8787),y)
  118. LINUX_FIRMWARE_FILES += mrvl/sd8787_uapsta.bin
  119. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  120. endif
  121. # sd8797
  122. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8797),y)
  123. LINUX_FIRMWARE_FILES += mrvl/sd8797_uapsta.bin
  124. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  125. endif
  126. # usb8797
  127. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8797),y)
  128. LINUX_FIRMWARE_FILES += mrvl/usb8797_uapsta.bin
  129. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  130. endif
  131. # usb8801
  132. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8801),y)
  133. LINUX_FIRMWARE_FILES += mrvl/usb8801_uapsta.bin
  134. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  135. endif
  136. # sd8887
  137. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8887),y)
  138. LINUX_FIRMWARE_FILES += mrvl/sd8887_uapsta.bin
  139. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  140. endif
  141. # sd8897
  142. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8897),y)
  143. LINUX_FIRMWARE_FILES += mrvl/sd8897_uapsta.bin
  144. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  145. endif
  146. # usb8897
  147. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8897),y)
  148. LINUX_FIRMWARE_FILES += mrvl/usb8897_uapsta.bin
  149. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  150. endif
  151. # pcie8897
  152. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_PCIE8897),y)
  153. LINUX_FIRMWARE_FILES += mrvl/pcie8897_uapsta.bin
  154. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  155. endif
  156. # MT7601
  157. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U),y)
  158. LINUX_FIRMWARE_FILES += mt7601u.bin
  159. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink_a_mediatek_company_firmware
  160. endif
  161. # wl127x
  162. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X),y)
  163. # wl1271-nvs.bin is a symlink to wl127x-nvs.bin
  164. LINUX_FIRMWARE_FILES += \
  165. ti-connectivity/wl1271-fw-2.bin \
  166. ti-connectivity/wl1271-fw-ap.bin \
  167. ti-connectivity/wl1271-fw.bin \
  168. ti-connectivity/wl1271-nvs.bin \
  169. ti-connectivity/wl127x-fw-3.bin \
  170. ti-connectivity/wl127x-fw-plt-3.bin \
  171. ti-connectivity/wl127x-nvs.bin \
  172. ti-connectivity/wl127x-fw-4-mr.bin \
  173. ti-connectivity/wl127x-fw-4-plt.bin \
  174. ti-connectivity/wl127x-fw-4-sr.bin \
  175. ti-connectivity/wl127x-fw-5-mr.bin \
  176. ti-connectivity/wl127x-fw-5-plt.bin \
  177. ti-connectivity/wl127x-fw-5-sr.bin \
  178. ti-connectivity/TIInit_7.2.31.bts
  179. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity
  180. endif
  181. # wl128x
  182. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X),y)
  183. # wl1271-nvs.bin and wl12xx-nvs.bin are symlinks to wl127x-nvs.bin
  184. LINUX_FIRMWARE_FILES += \
  185. ti-connectivity/wl128x-fw-3.bin \
  186. ti-connectivity/wl128x-fw-ap.bin \
  187. ti-connectivity/wl128x-fw-plt-3.bin \
  188. ti-connectivity/wl128x-fw.bin \
  189. ti-connectivity/wl1271-nvs.bin \
  190. ti-connectivity/wl128x-nvs.bin \
  191. ti-connectivity/wl12xx-nvs.bin \
  192. ti-connectivity/wl127x-nvs.bin \
  193. ti-connectivity/wl128x-fw-4-mr.bin \
  194. ti-connectivity/wl128x-fw-4-plt.bin \
  195. ti-connectivity/wl128x-fw-4-sr.bin \
  196. ti-connectivity/wl128x-fw-5-mr.bin \
  197. ti-connectivity/wl128x-fw-5-plt.bin \
  198. ti-connectivity/wl128x-fw-5-sr.bin \
  199. ti-connectivity/TIInit_7.2.31.bts
  200. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity
  201. endif
  202. # wl18xx
  203. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX),y)
  204. # wl1271-nvs.bin is a symlink to wl127x-nvs.bin
  205. LINUX_FIRMWARE_FILES += \
  206. ti-connectivity/wl18xx-fw.bin \
  207. ti-connectivity/wl18xx-fw-2.bin \
  208. ti-connectivity/wl18xx-fw-3.bin \
  209. ti-connectivity/wl18xx-fw-4.bin \
  210. ti-connectivity/wl1271-nvs.bin \
  211. ti-connectivity/wl127x-nvs.bin \
  212. ti-connectivity/TIInit_7.2.31.bts
  213. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity
  214. endif
  215. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160),y)
  216. LINUX_FIRMWARE_FILES += iwlwifi-3160-*.ucode
  217. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  218. endif
  219. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3168),y)
  220. LINUX_FIRMWARE_FILES += iwlwifi-3168-*.ucode
  221. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  222. endif
  223. # iwlwifi 5000. Multiple files are available (iwlwifi-5000-1.ucode,
  224. # iwlwifi-5000-2.ucode, iwlwifi-5000-5.ucode), corresponding to
  225. # different versions of the firmware API. For now, we only install the
  226. # most recent one.
  227. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_5000),y)
  228. LINUX_FIRMWARE_FILES += iwlwifi-5000-5.ucode
  229. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  230. endif
  231. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2A),y)
  232. LINUX_FIRMWARE_FILES += iwlwifi-6000g2a-6.ucode
  233. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  234. endif
  235. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2B),y)
  236. LINUX_FIRMWARE_FILES += iwlwifi-6000g2b-6.ucode
  237. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  238. endif
  239. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7260),y)
  240. LINUX_FIRMWARE_FILES += iwlwifi-7260-*.ucode
  241. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  242. endif
  243. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7265),y)
  244. LINUX_FIRMWARE_FILES += iwlwifi-7265-*.ucode
  245. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  246. endif
  247. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7265D),y)
  248. LINUX_FIRMWARE_FILES += iwlwifi-7265D-*.ucode
  249. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  250. endif
  251. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8000C),y)
  252. LINUX_FIRMWARE_FILES += iwlwifi-8000C-*.ucode
  253. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  254. endif
  255. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8265),y)
  256. LINUX_FIRMWARE_FILES += iwlwifi-8265-*.ucode
  257. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  258. endif
  259. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BNX2X),y)
  260. LINUX_FIRMWARE_FILES += bnx2x/*
  261. # No license file; the license is in the file WHENCE
  262. # which is installed unconditionally
  263. endif
  264. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4),y)
  265. # cxgb4/t4fw.bin is a symlink to cxgb4/t4fw-1.16.26.0.bin
  266. LINUX_FIRMWARE_FILES += cxgb4/t4fw-1.16.26.0.bin cxgb4/t4fw.bin
  267. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.chelsio_firmware
  268. endif
  269. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T5),y)
  270. # cxgb4/t5fw.bin is a symlink to cxgb4/t5fw-1.16.26.0.bin
  271. LINUX_FIRMWARE_FILES += cxgb4/t5fw-1.16.26.0.bin cxgb4/t5fw.bin
  272. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.chelsio_firmware
  273. endif
  274. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169),y)
  275. LINUX_FIRMWARE_FILES += \
  276. rtl_nic/rtl8105e-1.fw \
  277. rtl_nic/rtl8106e-1.fw \
  278. rtl_nic/rtl8106e-2.fw \
  279. rtl_nic/rtl8168d-1.fw \
  280. rtl_nic/rtl8168d-2.fw \
  281. rtl_nic/rtl8168e-1.fw \
  282. rtl_nic/rtl8168e-2.fw \
  283. rtl_nic/rtl8168e-3.fw \
  284. rtl_nic/rtl8168f-1.fw \
  285. rtl_nic/rtl8168f-2.fw \
  286. rtl_nic/rtl8168g-2.fw \
  287. rtl_nic/rtl8168g-3.fw \
  288. rtl_nic/rtl8168h-1.fw \
  289. rtl_nic/rtl8168h-2.fw \
  290. rtl_nic/rtl8402-1.fw \
  291. rtl_nic/rtl8411-1.fw \
  292. rtl_nic/rtl8411-2.fw
  293. endif
  294. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_XCx000),y)
  295. LINUX_FIRMWARE_FILES += \
  296. dvb-fe-xc4000-1.4.1.fw \
  297. dvb-fe-xc5000-1.6.114.fw \
  298. dvb-fe-xc5000c-4.1.30.7.fw
  299. LINUX_FIRMWARE_ALL_LICENSE_FILES += \
  300. LICENCE.xc4000 \
  301. LICENCE.xc5000 \
  302. LICENCE.xc5000c
  303. endif
  304. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_AS102),y)
  305. LINUX_FIRMWARE_FILES += as102_data1_st.hex as102_data2_st.hex
  306. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Abilis
  307. endif
  308. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_DIB0700),y)
  309. LINUX_FIRMWARE_FILES += dvb-usb-dib0700-1.20.fw
  310. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.dib0700
  311. endif
  312. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ITETECH_IT9135),y)
  313. LINUX_FIRMWARE_FILES += dvb-usb-it9135-01.fw dvb-usb-it9135-02.fw
  314. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.it913x
  315. endif
  316. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_H5_DRXK),y)
  317. LINUX_FIRMWARE_FILES += dvb-usb-terratec-h5-drxk.fw
  318. # No license file; the license is in the file WHENCE
  319. # which is installed unconditionally
  320. endif
  321. # brcm43xx
  322. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX),y)
  323. LINUX_FIRMWARE_FILES += \
  324. brcm/bcm43xx-0.fw brcm/bcm43xx_hdr-0.fw \
  325. brcm/bcm4329-fullmac-4.bin brcm/brcmfmac4329-sdio.bin \
  326. brcm/brcmfmac4330-sdio.bin brcm/brcmfmac4334-sdio.bin \
  327. brcm/brcmfmac4335-sdio.bin brcm/brcmfmac4339-sdio.bin \
  328. brcm/brcmfmac4350-pcie.bin brcm/brcmfmac4354-sdio.bin \
  329. brcm/brcmfmac4356-pcie.bin brcm/brcmfmac4371-pcie.bin
  330. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.broadcom_bcm43xx
  331. endif
  332. # brcm43xxx
  333. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX),y)
  334. LINUX_FIRMWARE_FILES += \
  335. brcm/brcmfmac43143.bin brcm/brcmfmac43143-sdio.bin \
  336. brcm/brcmfmac43236b.bin brcm/brcmfmac43241b0-sdio.bin \
  337. brcm/brcmfmac43241b4-sdio.bin brcm/brcmfmac43241b5-sdio.bin \
  338. brcm/brcmfmac43242a.bin brcm/brcmfmac43340-sdio.bin \
  339. brcm/brcmfmac43362-sdio.bin brcm/brcmfmac43455-sdio.bin \
  340. brcm/brcmfmac43569.bin brcm/brcmfmac43570-pcie.bin \
  341. brcm/brcmfmac43602-pcie.ap.bin brcm/brcmfmac43602-pcie.bin \
  342. brcm/brcmfmac43430-sdio.bin
  343. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.broadcom_bcm43xx
  344. endif
  345. ifneq ($(LINUX_FIRMWARE_FILES),)
  346. define LINUX_FIRMWARE_INSTALL_FILES
  347. cd $(@D) ; \
  348. $(TAR) c $(sort $(LINUX_FIRMWARE_FILES)) | \
  349. $(TAR) x -C $(TARGET_DIR)/lib/firmware
  350. endef
  351. endif
  352. ifneq ($(LINUX_FIRMWARE_DIRS),)
  353. # We need to rm-rf the destination directory to avoid copying
  354. # into it in itself, should we re-install the package.
  355. define LINUX_FIRMWARE_INSTALL_DIRS
  356. $(foreach d,$(LINUX_FIRMWARE_DIRS), \
  357. rm -rf $(TARGET_DIR)/lib/firmware/$(d); \
  358. cp -a $(@D)/$(d) $(TARGET_DIR)/lib/firmware/$(d)$(sep))
  359. endef
  360. endif
  361. ifneq ($(LINUX_FIRMWARE_FILES)$(LINUX_FIRMWARE_DIRS),)
  362. # Most firmware files are under a proprietary license, so no need to
  363. # repeat it for every selections above. Those firmwares that have more
  364. # lax licensing terms may still add them on a per-case basis.
  365. LINUX_FIRMWARE_LICENSE += Proprietary
  366. # This file contains some licensing information about all the firmware
  367. # files found in the linux-firmware package, so we always add it, even
  368. # for firmwares that have their own licensing terms.
  369. LINUX_FIRMWARE_ALL_LICENSE_FILES += WHENCE
  370. # Some license files may be listed more than once, so we have to remove
  371. # duplicates
  372. LINUX_FIRMWARE_LICENSE_FILES = $(sort $(LINUX_FIRMWARE_ALL_LICENSE_FILES))
  373. endif
  374. define LINUX_FIRMWARE_INSTALL_TARGET_CMDS
  375. mkdir -p $(TARGET_DIR)/lib/firmware
  376. $(LINUX_FIRMWARE_INSTALL_FILES)
  377. $(LINUX_FIRMWARE_INSTALL_DIRS)
  378. endef
  379. $(eval $(generic-package))