1 ################################################################################
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
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
17 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RADEON
),y
)
18 LINUX_FIRMWARE_DIRS
+= radeon
19 LINUX_FIRMWARE_ALL_LICENSE_FILES
+= LICENSE.radeon
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
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
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
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
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
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
71 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6002
),y
)
72 LINUX_FIRMWARE_FILES
+= ath6k
/AR6002
73 LINUX_FIRMWARE_ALL_LICENSE_FILES
+= LICENCE.atheros_firmware
77 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6003
),y
)
78 LINUX_FIRMWARE_FILES
+= ath6k
/AR6003
79 LINUX_FIRMWARE_ALL_LICENSE_FILES
+= LICENCE.atheros_firmware
83 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_6004
),y
)
84 LINUX_FIRMWARE_FILES
+= ath6k
/AR6004
85 LINUX_FIRMWARE_ALL_LICENSE_FILES
+= LICENCE.atheros_firmware
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
+= \
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
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
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
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
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
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
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
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
))
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
382 LINUX_FIRMWARE_LICENSE_FILES
= $(sort $(LINUX_FIRMWARE_ALL_LICENSE_FILES
))
386 define LINUX_FIRMWARE_INSTALL_TARGET_CMDS
387 mkdir
-p
$(TARGET_DIR
)/lib
/firmware
388 $(LINUX_FIRMWARE_INSTALL_FILES
)
389 $(LINUX_FIRMWARE_INSTALL_DIRS
)
392 $(eval
$(generic-package
))