package/linux-firmware: add option for iwl7265 firmware
[buildroot-gz.git] / package / linux-firmware / linux-firmware.mk
blob4e78c63e29ed070679a270a312056a3b11f80b27
1 ################################################################################
3 # linux-firmware
5 ################################################################################
7 LINUX_FIRMWARE_VERSION = f66291398181d24856fd2d19454d246199abd5ea
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 # rt2501/rt61
18 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT61),y)
19 LINUX_FIRMWARE_FILES += rt2561.bin rt2561s.bin rt2661.bin
20 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink-firmware.txt
21 endif
23 # rt73
24 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT73),y)
25 LINUX_FIRMWARE_FILES += rt73.bin
26 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink-firmware.txt
27 endif
29 # rt2xx
30 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RALINK_RT2XX),y)
31 # rt3090.bin is a symlink to rt2860.bin
32 # rt3070.bin is a symlink to rt2870.bin
33 LINUX_FIRMWARE_FILES += rt2860.bin rt2870.bin rt3070.bin rt3071.bin rt3090.bin
34 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ralink-firmware.txt
35 endif
37 # rtl81xx
38 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_81XX),y)
39 LINUX_FIRMWARE_FILES += \
40 rtlwifi/rtl8192cfw.bin rtlwifi/rtl8192cfwU.bin \
41 rtlwifi/rtl8192cfwU_B.bin rtlwifi/rtl8192cufw.bin \
42 rtlwifi/rtl8192defw.bin rtlwifi/rtl8192sefw.bin \
43 rtlwifi/rtl8188efw.bin rtlwifi/rtl8192cufw_A.bin \
44 rtlwifi/rtl8192cufw_B.bin rtlwifi/rtl8192cufw_TMSC.bin
45 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt
46 endif
48 # rtl87xx
49 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_87XX),y)
50 LINUX_FIRMWARE_FILES += rtlwifi/rtl8712u.bin rtlwifi/rtl8723fw.bin \
51 rtlwifi/rtl8723fw_B.bin rtlwifi/rtl8723befw.bin
52 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt
53 endif
55 # rtl88xx
56 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_RTL_88XX),y)
57 LINUX_FIRMWARE_FILES += rtlwifi/rtl8821aefw.bin \
58 rtlwifi/rtl8821aefw_wowlan.bin
59 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.rtlwifi_firmware.txt
60 endif
62 # ar7010
63 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_7010),y)
64 LINUX_FIRMWARE_FILES += ar7010.fw ar7010_1_1.fw htc_7010.fw
65 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
66 endif
68 # ar9170
69 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9170),y)
70 LINUX_FIRMWARE_FILES += ar9170-1.fw ar9170-2.fw
71 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
72 endif
74 # ar9271
75 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ATHEROS_9271),y)
76 LINUX_FIRMWARE_FILES += ar9271.fw htc_9271.fw
77 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.atheros_firmware
78 endif
80 # sd8686 v8
81 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V8),y)
82 LINUX_FIRMWARE_FILES += libertas/sd8686_v8.bin libertas/sd8686_v8_helper.bin
83 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
84 endif
86 # sd8686 v9
87 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8686_V9),y)
88 LINUX_FIRMWARE_FILES += libertas/sd8686_v9.bin libertas/sd8686_v9_helper.bin
89 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
90 endif
92 # sd8688
93 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_LIBERTAS_SD8688),y)
94 LINUX_FIRMWARE_FILES += libertas/sd8688.bin libertas/sd8688_helper.bin
95 # The two files above are but symlinks to those two ones:
96 LINUX_FIRMWARE_FILES += mrvl/sd8688.bin mrvl/sd8688_helper.bin
97 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
98 endif
100 # sd8787
101 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_MWIFIEX_SD8787),y)
102 LINUX_FIRMWARE_FILES += mrvl/sd8787_uapsta.bin
103 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Marvell
104 endif
106 # wl127x
107 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL127X),y)
108 # wl1271-nvs.bin is a symlink to wl127x-nvs.bin
109 LINUX_FIRMWARE_FILES += \
110 ti-connectivity/wl1271-fw-2.bin \
111 ti-connectivity/wl1271-fw-ap.bin \
112 ti-connectivity/wl1271-fw.bin \
113 ti-connectivity/wl1271-nvs.bin \
114 ti-connectivity/wl127x-fw-3.bin \
115 ti-connectivity/wl127x-fw-plt-3.bin \
116 ti-connectivity/wl127x-nvs.bin \
117 ti-connectivity/wl127x-fw-4-mr.bin \
118 ti-connectivity/wl127x-fw-4-plt.bin \
119 ti-connectivity/wl127x-fw-4-sr.bin \
120 ti-connectivity/wl127x-fw-5-mr.bin \
121 ti-connectivity/wl127x-fw-5-plt.bin \
122 ti-connectivity/wl127x-fw-5-sr.bin \
123 ti-connectivity/TIInit_7.2.31.bts
124 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity
125 endif
127 # wl128x
128 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL128X),y)
129 LINUX_FIRMWARE_FILES += \
130 ti-connectivity/wl128x-fw-3.bin \
131 ti-connectivity/wl128x-fw-ap.bin \
132 ti-connectivity/wl128x-fw-plt-3.bin \
133 ti-connectivity/wl128x-fw.bin \
134 ti-connectivity/wl1271-nvs.bin \
135 ti-connectivity/wl128x-nvs.bin \
136 ti-connectivity/wl12xx-nvs.bin \
137 ti-connectivity/wl128x-fw-4-mr.bin \
138 ti-connectivity/wl128x-fw-4-plt.bin \
139 ti-connectivity/wl128x-fw-4-sr.bin \
140 ti-connectivity/wl128x-fw-5-mr.bin \
141 ti-connectivity/wl128x-fw-5-plt.bin \
142 ti-connectivity/wl128x-fw-5-sr.bin \
143 ti-connectivity/TIInit_7.2.31.bts
144 # wl12xx-nvs.bin (above) is a symlink to:
145 LINUX_FIRMWARE_FILES += ti-connectivity/wl127x-nvs.bin
146 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity
147 endif
149 # wl18xx
150 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_TI_WL18XX),y)
151 LINUX_FIRMWARE_FILES += \
152 ti-connectivity/wl18xx-fw.bin \
153 ti-connectivity/wl18xx-conf.bin \
154 ti-connectivity/wl18xx-fw-2.bin \
155 ti-connectivity/wl18xx-fw-3.bin \
156 ti-connectivity/wl18xx-fw-4.bin \
157 ti-connectivity/TIInit_7.2.31.bts
158 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.ti-connectivity
159 endif
161 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_3160),y)
162 LINUX_FIRMWARE_FILES += iwlwifi-3160-$(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_REV).ucode
163 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
164 endif
166 # iwlwifi 5000. Multiple files are available (iwlwifi-5000-1.ucode,
167 # iwlwifi-5000-2.ucode, iwlwifi-5000-5.ucode), corresponding to
168 # different versions of the firmware API. For now, we only install the
169 # most recent one.
170 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_5000),y)
171 LINUX_FIRMWARE_FILES += iwlwifi-5000-5.ucode
172 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
173 endif
175 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7260),y)
176 LINUX_FIRMWARE_FILES += iwlwifi-7260-$(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_REV).ucode
177 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
178 endif
180 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_7265),y)
181 LINUX_FIRMWARE_FILES += iwlwifi-7265-$(BR2_PACKAGE_LINUX_FIRMWARE_IWLWIFI_REV).ucode
182 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.iwlwifi_firmware
183 endif
185 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BNX2X),y)
186 LINUX_FIRMWARE_FILES += \
187 bnx2x/bnx2x-e1-7.10.51.0.fw \
188 bnx2x/bnx2x-e1h-7.10.51.0.fw \
189 bnx2x/bnx2x-e2-7.10.51.0.fw
190 # No license file; the license is in the file WHENCE
191 # which is installed unconditionally
192 endif
194 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_CXGB4),y)
195 # cxgb4/t4fw.bin is a symlink to cxgb4/t4fw-1.11.27.0.bin
196 LINUX_FIRMWARE_FILES += cxgb4/t4fw-1.11.27.0.bin cxgb4/t4fw.bin
197 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.chelsio_firmware
198 endif
200 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_XC5000),y)
201 LINUX_FIRMWARE_FILES += dvb-fe-xc5000-1.6.114.fw
202 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.xc5000
203 endif
205 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_AS102),y)
206 LINUX_FIRMWARE_FILES += as102_data1_st.hex as102_data2_st.hex
207 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.Abilis
208 endif
210 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_DIB0700),y)
211 LINUX_FIRMWARE_FILES += dvb-usb-dib0700-1.20.fw
212 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENSE.dib0700
213 endif
215 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_ITETECH_IT9135),y)
216 LINUX_FIRMWARE_FILES += dvb-usb-it9135-01.fw dvb-usb-it9135-02.fw
217 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.it913x
218 endif
220 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_H5_DRXK),y)
221 LINUX_FIRMWARE_FILES += dvb-usb-terratec-h5-drxk.fw
222 # No license file; the license is in the file WHENCE
223 # which is installed unconditionally
224 endif
226 # brcm43xx
227 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XX),y)
228 LINUX_FIRMWARE_FILES += brcm/bcm43xx-0.fw brcm/bcm43xx_hdr-0.fw \
229 brcm/bcm4329-fullmac-4.bin brcm/brcmfmac4329-sdio.bin \
230 brcm/brcmfmac4330-sdio.bin brcm/brcmfmac4334-sdio.bin \
231 brcm/brcmfmac4335-sdio.bin
232 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.broadcom_bcm43xx
233 endif
235 # brcm43xxx
236 ifeq ($(BR2_PACKAGE_LINUX_FIRMWARE_BRCM_BCM43XXX),y)
237 LINUX_FIRMWARE_FILES += brcm/brcmfmac43236b.bin brcm/brcmfmac43241b0-sdio.bin \
238 brcm/brcmfmac43241b4-sdio.bin brcm/brcmfmac43362-sdio.bin
239 LINUX_FIRMWARE_ALL_LICENSE_FILES += LICENCE.broadcom_bcm43xx
240 endif
242 ifneq ($(LINUX_FIRMWARE_FILES),)
244 # Most firmware files are under a proprietary license, so no need to
245 # repeat it for every selections above. Those firmwares that have more
246 # lax licensing terms may still add them on a per-case basis.
247 LINUX_FIRMWARE_LICENSE += Proprietary
249 # This file contains some licensing information about all the firmware
250 # files found in the linux-firmware package, so we always add it, even
251 # for firmwares that have their own licensing terms.
252 LINUX_FIRMWARE_ALL_LICENSE_FILES += WHENCE
254 # Some license files may be listed more than once, so we have to remove
255 # duplicates
256 LINUX_FIRMWARE_LICENSE_FILES = $(sort $(LINUX_FIRMWARE_ALL_LICENSE_FILES))
258 define LINUX_FIRMWARE_INSTALL_TARGET_CMDS
259 mkdir -p $(TARGET_DIR)/lib/firmware
260 $(TAR) c -C $(@D) $(sort $(LINUX_FIRMWARE_FILES)) | \
261 $(TAR) x -C $(TARGET_DIR)/lib/firmware
262 endef
264 endif
266 $(eval $(generic-package))