linux-firmware.mk 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683
  1. ################################################################################
  2. #
  3. # linux-firmware
  4. #
  5. ################################################################################
  6. LINUX_FIRMWARE_VERSION = 20200122
  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_AMDGPU),y)
  15. LINUX_FIRMWARE_DIRS += amdgpu
  16. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.amdgpu
  17. endif
  18. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_I915),y)
  19. LINUX_FIRMWARE_DIRS += i915
  20. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.i915
  21. endif
  22. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RADEON),y)
  23. LINUX_FIRMWARE_DIRS += radeon
  24. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.radeon
  25. endif
  26. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QCOM_VENUS),y)
  27. LINUX_FIRMWARE_DIRS += qcom/venus-1.8 qcom/venus-4.2
  28. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.qcom qcom/NOTICE.txt
  29. endif
  30. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QCOM_ADRENO),y)
  31. LINUX_FIRMWARE_FILES += qcom/a*
  32. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.qcom qcom/NOTICE.txt
  33. endif
  34. # Intel Wireless Bluetooth
  35. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IBT),y)
  36. LINUX_FIRMWARE_FILES += intel/ibt-*
  37. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ibt_firmware
  38. endif
  39. # Qualcomm Atheros Rome 6174A Bluetooth
  40. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174A_BT),y)
  41. LINUX_FIRMWARE_FILES += qca/rampatch_usb_00000302.bin qca/nvm_usb_00000302.bin
  42. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.qcom
  43. endif
  44. # Freescale i.MX SDMA
  45. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IMX_SDMA),y)
  46. LINUX_FIRMWARE_FILES += imx/sdma/sdma-imx6q.bin imx/sdma/sdma-imx7d.bin
  47. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.sdma_firmware
  48. endif
  49. # rt2501/rt61
  50. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61),y)
  51. LINUX_FIRMWARE_FILES += rt2561.bin rt2561s.bin rt2661.bin
  52. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink-firmware.txt
  53. endif
  54. # rt73
  55. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73),y)
  56. LINUX_FIRMWARE_FILES += rt73.bin
  57. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink-firmware.txt
  58. endif
  59. # rt2xx
  60. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX),y)
  61. LINUX_FIRMWARE_FILES += rt2860.bin rt2870.bin rt3071.bin
  62. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink-firmware.txt
  63. endif
  64. # rtl81xx
  65. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX),y)
  66. LINUX_FIRMWARE_FILES += \
  67. rtlwifi/rtl8192cfw.bin rtlwifi/rtl8192cfwU.bin \
  68. rtlwifi/rtl8192cfwU_B.bin rtlwifi/rtl8192cufw.bin \
  69. rtlwifi/rtl8192defw.bin rtlwifi/rtl8192sefw.bin \
  70. rtlwifi/rtl8188efw.bin rtlwifi/rtl8188eufw.bin \
  71. rtlwifi/rtl8192cufw_A.bin \
  72. rtlwifi/rtl8192cufw_B.bin rtlwifi/rtl8192cufw_TMSC.bin \
  73. rtlwifi/rtl8192eefw.bin rtlwifi/rtl8192eu_ap_wowlan.bin \
  74. rtlwifi/rtl8192eu_nic.bin rtlwifi/rtl8192eu_wowlan.bin
  75. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt
  76. endif
  77. # rtl87xx
  78. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX),y)
  79. LINUX_FIRMWARE_FILES += \
  80. rtlwifi/rtl8712u.bin rtlwifi/rtl8723fw.bin \
  81. rtlwifi/rtl8723fw_B.bin rtlwifi/rtl8723befw.bin \
  82. rtlwifi/rtl8723aufw_A.bin rtlwifi/rtl8723aufw_B.bin \
  83. rtlwifi/rtl8723aufw_B_NoBT.bin rtlwifi/rtl8723befw.bin \
  84. rtlwifi/rtl8723bs_ap_wowlan.bin rtlwifi/rtl8723bs_bt.bin \
  85. rtlwifi/rtl8723bs_nic.bin rtlwifi/rtl8723bs_wowlan.bin \
  86. rtlwifi/rtl8723bu_ap_wowlan.bin rtlwifi/rtl8723bu_nic.bin \
  87. rtlwifi/rtl8723bu_wowlan.bin
  88. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt
  89. endif
  90. # rtl88xx
  91. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX),y)
  92. LINUX_FIRMWARE_FILES += \
  93. rtlwifi/rtl8821aefw.bin \
  94. rtlwifi/rtl8821aefw_wowlan.bin \
  95. rtlwifi/rtl8821aefw_29.bin rtlwifi/rtl8822befw.bin
  96. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt
  97. endif
  98. # rtw88
  99. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_RTW88),y)
  100. LINUX_FIRMWARE_FILES += \
  101. rtw88/rtw8723d_fw.bin \
  102. rtw88/rtw8822b_fw.bin \
  103. rtw88/rtw8822c_fw.bin
  104. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt
  105. endif
  106. # ar3011
  107. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_AR3011),y)
  108. LINUX_FIRMWARE_FILES += ath3k-1.fw
  109. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  110. endif
  111. # ar3012
  112. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_AR3012_USB),y)
  113. LINUX_FIRMWARE_FILES += \
  114. ar3k/AthrBT_0x01020001.dfu \
  115. ar3k/ramps_0x01020001_26.dfu \
  116. ar3k/AthrBT_0x01020200.dfu \
  117. ar3k/ramps_0x01020200_26.dfu \
  118. ar3k/ramps_0x01020200_40.dfu \
  119. ar3k/AthrBT_0x31010000.dfu \
  120. ar3k/ramps_0x31010000_40.dfu \
  121. ar3k/AthrBT_0x11020000.dfu \
  122. ar3k/ramps_0x11020000_40.dfu \
  123. ar3k/ramps_0x01020201_26.dfu \
  124. ar3k/ramps_0x01020201_40.dfu \
  125. ar3k/AthrBT_0x41020000.dfu \
  126. ar3k/ramps_0x41020000_40.dfu \
  127. ar3k/AthrBT_0x11020100.dfu \
  128. ar3k/ramps_0x11020100_40.dfu \
  129. ar3k/AthrBT_0x31010100.dfu \
  130. ar3k/ramps_0x31010100_40.dfu \
  131. ar3k/AthrBT_0x01020201.dfu
  132. LINUX_FIRMWARE_ALL_LICENSE_FILES += \
  133. LICENCE.atheros_firmware LICENSE.QualcommAtheros_ar3k
  134. endif
  135. # ar6002
  136. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6002),y)
  137. LINUX_FIRMWARE_FILES += ath6k/AR6002
  138. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  139. endif
  140. # ar6003
  141. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6003),y)
  142. LINUX_FIRMWARE_FILES += ath6k/AR6003
  143. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  144. endif
  145. # ar6004
  146. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6004),y)
  147. LINUX_FIRMWARE_FILES += ath6k/AR6004
  148. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  149. endif
  150. # ar7010
  151. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_7010),y)
  152. LINUX_FIRMWARE_FILES += ar7010.fw ar7010_1_1.fw htc_7010.fw ath9k_htc/htc_7010-1.4.0.fw
  153. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  154. endif
  155. # ar9170
  156. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170),y)
  157. LINUX_FIRMWARE_FILES += ar9170-1.fw ar9170-2.fw carl9170-1.fw
  158. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  159. endif
  160. # ar9271
  161. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271),y)
  162. LINUX_FIRMWARE_FILES += ar9271.fw htc_9271.fw ath9k_htc/htc_9271-1.4.0.fw
  163. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  164. endif
  165. # ath10k
  166. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA9377),y)
  167. LINUX_FIRMWARE_FILES += ath10k/QCA9377/hw1.0/board-2.bin \
  168. ath10k/QCA9377/hw1.0/board.bin \
  169. ath10k/QCA9377/hw1.0/firmware-5.bin \
  170. ath10k/QCA9377/hw1.0/firmware-6.bin
  171. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  172. endif
  173. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_10K_QCA998X),y)
  174. LINUX_FIRMWARE_FILES += ath10k/QCA988X/hw2.0/board.bin \
  175. ath10k/QCA988X/hw2.0/firmware-4.bin \
  176. ath10k/QCA988X/hw2.0/firmware-5.bin
  177. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
  178. endif
  179. # sd8686 v8
  180. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V8),y)
  181. LINUX_FIRMWARE_FILES += libertas/sd8686_v8.bin libertas/sd8686_v8_helper.bin
  182. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  183. endif
  184. # sd8686 v9
  185. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V9),y)
  186. LINUX_FIRMWARE_FILES += libertas/sd8686_v9.bin libertas/sd8686_v9_helper.bin
  187. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  188. endif
  189. # sd8688
  190. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8688),y)
  191. LINUX_FIRMWARE_FILES += mrvl/sd8688.bin mrvl/sd8688_helper.bin
  192. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  193. endif
  194. # usb8388 v9
  195. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_USB8388_V9),y)
  196. LINUX_FIRMWARE_FILES += libertas/usb8388_v9.bin
  197. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  198. endif
  199. # usb8388 olpc
  200. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_USB8388_OLPC),y)
  201. LINUX_FIRMWARE_FILES += libertas/usb8388_olpc.bin
  202. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  203. endif
  204. # lbtf usb
  205. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_USB_THINFIRM),y)
  206. LINUX_FIRMWARE_FILES += lbtf_usb.bin
  207. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  208. endif
  209. # sd8787
  210. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8787),y)
  211. LINUX_FIRMWARE_FILES += mrvl/sd8787_uapsta.bin
  212. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  213. endif
  214. # sd8797
  215. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8797),y)
  216. LINUX_FIRMWARE_FILES += mrvl/sd8797_uapsta.bin
  217. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  218. endif
  219. # usb8797
  220. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8797),y)
  221. LINUX_FIRMWARE_FILES += mrvl/usb8797_uapsta.bin
  222. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  223. endif
  224. # usb8801
  225. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8801),y)
  226. LINUX_FIRMWARE_FILES += mrvl/usb8801_uapsta.bin
  227. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  228. endif
  229. # sd8887
  230. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8887),y)
  231. LINUX_FIRMWARE_FILES += mrvl/sd8887_uapsta.bin
  232. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  233. endif
  234. # sd8897
  235. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8897),y)
  236. LINUX_FIRMWARE_FILES += mrvl/sd8897_uapsta.bin
  237. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  238. endif
  239. # usb8897
  240. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8897),y)
  241. LINUX_FIRMWARE_FILES += mrvl/usb8897_uapsta.bin
  242. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  243. endif
  244. # pcie8897
  245. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_PCIE8897),y)
  246. LINUX_FIRMWARE_FILES += mrvl/pcie8897_uapsta.bin
  247. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
  248. endif
  249. # MT7601
  250. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7601U),y)
  251. LINUX_FIRMWARE_FILES += mt7601u.bin
  252. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink_a_mediatek_company_firmware
  253. endif
  254. # MT7610
  255. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7610E),y)
  256. LINUX_FIRMWARE_FILES += mediatek/mt7610e.bin
  257. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink_a_mediatek_company_firmware
  258. endif
  259. # MT7650
  260. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT7650),y)
  261. LINUX_FIRMWARE_FILES += mt7650.bin
  262. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink_a_mediatek_company_firmware
  263. endif
  264. # MT76x2e
  265. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MEDIATEK_MT76X2E),y)
  266. LINUX_FIRMWARE_FILES += mt7662.bin mt7662_rom_patch.bin
  267. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink_a_mediatek_company_firmware
  268. endif
  269. # qca6174
  270. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_6174),y)
  271. LINUX_FIRMWARE_FILES += ath10k/QCA6174
  272. LINUX_FIRMWARE_ALL_LICENSE_FILES += \
  273. LICENSE.QualcommAtheros_ath10k \
  274. ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt \
  275. ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt \
  276. ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt
  277. endif
  278. # CC2560(A)
  279. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_CC2560),y)
  280. LINUX_FIRMWARE_FILES += \
  281. ti-connectivity/TIInit_6.2.31.bts \
  282. ti-connectivity/TIInit_6.6.15.bts
  283. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity
  284. endif
  285. # wl127x
  286. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X),y)
  287. LINUX_FIRMWARE_FILES += \
  288. ti-connectivity/wl1271-fw-2.bin \
  289. ti-connectivity/wl1271-fw-ap.bin \
  290. ti-connectivity/wl1271-fw.bin \
  291. ti-connectivity/wl127x-fw-3.bin \
  292. ti-connectivity/wl127x-fw-plt-3.bin \
  293. ti-connectivity/wl127x-nvs.bin \
  294. ti-connectivity/wl127x-fw-4-mr.bin \
  295. ti-connectivity/wl127x-fw-4-plt.bin \
  296. ti-connectivity/wl127x-fw-4-sr.bin \
  297. ti-connectivity/wl127x-fw-5-mr.bin \
  298. ti-connectivity/wl127x-fw-5-plt.bin \
  299. ti-connectivity/wl127x-fw-5-sr.bin \
  300. ti-connectivity/TIInit_7.2.31.bts
  301. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity
  302. endif
  303. # wl128x
  304. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X),y)
  305. LINUX_FIRMWARE_FILES += \
  306. ti-connectivity/wl128x-fw-3.bin \
  307. ti-connectivity/wl128x-fw-ap.bin \
  308. ti-connectivity/wl128x-fw-plt-3.bin \
  309. ti-connectivity/wl128x-fw.bin \
  310. ti-connectivity/wl128x-nvs.bin \
  311. ti-connectivity/wl127x-nvs.bin \
  312. ti-connectivity/wl128x-fw-4-mr.bin \
  313. ti-connectivity/wl128x-fw-4-plt.bin \
  314. ti-connectivity/wl128x-fw-4-sr.bin \
  315. ti-connectivity/wl128x-fw-5-mr.bin \
  316. ti-connectivity/wl128x-fw-5-plt.bin \
  317. ti-connectivity/wl128x-fw-5-sr.bin \
  318. ti-connectivity/TIInit_7.2.31.bts
  319. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity
  320. endif
  321. # wl18xx
  322. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX),y)
  323. LINUX_FIRMWARE_FILES += \
  324. ti-connectivity/wl18xx-fw.bin \
  325. ti-connectivity/wl18xx-fw-2.bin \
  326. ti-connectivity/wl18xx-fw-3.bin \
  327. ti-connectivity/wl18xx-fw-4.bin \
  328. ti-connectivity/wl127x-nvs.bin \
  329. ti-connectivity/TIInit_7.2.31.bts
  330. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity
  331. endif
  332. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QUALCOMM_WIL6210),y)
  333. LINUX_FIRMWARE_FILES += wil6210.*
  334. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.QualcommAtheros_ath10k
  335. endif
  336. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_22260),y)
  337. LINUX_FIRMWARE_FILES += iwlwifi-cc-a0-*.ucode
  338. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  339. endif
  340. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160),y)
  341. LINUX_FIRMWARE_FILES += iwlwifi-3160-*.ucode
  342. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  343. endif
  344. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3168),y)
  345. LINUX_FIRMWARE_FILES += iwlwifi-3168-*.ucode
  346. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  347. endif
  348. # iwlwifi 5000. Multiple files are available (iwlwifi-5000-1.ucode,
  349. # iwlwifi-5000-2.ucode, iwlwifi-5000-5.ucode), corresponding to
  350. # different versions of the firmware API. For now, we only install the
  351. # most recent one.
  352. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_5000),y)
  353. LINUX_FIRMWARE_FILES += iwlwifi-5000-5.ucode
  354. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  355. endif
  356. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2A),y)
  357. LINUX_FIRMWARE_FILES += iwlwifi-6000g2a-6.ucode
  358. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  359. endif
  360. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2B),y)
  361. LINUX_FIRMWARE_FILES += iwlwifi-6000g2b-6.ucode
  362. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  363. endif
  364. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7260),y)
  365. LINUX_FIRMWARE_FILES += iwlwifi-7260-*.ucode
  366. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  367. endif
  368. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7265),y)
  369. LINUX_FIRMWARE_FILES += iwlwifi-7265-*.ucode
  370. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  371. endif
  372. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7265D),y)
  373. LINUX_FIRMWARE_FILES += iwlwifi-7265D-*.ucode
  374. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  375. endif
  376. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8000C),y)
  377. LINUX_FIRMWARE_FILES += iwlwifi-8000C-*.ucode
  378. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  379. endif
  380. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_8265),y)
  381. LINUX_FIRMWARE_FILES += iwlwifi-8265-*.ucode
  382. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  383. endif
  384. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_9XXX),y)
  385. LINUX_FIRMWARE_FILES += iwlwifi-9???-*.ucode
  386. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
  387. endif
  388. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BNX2X),y)
  389. LINUX_FIRMWARE_FILES += bnx2x/*
  390. # No license file; the license is in the file WHENCE
  391. # which is installed unconditionally
  392. endif
  393. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4),y)
  394. LINUX_FIRMWARE_FILES += cxgb4/t4fw*.bin
  395. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.chelsio_firmware
  396. endif
  397. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T5),y)
  398. LINUX_FIRMWARE_FILES += cxgb4/t5fw*.bin
  399. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.chelsio_firmware
  400. endif
  401. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_INTEL_E100),y)
  402. LINUX_FIRMWARE_FILES += e100/*.bin
  403. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.e100
  404. endif
  405. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MICROCHIP_VSC85XX_PHY),y)
  406. LINUX_FIRMWARE_FILES += microchip/mscc_vsc85*.bin
  407. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.microchip
  408. endif
  409. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QLOGIC_4X),y)
  410. LINUX_FIRMWARE_FILES += \
  411. qed/qed_init_values_zipped-*.bin
  412. # No license file; the license is in the file WHENCE
  413. # which is installed unconditionally
  414. endif
  415. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169),y)
  416. LINUX_FIRMWARE_FILES += \
  417. rtl_nic/rtl8105e-1.fw \
  418. rtl_nic/rtl8106e-1.fw \
  419. rtl_nic/rtl8106e-2.fw \
  420. rtl_nic/rtl8107e-1.fw \
  421. rtl_nic/rtl8107e-2.fw \
  422. rtl_nic/rtl8125a-3.fw \
  423. rtl_nic/rtl8168d-1.fw \
  424. rtl_nic/rtl8168d-2.fw \
  425. rtl_nic/rtl8168e-1.fw \
  426. rtl_nic/rtl8168e-2.fw \
  427. rtl_nic/rtl8168e-3.fw \
  428. rtl_nic/rtl8168f-1.fw \
  429. rtl_nic/rtl8168f-2.fw \
  430. rtl_nic/rtl8168fp-3.fw \
  431. rtl_nic/rtl8168g-2.fw \
  432. rtl_nic/rtl8168g-3.fw \
  433. rtl_nic/rtl8168h-1.fw \
  434. rtl_nic/rtl8168h-2.fw \
  435. rtl_nic/rtl8402-1.fw \
  436. rtl_nic/rtl8411-1.fw \
  437. rtl_nic/rtl8411-2.fw
  438. endif
  439. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_XCx000),y)
  440. LINUX_FIRMWARE_FILES += \
  441. dvb-fe-xc4000-1.4.1.fw \
  442. dvb-fe-xc5000-1.6.114.fw \
  443. dvb-fe-xc5000c-4.1.30.7.fw
  444. LINUX_FIRMWARE_ALL_LICENSE_FILES += \
  445. LICENCE.xc4000 \
  446. LICENCE.xc5000 \
  447. LICENCE.xc5000c
  448. endif
  449. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_AS102),y)
  450. LINUX_FIRMWARE_FILES += as102_data1_st.hex as102_data2_st.hex
  451. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Abilis
  452. endif
  453. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_DIB0700),y)
  454. LINUX_FIRMWARE_FILES += dvb-usb-dib0700-1.20.fw
  455. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.dib0700
  456. endif
  457. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ITETECH_IT9135),y)
  458. LINUX_FIRMWARE_FILES += dvb-usb-it9135-01.fw dvb-usb-it9135-02.fw
  459. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.it913x
  460. endif
  461. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_H5_DRXK),y)
  462. LINUX_FIRMWARE_FILES += dvb-usb-terratec-h5-drxk.fw
  463. # No license file; the license is in the file WHENCE
  464. # which is installed unconditionally
  465. endif
  466. # brcm43xx
  467. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX),y)
  468. LINUX_FIRMWARE_FILES += \
  469. brcm/bcm43xx-0.fw brcm/bcm43xx_hdr-0.fw \
  470. brcm/bcm4329-fullmac-4.bin brcm/brcmfmac4329-sdio.bin \
  471. brcm/brcmfmac4330-sdio.bin brcm/brcmfmac4334-sdio.bin \
  472. brcm/brcmfmac4335-sdio.bin brcm/brcmfmac4339-sdio.bin \
  473. brcm/brcmfmac4350-pcie.bin brcm/brcmfmac4354-sdio.bin \
  474. brcm/brcmfmac4356-pcie.bin brcm/brcmfmac4371-pcie.bin
  475. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.broadcom_bcm43xx
  476. endif
  477. # brcm43xxx
  478. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX),y)
  479. LINUX_FIRMWARE_FILES += \
  480. brcm/brcmfmac43143.bin brcm/brcmfmac43143-sdio.bin \
  481. brcm/brcmfmac43236b.bin brcm/brcmfmac43241b0-sdio.bin \
  482. brcm/brcmfmac43241b4-sdio.bin brcm/brcmfmac43241b5-sdio.bin \
  483. brcm/brcmfmac43242a.bin brcm/brcmfmac43340-sdio.bin \
  484. brcm/brcmfmac43362-sdio.bin brcm/brcmfmac43430-sdio.bin \
  485. brcm/brcmfmac43430a0-sdio.bin brcm/brcmfmac43455-sdio.bin \
  486. brcm/brcmfmac43569.bin brcm/brcmfmac43570-pcie.bin \
  487. brcm/brcmfmac43602-pcie.ap.bin brcm/brcmfmac43602-pcie.bin \
  488. brcm/brcmfmac43430-sdio.raspberrypi,3-model-b.txt \
  489. brcm/brcmfmac43455-sdio.raspberrypi,3-model-b-plus.txt \
  490. brcm/brcmfmac43455-sdio.raspberrypi,4-model-b.txt
  491. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.broadcom_bcm43xx
  492. endif
  493. # brcm4366b1
  494. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM4366B1),y)
  495. LINUX_FIRMWARE_FILES += \
  496. brcm/brcmfmac4366b-pcie.bin brcm/brcmfmac4366b-pcie.bin
  497. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.broadcom_bcm43xx
  498. endif
  499. # brcm4366c0
  500. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM4366C0),y)
  501. LINUX_FIRMWARE_FILES += \
  502. brcm/brcmfmac4366c-pcie.bin brcm/brcmfmac4366c-pcie.bin
  503. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.broadcom_bcm43xx
  504. endif
  505. # ql2xxx
  506. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QLOGIC_2XXX),y)
  507. LINUX_FIRMWARE_FILES += \
  508. ql2100_fw.bin ql2200_fw.bin ql2300_fw.bin ql2322_fw.bin \
  509. ql2400_fw.bin ql2500_fw.bin
  510. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.qla2xxx
  511. endif
  512. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_REDPINE_RS9113),y)
  513. LINUX_FIRMWARE_FILES += \
  514. rsi/rs9113_ap_bt_dual_mode.rps \
  515. rsi/rs9113_wlan_bt_dual_mode.rps \
  516. rsi/rs9113_wlan_qspi.rps
  517. # No license file; the license is in the file WHENCE
  518. # which is installed unconditionally
  519. endif
  520. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QAT_DH895XCC),y)
  521. LINUX_FIRMWARE_FILES += qat_895xcc.bin qat_895xcc_mmp.bin
  522. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.qat_firmware
  523. endif
  524. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QAT_C3XXX),y)
  525. LINUX_FIRMWARE_FILES += qat_c3xxx.bin qat_c3xxx_mmp.bin
  526. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.qat_firmware
  527. endif
  528. ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_QAT_C62X),y)
  529. LINUX_FIRMWARE_FILES += qat_c62x.bin qat_c62x_mmp.bin
  530. LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.qat_firmware
  531. endif
  532. ifneq ($(LINUX_FIRMWARE_FILES),)
  533. define LINUX_FIRMWARE_INSTALL_FILES
  534. cd $(@D) && \
  535. $(TAR) cf install.tar $(sort $(LINUX_FIRMWARE_FILES)) && \
  536. $(TAR) xf install.tar -C $(TARGET_DIR)/lib/firmware
  537. endef
  538. endif
  539. ifneq ($(LINUX_FIRMWARE_DIRS),)
  540. # We need to rm-rf the destination directory to avoid copying
  541. # into it in itself, should we re-install the package.
  542. define LINUX_FIRMWARE_INSTALL_DIRS
  543. $(foreach d,$(LINUX_FIRMWARE_DIRS), \
  544. rm -rf $(TARGET_DIR)/lib/firmware/$(d); \
  545. mkdir -p $(dir $(TARGET_DIR)/lib/firmware/$(d)); \
  546. cp -a $(@D)/$(d) $(TARGET_DIR)/lib/firmware/$(d)$(sep))
  547. endef
  548. endif
  549. ifneq ($(LINUX_FIRMWARE_FILES)$(LINUX_FIRMWARE_DIRS),)
  550. # Most firmware files are under a proprietary license, so no need to
  551. # repeat it for every selections above. Those firmwares that have more
  552. # lax licensing terms may still add them on a per-case basis.
  553. LINUX_FIRMWARE_LICENSE += Proprietary
  554. # This file contains some licensing information about all the firmware
  555. # files found in the linux-firmware package, so we always add it, even
  556. # for firmwares that have their own licensing terms.
  557. LINUX_FIRMWARE_ALL_LICENSE_FILES += WHENCE
  558. # Some license files may be listed more than once, so we have to remove
  559. # duplicates
  560. LINUX_FIRMWARE_LICENSE_FILES = $(sort $(LINUX_FIRMWARE_ALL_LICENSE_FILES))
  561. endif
  562. # Some firmware are distributed as a symlink, for drivers to load them using a
  563. # defined name other than the real one. Since 9cfefbd7fbda ("Remove duplicate
  564. # symlinks") those symlink aren't distributed in linux-firmware but are created
  565. # automatically by its copy-firmware.sh script during the installation, which
  566. # parses the WHENCE file where symlinks are described. We follow the same logic
  567. # here, adding symlink only for firmwares installed in the target directory.
  568. #
  569. # For testing the presence of firmwares in the target directory we first make
  570. # sure we canonicalize the pointed-to file, to cover the symlinks of the form
  571. # a/foo -> ../b/foo where a/ (the directory where to put the symlink) does
  572. # not yet exist.
  573. define LINUX_FIRMWARE_CREATE_SYMLINKS
  574. cd $(TARGET_DIR)/lib/firmware/ ; \
  575. sed -r -e '/^Link: (.+) -> (.+)$$/!d; s//\1 \2/' $(@D)/WHENCE | \
  576. while read f d; do \
  577. if test -f $$(readlink -m $$(dirname $$f)/$$d); then \
  578. mkdir -p $$(dirname $$f) || exit 1; \
  579. ln -sf $$d $$f || exit 1; \
  580. fi ; \
  581. done
  582. endef
  583. define LINUX_FIRMWARE_INSTALL_TARGET_CMDS
  584. mkdir -p $(TARGET_DIR)/lib/firmware
  585. $(LINUX_FIRMWARE_INSTALL_FILES)
  586. $(LINUX_FIRMWARE_INSTALL_DIRS)
  587. $(LINUX_FIRMWARE_CREATE_SYMLINKS)
  588. endef
  589. $(eval $(generic-package))