linux-firmware.mk 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838
  1. ################################################################################
  2. #
  3. # linux-firmware
  4. #
  5. ################################################################################
  6. LINUX_FIRMWARE_VERSION = 20221109
  7. LINUX_FIRMWARE_SOURCE = linux-firmware-$(LINUX_FIRMWARE_VERSION).tar.xz
  8. LINUX_FIRMWARE_SITE = $(BR2_KERNEL_MIRROR)/linux/kernel/firmware
  9. LINUX_FIRMWARE_INSTALL_IMAGES = YES
  10. LINUX_FIRMWARE_CPE_ID_VENDOR = kernel
  11. # Intel SST DSP
  12. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_INTEL_SST_DSP),y)
  13. LINUX_FIRMWARE_FILES += intel/fw_sst_0f28.bin-48kHz_i2s_master
  14. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.fw_sst_0f28
  15. endif
  16. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_AMDGPU),y)
  17. LINUX_FIRMWARE_DIRS += amdgpu
  18. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.amdgpu
  19. endif
  20. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_I915),y)
  21. LINUX_FIRMWARE_DIRS += i915
  22. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.i915
  23. endif
  24. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RADEON),y)
  25. LINUX_FIRMWARE_DIRS += radeon
  26. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.radeon
  27. endif
  28. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QCOM_VENUS),y)
  29. LINUX_FIRMWARE_DIRS += qcom/venus-1.8 qcom/venus-4.2
  30. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.qcom qcom/NOTICE.txt
  31. endif
  32. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QCOM_ADRENO),y)
  33. LINUX_FIRMWARE_FILES += qcom/a*
  34. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.qcom qcom/NOTICE.txt
  35. endif
  36. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MFC_V8),y)
  37. LINUX_FIRMWARE_FILES += \
  38. s5p-mfc.fw \
  39. s5p-mfc-v6.fw \
  40. s5p-mfc-v6-v2.fw \
  41. s5p-mfc-v7.fw \
  42. s5p-mfc-v8.fw
  43. # No license file; the license is in the file WHENCE
  44. # which is installed unconditionally
  45. endif
  46. # Intel Wireless Bluetooth
  47. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IBT),y)
  48. LINUX_FIRMWARE_FILES += intel/ibt-*
  49. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ibt_firmware
  50. endif
  51. # Qualcomm Atheros Rome 6174A Bluetooth
  52. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT),y)
  53. LINUX_FIRMWARE_FILES += qca/rampatch_usb_00000302.bin qca/nvm_usb_00000302.bin
  54. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.qcom
  55. endif
  56. # Realtek 87xx Bluetooth
  57. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX_BT),y)
  58. LINUX_FIRMWARE_FILES += \
  59. rtl_bt/rtl8723a_fw.bin rtl_bt/rtl8723b_fw.bin \
  60. rtl_bt/rtl8723bs_config-OBDA8723.bin \
  61. rtl_bt/rtl8723bs_fw.bin rtl_bt/rtl8723d_config.bin \
  62. rtl_bt/rtl8723d_fw.bin rtl_bt/rtl8761a_fw.bin
  63. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt
  64. endif
  65. # Realtek 88xx Bluetooth
  66. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX_BT),y)
  67. LINUX_FIRMWARE_FILES += \
  68. rtl_bt/rtl8812ae_fw.bin rtl_bt/rtl8821a_fw.bin \
  69. rtl_bt/rtl8821c_config.bin rtl_bt/rtl8821c_fw.bin \
  70. rtl_bt/rtl8822b_config.bin rtl_bt/rtl8822b_fw.bin \
  71. rtl_bt/rtl8822cs_config.bin rtl_bt/rtl8822cs_fw.bin \
  72. rtl_bt/rtl8822cu_config.bin rtl_bt/rtl8822cu_fw.bin
  73. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt
  74. endif
  75. # rt2501/rt61
  76. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61),y)
  77. LINUX_FIRMWARE_FILES += rt2561.bin rt2561s.bin rt2661.bin
  78. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink-firmware.txt
  79. endif
  80. # rt73
  81. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73),y)
  82. LINUX_FIRMWARE_FILES += rt73.bin
  83. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink-firmware.txt
  84. endif
  85. # rt2xx
  86. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX),y)
  87. LINUX_FIRMWARE_FILES += rt2860.bin rt2870.bin rt3071.bin
  88. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink-firmware.txt
  89. endif
  90. # rtl81xx
  91. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX),y)
  92. LINUX_FIRMWARE_FILES += \
  93. rtlwifi/rtl8192cfw.bin \
  94. rtlwifi/rtl8192cfwU.bin \
  95. rtlwifi/rtl8192cfwU_B.bin \
  96. rtlwifi/rtl8192cufw.bin \
  97. rtlwifi/rtl8192defw.bin \
  98. rtlwifi/rtl8192sefw.bin \
  99. rtlwifi/rtl8188efw.bin \
  100. rtlwifi/rtl8188eufw.bin \
  101. rtlwifi/rtl8192cufw_A.bin \
  102. rtlwifi/rtl8192cufw_B.bin \
  103. rtlwifi/rtl8192cufw_TMSC.bin \
  104. rtlwifi/rtl8192eu_ap_wowlan.bin \
  105. rtlwifi/rtl8192eu_nic.bin \
  106. rtlwifi/rtl8192eu_wowlan.bin
  107. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt
  108. endif
  109. # rtl87xx
  110. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX),y)
  111. LINUX_FIRMWARE_FILES += \
  112. rtlwifi/rtl8712u.bin \
  113. rtlwifi/rtl8723fw.bin \
  114. rtlwifi/rtl8723fw_B.bin \
  115. rtlwifi/rtl8723befw.bin \
  116. rtlwifi/rtl8723aufw_A.bin \
  117. rtlwifi/rtl8723aufw_B.bin \
  118. rtlwifi/rtl8723aufw_B_NoBT.bin \
  119. rtlwifi/rtl8723befw.bin \
  120. rtlwifi/rtl8723bs_bt.bin \
  121. rtlwifi/rtl8723bu_ap_wowlan.bin \
  122. rtlwifi/rtl8723bu_nic.bin \
  123. rtlwifi/rtl8723bu_wowlan.bin
  124. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt
  125. endif
  126. # rtl88xx
  127. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX),y)
  128. LINUX_FIRMWARE_FILES += \
  129. rtlwifi/rtl8821aefw.bin \
  130. rtlwifi/rtl8821aefw_wowlan.bin \
  131. rtlwifi/rtl8821aefw_29.bin rtlwifi/rtl8822befw.bin
  132. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt
  133. endif
  134. # rtw88
  135. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_RTW88),y)
  136. LINUX_FIRMWARE_FILES += \
  137. rtw88/rtw*.bin
  138. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt
  139. endif
  140. # ar3011
  141. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_AR3011),y)
  142. LINUX_FIRMWARE_FILES += ath3k-1.fw
  143. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  144. endif
  145. # ar3012
  146. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_AR3012_USB),y)
  147. LINUX_FIRMWARE_FILES += \
  148. ar3k/AthrBT_0x01020001.dfu \
  149. ar3k/ramps_0x01020001_26.dfu \
  150. ar3k/AthrBT_0x01020200.dfu \
  151. ar3k/ramps_0x01020200_26.dfu \
  152. ar3k/ramps_0x01020200_40.dfu \
  153. ar3k/AthrBT_0x31010000.dfu \
  154. ar3k/ramps_0x31010000_40.dfu \
  155. ar3k/AthrBT_0x11020000.dfu \
  156. ar3k/ramps_0x11020000_40.dfu \
  157. ar3k/ramps_0x01020201_26.dfu \
  158. ar3k/ramps_0x01020201_40.dfu \
  159. ar3k/AthrBT_0x41020000.dfu \
  160. ar3k/ramps_0x41020000_40.dfu \
  161. ar3k/AthrBT_0x11020100.dfu \
  162. ar3k/ramps_0x11020100_40.dfu \
  163. ar3k/AthrBT_0x31010100.dfu \
  164. ar3k/ramps_0x31010100_40.dfu \
  165. ar3k/AthrBT_0x01020201.dfu
  166. LINUX_FIRMWARE_ALL_LICENSE_FILES += \
  167. LICENCE.atheros_firmware LICENSE.QualcommAtheros_ar3k
  168. endif
  169. # ar6002
  170. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6002),y)
  171. LINUX_FIRMWARE_FILES += ath6k/AR6002
  172. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  173. endif
  174. # ar6003
  175. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6003),y)
  176. LINUX_FIRMWARE_FILES += ath6k/AR6003
  177. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  178. endif
  179. # ar6004
  180. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6004),y)
  181. LINUX_FIRMWARE_FILES += ath6k/AR6004
  182. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  183. endif
  184. # ar7010
  185. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_7010),y)
  186. LINUX_FIRMWARE_FILES += ar7010.fw ar7010_1_1.fw htc_7010.fw ath9k_htc/htc_7010-1.4.0.fw
  187. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  188. endif
  189. # ar9170
  190. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170),y)
  191. LINUX_FIRMWARE_FILES += ar9170-1.fw ar9170-2.fw carl9170-1.fw
  192. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  193. endif
  194. # ar9271
  195. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271),y)
  196. LINUX_FIRMWARE_FILES += ar9271.fw htc_9271.fw ath9k_htc/htc_9271-1.4.0.fw
  197. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  198. endif
  199. # ath10k
  200. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA9377),y)
  201. LINUX_FIRMWARE_FILES += ath10k/QCA9377/hw1.0/board-2.bin \
  202. ath10k/QCA9377/hw1.0/board.bin \
  203. ath10k/QCA9377/hw1.0/firmware-5.bin \
  204. ath10k/QCA9377/hw1.0/firmware-6.bin \
  205. ath10k/QCA9377/hw1.0/firmware-sdio-5.bin
  206. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  207. endif
  208. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA998X),y)
  209. LINUX_FIRMWARE_FILES += ath10k/QCA988X/hw2.0/board.bin \
  210. ath10k/QCA988X/hw2.0/firmware-4.bin \
  211. ath10k/QCA988X/hw2.0/firmware-5.bin
  212. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  213. endif
  214. # sd8686 v8
  215. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V8),y)
  216. LINUX_FIRMWARE_FILES += libertas/sd8686_v8.bin libertas/sd8686_v8_helper.bin
  217. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  218. endif
  219. # sd8686 v9
  220. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V9),y)
  221. LINUX_FIRMWARE_FILES += libertas/sd8686_v9.bin libertas/sd8686_v9_helper.bin
  222. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  223. endif
  224. # sd8688
  225. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8688),y)
  226. LINUX_FIRMWARE_FILES += mrvl/sd8688.bin mrvl/sd8688_helper.bin
  227. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  228. endif
  229. # usb8388 v9
  230. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_USB8388_V9),y)
  231. LINUX_FIRMWARE_FILES += libertas/usb8388_v9.bin
  232. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  233. endif
  234. # usb8388 olpc
  235. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_USB8388_OLPC),y)
  236. LINUX_FIRMWARE_FILES += libertas/usb8388_olpc.bin
  237. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  238. endif
  239. # lbtf usb
  240. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_USB_THINFIRM),y)
  241. LINUX_FIRMWARE_FILES += lbtf_usb.bin
  242. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  243. endif
  244. # sd8787
  245. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8787),y)
  246. LINUX_FIRMWARE_FILES += mrvl/sd8787_uapsta.bin
  247. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  248. endif
  249. # sd8797
  250. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8797),y)
  251. LINUX_FIRMWARE_FILES += mrvl/sd8797_uapsta.bin
  252. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  253. endif
  254. # usb8797
  255. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8797),y)
  256. LINUX_FIRMWARE_FILES += mrvl/usb8797_uapsta.bin
  257. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  258. endif
  259. # usb8801
  260. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8801),y)
  261. LINUX_FIRMWARE_FILES += mrvl/usb8801_uapsta.bin
  262. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  263. endif
  264. # sd8887
  265. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8887),y)
  266. LINUX_FIRMWARE_FILES += mrvl/sd8887_uapsta.bin
  267. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  268. endif
  269. # sd8897
  270. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8897),y)
  271. LINUX_FIRMWARE_FILES += mrvl/sd8897_uapsta.bin
  272. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  273. endif
  274. # usb8897
  275. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8897),y)
  276. LINUX_FIRMWARE_FILES += mrvl/usb8897_uapsta.bin
  277. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  278. endif
  279. # pcie8897
  280. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_PCIE8897),y)
  281. LINUX_FIRMWARE_FILES += mrvl/pcie8897_uapsta.bin
  282. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  283. endif
  284. # pcieuart8997
  285. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_PCIEUART8997),y)
  286. LINUX_FIRMWARE_FILES += mrvl/pcieuart8997_combo_v4.bin
  287. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  288. endif
  289. # pcieusb8997
  290. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_PCIEUSB8997),y)
  291. LINUX_FIRMWARE_FILES += mrvl/pcieusb8997_combo_v4.bin
  292. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  293. endif
  294. # MT7601
  295. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U),y)
  296. LINUX_FIRMWARE_FILES += mt7601u.bin
  297. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink_a_mediatek_company_firmware
  298. endif
  299. # MT7610
  300. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7610E),y)
  301. LINUX_FIRMWARE_FILES += mediatek/mt7610e.bin
  302. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink_a_mediatek_company_firmware
  303. endif
  304. # MT7650
  305. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7650),y)
  306. LINUX_FIRMWARE_FILES += mt7650.bin
  307. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink_a_mediatek_company_firmware
  308. endif
  309. # MT76x2e
  310. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT76X2E),y)
  311. LINUX_FIRMWARE_FILES += mt7662.bin mt7662_rom_patch.bin
  312. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink_a_mediatek_company_firmware
  313. endif
  314. # qca6174
  315. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174),y)
  316. LINUX_FIRMWARE_FILES += ath10k/QCA6174
  317. LINUX_FIRMWARE_ALL_LICENSE_FILES += \
  318. LICENSE.QualcommAtheros_ath10k \
  319. ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt \
  320. ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt \
  321. ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt
  322. endif
  323. # CC2560(A)
  324. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_CC2560),y)
  325. LINUX_FIRMWARE_FILES += \
  326. ti-connectivity/TIInit_6.2.31.bts \
  327. ti-connectivity/TIInit_6.6.15.bts
  328. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity
  329. endif
  330. # wl127x
  331. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X),y)
  332. LINUX_FIRMWARE_FILES += \
  333. ti-connectivity/wl1271-fw-2.bin \
  334. ti-connectivity/wl1271-fw-ap.bin \
  335. ti-connectivity/wl1271-fw.bin \
  336. ti-connectivity/wl127x-fw-3.bin \
  337. ti-connectivity/wl127x-fw-plt-3.bin \
  338. ti-connectivity/wl127x-nvs.bin \
  339. ti-connectivity/wl127x-fw-4-mr.bin \
  340. ti-connectivity/wl127x-fw-4-plt.bin \
  341. ti-connectivity/wl127x-fw-4-sr.bin \
  342. ti-connectivity/wl127x-fw-5-mr.bin \
  343. ti-connectivity/wl127x-fw-5-plt.bin \
  344. ti-connectivity/wl127x-fw-5-sr.bin \
  345. ti-connectivity/TIInit_7.2.31.bts
  346. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity
  347. endif
  348. # wl128x
  349. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X),y)
  350. LINUX_FIRMWARE_FILES += \
  351. ti-connectivity/wl128x-fw-3.bin \
  352. ti-connectivity/wl128x-fw-ap.bin \
  353. ti-connectivity/wl128x-fw-plt-3.bin \
  354. ti-connectivity/wl128x-fw.bin \
  355. ti-connectivity/wl128x-nvs.bin \
  356. ti-connectivity/wl127x-nvs.bin \
  357. ti-connectivity/wl128x-fw-4-mr.bin \
  358. ti-connectivity/wl128x-fw-4-plt.bin \
  359. ti-connectivity/wl128x-fw-4-sr.bin \
  360. ti-connectivity/wl128x-fw-5-mr.bin \
  361. ti-connectivity/wl128x-fw-5-plt.bin \
  362. ti-connectivity/wl128x-fw-5-sr.bin \
  363. ti-connectivity/TIInit_7.2.31.bts
  364. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity
  365. endif
  366. # wl18xx
  367. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX),y)
  368. LINUX_FIRMWARE_FILES += \
  369. ti-connectivity/wl18xx-fw.bin \
  370. ti-connectivity/wl18xx-fw-2.bin \
  371. ti-connectivity/wl18xx-fw-3.bin \
  372. ti-connectivity/wl18xx-fw-4.bin \
  373. ti-connectivity/wl127x-nvs.bin \
  374. ti-connectivity/TIInit_7.2.31.bts
  375. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity
  376. endif
  377. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_WIL6210),y)
  378. LINUX_FIRMWARE_FILES += wil6210.*
  379. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.QualcommAtheros_ath10k
  380. endif
  381. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_22000),y)
  382. LINUX_FIRMWARE_FILES += iwlwifi-QuZ-*.ucode iwlwifi-Qu-*.ucode
  383. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  384. endif
  385. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_22260),y)
  386. LINUX_FIRMWARE_FILES += iwlwifi-cc-a0-*.ucode
  387. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  388. endif
  389. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160),y)
  390. LINUX_FIRMWARE_FILES += iwlwifi-3160-*.ucode
  391. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  392. endif
  393. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3168),y)
  394. LINUX_FIRMWARE_FILES += iwlwifi-3168-*.ucode
  395. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  396. endif
  397. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3945),y)
  398. LINUX_FIRMWARE_FILES += iwlwifi-3945-2.ucode
  399. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  400. endif
  401. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_4965),y)
  402. LINUX_FIRMWARE_FILES += iwlwifi-4965-2.ucode
  403. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  404. endif
  405. # iwlwifi 5000. Multiple files are available (iwlwifi-5000-1.ucode,
  406. # iwlwifi-5000-2.ucode, iwlwifi-5000-5.ucode), corresponding to
  407. # different versions of the firmware API. For now, we only install the
  408. # most recent one.
  409. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_5000),y)
  410. LINUX_FIRMWARE_FILES += iwlwifi-5000-5.ucode
  411. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  412. endif
  413. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2A),y)
  414. LINUX_FIRMWARE_FILES += iwlwifi-6000g2a-6.ucode
  415. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  416. endif
  417. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2B),y)
  418. LINUX_FIRMWARE_FILES += iwlwifi-6000g2b-6.ucode
  419. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  420. endif
  421. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7260),y)
  422. LINUX_FIRMWARE_FILES += iwlwifi-7260-*.ucode
  423. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  424. endif
  425. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7265),y)
  426. LINUX_FIRMWARE_FILES += iwlwifi-7265-*.ucode
  427. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  428. endif
  429. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7265D),y)
  430. LINUX_FIRMWARE_FILES += iwlwifi-7265D-*.ucode
  431. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  432. endif
  433. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8000C),y)
  434. LINUX_FIRMWARE_FILES += iwlwifi-8000C-*.ucode
  435. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  436. endif
  437. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8265),y)
  438. LINUX_FIRMWARE_FILES += iwlwifi-8265-*.ucode
  439. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  440. endif
  441. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_9XXX),y)
  442. LINUX_FIRMWARE_FILES += iwlwifi-9???-*.ucode
  443. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  444. endif
  445. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6E),y)
  446. LINUX_FIRMWARE_FILES += iwlwifi-so-a0-gf-a0*.{ucode,pnvm}
  447. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  448. endif
  449. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BROADCOM_TIGON3),y)
  450. LINUX_FIRMWARE_FILES += tigon/*
  451. # No license file; the license is in the file WHENCE
  452. # which is installed unconditionally
  453. endif
  454. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BNX2X),y)
  455. LINUX_FIRMWARE_FILES += bnx2x/*
  456. # No license file; the license is in the file WHENCE
  457. # which is installed unconditionally
  458. endif
  459. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4),y)
  460. LINUX_FIRMWARE_FILES += cxgb4/t4fw*.bin
  461. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.chelsio_firmware
  462. endif
  463. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T5),y)
  464. LINUX_FIRMWARE_FILES += cxgb4/t5fw*.bin
  465. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.chelsio_firmware
  466. endif
  467. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_INTEL_E100),y)
  468. LINUX_FIRMWARE_FILES += e100/*.bin
  469. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.e100
  470. endif
  471. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_INTEL_ICE),y)
  472. LINUX_FIRMWARE_FILES += intel/ice/ddp/*.pkg
  473. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.ice_enhanced
  474. endif
  475. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MICROCHIP_VSC85XX_PHY),y)
  476. LINUX_FIRMWARE_FILES += microchip/mscc_vsc85*.bin
  477. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.microchip
  478. endif
  479. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QLOGIC_4X),y)
  480. LINUX_FIRMWARE_FILES += \
  481. qed/qed_init_values_zipped-*.bin
  482. # No license file; the license is in the file WHENCE
  483. # which is installed unconditionally
  484. endif
  485. # rtl815x
  486. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_815X),y)
  487. LINUX_FIRMWARE_FILES += \
  488. rtl_nic/rtl8153a-2.fw \
  489. rtl_nic/rtl8153a-3.fw \
  490. rtl_nic/rtl8153a-4.fw \
  491. rtl_nic/rtl8153b-2.fw \
  492. rtl_nic/rtl8153c-1.fw \
  493. rtl_nic/rtl8156a-2.fw \
  494. rtl_nic/rtl8156b-2.fw
  495. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt
  496. endif
  497. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169),y)
  498. LINUX_FIRMWARE_FILES += \
  499. rtl_nic/rtl8105e-1.fw \
  500. rtl_nic/rtl8106e-1.fw \
  501. rtl_nic/rtl8106e-2.fw \
  502. rtl_nic/rtl8107e-1.fw \
  503. rtl_nic/rtl8107e-2.fw \
  504. rtl_nic/rtl8125a-3.fw \
  505. rtl_nic/rtl8168d-1.fw \
  506. rtl_nic/rtl8168d-2.fw \
  507. rtl_nic/rtl8168e-1.fw \
  508. rtl_nic/rtl8168e-2.fw \
  509. rtl_nic/rtl8168e-3.fw \
  510. rtl_nic/rtl8168f-1.fw \
  511. rtl_nic/rtl8168f-2.fw \
  512. rtl_nic/rtl8168fp-3.fw \
  513. rtl_nic/rtl8168g-2.fw \
  514. rtl_nic/rtl8168g-3.fw \
  515. rtl_nic/rtl8168h-1.fw \
  516. rtl_nic/rtl8168h-2.fw \
  517. rtl_nic/rtl8402-1.fw \
  518. rtl_nic/rtl8411-1.fw \
  519. rtl_nic/rtl8411-2.fw
  520. endif
  521. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_XCx000),y)
  522. LINUX_FIRMWARE_FILES += \
  523. dvb-fe-xc4000-1.4.1.fw \
  524. dvb-fe-xc5000-1.6.114.fw \
  525. dvb-fe-xc5000c-4.1.30.7.fw
  526. LINUX_FIRMWARE_ALL_LICENSE_FILES += \
  527. LICENCE.xc4000 \
  528. LICENCE.xc5000 \
  529. LICENCE.xc5000c
  530. endif
  531. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_AS102),y)
  532. LINUX_FIRMWARE_FILES += as102_data1_st.hex as102_data2_st.hex
  533. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Abilis
  534. endif
  535. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_DIB0700),y)
  536. LINUX_FIRMWARE_FILES += dvb-usb-dib0700-1.20.fw
  537. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.dib0700
  538. endif
  539. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ITETECH_IT9135),y)
  540. LINUX_FIRMWARE_FILES += dvb-usb-it9135-01.fw dvb-usb-it9135-02.fw
  541. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.it913x
  542. endif
  543. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_H5_DRXK),y)
  544. LINUX_FIRMWARE_FILES += dvb-usb-terratec-h5-drxk.fw
  545. # No license file; the license is in the file WHENCE
  546. # which is installed unconditionally
  547. endif
  548. # brcm43xx
  549. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX),y)
  550. LINUX_FIRMWARE_FILES += \
  551. brcm/bcm4329-fullmac-4.bin \
  552. brcm/brcmfmac4329-sdio.bin \
  553. brcm/brcmfmac4330-sdio.bin \
  554. brcm/brcmfmac4334-sdio.bin \
  555. brcm/brcmfmac4335-sdio.bin \
  556. brcm/brcmfmac4350c2-pcie.bin \
  557. brcm/brcmfmac4350-pcie.bin \
  558. brcm/brcmfmac4358-pcie.bin \
  559. brcm/brcmfmac4371-pcie.bin \
  560. brcm/brcmfmac4373.bin \
  561. brcm/brcmfmac4330-sdio.Prowise-PT301.txt \
  562. brcm/brcmfmac4356-pcie.gpd-win-pocket.txt \
  563. brcm/brcmfmac4356-sdio.AP6356S.txt
  564. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.broadcom_bcm43xx
  565. endif
  566. # brcm43xxx
  567. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX),y)
  568. LINUX_FIRMWARE_FILES += \
  569. brcm/brcmfmac43143.bin \
  570. brcm/brcmfmac43143-sdio.bin \
  571. brcm/brcmfmac43236b.bin \
  572. brcm/brcmfmac43241b0-sdio.bin \
  573. brcm/brcmfmac43241b4-sdio.bin \
  574. brcm/brcmfmac43241b5-sdio.bin \
  575. brcm/brcmfmac43242a.bin \
  576. brcm/brcmfmac43430a0-sdio.bin \
  577. brcm/brcmfmac43569.bin \
  578. brcm/brcmfmac43602-pcie.ap.bin \
  579. brcm/brcmfmac43602-pcie.bin \
  580. brcm/brcmfmac43340-sdio.meegopad-t08.txt \
  581. brcm/brcmfmac43340-sdio.pov-tab-p1006w-data.txt \
  582. brcm/brcmfmac43340-sdio.predia-basic.txt \
  583. brcm/brcmfmac43362-sdio.cubietech,cubietruck.txt \
  584. brcm/brcmfmac43430a0-sdio.ilife-S806.txt \
  585. brcm/brcmfmac43430a0-sdio.jumper-ezpad-mini3.txt \
  586. brcm/brcmfmac43430-sdio.AP6212.txt \
  587. brcm/brcmfmac43430-sdio.Hampoo-D2D3_Vi8A1.txt \
  588. brcm/brcmfmac43430-sdio.MUR1DX.txt \
  589. brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt \
  590. brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt \
  591. brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
  592. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.broadcom_bcm43xx
  593. endif
  594. # brcm4366b1
  595. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM4366B1),y)
  596. LINUX_FIRMWARE_FILES += brcm/brcmfmac4366b-pcie.bin
  597. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.broadcom_bcm43xx
  598. endif
  599. # brcm4366c0
  600. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM4366C0),y)
  601. LINUX_FIRMWARE_FILES += brcm/brcmfmac4366c-pcie.bin
  602. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.broadcom_bcm43xx
  603. endif
  604. # cyfmac43xx
  605. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CYPRESS_CYW43XX),y)
  606. LINUX_FIRMWARE_FILES += \
  607. cypress/cyfmac4339-sdio.bin \
  608. cypress/cyfmac4354-sdio.bin \
  609. cypress/cyfmac4354-sdio.clm_blob \
  610. cypress/cyfmac4356-pcie.bin \
  611. cypress/cyfmac4356-pcie.clm_blob \
  612. cypress/cyfmac4356-sdio.bin \
  613. cypress/cyfmac4356-sdio.clm_blob \
  614. cypress/cyfmac4373-sdio.bin \
  615. cypress/cyfmac4373-sdio.clm_blob
  616. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.cypress
  617. endif
  618. # cyfmac43xxx
  619. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CYPRESS_CYW43XXX),y)
  620. LINUX_FIRMWARE_FILES += \
  621. cypress/cyfmac43012-sdio.bin \
  622. cypress/cyfmac43012-sdio.clm_blob \
  623. cypress/cyfmac43340-sdio.bin \
  624. cypress/cyfmac43362-sdio.bin \
  625. cypress/cyfmac43430-sdio.bin \
  626. cypress/cyfmac43430-sdio.clm_blob \
  627. cypress/cyfmac43455-sdio.bin \
  628. cypress/cyfmac43455-sdio.clm_blob \
  629. cypress/cyfmac43570-pcie.bin \
  630. cypress/cyfmac43570-pcie.clm_blob
  631. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.cypress
  632. endif
  633. # cyfmac54xxx
  634. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CYPRESS_CYW54XXX),y)
  635. LINUX_FIRMWARE_FILES += \
  636. cypress/cyfmac54591-pcie.bin \
  637. cypress/cyfmac54591-pcie.clm_blob
  638. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.cypress
  639. endif
  640. # ql2xxx
  641. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QLOGIC_2XXX),y)
  642. LINUX_FIRMWARE_FILES += \
  643. ql2100_fw.bin ql2200_fw.bin ql2300_fw.bin ql2322_fw.bin \
  644. ql2400_fw.bin ql2500_fw.bin
  645. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.qla2xxx
  646. endif
  647. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_REDPINE_RS9113),y)
  648. LINUX_FIRMWARE_FILES += \
  649. rsi/rs9113_ap_bt_dual_mode.rps \
  650. rsi/rs9113_wlan_bt_dual_mode.rps \
  651. rsi/rs9113_wlan_qspi.rps
  652. # No license file; the license is in the file WHENCE
  653. # which is installed unconditionally
  654. endif
  655. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QAT_DH895XCC),y)
  656. LINUX_FIRMWARE_FILES += qat_895xcc.bin qat_895xcc_mmp.bin
  657. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.qat_firmware
  658. endif
  659. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QAT_C3XXX),y)
  660. LINUX_FIRMWARE_FILES += qat_c3xxx.bin qat_c3xxx_mmp.bin
  661. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.qat_firmware
  662. endif
  663. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QAT_C62X),y)
  664. LINUX_FIRMWARE_FILES += qat_c62x.bin qat_c62x_mmp.bin
  665. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.qat_firmware
  666. endif
  667. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_USB_SERIAL_TI),y)
  668. LINUX_FIRMWARE_FILES += ti_3410.fw ti_5052.fw \
  669. mts_cdma.fw mts_gsm.fw mts_edge.fw mts_mt9234mu.fw mts_mt9234zba.fw \
  670. moxa/moxa-1110.fw moxa/moxa-1130.fw moxa/moxa-1131.fw \
  671. moxa/moxa-1150.fw moxa/moxa-1151.fw
  672. # Some firmware's license is in the file WHENCE
  673. # which is installed unconditionally
  674. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.moxa
  675. endif
  676. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CX231XX),y)
  677. LINUX_FIRMWARE_FILES += v4l-cx231xx-avcore-01.fw
  678. # No license file; the license is in the file WHENCE
  679. # which is installed unconditionally
  680. endif
  681. ifneq ($(LINUX_FIRMWARE_FILES)$(LINUX_FIRMWARE_DIRS),)
  682. define LINUX_FIRMWARE_BUILD_CMDS
  683. cd $(@D) && \
  684. $(TAR) cf br-firmware.tar $(sort $(LINUX_FIRMWARE_FILES) $(LINUX_FIRMWARE_DIRS))
  685. endef
  686. # Most firmware files are under a proprietary license, so no need to
  687. # repeat it for every selections above. Those firmwares that have more
  688. # lax licensing terms may still add them on a per-case basis.
  689. LINUX_FIRMWARE_LICENSE += Proprietary
  690. # This file contains some licensing information about all the firmware
  691. # files found in the linux-firmware package, so we always add it, even
  692. # for firmwares that have their own licensing terms.
  693. LINUX_FIRMWARE_ALL_LICENSE_FILES += WHENCE
  694. # Some license files may be listed more than once, so we have to remove
  695. # duplicates
  696. LINUX_FIRMWARE_LICENSE_FILES = $(sort $(LINUX_FIRMWARE_ALL_LICENSE_FILES))
  697. # Some firmware are distributed as a symlink, for drivers to load them using a
  698. # defined name other than the real one. Since 9cfefbd7fbda ("Remove duplicate
  699. # symlinks") those symlink aren't distributed in linux-firmware but are created
  700. # automatically by its copy-firmware.sh script during the installation, which
  701. # parses the WHENCE file where symlinks are described. We follow the same logic
  702. # here, adding symlink only for firmwares installed in the target directory.
  703. #
  704. # For testing the presence of firmwares in the target directory we first make
  705. # sure we canonicalize the pointed-to file, to cover the symlinks of the form
  706. # a/foo -> ../b/foo where a/ (the directory where to put the symlink) does
  707. # not yet exist.
  708. define LINUX_FIRMWARE_INSTALL_FW
  709. mkdir -p $(1)
  710. $(TAR) xf $(@D)/br-firmware.tar -C $(1)
  711. cd $(1) ; \
  712. sed -r -e '/^Link: (.+) -> (.+)$$/!d; s//\1 \2/' $(@D)/WHENCE | \
  713. while read f d; do \
  714. if test -f $$(readlink -m $$(dirname "$$f")/$$d); then \
  715. mkdir -p $$(dirname "$$f") || exit 1; \
  716. ln -sf $$d "$$f" || exit 1; \
  717. fi ; \
  718. done
  719. endef
  720. endif # LINUX_FIRMWARE_FILES || LINUX_FIRMWARE_DIRS
  721. define LINUX_FIRMWARE_INSTALL_TARGET_CMDS
  722. $(call LINUX_FIRMWARE_INSTALL_FW, $(TARGET_DIR)/lib/firmware)
  723. endef
  724. define LINUX_FIRMWARE_INSTALL_IMAGES_CMDS
  725. $(call LINUX_FIRMWARE_INSTALL_FW, $(BINARIES_DIR))
  726. endef
  727. $(eval $(generic-package))