linux-firmware.mk 16 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509
  1. ################################################################################
  2. #
  3. # linux-firmware
  4. #
  5. ################################################################################
  6. LINUX_FIRMWARE_VERSION = 65b1c68c63f974d72610db38dfae49861117cae2
  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. # Qualcomm Atheros Rome 6174A Bluetooth
  28. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT),y)
  29. LINUX_FIRMWARE_FILES += qca/rampatch_usb_00000302.bin qca/nvm_usb_00000302.bin
  30. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.qcom
  31. endif
  32. # Freescale i.MX SDMA
  33. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IMX_SDMA),y)
  34. LINUX_FIRMWARE_FILES += imx/sdma/sdma-imx6q.bin imx/sdma/sdma-imx7d.bin
  35. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.sdma_firmware
  36. endif
  37. # rt2501/rt61
  38. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61),y)
  39. LINUX_FIRMWARE_FILES += rt2561.bin rt2561s.bin rt2661.bin
  40. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink-firmware.txt
  41. endif
  42. # rt73
  43. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73),y)
  44. LINUX_FIRMWARE_FILES += rt73.bin
  45. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink-firmware.txt
  46. endif
  47. # rt2xx
  48. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX),y)
  49. # rt3090.bin is a symlink to rt2860.bin
  50. # rt3070.bin is a symlink to rt2870.bin
  51. LINUX_FIRMWARE_FILES += rt2860.bin rt2870.bin rt3070.bin rt3071.bin rt3090.bin
  52. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink-firmware.txt
  53. endif
  54. # rtl81xx
  55. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX),y)
  56. LINUX_FIRMWARE_FILES += \
  57. rtlwifi/rtl8192cfw.bin rtlwifi/rtl8192cfwU.bin \
  58. rtlwifi/rtl8192cfwU_B.bin rtlwifi/rtl8192cufw.bin \
  59. rtlwifi/rtl8192defw.bin rtlwifi/rtl8192sefw.bin \
  60. rtlwifi/rtl8188efw.bin rtlwifi/rtl8188eufw.bin \
  61. rtlwifi/rtl8192cufw_A.bin \
  62. rtlwifi/rtl8192cufw_B.bin rtlwifi/rtl8192cufw_TMSC.bin \
  63. rtlwifi/rtl8192eefw.bin rtlwifi/rtl8192eu_ap_wowlan.bin \
  64. rtlwifi/rtl8192eu_nic.bin rtlwifi/rtl8192eu_wowlan.bin
  65. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt
  66. endif
  67. # rtl87xx
  68. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX),y)
  69. LINUX_FIRMWARE_FILES += \
  70. rtlwifi/rtl8712u.bin rtlwifi/rtl8723fw.bin \
  71. rtlwifi/rtl8723fw_B.bin rtlwifi/rtl8723befw.bin \
  72. rtlwifi/rtl8723aufw_A.bin rtlwifi/rtl8723aufw_B.bin \
  73. rtlwifi/rtl8723aufw_B_NoBT.bin rtlwifi/rtl8723befw.bin \
  74. rtlwifi/rtl8723bs_ap_wowlan.bin rtlwifi/rtl8723bs_bt.bin \
  75. rtlwifi/rtl8723bs_nic.bin rtlwifi/rtl8723bs_wowlan.bin \
  76. rtlwifi/rtl8723bu_ap_wowlan.bin rtlwifi/rtl8723bu_nic.bin \
  77. rtlwifi/rtl8723bu_wowlan.bin
  78. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt
  79. endif
  80. # rtl88xx
  81. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX),y)
  82. LINUX_FIRMWARE_FILES += \
  83. rtlwifi/rtl8821aefw.bin \
  84. rtlwifi/rtl8821aefw_wowlan.bin \
  85. rtlwifi/rtl8821aefw_29.bin rtlwifi/rtl8822befw.bin
  86. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt
  87. endif
  88. # ar6002
  89. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6002),y)
  90. LINUX_FIRMWARE_FILES += ath6k/AR6002
  91. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  92. endif
  93. # ar6003
  94. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6003),y)
  95. LINUX_FIRMWARE_FILES += ath6k/AR6003
  96. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  97. endif
  98. # ar6004
  99. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6004),y)
  100. LINUX_FIRMWARE_FILES += ath6k/AR6004
  101. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  102. endif
  103. # ar7010
  104. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_7010),y)
  105. LINUX_FIRMWARE_FILES += ar7010.fw ar7010_1_1.fw htc_7010.fw ath9k_htc/htc_7010-1.4.0.fw
  106. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  107. endif
  108. # ar9170
  109. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170),y)
  110. LINUX_FIRMWARE_FILES += ar9170-1.fw ar9170-2.fw carl9170-1.fw
  111. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  112. endif
  113. # ar9271
  114. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271),y)
  115. LINUX_FIRMWARE_FILES += ar9271.fw htc_9271.fw ath9k_htc/htc_9271-1.4.0.fw
  116. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  117. endif
  118. # ath10k
  119. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA998X),y)
  120. LINUX_FIRMWARE_FILES += ath10k/QCA988X/hw2.0/board.bin \
  121. ath10k/QCA988X/hw2.0/firmware-4.bin \
  122. ath10k/QCA988X/hw2.0/firmware-5.bin
  123. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  124. endif
  125. # sd8686 v8
  126. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V8),y)
  127. LINUX_FIRMWARE_FILES += libertas/sd8686_v8.bin libertas/sd8686_v8_helper.bin
  128. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  129. endif
  130. # sd8686 v9
  131. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V9),y)
  132. LINUX_FIRMWARE_FILES += libertas/sd8686_v9.bin libertas/sd8686_v9_helper.bin
  133. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  134. endif
  135. # sd8688
  136. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8688),y)
  137. LINUX_FIRMWARE_FILES += libertas/sd8688.bin libertas/sd8688_helper.bin
  138. # The two files above are but symlinks to those two ones:
  139. LINUX_FIRMWARE_FILES += mrvl/sd8688.bin mrvl/sd8688_helper.bin
  140. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  141. endif
  142. # sd8787
  143. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8787),y)
  144. LINUX_FIRMWARE_FILES += mrvl/sd8787_uapsta.bin
  145. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  146. endif
  147. # sd8797
  148. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8797),y)
  149. LINUX_FIRMWARE_FILES += mrvl/sd8797_uapsta.bin
  150. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  151. endif
  152. # usb8797
  153. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8797),y)
  154. LINUX_FIRMWARE_FILES += mrvl/usb8797_uapsta.bin
  155. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  156. endif
  157. # usb8801
  158. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8801),y)
  159. LINUX_FIRMWARE_FILES += mrvl/usb8801_uapsta.bin
  160. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  161. endif
  162. # sd8887
  163. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8887),y)
  164. LINUX_FIRMWARE_FILES += mrvl/sd8887_uapsta.bin
  165. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  166. endif
  167. # sd8897
  168. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8897),y)
  169. LINUX_FIRMWARE_FILES += mrvl/sd8897_uapsta.bin
  170. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  171. endif
  172. # usb8897
  173. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8897),y)
  174. LINUX_FIRMWARE_FILES += mrvl/usb8897_uapsta.bin
  175. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  176. endif
  177. # pcie8897
  178. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_PCIE8897),y)
  179. LINUX_FIRMWARE_FILES += mrvl/pcie8897_uapsta.bin
  180. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  181. endif
  182. # MT7601
  183. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U),y)
  184. LINUX_FIRMWARE_FILES += mt7601u.bin
  185. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink_a_mediatek_company_firmware
  186. endif
  187. # qca6174
  188. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174),y)
  189. LINUX_FIRMWARE_FILES += ath10k/QCA6174
  190. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.QualcommAtheros_ath10k
  191. endif
  192. # wl127x
  193. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X),y)
  194. # wl1271-nvs.bin is a symlink to wl127x-nvs.bin
  195. LINUX_FIRMWARE_FILES += \
  196. ti-connectivity/wl1271-fw-2.bin \
  197. ti-connectivity/wl1271-fw-ap.bin \
  198. ti-connectivity/wl1271-fw.bin \
  199. ti-connectivity/wl1271-nvs.bin \
  200. ti-connectivity/wl127x-fw-3.bin \
  201. ti-connectivity/wl127x-fw-plt-3.bin \
  202. ti-connectivity/wl127x-nvs.bin \
  203. ti-connectivity/wl127x-fw-4-mr.bin \
  204. ti-connectivity/wl127x-fw-4-plt.bin \
  205. ti-connectivity/wl127x-fw-4-sr.bin \
  206. ti-connectivity/wl127x-fw-5-mr.bin \
  207. ti-connectivity/wl127x-fw-5-plt.bin \
  208. ti-connectivity/wl127x-fw-5-sr.bin \
  209. ti-connectivity/TIInit_7.2.31.bts
  210. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity
  211. endif
  212. # wl128x
  213. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X),y)
  214. # wl1271-nvs.bin and wl12xx-nvs.bin are symlinks to wl127x-nvs.bin
  215. LINUX_FIRMWARE_FILES += \
  216. ti-connectivity/wl128x-fw-3.bin \
  217. ti-connectivity/wl128x-fw-ap.bin \
  218. ti-connectivity/wl128x-fw-plt-3.bin \
  219. ti-connectivity/wl128x-fw.bin \
  220. ti-connectivity/wl1271-nvs.bin \
  221. ti-connectivity/wl128x-nvs.bin \
  222. ti-connectivity/wl12xx-nvs.bin \
  223. ti-connectivity/wl127x-nvs.bin \
  224. ti-connectivity/wl128x-fw-4-mr.bin \
  225. ti-connectivity/wl128x-fw-4-plt.bin \
  226. ti-connectivity/wl128x-fw-4-sr.bin \
  227. ti-connectivity/wl128x-fw-5-mr.bin \
  228. ti-connectivity/wl128x-fw-5-plt.bin \
  229. ti-connectivity/wl128x-fw-5-sr.bin \
  230. ti-connectivity/TIInit_7.2.31.bts
  231. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity
  232. endif
  233. # wl18xx
  234. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX),y)
  235. # wl1271-nvs.bin is a symlink to wl127x-nvs.bin
  236. LINUX_FIRMWARE_FILES += \
  237. ti-connectivity/wl18xx-fw.bin \
  238. ti-connectivity/wl18xx-fw-2.bin \
  239. ti-connectivity/wl18xx-fw-3.bin \
  240. ti-connectivity/wl18xx-fw-4.bin \
  241. ti-connectivity/wl1271-nvs.bin \
  242. ti-connectivity/wl127x-nvs.bin \
  243. ti-connectivity/TIInit_7.2.31.bts
  244. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity
  245. endif
  246. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160),y)
  247. LINUX_FIRMWARE_FILES += iwlwifi-3160-*.ucode
  248. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  249. endif
  250. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3168),y)
  251. LINUX_FIRMWARE_FILES += iwlwifi-3168-*.ucode
  252. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  253. endif
  254. # iwlwifi 5000. Multiple files are available (iwlwifi-5000-1.ucode,
  255. # iwlwifi-5000-2.ucode, iwlwifi-5000-5.ucode), corresponding to
  256. # different versions of the firmware API. For now, we only install the
  257. # most recent one.
  258. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_5000),y)
  259. LINUX_FIRMWARE_FILES += iwlwifi-5000-5.ucode
  260. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  261. endif
  262. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2A),y)
  263. LINUX_FIRMWARE_FILES += iwlwifi-6000g2a-6.ucode
  264. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  265. endif
  266. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2B),y)
  267. LINUX_FIRMWARE_FILES += iwlwifi-6000g2b-6.ucode
  268. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  269. endif
  270. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7260),y)
  271. LINUX_FIRMWARE_FILES += iwlwifi-7260-*.ucode
  272. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  273. endif
  274. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7265),y)
  275. LINUX_FIRMWARE_FILES += iwlwifi-7265-*.ucode
  276. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  277. endif
  278. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7265D),y)
  279. LINUX_FIRMWARE_FILES += iwlwifi-7265D-*.ucode
  280. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  281. endif
  282. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8000C),y)
  283. LINUX_FIRMWARE_FILES += iwlwifi-8000C-*.ucode
  284. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  285. endif
  286. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8265),y)
  287. LINUX_FIRMWARE_FILES += iwlwifi-8265-*.ucode
  288. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  289. endif
  290. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_9XXX),y)
  291. LINUX_FIRMWARE_FILES += iwlwifi-9???-*.ucode
  292. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  293. endif
  294. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BNX2X),y)
  295. LINUX_FIRMWARE_FILES += bnx2x/*
  296. # No license file; the license is in the file WHENCE
  297. # which is installed unconditionally
  298. endif
  299. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4),y)
  300. LINUX_FIRMWARE_FILES += cxgb4/t4fw*.bin
  301. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.chelsio_firmware
  302. endif
  303. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T5),y)
  304. LINUX_FIRMWARE_FILES += cxgb4/t5fw*.bin
  305. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.chelsio_firmware
  306. endif
  307. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169),y)
  308. LINUX_FIRMWARE_FILES += \
  309. rtl_nic/rtl8105e-1.fw \
  310. rtl_nic/rtl8106e-1.fw \
  311. rtl_nic/rtl8106e-2.fw \
  312. rtl_nic/rtl8168d-1.fw \
  313. rtl_nic/rtl8168d-2.fw \
  314. rtl_nic/rtl8168e-1.fw \
  315. rtl_nic/rtl8168e-2.fw \
  316. rtl_nic/rtl8168e-3.fw \
  317. rtl_nic/rtl8168f-1.fw \
  318. rtl_nic/rtl8168f-2.fw \
  319. rtl_nic/rtl8168g-2.fw \
  320. rtl_nic/rtl8168g-3.fw \
  321. rtl_nic/rtl8168h-1.fw \
  322. rtl_nic/rtl8168h-2.fw \
  323. rtl_nic/rtl8402-1.fw \
  324. rtl_nic/rtl8411-1.fw \
  325. rtl_nic/rtl8411-2.fw
  326. endif
  327. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_XCx000),y)
  328. LINUX_FIRMWARE_FILES += \
  329. dvb-fe-xc4000-1.4.1.fw \
  330. dvb-fe-xc5000-1.6.114.fw \
  331. dvb-fe-xc5000c-4.1.30.7.fw
  332. LINUX_FIRMWARE_ALL_LICENSE_FILES += \
  333. LICENCE.xc4000 \
  334. LICENCE.xc5000 \
  335. LICENCE.xc5000c
  336. endif
  337. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_AS102),y)
  338. LINUX_FIRMWARE_FILES += as102_data1_st.hex as102_data2_st.hex
  339. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Abilis
  340. endif
  341. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_DIB0700),y)
  342. LINUX_FIRMWARE_FILES += dvb-usb-dib0700-1.20.fw
  343. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.dib0700
  344. endif
  345. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ITETECH_IT9135),y)
  346. LINUX_FIRMWARE_FILES += dvb-usb-it9135-01.fw dvb-usb-it9135-02.fw
  347. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.it913x
  348. endif
  349. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_H5_DRXK),y)
  350. LINUX_FIRMWARE_FILES += dvb-usb-terratec-h5-drxk.fw
  351. # No license file; the license is in the file WHENCE
  352. # which is installed unconditionally
  353. endif
  354. # brcm43xx
  355. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX),y)
  356. LINUX_FIRMWARE_FILES += \
  357. brcm/bcm43xx-0.fw brcm/bcm43xx_hdr-0.fw \
  358. brcm/bcm4329-fullmac-4.bin brcm/brcmfmac4329-sdio.bin \
  359. brcm/brcmfmac4330-sdio.bin brcm/brcmfmac4334-sdio.bin \
  360. brcm/brcmfmac4335-sdio.bin brcm/brcmfmac4339-sdio.bin \
  361. brcm/brcmfmac4350-pcie.bin brcm/brcmfmac4354-sdio.bin \
  362. brcm/brcmfmac4356-pcie.bin brcm/brcmfmac4371-pcie.bin
  363. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.broadcom_bcm43xx
  364. endif
  365. # brcm43xxx
  366. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX),y)
  367. LINUX_FIRMWARE_FILES += \
  368. brcm/brcmfmac43143.bin brcm/brcmfmac43143-sdio.bin \
  369. brcm/brcmfmac43236b.bin brcm/brcmfmac43241b0-sdio.bin \
  370. brcm/brcmfmac43241b4-sdio.bin brcm/brcmfmac43241b5-sdio.bin \
  371. brcm/brcmfmac43242a.bin brcm/brcmfmac43340-sdio.bin \
  372. brcm/brcmfmac43362-sdio.bin brcm/brcmfmac43430-sdio.bin \
  373. brcm/brcmfmac43430a0-sdio.bin brcm/brcmfmac43455-sdio.bin \
  374. brcm/brcmfmac43569.bin brcm/brcmfmac43570-pcie.bin \
  375. brcm/brcmfmac43602-pcie.ap.bin brcm/brcmfmac43602-pcie.bin
  376. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.broadcom_bcm43xx
  377. endif
  378. # ql2xxx
  379. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QLOGIC_2XXX),y)
  380. LINUX_FIRMWARE_FILES += \
  381. ql2100_fw.bin ql2200_fw.bin ql2300_fw.bin ql2322_fw.bin \
  382. ql2400_fw.bin ql2500_fw.bin
  383. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.qla2xxx
  384. endif
  385. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_REDPINE_RS9113),y)
  386. LINUX_FIRMWARE_FILES += rsi/rs9113_wlan_qspi.rps
  387. # No license file; the license is in the file WHENCE
  388. # which is installed unconditionally
  389. endif
  390. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QAT_DH895XCC),y)
  391. # qat_mmp.bin is a symlink to qat_895xcc_mmp.bin
  392. LINUX_FIRMWARE_FILES += qat_895xcc.bin qat_895xcc_mmp.bin qat_mmp.bin
  393. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.qat_firmware
  394. endif
  395. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QAT_C3XXX),y)
  396. LINUX_FIRMWARE_FILES += qat_c3xxx.bin qat_c3xxx_mmp.bin
  397. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.qat_firmware
  398. endif
  399. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QAT_C62X),y)
  400. LINUX_FIRMWARE_FILES += qat_c62x.bin qat_c62x_mmp.bin
  401. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.qat_firmware
  402. endif
  403. ifneq ($(LINUX_FIRMWARE_FILES),)
  404. define LINUX_FIRMWARE_INSTALL_FILES
  405. cd $(@D) && \
  406. $(TAR) cf install.tar $(sort $(LINUX_FIRMWARE_FILES)) && \
  407. $(TAR) xf install.tar -C $(TARGET_DIR)/lib/firmware
  408. endef
  409. endif
  410. ifneq ($(LINUX_FIRMWARE_DIRS),)
  411. # We need to rm-rf the destination directory to avoid copying
  412. # into it in itself, should we re-install the package.
  413. define LINUX_FIRMWARE_INSTALL_DIRS
  414. $(foreach d,$(LINUX_FIRMWARE_DIRS), \
  415. rm -rf $(TARGET_DIR)/lib/firmware/$(d); \
  416. cp -a $(@D)/$(d) $(TARGET_DIR)/lib/firmware/$(d)$(sep))
  417. endef
  418. endif
  419. ifneq ($(LINUX_FIRMWARE_FILES)$(LINUX_FIRMWARE_DIRS),)
  420. # Most firmware files are under a proprietary license, so no need to
  421. # repeat it for every selections above. Those firmwares that have more
  422. # lax licensing terms may still add them on a per-case basis.
  423. LINUX_FIRMWARE_LICENSE += Proprietary
  424. # This file contains some licensing information about all the firmware
  425. # files found in the linux-firmware package, so we always add it, even
  426. # for firmwares that have their own licensing terms.
  427. LINUX_FIRMWARE_ALL_LICENSE_FILES += WHENCE
  428. # Some license files may be listed more than once, so we have to remove
  429. # duplicates
  430. LINUX_FIRMWARE_LICENSE_FILES = $(sort $(LINUX_FIRMWARE_ALL_LICENSE_FILES))
  431. endif
  432. define LINUX_FIRMWARE_INSTALL_TARGET_CMDS
  433. mkdir -p $(TARGET_DIR)/lib/firmware
  434. $(LINUX_FIRMWARE_INSTALL_FILES)
  435. $(LINUX_FIRMWARE_INSTALL_DIRS)
  436. endef
  437. $(eval $(generic-package))