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