linux-firmware.mk 31 KB

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