package/dhcp/S80dhcp-server: allow empty INTERFACES
[buildroot-gz.git] / package / linux-firmware / linux-firmware.mk
blob083a381ea00a505d1397d9f25b18e3e475e27ae4
1 ################################################################################
3 # linux-firmware
5 ################################################################################
7 LINUX_FIRMWARE_VERSION = bbe4917c054eb0a73e250c6363341e3bf6725839
8 LINUX_FIRMWARE_SITE = http://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
9 LINUX_FIRMWARE_SITE_METHOD = git
11 # Intel SST DSP
12 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_INTEL_SST_DSP),y)
13 LINUX_FIRMWARE_FILES += intel/fw_sst_0f28.bin-48kHz_i2s_master
14 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.fw_sst_0f28
15 endif
17 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RADEON),y)
18 LINUX_FIRMWARE_DIRS += radeon
19 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.radeon
20 endif
22 # rt2501/rt61
23 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61),y)
24 LINUX_FIRMWARE_FILES += rt2561.bin rt2561s.bin rt2661.bin
25 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink-firmware.txt
26 endif
28 # rt73
29 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73),y)
30 LINUX_FIRMWARE_FILES += rt73.bin
31 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink-firmware.txt
32 endif
34 # rt2xx
35 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX),y)
36 # rt3090.bin is a symlink to rt2860.bin
37 # rt3070.bin is a symlink to rt2870.bin
38 LINUX_FIRMWARE_FILES += rt2860.bin rt2870.bin rt3070.bin rt3071.bin rt3090.bin
39 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink-firmware.txt
40 endif
42 # rtl81xx
43 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX),y)
44 LINUX_FIRMWARE_FILES += \
45 rtlwifi/rtl8192cfw.bin rtlwifi/rtl8192cfwU.bin \
46 rtlwifi/rtl8192cfwU_B.bin rtlwifi/rtl8192cufw.bin \
47 rtlwifi/rtl8192defw.bin rtlwifi/rtl8192sefw.bin \
48 rtlwifi/rtl8188efw.bin rtlwifi/rtl8188eufw.bin \
49 rtlwifi/rtl8192cufw_A.bin \
50 rtlwifi/rtl8192cufw_B.bin rtlwifi/rtl8192cufw_TMSC.bin
51 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt
52 endif
54 # rtl87xx
55 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX),y)
56 LINUX_FIRMWARE_FILES += \
57 rtlwifi/rtl8712u.bin rtlwifi/rtl8723fw.bin \
58 rtlwifi/rtl8723fw_B.bin rtlwifi/rtl8723befw.bin
59 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt
60 endif
62 # rtl88xx
63 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX),y)
64 LINUX_FIRMWARE_FILES += \
65 rtlwifi/rtl8821aefw.bin \
66 rtlwifi/rtl8821aefw_wowlan.bin
67 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt
68 endif
70 # ar6002
71 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6002),y)
72 LINUX_FIRMWARE_FILES += ath6k/AR6002
73 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
74 endif
76 # ar6003
77 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6003),y)
78 LINUX_FIRMWARE_FILES += ath6k/AR6003
79 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
80 endif
82 # ar6004
83 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6004),y)
84 LINUX_FIRMWARE_FILES += ath6k/AR6004
85 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
86 endif
88 # ar7010
89 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_7010),y)
90 LINUX_FIRMWARE_FILES += ar7010.fw ar7010_1_1.fw htc_7010.fw
91 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
92 endif
94 # ar9170
95 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170),y)
96 LINUX_FIRMWARE_FILES += ar9170-1.fw ar9170-2.fw
97 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
98 endif
100 # ar9271
101 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271),y)
102 LINUX_FIRMWARE_FILES += ar9271.fw htc_9271.fw
103 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
104 endif
106 # sd8686 v8
107 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V8),y)
108 LINUX_FIRMWARE_FILES += libertas/sd8686_v8.bin libertas/sd8686_v8_helper.bin
109 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
110 endif
112 # sd8686 v9
113 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V9),y)
114 LINUX_FIRMWARE_FILES += libertas/sd8686_v9.bin libertas/sd8686_v9_helper.bin
115 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
116 endif
118 # sd8688
119 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8688),y)
120 LINUX_FIRMWARE_FILES += libertas/sd8688.bin libertas/sd8688_helper.bin
121 # The two files above are but symlinks to those two ones:
122 LINUX_FIRMWARE_FILES += mrvl/sd8688.bin mrvl/sd8688_helper.bin
123 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
124 endif
126 # sd8787
127 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8787),y)
128 LINUX_FIRMWARE_FILES += mrvl/sd8787_uapsta.bin
129 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
130 endif
132 # sd8797
133 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8797),y)
134 LINUX_FIRMWARE_FILES += mrvl/sd8797_uapsta.bin
135 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
136 endif
138 # usb8797
139 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8797),y)
140 LINUX_FIRMWARE_FILES += mrvl/usb8797_uapsta.bin
141 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
142 endif
144 # sd8887
145 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8887),y)
146 LINUX_FIRMWARE_FILES += mrvl/sd8887_uapsta.bin
147 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
148 endif
150 # sd8897
151 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8897),y)
152 LINUX_FIRMWARE_FILES += mrvl/sd8897_uapsta.bin
153 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
154 endif
156 # usb8897
157 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_USB8897),y)
158 LINUX_FIRMWARE_FILES += mrvl/usb8897_uapsta.bin
159 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
160 endif
162 # pcie8897
163 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_PCIE8897),y)
164 LINUX_FIRMWARE_FILES += mrvl/pcie8897_uapsta.bin
165 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
166 endif
168 # wl127x
169 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X),y)
170 # wl1271-nvs.bin is a symlink to wl127x-nvs.bin
171 LINUX_FIRMWARE_FILES += \
172 ti-connectivity/wl1271-fw-2.bin \
173 ti-connectivity/wl1271-fw-ap.bin \
174 ti-connectivity/wl1271-fw.bin \
175 ti-connectivity/wl1271-nvs.bin \
176 ti-connectivity/wl127x-fw-3.bin \
177 ti-connectivity/wl127x-fw-plt-3.bin \
178 ti-connectivity/wl127x-nvs.bin \
179 ti-connectivity/wl127x-fw-4-mr.bin \
180 ti-connectivity/wl127x-fw-4-plt.bin \
181 ti-connectivity/wl127x-fw-4-sr.bin \
182 ti-connectivity/wl127x-fw-5-mr.bin \
183 ti-connectivity/wl127x-fw-5-plt.bin \
184 ti-connectivity/wl127x-fw-5-sr.bin \
185 ti-connectivity/TIInit_7.2.31.bts
186 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity
187 endif
189 # wl128x
190 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X),y)
191 # wl1271-nvs.bin and wl12xx-nvs.bin are symlinks to wl127x-nvs.bin
192 LINUX_FIRMWARE_FILES += \
193 ti-connectivity/wl128x-fw-3.bin \
194 ti-connectivity/wl128x-fw-ap.bin \
195 ti-connectivity/wl128x-fw-plt-3.bin \
196 ti-connectivity/wl128x-fw.bin \
197 ti-connectivity/wl1271-nvs.bin \
198 ti-connectivity/wl128x-nvs.bin \
199 ti-connectivity/wl12xx-nvs.bin \
200 ti-connectivity/wl127x-nvs.bin \
201 ti-connectivity/wl128x-fw-4-mr.bin \
202 ti-connectivity/wl128x-fw-4-plt.bin \
203 ti-connectivity/wl128x-fw-4-sr.bin \
204 ti-connectivity/wl128x-fw-5-mr.bin \
205 ti-connectivity/wl128x-fw-5-plt.bin \
206 ti-connectivity/wl128x-fw-5-sr.bin \
207 ti-connectivity/TIInit_7.2.31.bts
208 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity
209 endif
211 # wl18xx
212 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX),y)
213 # wl1271-nvs.bin is a symlink to wl127x-nvs.bin
214 LINUX_FIRMWARE_FILES += \
215 ti-connectivity/wl18xx-fw.bin \
216 ti-connectivity/wl18xx-fw-2.bin \
217 ti-connectivity/wl18xx-fw-3.bin \
218 ti-connectivity/wl18xx-fw-4.bin \
219 ti-connectivity/wl1271-nvs.bin \
220 ti-connectivity/wl127x-nvs.bin \
221 ti-connectivity/TIInit_7.2.31.bts
222 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity
223 endif
225 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160),y)
226 LINUX_FIRMWARE_FILES += iwlwifi-3160-$(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_REV).ucode
227 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
228 endif
230 # iwlwifi 5000. Multiple files are available (iwlwifi-5000-1.ucode,
231 # iwlwifi-5000-2.ucode, iwlwifi-5000-5.ucode), corresponding to
232 # different versions of the firmware API. For now, we only install the
233 # most recent one.
234 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_5000),y)
235 LINUX_FIRMWARE_FILES += iwlwifi-5000-5.ucode
236 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
237 endif
239 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_6000G2A),y)
240 LINUX_FIRMWARE_FILES += iwlwifi-6000g2a-6.ucode
241 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
242 endif
244 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7260),y)
245 LINUX_FIRMWARE_FILES += iwlwifi-7260-$(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_REV).ucode
246 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
247 endif
249 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7265),y)
250 LINUX_FIRMWARE_FILES += iwlwifi-7265-$(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_REV).ucode
251 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
252 endif
254 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BNX2X),y)
255 LINUX_FIRMWARE_FILES += \
256 bnx2x/bnx2x-e1-7.10.51.0.fw \
257 bnx2x/bnx2x-e1h-7.10.51.0.fw \
258 bnx2x/bnx2x-e2-7.10.51.0.fw
259 # No license file; the license is in the file WHENCE
260 # which is installed unconditionally
261 endif
263 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T4),y)
264 # cxgb4/t4fw.bin is a symlink to cxgb4/t4fw-1.14.4.0.bin
265 LINUX_FIRMWARE_FILES += cxgb4/t4fw-1.14.4.0.bin cxgb4/t4fw.bin
266 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.chelsio_firmware
267 endif
269 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CXGB4_T5),y)
270 # cxgb4/t5fw.bin is a symlink to cxgb4/t5fw-1.14.4.0.bin
271 LINUX_FIRMWARE_FILES += cxgb4/t5fw-1.14.4.0.bin cxgb4/t5fw.bin
272 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.chelsio_firmware
273 endif
275 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_8169),y)
276 LINUX_FIRMWARE_FILES += \
277 rtl_nic/rtl8168d-1.fw \
278 rtl_nic/rtl8168d-2.fw \
279 rtl_nic/rtl8168e-1.fw \
280 rtl_nic/rtl8168e-2.fw \
281 rtl_nic/rtl8168e-3.fw \
282 rtl_nic/rtl8168f-1.fw \
283 rtl_nic/rtl8168f-2.fw \
284 rtl_nic/rtl8105e-1.fw \
285 rtl_nic/rtl8402-1.fw \
286 rtl_nic/rtl8411-1.fw \
287 rtl_nic/rtl8411-2.fw \
288 rtl_nic/rtl8106e-1.fw \
289 rtl_nic/rtl8106e-2.fw \
290 rtl_nic/rtl8168g-2.fw \
291 rtl_nic/rtl8168g-3.fw
292 endif
294 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_XCx000),y)
295 LINUX_FIRMWARE_FILES += \
296 dvb-fe-xc4000-1.4.1.fw \
297 dvb-fe-xc5000-1.6.114.fw \
298 dvb-fe-xc5000c-4.1.30.7.fw
299 LINUX_FIRMWARE_ALL_LICENSE_FILES += \
300 LICENCE.xc4000 \
301 LICENCE.xc5000 \
302 LICENCE.xc5000c
303 endif
305 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_AS102),y)
306 LINUX_FIRMWARE_FILES += as102_data1_st.hex as102_data2_st.hex
307 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Abilis
308 endif
310 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_DIB0700),y)
311 LINUX_FIRMWARE_FILES += dvb-usb-dib0700-1.20.fw
312 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.dib0700
313 endif
315 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ITETECH_IT9135),y)
316 LINUX_FIRMWARE_FILES += dvb-usb-it9135-01.fw dvb-usb-it9135-02.fw
317 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.it913x
318 endif
320 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_H5_DRXK),y)
321 LINUX_FIRMWARE_FILES += dvb-usb-terratec-h5-drxk.fw
322 # No license file; the license is in the file WHENCE
323 # which is installed unconditionally
324 endif
326 # brcm43xx
327 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX),y)
328 LINUX_FIRMWARE_FILES += \
329 brcm/bcm43xx-0.fw brcm/bcm43xx_hdr-0.fw \
330 brcm/bcm4329-fullmac-4.bin brcm/brcmfmac4329-sdio.bin \
331 brcm/brcmfmac4330-sdio.bin brcm/brcmfmac4334-sdio.bin \
332 brcm/brcmfmac4335-sdio.bin brcm/brcmfmac4339-sdio.bin \
333 brcm/brcmfmac4350-pcie.bin brcm/brcmfmac4354-sdio.bin \
334 brcm/brcmfmac4356-pcie.bin brcm/brcmfmac4371-pcie.bin
335 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.broadcom_bcm43xx
336 endif
338 # brcm43xxx
339 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX),y)
340 LINUX_FIRMWARE_FILES += \
341 brcm/brcmfmac43143.bin brcm/brcmfmac43143-sdio.bin \
342 brcm/brcmfmac43236b.bin brcm/brcmfmac43241b0-sdio.bin \
343 brcm/brcmfmac43241b4-sdio.bin brcm/brcmfmac43241b5-sdio.bin \
344 brcm/brcmfmac43242a.bin brcm/brcmfmac43340-sdio.bin \
345 brcm/brcmfmac43362-sdio.bin brcm/brcmfmac43455-sdio.bin \
346 brcm/brcmfmac43569.bin brcm/brcmfmac43570-pcie.bin \
347 brcm/brcmfmac43602-pcie.ap.bin brcm/brcmfmac43602-pcie.bin
348 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.broadcom_bcm43xx
349 endif
351 ifneq ($(LINUX_FIRMWARE_FILES),)
352 define LINUX_FIRMWARE_INSTALL_FILES
353 $(TAR) c -C $(@D) $(sort $(LINUX_FIRMWARE_FILES)) | \
354 $(TAR) x -C $(TARGET_DIR)/lib/firmware
355 endef
356 endif
358 ifneq ($(LINUX_FIRMWARE_DIRS),)
359 # We need to rm-rf the destination directory to avoid copying
360 # into it in itself, should we re-install the package.
361 define LINUX_FIRMWARE_INSTALL_DIRS
362 $(foreach d,$(LINUX_FIRMWARE_DIRS), \
363 rm -rf $(TARGET_DIR)/lib/firmware/$(d); \
364 cp -a $(@D)/$(d) $(TARGET_DIR)/lib/firmware/$(d)$(sep))
365 endef
366 endif
368 ifneq ($(LINUX_FIRMWARE_FILES)$(LINUX_FIRMWARE_DIRS),)
370 # Most firmware files are under a proprietary license, so no need to
371 # repeat it for every selections above. Those firmwares that have more
372 # lax licensing terms may still add them on a per-case basis.
373 LINUX_FIRMWARE_LICENSE += Proprietary
375 # This file contains some licensing information about all the firmware
376 # files found in the linux-firmware package, so we always add it, even
377 # for firmwares that have their own licensing terms.
378 LINUX_FIRMWARE_ALL_LICENSE_FILES += WHENCE
380 # Some license files may be listed more than once, so we have to remove
381 # duplicates
382 LINUX_FIRMWARE_LICENSE_FILES = $(sort $(LINUX_FIRMWARE_ALL_LICENSE_FILES))
384 endif
386 define LINUX_FIRMWARE_INSTALL_TARGET_CMDS
387 mkdir -p $(TARGET_DIR)/lib/firmware
388 $(LINUX_FIRMWARE_INSTALL_FILES)
389 $(LINUX_FIRMWARE_INSTALL_DIRS)
390 endef
392 $(eval $(generic-package))