1SUMMARY = "Firmware files for use with Linux kernel"
2HOMEPAGE = "https://www.kernel.org/"
3DESCRIPTION = "Linux firmware is a package distributed alongside the Linux kernel \
4that contains firmware binary blobs necessary for partial or full functionality \
5of certain hardware devices."
6SECTION = "kernel"
7
8LICENSE = "\
9    Firmware-Abilis \
10    & Firmware-adsp_sst \
11    & Firmware-agere \
12    & Firmware-amdgpu \
13    & Firmware-amd-ucode \
14    & Firmware-amlogic_vdec \
15    & Firmware-amphion_vpu \
16    & Firmware-atheros_firmware \
17    & Firmware-atmel \
18    & Firmware-broadcom_bcm43xx \
19    & Firmware-ca0132 \
20    & Firmware-cavium \
21    & Firmware-chelsio_firmware \
22    & Firmware-cirrus \
23    & Firmware-cnm \
24    & Firmware-cw1200 \
25    & Firmware-cypress \
26    & Firmware-dib0700 \
27    & Firmware-e100 \
28    & Firmware-ene_firmware \
29    & Firmware-fw_sst_0f28 \
30    & Firmware-go7007 \
31    & Firmware-hfi1_firmware \
32    & Firmware-i915 \
33    & Firmware-ibt_firmware \
34    & Firmware-ice \
35    & Firmware-ice_enhanced \
36    & Firmware-it913x \
37    & Firmware-iwlwifi_firmware \
38    & Firmware-IntcSST2 \
39    & Firmware-kaweth \
40    & Firmware-linaro \
41    & Firmware-Lontium \
42    & Firmware-mali_csffw \
43    & Firmware-Marvell \
44    & Firmware-mediatek \
45    & Firmware-microchip \
46    & Firmware-moxa \
47    & Firmware-myri10ge_firmware \
48    & Firmware-netronome \
49    & Firmware-nvidia \
50    & Firmware-nxp \
51    & Firmware-nxp_mc_firmware \
52    & Firmware-OLPC \
53    & Firmware-ath9k-htc \
54    & Firmware-phanfw \
55    & Firmware-powervr \
56    & Firmware-qat \
57    & Firmware-qcom \
58    & Firmware-qcom-yamato \
59    & Firmware-qla1280 \
60    & Firmware-qla2xxx \
61    & Firmware-qualcommAthos_ar3k \
62    & Firmware-qualcommAthos_ath10k \
63    & Firmware-r8a779x_usb3 \
64    & Firmware-radeon \
65    & Firmware-ralink_a_mediatek_company_firmware \
66    & Firmware-ralink-firmware \
67    & Firmware-rockchip \
68    & Firmware-rtlwifi_firmware \
69    & Firmware-imx-sdma_firmware \
70    & Firmware-siano \
71    & Firmware-ti-connectivity \
72    & Firmware-ti-keystone \
73    & Firmware-ueagle-atm4-firmware \
74    & Firmware-via_vt6656 \
75    & Firmware-wl1251 \
76    & Firmware-xc4000 \
77    & Firmware-xc5000 \
78    & Firmware-xc5000c \
79    & WHENCE \
80    & GPL-2.0-or-later \
81"
82
83LIC_FILES_CHKSUM = "file://LICENCE.Abilis;md5=b5ee3f410780e56711ad48eadc22b8bc \
84                    file://LICENCE.adsp_sst;md5=615c45b91a5a4a9fe046d6ab9a2df728 \
85                    file://LICENCE.agere;md5=af0133de6b4a9b2522defd5f188afd31 \
86                    file://LICENSE.amdgpu;md5=1433dfea38c97a2e563a248a863dcb94 \
87                    file://LICENSE.amd-ucode;md5=6ca90c57f7b248de1e25c7f68ffc4698 \
88                    file://LICENSE.amlogic_vdec;md5=dc44f59bf64a81643e500ad3f39a468a \
89                    file://LICENSE.amphion_vpu;md5=2bcdc00527b2d0542bd92b52aaec2b60 \
90                    file://LICENCE.atheros_firmware;md5=30a14c7823beedac9fa39c64fdd01a13 \
91                    file://LICENSE.atmel;md5=aa74ac0c60595dee4d4e239107ea77a3 \
92                    file://LICENCE.broadcom_bcm43xx;md5=3160c14df7228891b868060e1951dfbc \
93                    file://LICENCE.ca0132;md5=209b33e66ee5be0461f13d31da392198 \
94                    file://LICENCE.cadence;md5=009f46816f6956cfb75ede13d3e1cee0 \
95                    file://LICENCE.cavium;md5=c37aaffb1ebe5939b2580d073a95daea \
96                    file://LICENCE.chelsio_firmware;md5=819aa8c3fa453f1b258ed8d168a9d903 \
97                    file://LICENSE.cirrus;md5=662ea2c1a8888f7d79ed7f27c27472e1 \
98                    file://LICENCE.cnm;md5=93b67e6bac7f8fec22b96b8ad0a1a9d0 \
99                    file://LICENCE.cw1200;md5=f0f770864e7a8444a5c5aa9d12a3a7ed \
100                    file://LICENCE.cypress;md5=48cd9436c763bf873961f9ed7b5c147b \
101                    file://LICENSE.dib0700;md5=f7411825c8a555a1a3e5eab9ca773431 \
102                    file://LICENCE.e100;md5=ec0f84136766df159a3ae6d02acdf5a8 \
103                    file://LICENCE.ene_firmware;md5=ed67f0f62f8f798130c296720b7d3921 \
104                    file://LICENCE.fw_sst_0f28;md5=6353931c988ad52818ae733ac61cd293 \
105                    file://LICENCE.go7007;md5=c0bb9f6aaaba55b0529ee9b30aa66beb \
106                    file://LICENSE.hfi1_firmware;md5=5e7b6e586ce7339d12689e49931ad444 \
107                    file://LICENSE.i915;md5=2b0b2e0d20984affd4490ba2cba02570 \
108                    file://LICENCE.ibt_firmware;md5=fdbee1ddfe0fb7ab0b2fcd6b454a366b \
109                    file://LICENSE.ice;md5=742ab4850f2670792940e6d15c974b2f \
110                    file://LICENSE.ice_enhanced;md5=f305cfc31b64f95f774f9edd9df0224d \
111                    file://LICENCE.IntcSST2;md5=9e7d8bea77612d7cc7d9e9b54b623062 \
112                    file://LICENCE.it913x;md5=1fbf727bfb6a949810c4dbfa7e6ce4f8 \
113                    file://LICENCE.iwlwifi_firmware;md5=2ce6786e0fc11ac6e36b54bb9b799f1b \
114                    file://LICENCE.kaweth;md5=b1d876e562f4b3b8d391ad8395dfe03f \
115                    file://LICENCE.linaro;md5=936d91e71cf9cd30e733db4bf11661cc \
116                    file://LICENSE.Lontium;md5=4ec8dc582ff7295f39e2ca6a7b0be2b6 \
117                    file://LICENCE.mali_csffw;md5=e064aaec4d21ef856e1b76a6f5dc435f \
118                    file://LICENCE.Marvell;md5=28b6ed8bd04ba105af6e4dcd6e997772 \
119                    file://LICENCE.mediatek;md5=7c1976b63217d76ce47d0a11d8a79cf2 \
120                    file://LICENCE.microchip;md5=db753b00305675dfbf120e3f24a47277 \
121                    file://LICENCE.moxa;md5=1086614767d8ccf744a923289d3d4261 \
122                    file://LICENCE.myri10ge_firmware;md5=42e32fb89f6b959ca222e25ac8df8fed \
123                    file://LICENCE.Netronome;md5=4add08f2577086d44447996503cddf5f \
124                    file://LICENCE.nvidia;md5=4428a922ed3ba2ceec95f076a488ce07 \
125                    file://LICENCE.NXP;md5=58bb8ba632cd729b9ba6183bc6aed36f \
126                    file://LICENSE.nxp;md5=cca321ca1524d6a1e4fed87486cd82dc \
127                    file://LICENSE.nxp_mc_firmware;md5=9dc97e4b279b3858cae8879ae2fe5dd7 \
128                    file://LICENCE.OLPC;md5=5b917f9d8c061991be4f6f5f108719cd \
129                    file://LICENCE.open-ath9k-htc-firmware;md5=1b33c9f4d17bc4d457bdb23727046837 \
130                    file://LICENCE.phanfw;md5=954dcec0e051f9409812b561ea743bfa \
131                    file://LICENSE.powervr;md5=83045ed2a2cda15b4eaff682c98c9533 \
132                    file://LICENCE.qat_firmware;md5=72de83dfd9b87be7685ed099a39fbea4 \
133                    file://LICENSE.qcom;md5=164e3362a538eb11d3ac51e8e134294b \
134                    file://LICENSE.qcom_yamato;md5=d0de0eeccaf1843a850bf7a6777eec5c \
135                    file://LICENCE.qla1280;md5=d6895732e622d950609093223a2c4f5d \
136                    file://LICENCE.qla2xxx;md5=505855e921b75f1be4a437ad9b79dff0 \
137                    file://LICENSE.QualcommAtheros_ar3k;md5=b5fe244fb2b532311de1472a3bc06da5 \
138                    file://LICENSE.QualcommAtheros_ath10k;md5=cb42b686ee5f5cb890275e4321db60a8 \
139                    file://LICENCE.r8a779x_usb3;md5=4c1671656153025d7076105a5da7e498 \
140                    file://LICENSE.radeon;md5=68ec28bacb3613200bca44f404c69b16 \
141                    file://LICENCE.ralink_a_mediatek_company_firmware;md5=728f1a85fd53fd67fa8d7afb080bc435 \
142                    file://LICENCE.ralink-firmware.txt;md5=ab2c269277c45476fb449673911a2dfd \
143                    file://LICENCE.rockchip;md5=5fd70190c5ed39734baceada8ecced26 \
144                    file://LICENCE.rtlwifi_firmware.txt;md5=00d06cfd3eddd5a2698948ead2ad54a5 \
145                    file://LICENSE.sdma_firmware;md5=51e8c19ecc2270f4b8ea30341ad63ce9 \
146                    file://LICENCE.siano;md5=4556c1bf830067f12ca151ad953ec2a5 \
147                    file://LICENCE.ti-connectivity;md5=c5e02be633f1499c109d1652514d85ec \
148                    file://LICENCE.ti-keystone;md5=3a86335d32864b0bef996bee26cc0f2c \
149                    file://LICENCE.ueagle-atm4-firmware;md5=4ed7ea6b507ccc583b9d594417714118 \
150                    file://LICENCE.via_vt6656;md5=e4159694cba42d4377a912e78a6e850f \
151                    file://LICENCE.wl1251;md5=ad3f81922bb9e197014bb187289d3b5b \
152                    file://LICENCE.xc4000;md5=0ff51d2dc49fce04814c9155081092f0 \
153                    file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \
154                    file://LICENCE.xc5000c;md5=12b02efa3049db65d524aeb418dd87ca \
155                    file://WHENCE;md5=${WHENCE_CHKSUM} \
156                    "
157# WHENCE checksum is defined separately to ease overriding it if
158# class-devupstream is selected.
159WHENCE_CHKSUM  = "ae024b46fd393d199f66bbe1f3ff5254"
160
161# These are not common licenses, set NO_GENERIC_LICENSE for them
162# so that the license files will be copied from fetched source
163NO_GENERIC_LICENSE[Firmware-Abilis] = "LICENCE.Abilis"
164NO_GENERIC_LICENSE[Firmware-adsp_sst] = "LICENCE.adsp_sst"
165NO_GENERIC_LICENSE[Firmware-agere] = "LICENCE.agere"
166NO_GENERIC_LICENSE[Firmware-amdgpu] = "LICENSE.amdgpu"
167NO_GENERIC_LICENSE[Firmware-amd-ucode] = "LICENSE.amd-ucode"
168NO_GENERIC_LICENSE[Firmware-amlogic_vdec] = "LICENSE.amlogic_vdec"
169NO_GENERIC_LICENSE[Firmware-amphion_vpu] = "LICENSE.amphion_vpu"
170NO_GENERIC_LICENSE[Firmware-atheros_firmware] = "LICENCE.atheros_firmware"
171NO_GENERIC_LICENSE[Firmware-atmel] = "LICENSE.atmel"
172NO_GENERIC_LICENSE[Firmware-broadcom_bcm43xx] = "LICENCE.broadcom_bcm43xx"
173NO_GENERIC_LICENSE[Firmware-ca0132] = "LICENCE.ca0132"
174NO_GENERIC_LICENSE[Firmware-cadence] = "LICENCE.cadence"
175NO_GENERIC_LICENSE[Firmware-cavium] = "LICENCE.cavium"
176NO_GENERIC_LICENSE[Firmware-chelsio_firmware] = "LICENCE.chelsio_firmware"
177NO_GENERIC_LICENSE[Firmware-cirrus] = "LICENSE.cirrus"
178NO_GENERIC_LICENSE[Firmware-cnm] = "LICENCE.cnm"
179NO_GENERIC_LICENSE[Firmware-cw1200] = "LICENCE.cw1200"
180NO_GENERIC_LICENSE[Firmware-cypress] = "LICENCE.cypress"
181NO_GENERIC_LICENSE[Firmware-dib0700] = "LICENSE.dib0700"
182NO_GENERIC_LICENSE[Firmware-e100] = "LICENCE.e100"
183NO_GENERIC_LICENSE[Firmware-ene_firmware] = "LICENCE.ene_firmware"
184NO_GENERIC_LICENSE[Firmware-fw_sst_0f28] = "LICENCE.fw_sst_0f28"
185NO_GENERIC_LICENSE[Firmware-go7007] = "LICENCE.go7007"
186NO_GENERIC_LICENSE[Firmware-hfi1_firmware] = "LICENSE.hfi1_firmware"
187NO_GENERIC_LICENSE[Firmware-i915] = "LICENSE.i915"
188NO_GENERIC_LICENSE[Firmware-ibt_firmware] = "LICENCE.ibt_firmware"
189NO_GENERIC_LICENSE[Firmware-ice] = "LICENSE.ice"
190NO_GENERIC_LICENSE[Firmware-ice_enhanced] = "LICENSE.ice_enhanced"
191NO_GENERIC_LICENSE[Firmware-IntcSST2] = "LICENCE.IntcSST2"
192NO_GENERIC_LICENSE[Firmware-it913x] = "LICENCE.it913x"
193NO_GENERIC_LICENSE[Firmware-iwlwifi_firmware] = "LICENCE.iwlwifi_firmware"
194NO_GENERIC_LICENSE[Firmware-kaweth] = "LICENCE.kaweth"
195NO_GENERIC_LICENSE[Firmware-linaro] = "LICENCE.linaro"
196NO_GENERIC_LICENSE[Firmware-Lontium] = "LICENSE.Lontium"
197NO_GENERIC_LICENSE[Firmware-mali_csffw] = "LICENCE.mali_csffw"
198NO_GENERIC_LICENSE[Firmware-Marvell] = "LICENCE.Marvell"
199NO_GENERIC_LICENSE[Firmware-mediatek] = "LICENCE.mediatek"
200NO_GENERIC_LICENSE[Firmware-microchip] = "LICENCE.microchip"
201NO_GENERIC_LICENSE[Firmware-moxa] = "LICENCE.moxa"
202NO_GENERIC_LICENSE[Firmware-myri10ge_firmware] = "LICENCE.myri10ge_firmware"
203NO_GENERIC_LICENSE[Firmware-netronome] = "LICENCE.Netronome"
204NO_GENERIC_LICENSE[Firmware-nvidia] = "LICENCE.nvidia"
205NO_GENERIC_LICENSE[Firmware-nxp] = "LICENSE.nxp"
206NO_GENERIC_LICENSE[Firmware-nxp_mc_firmware] = "LICENSE.nxp_mc_firmware"
207NO_GENERIC_LICENSE[Firmware-OLPC] = "LICENCE.OLPC"
208NO_GENERIC_LICENSE[Firmware-ath9k-htc] = "LICENCE.open-ath9k-htc-firmware"
209NO_GENERIC_LICENSE[Firmware-phanfw] = "LICENCE.phanfw"
210NO_GENERIC_LICENSE[Firmware-powervr] = "LICENSE.powervr"
211NO_GENERIC_LICENSE[Firmware-qat] = "LICENCE.qat_firmware"
212NO_GENERIC_LICENSE[Firmware-qcom] = "LICENSE.qcom"
213NO_GENERIC_LICENSE[Firmware-qcom-yamato] = "LICENSE.qcom_yamato"
214NO_GENERIC_LICENSE[Firmware-qla1280] = "LICENCE.qla1280"
215NO_GENERIC_LICENSE[Firmware-qla2xxx] = "LICENCE.qla2xxx"
216NO_GENERIC_LICENSE[Firmware-qualcommAthos_ar3k] = "LICENSE.QualcommAtheros_ar3k"
217NO_GENERIC_LICENSE[Firmware-qualcommAthos_ath10k] = "LICENSE.QualcommAtheros_ath10k"
218NO_GENERIC_LICENSE[Firmware-r8a779x_usb3] = "LICENCE.r8a779x_usb3"
219NO_GENERIC_LICENSE[Firmware-radeon] = "LICENSE.radeon"
220NO_GENERIC_LICENSE[Firmware-ralink_a_mediatek_company_firmware] = "LICENCE.ralink_a_mediatek_company_firmware"
221NO_GENERIC_LICENSE[Firmware-ralink-firmware] = "LICENCE.ralink-firmware.txt"
222NO_GENERIC_LICENSE[Firmware-rockchip] = "LICENCE.rockchip"
223NO_GENERIC_LICENSE[Firmware-rtlwifi_firmware] = "LICENCE.rtlwifi_firmware.txt"
224NO_GENERIC_LICENSE[Firmware-siano] = "LICENCE.siano"
225NO_GENERIC_LICENSE[Firmware-imx-sdma_firmware] = "LICENSE.sdma_firmware"
226NO_GENERIC_LICENSE[Firmware-ti-connectivity] = "LICENCE.ti-connectivity"
227NO_GENERIC_LICENSE[Firmware-ti-keystone] = "LICENCE.ti-keystone"
228NO_GENERIC_LICENSE[Firmware-ueagle-atm4-firmware] = "LICENCE.ueagle-atm4-firmware"
229NO_GENERIC_LICENSE[Firmware-via_vt6656] = "LICENCE.via_vt6656"
230NO_GENERIC_LICENSE[Firmware-wl1251] = "LICENCE.wl1251"
231NO_GENERIC_LICENSE[Firmware-xc4000] = "LICENCE.xc4000"
232NO_GENERIC_LICENSE[Firmware-xc5000] = "LICENCE.xc5000"
233NO_GENERIC_LICENSE[Firmware-xc5000c] = "LICENCE.xc5000c"
234NO_GENERIC_LICENSE[WHENCE] = "WHENCE"
235
236PE = "1"
237
238SRC_URI = "\
239  ${KERNELORG_MIRROR}/linux/kernel/firmware/${BPN}-${PV}.tar.xz \
240"
241
242BBCLASSEXTEND = "devupstream:target"
243SRC_URI:class-devupstream = "git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git;protocol=https;branch=main"
244# Pin this to the 20220509 release, override this in local.conf
245SRCREV:class-devupstream ?= "b19cbdca78ab2adfd210c91be15a22568e8b8cae"
246
247SRC_URI[sha256sum] = "9f05edb99668135d37cedc4fdd18aac2802dc9e4566e086e6c6c2e321f3ecc4e"
248
249inherit allarch
250
251CLEANBROKEN = "1"
252
253# Use PACKAGECONFIG_CONFARGS to set the Makefile target
254PACKAGECONFIG ??= ""
255# Enabling dedup will turn duplicate firmware files into links
256PACKAGECONFIG[deduplicate] = "install,install-nodedup,rdfind-native"
257
258do_compile() {
259	:
260}
261
262do_install() {
263        oe_runmake 'DESTDIR=${D}' 'FIRMWAREDIR=${nonarch_base_libdir}/firmware' ${PACKAGECONFIG_CONFARGS}
264        cp LICEN[CS]E.* WHENCE ${D}${nonarch_base_libdir}/firmware/
265}
266
267
268PACKAGES =+ "${PN}-amphion-vpu-license ${PN}-amphion-vpu \
269             ${PN}-cw1200-license ${PN}-cw1200 \
270             ${PN}-ralink-license ${PN}-ralink \
271             ${PN}-mt76x-license ${PN}-mt7601u ${PN}-mt7650 ${PN}-mt76x2 \
272             ${PN}-radeon-license ${PN}-radeon \
273             ${PN}-amdgpu-license ${PN}-amdgpu \
274             ${PN}-marvell-license ${PN}-pcie8897 ${PN}-pcie8997 \
275             ${PN}-mediatek-license ${PN}-mediatek \
276             ${PN}-microchip-license ${PN}-microchip \
277             ${PN}-moxa-license ${PN}-moxa \
278             ${PN}-sd8686 ${PN}-sd8688 ${PN}-sd8787 ${PN}-sd8797 ${PN}-sd8801 \
279             ${PN}-sd8887 ${PN}-sd8897 ${PN}-sd8997 ${PN}-usb8997 \
280             ${PN}-ti-connectivity-license ${PN}-wlcommon ${PN}-wl12xx ${PN}-wl18xx \
281             ${PN}-ti-keystone-license ${PN}-ti-keystone \
282             ${PN}-vt6656-license ${PN}-vt6656 \
283             ${PN}-rs9113 ${PN}-rs9116 \
284             ${PN}-rtl-license ${PN}-rtl8188 ${PN}-rtl8192cu ${PN}-rtl8192ce ${PN}-rtl8192su ${PN}-rtl8723 ${PN}-rtl8821 \
285             ${PN}-rtl8761 \
286             ${PN}-rtl8168 \
287             ${PN}-rtl8822 \
288             ${PN}-rtl-nic \
289             ${PN}-cypress-license \
290             ${PN}-broadcom-license \
291             ${PN}-bcm-0bb4-0306 \
292             ${PN}-bcm43143 \
293             ${PN}-bcm43236b \
294             ${PN}-bcm43241b0 \
295             ${PN}-bcm43241b4 \
296             ${PN}-bcm43241b5 \
297             ${PN}-bcm43242a \
298             ${PN}-bcm4329 \
299             ${PN}-bcm4329-fullmac \
300             ${PN}-bcm4330 \
301             ${PN}-bcm4334 \
302             ${PN}-bcm43340 \
303             ${PN}-bcm4335 \
304             ${PN}-bcm43362 \
305             ${PN}-bcm4339 \
306             ${PN}-bcm43430 \
307             ${PN}-bcm43430a0 \
308             ${PN}-bcm43455 \
309             ${PN}-bcm4350 \
310             ${PN}-bcm4350c2 \
311             ${PN}-bcm4354 \
312             ${PN}-bcm4356 \
313             ${PN}-bcm4356-pcie \
314             ${PN}-bcm43569 \
315             ${PN}-bcm43570 \
316             ${PN}-bcm4358 \
317             ${PN}-bcm43602 \
318             ${PN}-bcm4366b \
319             ${PN}-bcm4366c \
320             ${PN}-bcm4371 \
321             ${PN}-bcm4373 \
322             ${PN}-bcm43xx \
323             ${PN}-bcm43xx-hdr \
324             ${PN}-cirrus-license ${PN}-cirrus \
325             ${PN}-cnm-license ${PN}-cnm \
326             ${PN}-atheros-license ${PN}-ar5523 ${PN}-ar9170 ${PN}-ath6k ${PN}-ath9k ${PN}-ath3k \
327             ${PN}-carl9170 \
328             ${PN}-qcom-qrb4210-wifi ${PN}-qcom-sdm845-modem \
329             ${PN}-ar3k-license ${PN}-ar3k ${PN}-ath10k-license ${PN}-ath10k ${PN}-ath11k ${PN}-ath12k ${PN}-qca \
330             \
331             ${PN}-imx-sdma-license ${PN}-imx-sdma-imx6q ${PN}-imx-sdma-imx7d \
332             \
333             ${PN}-iwlwifi-license ${PN}-iwlwifi \
334             ${PN}-iwlwifi-135-6 \
335             ${PN}-iwlwifi-3160-7 ${PN}-iwlwifi-3160-8 ${PN}-iwlwifi-3160-9 \
336             ${PN}-iwlwifi-3160-10 ${PN}-iwlwifi-3160-12 ${PN}-iwlwifi-3160-13 \
337             ${PN}-iwlwifi-3160-16 ${PN}-iwlwifi-3160-17 \
338             ${PN}-iwlwifi-6000-4 ${PN}-iwlwifi-6000g2a-5 ${PN}-iwlwifi-6000g2a-6 \
339             ${PN}-iwlwifi-6000g2b-5 ${PN}-iwlwifi-6000g2b-6 \
340             ${PN}-iwlwifi-6050-4 ${PN}-iwlwifi-6050-5 \
341             ${PN}-iwlwifi-7260 \
342             ${PN}-iwlwifi-7265 \
343             ${PN}-iwlwifi-7265d ${PN}-iwlwifi-8000c ${PN}-iwlwifi-8265 \
344             ${PN}-iwlwifi-9000 \
345             ${PN}-iwlwifi-9260 \
346             ${PN}-iwlwifi-misc \
347             ${PN}-ibt-license ${PN}-ibt \
348             ${PN}-ibt-11-5 ${PN}-ibt-12-16 ${PN}-ibt-hw-37-7 ${PN}-ibt-hw-37-8 \
349             ${PN}-ibt-17 \
350             ${PN}-ibt-18 \
351             ${PN}-ibt-20 \
352             ${PN}-ibt-misc \
353             ${PN}-i915-license ${PN}-i915 \
354             ${PN}-ice-license ${PN}-ice \
355             ${PN}-ice-enhanced-license ${PN}-ice-enhanced \
356             ${PN}-adsp-sst-license ${PN}-adsp-sst \
357             ${PN}-bnx2 \
358             ${PN}-bnx2x \
359             ${PN}-liquidio \
360             ${PN}-mali-csffw-arch108 ${PN}-mali-csffw-license \
361             ${PN}-mellanox \
362             ${PN}-nvidia-license \
363             ${PN}-nvidia-tegra-k1 ${PN}-nvidia-tegra \
364             ${PN}-nvidia-gpu \
365             ${PN}-nxp-license \
366             ${PN}-nxp8987-sdio \
367             ${PN}-nxp8997-common \
368             ${PN}-nxp8997-pcie \
369             ${PN}-nxp8997-sdio \
370             ${PN}-nxp9098-common \
371             ${PN}-nxp9098-pcie \
372             ${PN}-nxp9098-sdio \
373             ${PN}-nxpiw416-sdio \
374             ${PN}-nxpiw612-sdio \
375             ${PN}-nxp-mc-license ${PN}-nxp-mc \
376             ${PN}-netronome-license ${PN}-netronome \
377             ${PN}-olpc-license ${PN}-olpc \
378             ${PN}-phanfw-license ${PN}-phanfw \
379             ${PN}-powervr-license ${PN}-powervr \
380             ${PN}-prestera \
381             ${PN}-qat ${PN}-qat-license \
382             ${PN}-qed \
383             ${PN}-qcom-license ${PN}-qcom-yamato-license \
384             ${PN}-qcom-venus-1.8 ${PN}-qcom-venus-4.2 ${PN}-qcom-venus-5.2 ${PN}-qcom-venus-5.4 ${PN}-qcom-venus-6.0 \
385             ${PN}-qcom-vpu-1.0 ${PN}-qcom-vpu-2.0 \
386             ${PN}-qcom-adreno-a2xx ${PN}-qcom-adreno-a3xx ${PN}-qcom-adreno-a4xx ${PN}-qcom-adreno-a530 \
387             ${PN}-qcom-adreno-a630 ${PN}-qcom-adreno-a650 ${PN}-qcom-adreno-a660 ${PN}-qcom-adreno-a702 \
388             ${PN}-qcom-apq8016-modem ${PN}-qcom-apq8016-wifi \
389             ${PN}-qcom-apq8096-adreno ${PN}-qcom-apq8096-audio ${PN}-qcom-apq8096-modem \
390             ${PN}-qcom-qcm2290-adreno ${PN}-qcom-qcm2290-audio ${PN}-qcom-qcm2290-modem ${PN}-qcom-qcm2290-wifi  \
391             ${PN}-qcom-qrb4210-adreno ${PN}-qcom-qrb4210-audio ${PN}-qcom-qrb4210-compute \
392             ${PN}-qcom-qrb4210-modem \
393             ${PN}-qcom-sc8280xp-lenovo-x13s-compat \
394             ${PN}-qcom-sc8280xp-lenovo-x13s-audio \
395             ${PN}-qcom-sc8280xp-lenovo-x13s-adreno \
396             ${PN}-qcom-sc8280xp-lenovo-x13s-compute \
397             ${PN}-qcom-sc8280xp-lenovo-x13s-sensors \
398             ${PN}-qcom-sdm845-adreno ${PN}-qcom-sdm845-audio ${PN}-qcom-sdm845-compute \
399             ${PN}-qcom-sdm845-thundercomm-db845c-sensors \
400             ${PN}-qcom-sm8250-adreno ${PN}-qcom-sm8250-audio ${PN}-qcom-sm8250-compute \
401             ${PN}-qcom-sm8250-thundercomm-rb5-sensors \
402             ${PN}-qla2xxx ${PN}-qla2xxx-license \
403             ${PN}-rockchip-license ${PN}-rockchip-dptx \
404             ${PN}-amlogic-vdec-license ${PN}-amlogic-vdec \
405             ${PN}-lt9611uxc ${PN}-lontium-license \
406             ${PN}-whence-license \
407             ${PN}-wl1251-license ${PN}-wl1251 \
408             ${PN}-xc4000-license ${PN}-xc4000 \
409             ${PN}-xc5000-license ${PN}-xc5000 \
410             ${PN}-xc5000c-license ${PN}-xc5000c \
411             ${PN}-license \
412             "
413
414# For Amphion VPU
415LICENSE:${PN}-amphion-vpu = "Firmware-amphion_vpu"
416LICENSE:${PN}-amphion-vpu-license = "Firmware-amphion_vpu"
417
418FILES:${PN}-amphion-vpu = "${nonarch_base_libdir}/firmware/amphion/*"
419FILES:${PN}-amphion-vpu-license = " \
420  ${nonarch_base_libdir}/firmware/LICENSE.amphion_vpu \
421"
422RDEPENDS:${PN}-amphion-vpu += "${PN}-amphion-vpu-license"
423
424# For cw1200
425LICENSE:${PN}-cw1200 = "Firmware-cw1200"
426LICENSE:${PN}-cw1200-license = "Firmware-cw1200"
427
428FILES:${PN}-cw1200 = "${nonarch_base_libdir}/firmware/wsm_22.bin"
429FILES:${PN}-cw1200-license = "${nonarch_base_libdir}/firmware/LICENCE.cw1200"
430
431RDEPENDS:${PN}-cw1200 += "${PN}-cw1200-license"
432
433# For atheros
434LICENSE:${PN}-ar5523 = "Firmware-atheros_firmware"
435LICENSE:${PN}-ar9170 = "Firmware-atheros_firmware"
436LICENSE:${PN}-ath3k = "Firmware-atheros_firmware"
437LICENSE:${PN}-ath6k = "Firmware-atheros_firmware"
438LICENSE:${PN}-ath9k = "Firmware-atheros_firmware"
439LICENSE:${PN}-atheros-license = "Firmware-atheros_firmware"
440
441FILES:${PN}-atheros-license = "${nonarch_base_libdir}/firmware/LICENCE.atheros_firmware"
442FILES:${PN}-ar5523 = " \
443  ${nonarch_base_libdir}/firmware/ar5523.bin \
444"
445FILES:${PN}-ar9170 = " \
446  ${nonarch_base_libdir}/firmware/ar9170*.fw \
447"
448FILES:${PN}-ath3k = " \
449  ${nonarch_base_libdir}/firmware/ath3k*fw \
450"
451FILES:${PN}-ath6k = " \
452  ${nonarch_base_libdir}/firmware/ath6k \
453"
454FILES:${PN}-ath9k = " \
455  ${nonarch_base_libdir}/firmware/ar9271.fw \
456  ${nonarch_base_libdir}/firmware/ar7010*.fw \
457  ${nonarch_base_libdir}/firmware/htc_9271.fw \
458  ${nonarch_base_libdir}/firmware/htc_7010.fw \
459  ${nonarch_base_libdir}/firmware/ath9k_htc/htc_7010-1.4.0.fw \
460  ${nonarch_base_libdir}/firmware/ath9k_htc/htc_9271-1.4.0.fw \
461"
462
463RDEPENDS:${PN}-ar5523 += "${PN}-atheros-license"
464RDEPENDS:${PN}-ar9170 += "${PN}-atheros-license"
465RDEPENDS:${PN}-ath6k += "${PN}-atheros-license"
466RDEPENDS:${PN}-ath9k += "${PN}-atheros-license"
467
468# For carl9170
469
470FILES:${PN}-carl9170 = " \
471  ${nonarch_base_libdir}/firmware/carl9170*.fw \
472"
473LICENSE:${PN}-carl9170 = "GPL-2.0-or-later"
474
475# For QualCommAthos
476LICENSE:${PN}-ar3k = "Firmware-qualcommAthos_ar3k & Firmware-atheros_firmware"
477LICENSE:${PN}-ar3k-license = "Firmware-qualcommAthos_ar3k"
478LICENSE:${PN}-ath10k = "Firmware-qualcommAthos_ath10k"
479LICENSE:${PN}-ath10k-license = "Firmware-qualcommAthos_ath10k"
480LICENSE:${PN}-qca = "Firmware-qualcommAthos_ath10k"
481
482FILES:${PN}-ar3k-license = "${nonarch_base_libdir}/firmware/LICENSE.QualcommAtheros_ar3k"
483FILES:${PN}-ar3k = " \
484  ${nonarch_base_libdir}/firmware/ar3k \
485"
486
487FILES:${PN}-ath10k-license = "${nonarch_base_libdir}/firmware/LICENSE.QualcommAtheros_ath10k"
488FILES:${PN}-ath10k = " \
489  ${nonarch_base_libdir}/firmware/ath10k \
490"
491
492FILES:${PN}-ath11k = " \
493  ${nonarch_base_libdir}/firmware/ath11k \
494"
495
496FILES:${PN}-ath12k = " \
497  ${nonarch_base_libdir}/firmware/ath12k \
498"
499
500FILES:${PN}-qca = " \
501  ${nonarch_base_libdir}/firmware/qca \
502"
503
504RDEPENDS:${PN}-ar3k += "${PN}-ar3k-license ${PN}-atheros-license"
505RDEPENDS:${PN}-ath10k += "${PN}-ath10k-license"
506RDEPENDS:${PN}-ath11k += "${PN}-ath10k-license"
507RDEPENDS:${PN}-ath12k += "${PN}-ath10k-license"
508RDEPENDS:${PN}-qca += "${PN}-ath10k-license"
509
510# For ralink
511LICENSE:${PN}-ralink = "Firmware-ralink-firmware"
512LICENSE:${PN}-ralink-license = "Firmware-ralink-firmware"
513
514FILES:${PN}-ralink-license = "${nonarch_base_libdir}/firmware/LICENCE.ralink-firmware.txt"
515FILES:${PN}-ralink = " \
516  ${nonarch_base_libdir}/firmware/rt*.bin \
517"
518
519RDEPENDS:${PN}-ralink += "${PN}-ralink-license"
520
521# For mediatek MT7601U
522LICENSE:${PN}-mt76x-license = "Firmware-ralink_a_mediatek_company_firmware"
523FILES:${PN}-mt76x-license = "${nonarch_base_libdir}/firmware/LICENCE.ralink_a_mediatek_company_firmware"
524
525LICENSE:${PN}-mt7601u = "Firmware-ralink_a_mediatek_company_firmware"
526
527FILES:${PN}-mt7601u = " \
528  ${nonarch_base_libdir}/firmware/mediatek/mt7601u.bin \
529  ${nonarch_base_libdir}/firmware/mt7601u.bin \
530"
531RDEPENDS:${PN}-mt7601u += "${PN}-mt76x-license"
532
533# For MediaTek Bluetooth USB driver 7650
534LICENSE:${PN}-mt7650 = "Firmware-ralink_a_mediatek_company_firmware"
535
536FILES:${PN}-mt7650 = " \
537  ${nonarch_base_libdir}/firmware/mediatek/mt7650.bin \
538  ${nonarch_base_libdir}/firmware/mt7650.bin \
539"
540RDEPENDS:${PN}-mt7650 += "${PN}-mt76x-license"
541
542# For MediaTek MT76x2 Wireless MACs
543LICENSE:${PN}-mt76x2 = "Firmware-ralink_a_mediatek_company_firmware"
544
545FILES:${PN}-mt76x2 = " \
546  ${nonarch_base_libdir}/firmware/mediatek/mt7662.bin \
547  ${nonarch_base_libdir}/firmware/mt7662.bin \
548  ${nonarch_base_libdir}/firmware/mediatek/mt7662_rom_patch.bin \
549  ${nonarch_base_libdir}/firmware/mt7662_rom_patch.bin \
550"
551RDEPENDS:${PN}-mt76x2 += "${PN}-mt76x-license"
552
553# For MediaTek
554LICENSE:${PN}-mediatek = "Firmware-mediatek"
555LICENSE:${PN}-mediatek-license = "Firmware-mediatek"
556
557FILES:${PN}-mediatek = " \
558  ${nonarch_base_libdir}/firmware/mediatek/* \
559  ${nonarch_base_libdir}/firmware/vpu_d.bin \
560  ${nonarch_base_libdir}/firmware/vpu_p.bin \
561"
562FILES:${PN}-mediatek-license = " \
563  ${nonarch_base_libdir}/firmware/LICENCE.mediatek \
564"
565RDEPENDS:${PN}-mediatek += "${PN}-mediatek-license"
566
567# For Microchip
568LICENSE:${PN}-microchip = "Firmware-microchip"
569LICENSE:${PN}-microchip-license = "Firmware-microchip"
570
571FILES:${PN}-microchip = "${nonarch_base_libdir}/firmware/microchip/*"
572FILES:${PN}-microchip-license = " \
573  ${nonarch_base_libdir}/firmware/LICENCE.microchip \
574"
575RDEPENDS:${PN}-microchip += "${PN}-microchip-license"
576
577# For MOXA
578LICENSE:${PN}-moxa = "Firmware-moxa"
579LICENSE:${PN}-moxa-license = "Firmware-moxa"
580
581FILES:${PN}-moxa = "${nonarch_base_libdir}/firmware/moxa"
582FILES:${PN}-moxa-license = "${nonarch_base_libdir}/firmware/LICENCE.moxa"
583
584RDEPENDS:${PN}-moxa += "${PN}-moxa-license"
585
586# For radeon
587
588LICENSE:${PN}-radeon = "Firmware-radeon"
589LICENSE:${PN}-radeon-license = "Firmware-radeon"
590
591FILES:${PN}-radeon-license = "${nonarch_base_libdir}/firmware/LICENSE.radeon"
592FILES:${PN}-radeon = " \
593  ${nonarch_base_libdir}/firmware/radeon \
594"
595
596RDEPENDS:${PN}-radeon += "${PN}-radeon-license"
597
598# For amdgpu
599LICENSE:${PN}-amdgpu = "Firmware-amdgpu"
600LICENSE:${PN}-amdgpu-license = "Firmware-amdgpu"
601
602FILES:${PN}-amdgpu-license = "${nonarch_base_libdir}/firmware/LICENSE.amdgpu"
603FILES:${PN}-amdgpu = " \
604  ${nonarch_base_libdir}/firmware/amdgpu \
605"
606
607RDEPENDS:${PN}-amdgpu += "${PN}-amdgpu-license"
608
609# For lontium
610LICENSE:${PN}-lt9611uxc = "Firmware-Lontium"
611
612FILES:${PN}-lontium-license = "${nonarch_base_libdir}/firmware/LICENSE.Lontium"
613FILES:${PN}-lt9611uxc = "${nonarch_base_libdir}/firmware/lt9611uxc_fw.bin"
614
615# For Arm Mali
616LICENSE:${PN}-mali-csffw-arch108 = "Firmware-mali_csffw"
617FILES:${PN}-mali-csffw-license = "${nonarch_base_libdir}/firmware/LICENCE.mali_csffw"
618FILES:${PN}-mali-csffw-arch108 = "${nonarch_base_libdir}/firmware/arm/mali/arch10.8/mali_csffw.bin"
619
620RDEPENDS:${PN}-mali-csffw-arch108 += "${PN}-mali-csffw-license"
621
622# For marvell
623LICENSE:${PN}-pcie8897 = "Firmware-Marvell"
624LICENSE:${PN}-pcie8997 = "Firmware-Marvell"
625LICENSE:${PN}-sd8686 = "Firmware-Marvell"
626LICENSE:${PN}-sd8688 = "Firmware-Marvell"
627LICENSE:${PN}-sd8787 = "Firmware-Marvell"
628LICENSE:${PN}-sd8797 = "Firmware-Marvell"
629LICENSE:${PN}-sd8801 = "Firmware-Marvell"
630LICENSE:${PN}-sd8887 = "Firmware-Marvell"
631LICENSE:${PN}-sd8897 = "Firmware-Marvell"
632LICENSE:${PN}-sd8997 = "Firmware-Marvell"
633LICENSE:${PN}-usb8997 = "Firmware-Marvell"
634LICENSE:${PN}-marvell-license = "Firmware-Marvell"
635
636FILES:${PN}-marvell-license = "${nonarch_base_libdir}/firmware/LICENCE.Marvell"
637FILES:${PN}-pcie8897 = " \
638  ${nonarch_base_libdir}/firmware/mrvl/pcie8897_uapsta.bin \
639"
640FILES:${PN}-pcie8997 = " \
641  ${nonarch_base_libdir}/firmware/mrvl/pcie8997_wlan_v4.bin \
642  ${nonarch_base_libdir}/firmware/mrvl/pcieuart8997_combo_v4.bin \
643  ${nonarch_base_libdir}/firmware/mrvl/pcieusb8997_combo_v4.bin \
644"
645FILES:${PN}-sd8686 = " \
646  ${nonarch_base_libdir}/firmware/libertas/sd8686_v9* \
647  ${nonarch_base_libdir}/firmware/sd8686* \
648"
649FILES:${PN}-sd8688 = " \
650  ${nonarch_base_libdir}/firmware/libertas/sd8688* \
651  ${nonarch_base_libdir}/firmware/mrvl/sd8688* \
652"
653FILES:${PN}-sd8787 = " \
654  ${nonarch_base_libdir}/firmware/mrvl/sd8787_uapsta.bin \
655"
656FILES:${PN}-sd8797 = " \
657  ${nonarch_base_libdir}/firmware/mrvl/sd8797_uapsta.bin \
658"
659FILES:${PN}-sd8801 = " \
660  ${nonarch_base_libdir}/firmware/mrvl/sd8801_uapsta.bin \
661"
662FILES:${PN}-sd8887 = " \
663  ${nonarch_base_libdir}/firmware/mrvl/sd8887_uapsta.bin \
664"
665FILES:${PN}-sd8897 = " \
666  ${nonarch_base_libdir}/firmware/mrvl/sd8897_uapsta.bin \
667"
668do_install:append() {
669    # The kernel 5.6.x driver still uses the old name, provide a symlink for
670    # older kernels
671    ln -fs sdsd8997_combo_v4.bin ${D}${nonarch_base_libdir}/firmware/mrvl/sd8997_uapsta.bin
672}
673FILES:${PN}-sd8997 = " \
674  ${nonarch_base_libdir}/firmware/mrvl/sd8997_uapsta.bin \
675  ${nonarch_base_libdir}/firmware/mrvl/sdsd8997_combo_v4.bin \
676"
677FILES:${PN}-usb8997 = " \
678  ${nonarch_base_libdir}/firmware/mrvl/usbusb8997_combo_v4.bin \
679"
680
681RDEPENDS:${PN}-sd8686 += "${PN}-marvell-license"
682RDEPENDS:${PN}-sd8688 += "${PN}-marvell-license"
683RDEPENDS:${PN}-sd8787 += "${PN}-marvell-license"
684RDEPENDS:${PN}-sd8797 += "${PN}-marvell-license"
685RDEPENDS:${PN}-sd8801 += "${PN}-marvell-license"
686RDEPENDS:${PN}-sd8887 += "${PN}-marvell-license"
687RDEPENDS:${PN}-sd8897 += "${PN}-marvell-license"
688RDEPENDS:${PN}-sd8997 += "${PN}-marvell-license"
689RDEPENDS:${PN}-usb8997 += "${PN}-marvell-license"
690
691# For netronome
692LICENSE:${PN}-netronome = "Firmware-netronome"
693
694FILES:${PN}-netronome-license = " \
695  ${nonarch_base_libdir}/firmware/LICENCE.Netronome \
696"
697FILES:${PN}-netronome = " \
698  ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0081*.nffw \
699  ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0096*.nffw \
700  ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0097*.nffw \
701  ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0099*.nffw \
702  ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0058-0011_2x40.nffw \
703  ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0058-0012_2x40.nffw \
704  ${nonarch_base_libdir}/firmware/netronome/nic_AMDA0078-0011_1x100.nffw \
705  ${nonarch_base_libdir}/firmware/netronome/bpf \
706  ${nonarch_base_libdir}/firmware/netronome/flower \
707  ${nonarch_base_libdir}/firmware/netronome/nic \
708  ${nonarch_base_libdir}/firmware/netronome/nic-sriov \
709"
710
711RDEPENDS:${PN}-netronome += "${PN}-netronome-license"
712
713# For NXP
714LICENSE:${PN}-nxp8987-sdio = "Firmware-nxp"
715LICENSE:${PN}-nxp8997-common = "Firmware-nxp"
716LICENSE:${PN}-nxp8997-pcie = "Firmware-nxp"
717LICENSE:${PN}-nxp8997-sdio = "Firmware-nxp"
718LICENSE:${PN}-nxp9098-common = "Firmware-nxp"
719LICENSE:${PN}-nxp9098-pcie = "Firmware-nxp"
720LICENSE:${PN}-nxp9098-sdio = "Firmware-nxp"
721LICENSE:${PN}-nxpiw416-sdio = "Firmware-nxp"
722LICENSE:${PN}-nxpiw612-sdio = "Firmware-nxp"
723LICENSE:${PN}-nxp-license = "Firmware-nxp"
724
725FILES:${PN}-nxp8987-sdio = "${nonarch_base_libdir}/firmware/nxp/*8987*"
726FILES:${PN}-nxp8997-common = " \
727    ${nonarch_base_libdir}/firmware/nxp/uartuart8997_bt_v4.bin \
728    ${nonarch_base_libdir}/firmware/nxp/helper_uart_3000000.bin \
729"
730ALLOW_EMPTY:${PN}-nxp8997-pcie = "1"
731ALLOW_EMPTY:${PN}-nxp8997-sdio = "1"
732FILES:${PN}-nxp9098-common = "${nonarch_base_libdir}/firmware/nxp/uartuart9098_bt_v1.bin"
733ALLOW_EMPTY:${PN}-nxp9098-pcie = "1"
734ALLOW_EMPTY:${PN}-nxp9098-sdio = "1"
735FILES:${PN}-nxpiw416-sdio = "${nonarch_base_libdir}/firmware/nxp/*iw416*"
736FILES:${PN}-nxpiw612-sdio = "${nonarch_base_libdir}/firmware/nxp/uartspi_n61x_v1.bin.se"
737FILES:${PN}-nxp-license = "${nonarch_base_libdir}/firmware/LICENSE.nxp"
738
739RDEPENDS:${PN}-nxp8987-sdio += "${PN}-nxp-license"
740RDEPENDS:${PN}-nxp8997-common += "${PN}-nxp-license"
741RDEPENDS:${PN}-nxp8997-pcie += "${PN}-nxp8997-common"
742RDEPENDS:${PN}-nxp8997-sdio += "${PN}-nxp8997-common"
743RDEPENDS:${PN}-nxp9098-common += "${PN}-nxp-license"
744RDEPENDS:${PN}-nxp9098-pcie += "${PN}-nxp9098-common"
745RDEPENDS:${PN}-nxp9098-sdio += "${PN}-nxp9098-common"
746RDEPENDS:${PN}-nxpiw416-sdio += "${PN}-nxp-license"
747RDEPENDS:${PN}-nxpiw612-sdio += "${PN}-nxp-license"
748
749# For nxp-mc
750LICENSE:${PN}-nxp-mc = "Firmware-nxp_mc_firmware"
751LICENSE:${PN}-nxp-mc-license = "Firmware-nxp_mc_firmware"
752
753FILES:${PN}-nxp-mc= "${nonarch_base_libdir}/firmware/dpaa2/mc/*"
754FILES:${PN}-nxp-mc-license = " \
755  ${nonarch_base_libdir}/firmware/LICENSE.nxp_mc_firmware \
756"
757RDEPENDS:${PN}-nxp-mc += "${PN}-nxp-mc-license"
758
759# For Nvidia
760LICENSE:${PN}-nvidia-gpu = "Firmware-nvidia"
761LICENSE:${PN}-nvidia-tegra = "Firmware-nvidia"
762LICENSE:${PN}-nvidia-tegra-k1 = "Firmware-nvidia"
763LICENSE:${PN}-nvidia-license = "Firmware-nvidia"
764
765FILES:${PN}-nvidia-gpu = "${nonarch_base_libdir}/firmware/nvidia"
766FILES:${PN}-nvidia-tegra = " \
767  ${nonarch_base_libdir}/firmware/nvidia/tegra* \
768  ${nonarch_base_libdir}/firmware/nvidia/gm20b \
769  ${nonarch_base_libdir}/firmware/nvidia/gp10b \
770"
771FILES:${PN}-nvidia-tegra-k1 = " \
772  ${nonarch_base_libdir}/firmware/nvidia/tegra124 \
773  ${nonarch_base_libdir}/firmware/nvidia/gk20a \
774"
775FILES:${PN}-nvidia-license = "${nonarch_base_libdir}/firmware/LICENCE.nvidia"
776
777RDEPENDS:${PN}-nvidia-gpu += "${PN}-nvidia-license"
778RDEPENDS:${PN}-nvidia-tegra += "${PN}-nvidia-license"
779RDEPENDS:${PN}-nvidia-tegra-k1 += "${PN}-nvidia-license"
780
781# For OLPC
782LICENSE:${PN}-olpc = "Firmware-OLPC"
783LICENSE:${PN}-olpc-license = "Firmware-OLPC"
784
785FILES:${PN}-olpc = " \
786  ${nonarch_base_libdir}/firmware/libertas/lbtf_sdio.bin	\
787  ${nonarch_base_libdir}/firmware/lbtf_usb.bin			\
788  ${nonarch_base_libdir}/firmware/libertas/usb8388_olpc.bin	\
789"
790FILES:${PN}-olpc-license = "${nonarch_base_libdir}/firmware/LICENCE.OLPC"
791
792RDEPENDS:${PN}-olpc += "${PN}-olpc-license"
793
794# For phanfw
795LICENSE:${PN}-phanfw = "Firmware-phanfw"
796LICENSE:${PN}-phanfw-license = "Firmware-phanfw"
797
798FILES:${PN}-phanfw = "${nonarch_base_libdir}/firmware/phanfw.bin"
799FILES:${PN}-phanfw-license = "${nonarch_base_libdir}/firmware/LICENCE.phanfw"
800
801RDEPENDS:${PN}-phanfw += "${PN}-phanfw-license"
802
803# For PowerVR
804LICENSE:${PN}-powervr = "Firmware-powervr"
805LICENSE:${PN}-powervr-license = "Firmware-powervr"
806
807FILES:${PN}-powervr = "${nonarch_base_libdir}/firmware/powervr"
808FILES:${PN}-powervr-license = "${nonarch_base_libdir}/firmware/LICENSE.powervr"
809
810RDEPENDS:${PN}-powervr += "${PN}-powervr-license"
811
812# For qla2xxx
813LICENSE:${PN}-qla2xxx = "Firmware-qla2xxx"
814LICENSE:${PN}-qla2xxx-license = "Firmware-qla2xxx"
815
816FILES:${PN}-qla2xxx = "${nonarch_base_libdir}/firmware/ql2*"
817FILES:${PN}-qla2xxx-license = "${nonarch_base_libdir}/firmware/LICENCE.qla2xxx"
818
819RDEPENDS:${PN}-qla2xxx += "${PN}-qla2xxx-license"
820
821# For RSI RS911x WiFi
822LICENSE:${PN}-rs9113 = "WHENCE"
823LICENSE:${PN}-rs9116 = "WHENCE"
824
825FILES:${PN}-rs9113 = " ${nonarch_base_libdir}/firmware/rsi/rs9113*.rps "
826FILES:${PN}-rs9116 = " ${nonarch_base_libdir}/firmware/rsi/rs9116*.rps "
827
828RDEPENDS:${PN}-rs9113 += "${PN}-whence-license"
829RDEPENDS:${PN}-rs9116 += "${PN}-whence-license"
830
831# For rtl
832LICENSE:${PN}-rtl8188 = "Firmware-rtlwifi_firmware"
833LICENSE:${PN}-rtl8192cu = "Firmware-rtlwifi_firmware"
834LICENSE:${PN}-rtl8192ce = "Firmware-rtlwifi_firmware"
835LICENSE:${PN}-rtl8192su = "Firmware-rtlwifi_firmware"
836LICENSE:${PN}-rtl8723 = "Firmware-rtlwifi_firmware"
837LICENSE:${PN}-rtl8761 = "Firmware-rtlwifi_firmware"
838LICENSE:${PN}-rtl8821 = "Firmware-rtlwifi_firmware"
839LICENSE:${PN}-rtl8822 = "Firmware-rtlwifi_firmware"
840LICENSE:${PN}-rtl-license = "Firmware-rtlwifi_firmware"
841LICENSE:${PN}-rtl-nic = "WHENCE"
842LICENSE:${PN}-rtl8168 = "WHENCE"
843
844FILES:${PN}-rtl-license = " \
845  ${nonarch_base_libdir}/firmware/LICENCE.rtlwifi_firmware.txt \
846"
847FILES:${PN}-rtl8188 = " \
848  ${nonarch_base_libdir}/firmware/rtlwifi/rtl8188*.bin \
849"
850FILES:${PN}-rtl8192cu = " \
851  ${nonarch_base_libdir}/firmware/rtlwifi/rtl8192cufw*.bin \
852"
853FILES:${PN}-rtl8192ce = " \
854  ${nonarch_base_libdir}/firmware/rtlwifi/rtl8192cfw*.bin \
855"
856FILES:${PN}-rtl8192su = " \
857  ${nonarch_base_libdir}/firmware/rtlwifi/rtl8712u.bin \
858"
859FILES:${PN}-rtl8723 = " \
860  ${nonarch_base_libdir}/firmware/rtlwifi/rtl8723*.bin \
861"
862FILES:${PN}-rtl8821 = " \
863  ${nonarch_base_libdir}/firmware/rtlwifi/rtl8821*.bin \
864  ${nonarch_base_libdir}/firmware/rtw88/rtw8821*.bin \
865"
866FILES:${PN}-rtl8761 = " \
867  ${nonarch_base_libdir}/firmware/rtl_bt/rtl8761*.bin \
868"
869FILES:${PN}-rtl8168 = " \
870  ${nonarch_base_libdir}/firmware/rtl_nic/rtl8168*.fw \
871"
872FILES:${PN}-rtl8822 = " \
873  ${nonarch_base_libdir}/firmware/rtl_bt/rtl8822*.bin \
874  ${nonarch_base_libdir}/firmware/rtw88/rtw8822*.bin \
875  ${nonarch_base_libdir}/firmware/rtlwifi/rtl8822*.bin \
876"
877FILES:${PN}-rtl-nic = " \
878  ${nonarch_base_libdir}/firmware/rtl_nic/*.fw \
879"
880
881RDEPENDS:${PN}-rtl8188 += "${PN}-rtl-license"
882RDEPENDS:${PN}-rtl8192ce += "${PN}-rtl-license"
883RDEPENDS:${PN}-rtl8192cu += "${PN}-rtl-license"
884RDEPENDS:${PN}-rtl8192su = "${PN}-rtl-license"
885RDEPENDS:${PN}-rtl8723 += "${PN}-rtl-license"
886RDEPENDS:${PN}-rtl8821 += "${PN}-rtl-license"
887RDEPENDS:${PN}-rtl8761 += "${PN}-rtl-license"
888RDEPENDS:${PN}-rtl8822 += "${PN}-rtl-license"
889RDEPENDS:${PN}-rtl8168 += "${PN}-whence-license"
890RDEPENDS:${PN}-rtl-nic += "${PN}-whence-license"
891
892# For TI wl1251
893LICENSE:${PN}-wl1251 = "Firmware-wl1251"
894LICENSE:${PN}-wl1251-license = "Firmware-wl1251"
895
896FILES:${PN}-wl1251 = " \
897  ${nonarch_base_libdir}/firmware/ti-connectivity/wl1251-fw.bin         \
898  ${nonarch_base_libdir}/firmware/ti-connectivity/wl1251-nvs.bin        \
899"
900FILES:${PN}-wl1251-license = "${nonarch_base_libdir}/firmware/LICENCE.wl1251"
901
902RDEPENDS:${PN}-wl1251 += "${PN}-wl1251-license"
903
904# For ti-connectivity
905LICENSE:${PN}-wlcommon = "Firmware-ti-connectivity"
906LICENSE:${PN}-wl12xx = "Firmware-ti-connectivity"
907LICENSE:${PN}-wl18xx = "Firmware-ti-connectivity"
908LICENSE:${PN}-ti-connectivity-license = "Firmware-ti-connectivity"
909
910FILES:${PN}-ti-connectivity-license = "${nonarch_base_libdir}/firmware/LICENCE.ti-connectivity"
911# wl18xx optionally needs wl1271-nvs.bin (which itself is a symlink to
912# wl127x-nvs.bin) - see linux/drivers/net/wireless/ti/wlcore/sdio.c
913# and drivers/net/wireless/ti/wlcore/spi.c.
914# While they're optional and actually only used to override the MAC
915# address on wl18xx, driver loading will delay (by udev timout - 60s)
916# if not there. So let's make it available always. Because it's a
917# symlink, both need to go to wlcommon.
918FILES:${PN}-wlcommon = " \
919  ${nonarch_base_libdir}/firmware/ti-connectivity/TI* \
920  ${nonarch_base_libdir}/firmware/ti-connectivity/wl127x-nvs.bin \
921  ${nonarch_base_libdir}/firmware/ti-connectivity/wl1271-nvs.bin \
922"
923FILES:${PN}-wl12xx = " \
924  ${nonarch_base_libdir}/firmware/ti-connectivity/wl12* \
925"
926FILES:${PN}-wl18xx = " \
927  ${nonarch_base_libdir}/firmware/ti-connectivity/wl18* \
928"
929
930RDEPENDS:${PN}-wl12xx = "${PN}-ti-connectivity-license ${PN}-wlcommon"
931RDEPENDS:${PN}-wl18xx = "${PN}-ti-connectivity-license ${PN}-wlcommon"
932
933# For ti-keystone
934LICENSE:${PN}-ti-keystone = "Firmware-ti-keystone"
935LICENSE:${PN}-ti-keystone-license = "Firmware-ti-keystone"
936
937FILES:${PN}-ti-keystone = "${nonarch_base_libdir}/firmware/ti-keystone/*"
938FILES:${PN}-ti-keystone-license = " \
939  ${nonarch_base_libdir}/firmware/LICENCE.ti-keystone \
940"
941RDEPENDS:${PN}-ti-keystone += "${PN}-ti-keystone-license"
942
943# For vt6656
944LICENSE:${PN}-vt6656 = "Firmware-via_vt6656"
945LICENSE:${PN}-vt6656-license = "Firmware-via_vt6656"
946
947FILES:${PN}-vt6656-license = "${nonarch_base_libdir}/firmware/LICENCE.via_vt6656"
948FILES:${PN}-vt6656 = " \
949  ${nonarch_base_libdir}/firmware/vntwusb.fw \
950"
951
952RDEPENDS:${PN}-vt6656 = "${PN}-vt6656-license"
953
954# For xc4000
955LICENSE:${PN}-xc4000 = "Firmware-xc4000"
956LICENSE:${PN}-xc4000-license = "Firmware-xc4000"
957
958FILES:${PN}-xc4000 = "${nonarch_base_libdir}/firmware/dvb-fe-xc4000-1.4.1.fw"
959FILES:${PN}-xc4000-license = "${nonarch_base_libdir}/firmware/LICENCE.xc4000"
960
961RDEPENDS:${PN}-xc4000 += "${PN}-xc4000-license"
962
963# For xc5000
964LICENSE:${PN}-xc5000 = "Firmware-xc5000"
965LICENSE:${PN}-xc5000-license = "Firmware-xc5000"
966
967FILES:${PN}-xc5000 = "${nonarch_base_libdir}/firmware/dvb-fe-xc5000-1.6.114.fw"
968FILES:${PN}-xc5000-license = "${nonarch_base_libdir}/firmware/LICENCE.xc5000"
969
970RDEPENDS:${PN}-xc5000 += "${PN}-xc5000-license"
971
972# For xc5000c
973LICENSE:${PN}-xc5000c = "Firmware-xc5000c"
974LICENSE:${PN}-xc5000c-license = "Firmware-xc5000c"
975
976FILES:${PN}-xc5000c = " \
977  ${nonarch_base_libdir}/firmware/dvb-fe-xc5000c-4.1.30.7.fw \
978"
979FILES:${PN}-xc5000c-license = "${nonarch_base_libdir}/firmware/LICENCE.xc5000c"
980
981RDEPENDS:${PN}-xc5000c += "${PN}-xc5000c-license"
982
983# For broadcom
984
985# for i in `grep brcm WHENCE  | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo -e "             \${PN}-$pkg \\"; done  | sort -u
986
987LICENSE:${PN}-broadcom-license = "Firmware-broadcom_bcm43xx"
988FILES:${PN}-broadcom-license = "${nonarch_base_libdir}/firmware/LICENCE.broadcom_bcm43xx"
989
990# for i in `grep brcm WHENCE  | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo "$i - $pkg"; echo -e "FILES:\${PN}-$pkg = \"\${nonarch_base_libdir}/firmware/brcm/$i\""; done | grep ^FILES
991
992FILES:${PN}-bcm43xx = "${nonarch_base_libdir}/firmware/brcm/bcm43xx-0.fw"
993FILES:${PN}-bcm43xx-hdr = "${nonarch_base_libdir}/firmware/brcm/bcm43xx_hdr-0.fw"
994FILES:${PN}-bcm4329-fullmac = "${nonarch_base_libdir}/firmware/brcm/bcm4329-fullmac-4.bin"
995FILES:${PN}-bcm43236b = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43236b.bin"
996FILES:${PN}-bcm4329 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4329-sdio.bin"
997FILES:${PN}-bcm4330 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4330-sdio.*"
998FILES:${PN}-bcm4334 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4334-sdio.bin"
999FILES:${PN}-bcm4335 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4335-sdio.bin"
1000FILES:${PN}-bcm4339 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4339-sdio.bin \
1001  ${nonarch_base_libdir}/firmware/cypress/cyfmac4339-sdio.bin \
1002"
1003FILES:${PN}-bcm43241b0 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b0-sdio.bin"
1004FILES:${PN}-bcm43241b4 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b4-sdio.bin"
1005FILES:${PN}-bcm43241b5 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43241b5-sdio.bin"
1006FILES:${PN}-bcm43242a = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43242a.bin"
1007FILES:${PN}-bcm43143 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43143.bin \
1008  ${nonarch_base_libdir}/firmware/brcm/brcmfmac43143-sdio.bin \
1009"
1010FILES:${PN}-bcm43430a0 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430a0-sdio.*"
1011FILES:${PN}-bcm43455 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43455-sdio.* \
1012  ${nonarch_base_libdir}/firmware/cypress/cyfmac43455-sdio.* \
1013"
1014FILES:${PN}-bcm4350c2 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4350c2-pcie.bin"
1015FILES:${PN}-bcm4350 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4350-pcie.bin"
1016FILES:${PN}-bcm4356 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-sdio.* \
1017  ${nonarch_base_libdir}/firmware/cypress/cyfmac4356-sdio.* \
1018"
1019FILES:${PN}-bcm43569 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43569.bin"
1020FILES:${PN}-bcm43570 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43570-pcie.bin \
1021  ${nonarch_base_libdir}/firmware/cypress/cyfmac43570-pcie.bin \
1022"
1023FILES:${PN}-bcm4358 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4358-pcie.bin"
1024FILES:${PN}-bcm43602 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43602-pcie.bin \
1025  ${nonarch_base_libdir}/firmware/brcm/brcmfmac43602-pcie.ap.bin \
1026"
1027FILES:${PN}-bcm4366b = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4366b-pcie.bin"
1028FILES:${PN}-bcm4366c = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4366c-pcie.bin"
1029FILES:${PN}-bcm4371 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4371-pcie.bin"
1030
1031# for i in `grep brcm WHENCE  | grep ^File | sed 's/File: brcm.//g'`; do pkg=`echo $i | sed 's/-[sp40].*//g; s/\.bin//g; s/brcmfmac/bcm/g; s/_hdr/-hdr/g; s/BCM/bcm-0bb4-0306/g'`; echo -e "LICENSE:\${PN}-$pkg = \"Firmware-broadcom_bcm43xx\"\nRDEPENDS_\${PN}-$pkg += \"\${PN}-broadcom-license\""; done
1032# Currently 1st one and last 6 have cypress LICENSE
1033
1034LICENSE:${PN}-bcm43xx = "Firmware-broadcom_bcm43xx"
1035RDEPENDS:${PN}-bcm43xx += "${PN}-broadcom-license"
1036LICENSE:${PN}-bcm43xx-hdr = "Firmware-broadcom_bcm43xx"
1037RDEPENDS:${PN}-bcm43xx-hdr += "${PN}-broadcom-license"
1038LICENSE:${PN}-bcm4329-fullmac = "Firmware-broadcom_bcm43xx"
1039RDEPENDS:${PN}-bcm4329-fullmac += "${PN}-broadcom-license"
1040LICENSE:${PN}-bcm43236b = "Firmware-broadcom_bcm43xx"
1041RDEPENDS:${PN}-bcm43236b += "${PN}-broadcom-license"
1042LICENSE:${PN}-bcm4329 = "Firmware-broadcom_bcm43xx"
1043RDEPENDS:${PN}-bcm4329 += "${PN}-broadcom-license"
1044LICENSE:${PN}-bcm4330 = "Firmware-broadcom_bcm43xx"
1045RDEPENDS:${PN}-bcm4330 += "${PN}-broadcom-license"
1046LICENSE:${PN}-bcm4334 = "Firmware-broadcom_bcm43xx"
1047RDEPENDS:${PN}-bcm4334 += "${PN}-broadcom-license"
1048LICENSE:${PN}-bcm4335 = "Firmware-broadcom_bcm43xx"
1049RDEPENDS:${PN}-bcm4335 += "${PN}-broadcom-license"
1050LICENSE:${PN}-bcm4339 = "Firmware-broadcom_bcm43xx"
1051RDEPENDS:${PN}-bcm4339 += "${PN}-broadcom-license"
1052LICENSE:${PN}-bcm43241b0 = "Firmware-broadcom_bcm43xx"
1053RDEPENDS:${PN}-bcm43241b0 += "${PN}-broadcom-license"
1054LICENSE:${PN}-bcm43241b4 = "Firmware-broadcom_bcm43xx"
1055RDEPENDS:${PN}-bcm43241b4 += "${PN}-broadcom-license"
1056LICENSE:${PN}-bcm43241b5 = "Firmware-broadcom_bcm43xx"
1057RDEPENDS:${PN}-bcm43241b5 += "${PN}-broadcom-license"
1058LICENSE:${PN}-bcm43242a = "Firmware-broadcom_bcm43xx"
1059RDEPENDS:${PN}-bcm43242a += "${PN}-broadcom-license"
1060LICENSE:${PN}-bcm43143 = "Firmware-broadcom_bcm43xx"
1061RDEPENDS:${PN}-bcm43143 += "${PN}-broadcom-license"
1062LICENSE:${PN}-bcm43430a0 = "Firmware-broadcom_bcm43xx"
1063RDEPENDS:${PN}-bcm43430a0 += "${PN}-broadcom-license"
1064LICENSE:${PN}-bcm43455 = "Firmware-broadcom_bcm43xx"
1065RDEPENDS:${PN}-bcm43455 += "${PN}-broadcom-license"
1066LICENSE:${PN}-bcm4350c2 = "Firmware-broadcom_bcm43xx"
1067RDEPENDS:${PN}-bcm4350c2 += "${PN}-broadcom-license"
1068LICENSE:${PN}-bcm4350 = "Firmware-broadcom_bcm43xx"
1069RDEPENDS:${PN}-bcm4350 += "${PN}-broadcom-license"
1070LICENSE:${PN}-bcm4356 = "Firmware-broadcom_bcm43xx"
1071RDEPENDS:${PN}-bcm4356 += "${PN}-broadcom-license"
1072LICENSE:${PN}-bcm43569 = "Firmware-broadcom_bcm43xx"
1073RDEPENDS:${PN}-bcm43569 += "${PN}-broadcom-license"
1074LICENSE:${PN}-bcm43570 = "Firmware-broadcom_bcm43xx"
1075RDEPENDS:${PN}-bcm43570 += "${PN}-broadcom-license"
1076LICENSE:${PN}-bcm4358 = "Firmware-broadcom_bcm43xx"
1077RDEPENDS:${PN}-bcm4358 += "${PN}-broadcom-license"
1078LICENSE:${PN}-bcm43602 = "Firmware-broadcom_bcm43xx"
1079RDEPENDS:${PN}-bcm43602 += "${PN}-broadcom-license"
1080LICENSE:${PN}-bcm4366b = "Firmware-broadcom_bcm43xx"
1081RDEPENDS:${PN}-bcm4366b += "${PN}-broadcom-license"
1082LICENSE:${PN}-bcm4366c = "Firmware-broadcom_bcm43xx"
1083RDEPENDS:${PN}-bcm4366c += "${PN}-broadcom-license"
1084LICENSE:${PN}-bcm4371 = "Firmware-broadcom_bcm43xx"
1085RDEPENDS:${PN}-bcm4371 += "${PN}-broadcom-license"
1086
1087# For broadcom cypress
1088
1089LICENSE:${PN}-cypress-license = "Firmware-cypress"
1090FILES:${PN}-cypress-license = "${nonarch_base_libdir}/firmware/LICENCE.cypress"
1091
1092FILES:${PN}-bcm-0bb4-0306 = "${nonarch_base_libdir}/firmware/brcm/BCM-0bb4-0306.hcd"
1093FILES:${PN}-bcm43340 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43340-sdio.* \
1094  ${nonarch_base_libdir}/firmware/cypress/cyfmac43340-sdio.*"
1095FILES:${PN}-bcm43362 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43362-sdio.* \
1096  ${nonarch_base_libdir}/firmware/cypress/cyfmac43362-sdio.*"
1097FILES:${PN}-bcm43430 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac43430-sdio.* \
1098  ${nonarch_base_libdir}/firmware/cypress/cyfmac43430-sdio.*"
1099FILES:${PN}-bcm4354 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4354-sdio.bin \
1100  ${nonarch_base_libdir}/firmware/cypress/cyfmac4354-sdio.bin \
1101"
1102FILES:${PN}-bcm4356-pcie = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4356-pcie.* \
1103  ${nonarch_base_libdir}/firmware/cypress/cyfmac4356-pcie.* \
1104"
1105FILES:${PN}-bcm4373 = "${nonarch_base_libdir}/firmware/brcm/brcmfmac4373-sdio.bin \
1106  ${nonarch_base_libdir}/firmware/brcm/brcmfmac4373.bin \
1107  ${nonarch_base_libdir}/firmware/cypress/cyfmac4373-sdio.bin \
1108  ${nonarch_base_libdir}/firmware/brcm/brcmfmac4373-sdio.clm_blob \
1109  ${nonarch_base_libdir}/firmware/cypress/cyfmac4373-sdio.clm_blob \
1110"
1111
1112LICENSE:${PN}-bcm-0bb4-0306 = "Firmware-cypress"
1113RDEPENDS:${PN}-bcm-0bb4-0306 += "${PN}-cypress-license"
1114LICENSE:${PN}-bcm43340 = "Firmware-cypress"
1115RDEPENDS:${PN}-bcm43340 += "${PN}-cypress-license"
1116LICENSE:${PN}-bcm43362 = "Firmware-cypress"
1117RDEPENDS:${PN}-bcm43362 += "${PN}-cypress-license"
1118LICENSE:${PN}-bcm43430 = "Firmware-cypress"
1119RDEPENDS:${PN}-bcm43430 += "${PN}-cypress-license"
1120LICENSE:${PN}-bcm4354 = "Firmware-cypress"
1121RDEPENDS:${PN}-bcm4354 += "${PN}-cypress-license"
1122LICENSE:${PN}-bcm4356-pcie = "Firmware-cypress"
1123RDEPENDS:${PN}-bcm4356-pcie += "${PN}-cypress-license"
1124LICENSE:${PN}-bcm4373 = "Firmware-cypress"
1125RDEPENDS:${PN}-bcm4373 += "${PN}-cypress-license"
1126
1127# For Broadcom bnx2
1128#
1129# which is a separate case to the other Broadcom firmwares since its
1130# license is contained in the shared WHENCE file.
1131
1132LICENSE:${PN}-bnx2 = "WHENCE"
1133LICENSE:${PN}-whence-license = "WHENCE"
1134
1135FILES:${PN}-bnx2 = " \
1136    ${nonarch_base_libdir}/firmware/bnx2/bnx2-mips*.fw \
1137    ${nonarch_base_libdir}/firmware/bnx2/bnx2-rv2p*.fw \
1138"
1139FILES:${PN}-whence-license = "${nonarch_base_libdir}/firmware/WHENCE"
1140
1141RDEPENDS:${PN}-bnx2 += "${PN}-whence-license"
1142RPROVIDES:${PN}-bnx2 = "${PN}-bnx2-mips"
1143
1144LICENSE:${PN}-bnx2x = "WHENCE"
1145
1146FILES:${PN}-bnx2x = "${nonarch_base_libdir}/firmware/bnx2x/bnx2x*.fw"
1147
1148RDEPENDS:${PN}-bnx2x += "${PN}-whence-license"
1149
1150# For cirrus
1151LICENSE:${PN}-cirrus = "Firmware-cirrus"
1152LICENSE:${PN}-cirrus-license = "Firmware-cirrus"
1153
1154FILES:${PN}-cirrus = "${nonarch_base_libdir}/firmware/cirrus/*"
1155FILES:${PN}-cirrus-license = "${nonarch_base_libdir}/firmware/LICENSE.cirrus"
1156
1157RDEPENDS:${PN}-cirrus += "${PN}-cirrus-license"
1158
1159# For cnm
1160LICENSE:${PN}-cnm = "Firmware-cnm"
1161LICENSE:${PN}-cnm-license = "Firmware-cnm"
1162
1163FILES:${PN}-cnm = "${nonarch_base_libdir}/firmware/cnm/wave521c_k3_codec_fw.bin"
1164FILES:${PN}-cnm-license = "${nonarch_base_libdir}/firmware/LICENCE.cnm"
1165
1166RDEPENDS:${PN}-cnm += "${PN}-cnm-license"
1167
1168# For imx-sdma
1169LICENSE:${PN}-imx-sdma-imx6q       = "Firmware-imx-sdma_firmware"
1170LICENSE:${PN}-imx-sdma-imx7d       = "Firmware-imx-sdma_firmware"
1171LICENSE:${PN}-imx-sdma-license       = "Firmware-imx-sdma_firmware"
1172
1173FILES:${PN}-imx-sdma-imx6q = "${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx6q.bin"
1174
1175RPROVIDES:${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q"
1176RREPLACES:${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q"
1177RCONFLICTS:${PN}-imx-sdma-imx6q = "firmware-imx-sdma-imx6q"
1178
1179FILES:${PN}-imx-sdma-imx7d = "${nonarch_base_libdir}/firmware/imx/sdma/sdma-imx7d.bin"
1180
1181FILES:${PN}-imx-sdma-license = "${nonarch_base_libdir}/firmware/LICENSE.sdma_firmware"
1182
1183RDEPENDS:${PN}-imx-sdma-imx6q += "${PN}-imx-sdma-license"
1184RDEPENDS:${PN}-imx-sdma-imx7d += "${PN}-imx-sdma-license"
1185
1186# For iwlwifi
1187LICENSE:${PN}-iwlwifi           = "Firmware-iwlwifi_firmware"
1188LICENSE:${PN}-iwlwifi-135-6     = "Firmware-iwlwifi_firmware"
1189LICENSE:${PN}-iwlwifi-3160-7    = "Firmware-iwlwifi_firmware"
1190LICENSE:${PN}-iwlwifi-3160-8    = "Firmware-iwlwifi_firmware"
1191LICENSE:${PN}-iwlwifi-3160-9    = "Firmware-iwlwifi_firmware"
1192LICENSE:${PN}-iwlwifi-3160-10   = "Firmware-iwlwifi_firmware"
1193LICENSE:${PN}-iwlwifi-3160-12   = "Firmware-iwlwifi_firmware"
1194LICENSE:${PN}-iwlwifi-3160-13   = "Firmware-iwlwifi_firmware"
1195LICENSE:${PN}-iwlwifi-3160-16   = "Firmware-iwlwifi_firmware"
1196LICENSE:${PN}-iwlwifi-3160-17   = "Firmware-iwlwifi_firmware"
1197LICENSE:${PN}-iwlwifi-6000-4    = "Firmware-iwlwifi_firmware"
1198LICENSE:${PN}-iwlwifi-6000g2a-5 = "Firmware-iwlwifi_firmware"
1199LICENSE:${PN}-iwlwifi-6000g2a-6 = "Firmware-iwlwifi_firmware"
1200LICENSE:${PN}-iwlwifi-6000g2b-5 = "Firmware-iwlwifi_firmware"
1201LICENSE:${PN}-iwlwifi-6000g2b-6 = "Firmware-iwlwifi_firmware"
1202LICENSE:${PN}-iwlwifi-6050-4    = "Firmware-iwlwifi_firmware"
1203LICENSE:${PN}-iwlwifi-6050-5    = "Firmware-iwlwifi_firmware"
1204LICENSE:${PN}-iwlwifi-7260      = "Firmware-iwlwifi_firmware"
1205LICENSE:${PN}-iwlwifi-7265      = "Firmware-iwlwifi_firmware"
1206LICENSE:${PN}-iwlwifi-7265d     = "Firmware-iwlwifi_firmware"
1207LICENSE:${PN}-iwlwifi-8000c     = "Firmware-iwlwifi_firmware"
1208LICENSE:${PN}-iwlwifi-8265      = "Firmware-iwlwifi_firmware"
1209LICENSE:${PN}-iwlwifi-9000      = "Firmware-iwlwifi_firmware"
1210LICENSE:${PN}-iwlwifi-9260      = "Firmware-iwlwifi_firmware"
1211LICENSE:${PN}-iwlwifi-misc      = "Firmware-iwlwifi_firmware"
1212LICENSE:${PN}-iwlwifi-license   = "Firmware-iwlwifi_firmware"
1213
1214
1215FILES:${PN}-iwlwifi-license = "${nonarch_base_libdir}/firmware/LICENCE.iwlwifi_firmware"
1216FILES:${PN}-iwlwifi-135-6 = "${nonarch_base_libdir}/firmware/iwlwifi-135-6.ucode"
1217FILES:${PN}-iwlwifi-3160-7 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-7.ucode"
1218FILES:${PN}-iwlwifi-3160-8 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-8.ucode"
1219FILES:${PN}-iwlwifi-3160-9 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-9.ucode"
1220FILES:${PN}-iwlwifi-3160-10 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-10.ucode"
1221FILES:${PN}-iwlwifi-3160-12 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-12.ucode"
1222FILES:${PN}-iwlwifi-3160-13 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-13.ucode"
1223FILES:${PN}-iwlwifi-3160-16 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-16.ucode"
1224FILES:${PN}-iwlwifi-3160-17 = "${nonarch_base_libdir}/firmware/iwlwifi-3160-17.ucode"
1225FILES:${PN}-iwlwifi-6000-4 = "${nonarch_base_libdir}/firmware/iwlwifi-6000-4.ucode"
1226FILES:${PN}-iwlwifi-6000g2a-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2a-5.ucode"
1227FILES:${PN}-iwlwifi-6000g2a-6 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2a-6.ucode"
1228FILES:${PN}-iwlwifi-6000g2b-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2b-5.ucode"
1229FILES:${PN}-iwlwifi-6000g2b-6 = "${nonarch_base_libdir}/firmware/iwlwifi-6000g2b-6.ucode"
1230FILES:${PN}-iwlwifi-6050-4 = "${nonarch_base_libdir}/firmware/iwlwifi-6050-4.ucode"
1231FILES:${PN}-iwlwifi-6050-5 = "${nonarch_base_libdir}/firmware/iwlwifi-6050-5.ucode"
1232FILES:${PN}-iwlwifi-7260   = "${nonarch_base_libdir}/firmware/iwlwifi-7260-*.ucode"
1233FILES:${PN}-iwlwifi-7265   = "${nonarch_base_libdir}/firmware/iwlwifi-7265-*.ucode"
1234FILES:${PN}-iwlwifi-7265d   = "${nonarch_base_libdir}/firmware/iwlwifi-7265D-*.ucode"
1235FILES:${PN}-iwlwifi-8000c   = "${nonarch_base_libdir}/firmware/iwlwifi-8000C-*.ucode"
1236FILES:${PN}-iwlwifi-8265   = "${nonarch_base_libdir}/firmware/iwlwifi-8265-*.ucode"
1237FILES:${PN}-iwlwifi-9000   = "${nonarch_base_libdir}/firmware/iwlwifi-9000-*.ucode"
1238FILES:${PN}-iwlwifi-9260   = "${nonarch_base_libdir}/firmware/iwlwifi-9260-*.ucode"
1239FILES:${PN}-iwlwifi-misc   = " \
1240    ${nonarch_base_libdir}/firmware/iwlwifi-*.ucode \
1241    ${nonarch_base_libdir}/firmware/iwlwifi-*.pnvm \
1242"
1243
1244RDEPENDS:${PN}-iwlwifi-135-6     = "${PN}-iwlwifi-license"
1245RDEPENDS:${PN}-iwlwifi-3160-7    = "${PN}-iwlwifi-license"
1246RDEPENDS:${PN}-iwlwifi-3160-8    = "${PN}-iwlwifi-license"
1247RDEPENDS:${PN}-iwlwifi-3160-9    = "${PN}-iwlwifi-license"
1248RDEPENDS:${PN}-iwlwifi-3160-10   = "${PN}-iwlwifi-license"
1249RDEPENDS:${PN}-iwlwifi-3160-12   = "${PN}-iwlwifi-license"
1250RDEPENDS:${PN}-iwlwifi-3160-13   = "${PN}-iwlwifi-license"
1251RDEPENDS:${PN}-iwlwifi-3160-16   = "${PN}-iwlwifi-license"
1252RDEPENDS:${PN}-iwlwifi-3160-17   = "${PN}-iwlwifi-license"
1253RDEPENDS:${PN}-iwlwifi-6000-4    = "${PN}-iwlwifi-license"
1254RDEPENDS:${PN}-iwlwifi-6000g2a-5 = "${PN}-iwlwifi-license"
1255RDEPENDS:${PN}-iwlwifi-6000g2a-6 = "${PN}-iwlwifi-license"
1256RDEPENDS:${PN}-iwlwifi-6000g2b-5 = "${PN}-iwlwifi-license"
1257RDEPENDS:${PN}-iwlwifi-6000g2b-6 = "${PN}-iwlwifi-license"
1258RDEPENDS:${PN}-iwlwifi-6050-4    = "${PN}-iwlwifi-license"
1259RDEPENDS:${PN}-iwlwifi-6050-5    = "${PN}-iwlwifi-license"
1260RDEPENDS:${PN}-iwlwifi-7260      = "${PN}-iwlwifi-license"
1261RDEPENDS:${PN}-iwlwifi-7265      = "${PN}-iwlwifi-license"
1262RDEPENDS:${PN}-iwlwifi-7265d     = "${PN}-iwlwifi-license"
1263RDEPENDS:${PN}-iwlwifi-8000c     = "${PN}-iwlwifi-license"
1264RDEPENDS:${PN}-iwlwifi-8265      = "${PN}-iwlwifi-license"
1265RDEPENDS:${PN}-iwlwifi-9000      = "${PN}-iwlwifi-license"
1266RDEPENDS:${PN}-iwlwifi-9260      = "${PN}-iwlwifi-license"
1267RDEPENDS:${PN}-iwlwifi-misc      = "${PN}-iwlwifi-license"
1268
1269# -iwlwifi-misc is a "catch all" package that includes all the iwlwifi
1270# firmwares that are not already included in other -iwlwifi- packages.
1271# -iwlwifi is a virtual package that depends upon all iwlwifi packages.
1272# These are distinct in order to allow the -misc firmwares to be installed
1273# without pulling in every other iwlwifi package.
1274ALLOW_EMPTY:${PN}-iwlwifi = "1"
1275ALLOW_EMPTY:${PN}-iwlwifi-misc = "1"
1276
1277# Handle package updating for the newly merged iwlwifi groupings
1278RPROVIDES:${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9"
1279RREPLACES:${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9"
1280RCONFLICTS:${PN}-iwlwifi-7265 = "${PN}-iwlwifi-7265-8 ${PN}-iwlwifi-7265-9"
1281
1282RPROVIDES:${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9"
1283RREPLACES:${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9"
1284RCONFLICTS:${PN}-iwlwifi-7260 = "${PN}-iwlwifi-7260-7 ${PN}-iwlwifi-7260-8 ${PN}-iwlwifi-7260-9"
1285
1286# For ibt
1287LICENSE:${PN}-ibt-license = "Firmware-ibt_firmware"
1288LICENSE:${PN}-ibt-hw-37-7 = "Firmware-ibt_firmware"
1289LICENSE:${PN}-ibt-hw-37-8 = "Firmware-ibt_firmware"
1290LICENSE:${PN}-ibt-11-5    = "Firmware-ibt_firmware"
1291LICENSE:${PN}-ibt-12-16   = "Firmware-ibt_firmware"
1292LICENSE:${PN}-ibt-17 = "Firmware-ibt_firmware"
1293LICENSE:${PN}-ibt-18    = "Firmware-ibt_firmware"
1294LICENSE:${PN}-ibt-20 = "Firmware-ibt_firmware"
1295LICENSE:${PN}-ibt-misc    = "Firmware-ibt_firmware"
1296
1297FILES:${PN}-ibt-license = "${nonarch_base_libdir}/firmware/LICENCE.ibt_firmware"
1298FILES:${PN}-ibt-hw-37-7 = "${nonarch_base_libdir}/firmware/intel/ibt-hw-37.7*.bseq"
1299FILES:${PN}-ibt-hw-37-8 = "${nonarch_base_libdir}/firmware/intel/ibt-hw-37.8*.bseq"
1300FILES:${PN}-ibt-11-5    = "${nonarch_base_libdir}/firmware/intel/ibt-11-5.sfi ${nonarch_base_libdir}/firmware/intel/ibt-11-5.ddc"
1301FILES:${PN}-ibt-12-16   = "${nonarch_base_libdir}/firmware/intel/ibt-12-16.sfi ${nonarch_base_libdir}/firmware/intel/ibt-12-16.ddc"
1302FILES:${PN}-ibt-17 = "${nonarch_base_libdir}/firmware/intel/ibt-17-*.sfi ${nonarch_base_libdir}/firmware/intel/ibt-17-*.ddc"
1303FILES:${PN}-ibt-18      = "${nonarch_base_libdir}/firmware/intel/ibt-18-*.sfi ${nonarch_base_libdir}/firmware/intel/ibt-18-*.ddc"
1304FILES:${PN}-ibt-20 = "${nonarch_base_libdir}/firmware/intel/ibt-20-*.sfi ${nonarch_base_libdir}/firmware/intel/ibt-20-*.ddc"
1305FILES:${PN}-ibt-misc    = "${nonarch_base_libdir}/firmware/intel/ibt-*"
1306
1307RDEPENDS:${PN}-ibt-hw-37-7 = "${PN}-ibt-license"
1308RDEPENDS:${PN}-ibt-hw-37.8 = "${PN}-ibt-license"
1309RDEPENDS:${PN}-ibt-11-5    = "${PN}-ibt-license"
1310RDEPENDS:${PN}-ibt-12-16   = "${PN}-ibt-license"
1311RDEPENDS:${PN}-ibt-17 = "${PN}-ibt-license"
1312RDEPENDS:${PN}-ibt-18      = "${PN}-ibt-license"
1313RDEPENDS:${PN}-ibt-20 = "${PN}-ibt-license"
1314RDEPENDS:${PN}-ibt-misc    = "${PN}-ibt-license"
1315
1316ALLOW_EMPTY:${PN}-ibt= "1"
1317ALLOW_EMPTY:${PN}-ibt-misc = "1"
1318
1319LICENSE:${PN}-i915       = "Firmware-i915"
1320LICENSE:${PN}-i915-license = "Firmware-i915"
1321FILES:${PN}-i915-license = "${nonarch_base_libdir}/firmware/LICENSE.i915"
1322FILES:${PN}-i915         = "${nonarch_base_libdir}/firmware/i915"
1323RDEPENDS:${PN}-i915      = "${PN}-i915-license"
1324
1325# For ice-enhanced
1326LICENSE:${PN}-ice-enhanced         = "Firmware-ice_enhanced"
1327LICENSE:${PN}-ice-enhanced-license = "Firmware-ice_enhanced"
1328
1329FILES:${PN}-ice-enhanced           = " \
1330  ${nonarch_base_libdir}/firmware/intel/ice/ddp-comms/* \
1331  ${nonarch_base_libdir}/firmware/intel/ice/ddp-wireless_edge/* \
1332"
1333FILES:${PN}-ice-enhanced-license   = " \
1334  ${nonarch_base_libdir}/firmware/LICENSE.ice_enhanced \
1335"
1336RDEPENDS:${PN}-ice-enhanced        = "${PN}-ice-enhanced-license"
1337
1338LICENSE:${PN}-ice       = "Firmware-ice"
1339LICENSE:${PN}-ice-license = "Firmware-ice"
1340FILES:${PN}-ice-license = "${nonarch_base_libdir}/firmware/LICENSE.ice"
1341FILES:${PN}-ice         = " \
1342  ${nonarch_base_libdir}/firmware/intel/ice/ddp/* \
1343  ${nonarch_base_libdir}/firmware/intel/ice/ddp-lag/* \
1344"
1345RDEPENDS:${PN}-ice      = "${PN}-ice-license"
1346
1347FILES:${PN}-adsp-sst-license      = "${nonarch_base_libdir}/firmware/LICENCE.adsp_sst"
1348LICENSE:${PN}-adsp-sst            = "Firmware-adsp_sst"
1349LICENSE:${PN}-adsp-sst-license    = "Firmware-adsp_sst"
1350FILES:${PN}-adsp-sst              = "${nonarch_base_libdir}/firmware/intel/dsp_fw*"
1351RDEPENDS:${PN}-adsp-sst           = "${PN}-adsp-sst-license"
1352
1353# For QAT
1354LICENSE:${PN}-qat         = "Firmware-qat"
1355LICENSE:${PN}-qat-license = "Firmware-qat"
1356FILES:${PN}-qat-license   = "${nonarch_base_libdir}/firmware/LICENCE.qat_firmware"
1357FILES:${PN}-qat           = "${nonarch_base_libdir}/firmware/qat*.bin"
1358RDEPENDS:${PN}-qat        = "${PN}-qat-license"
1359
1360LICENSE:${PN}-qed         = "WHENCE"
1361FILES:${PN}-qed           = "${nonarch_base_libdir}/firmware/qed/*"
1362
1363# For QCOM VPU/GPU and SDM845
1364LICENSE:${PN}-qcom-license = "Firmware-qcom"
1365LICENSE:${PN}-qcom-yamato-license = "Firmware-qcom-yamato"
1366LICENSE:${PN}-qcom-venus-1.8 = "Firmware-qcom"
1367LICENSE:${PN}-qcom-venus-4.2 = "Firmware-qcom"
1368LICENSE:${PN}-qcom-venus-5.2 = "Firmware-qcom"
1369LICENSE:${PN}-qcom-venus-5.4 = "Firmware-qcom"
1370LICENSE:${PN}-qcom-venus-6.0 = "Firmware-qcom"
1371LICENSE:${PN}-qcom-vpu-1.0 = "Firmware-qcom"
1372LICENSE:${PN}-qcom-vpu-2.0 = "Firmware-qcom"
1373LICENSE:${PN}-qcom-adreno-a2xx = "Firmware-qcom Firmware-qcom-yamato"
1374LICENSE:${PN}-qcom-adreno-a3xx = "Firmware-qcom"
1375LICENSE:${PN}-qcom-adreno-a4xx = "Firmware-qcom"
1376LICENSE:${PN}-qcom-adreno-a530 = "Firmware-qcom"
1377LICENSE:${PN}-qcom-adreno-a630 = "Firmware-qcom"
1378LICENSE:${PN}-qcom-adreno-a650 = "Firmware-qcom"
1379LICENSE:${PN}-qcom-adreno-a660 = "Firmware-qcom"
1380LICENSE:${PN}-qcom-adreno-a702 = "Firmware-qcom"
1381LICENSE:${PN}-qcom-apq8016-modem = "Firmware-qcom"
1382LICENSE:${PN}-qcom-apq8016-wifi = "Firmware-qcom"
1383LICENSE:${PN}-qcom-apq8096-audio = "Firmware-qcom"
1384LICENSE:${PN}-qcom-apq8096-adreno = "Firmware-qcom"
1385LICENSE:${PN}-qcom-apq8096-modem = "Firmware-qcom"
1386LICENSE:${PN}-qcom-qcm2290-adreno = "Firmware-qcom"
1387LICENSE:${PN}-qcom-qcm2290-audio = "Firmware-qcom"
1388LICENSE:${PN}-qcom-qcm2290-modem = "Firmware-qcom"
1389LICENSE:${PN}-qcom-qcm2290-wifi = "Firmware-qcom"
1390LICENSE:${PN}-qcom-qrb4210-adreno = "Firmware-qcom"
1391LICENSE:${PN}-qcom-qrb4210-audio = "Firmware-qcom"
1392LICENSE:${PN}-qcom-qrb4210-compute  = "Firmware-qcom"
1393LICENSE:${PN}-qcom-qrb4210-modem = "Firmware-qcom"
1394LICENSE:${PN}-qcom-qrb4210-wifi = "Firmware-qcom"
1395LICENSE:${PN}-qcom-sc8280xp-lenovo-x13s-audio = "Firmware-qcom & Firmware-linaro"
1396LICENSE:${PN}-qcom-sc8280xp-lenovo-x13s-adreno = "Firmware-qcom"
1397LICENSE:${PN}-qcom-sc8280xp-lenovo-x13s-compute = "Firmware-qcom"
1398LICENSE:${PN}-qcom-sc8280xp-lenovo-x13s-sensors = "Firmware-qcom"
1399LICENSE:${PN}-qcom-sdm845-audio = "Firmware-qcom"
1400LICENSE:${PN}-qcom-sdm845-adreno = "Firmware-qcom"
1401LICENSE:${PN}-qcom-sdm845-compute = "Firmware-qcom"
1402LICENSE:${PN}-qcom-sdm845-modem = "Firmware-qcom"
1403LICENSE:${PN}-qcom-sdm845-thundercomm-db845c-sensors = "Firmware-qcom"
1404LICENSE:${PN}-qcom-sm8250-audio = "Firmware-qcom"
1405LICENSE:${PN}-qcom-sm8250-adreno = "Firmware-qcom"
1406LICENSE:${PN}-qcom-sm8250-compute = "Firmware-qcom"
1407LICENSE:${PN}-qcom-sm8250-thundercomm-rb5-sensors = "Firmware-qcom"
1408
1409FILES:${PN}-qcom-license   = "${nonarch_base_libdir}/firmware/LICENSE.qcom ${nonarch_base_libdir}/firmware/qcom/NOTICE.txt"
1410FILES:${PN}-qcom-yamato-license = "${nonarch_base_libdir}/firmware/LICENSE.qcom_yamato"
1411FILES:${PN}-qcom-venus-1.8 = "${nonarch_base_libdir}/firmware/qcom/venus-1.8/*"
1412FILES:${PN}-qcom-venus-4.2 = "${nonarch_base_libdir}/firmware/qcom/venus-4.2/*"
1413FILES:${PN}-qcom-venus-5.2 = "${nonarch_base_libdir}/firmware/qcom/venus-5.2/*"
1414FILES:${PN}-qcom-venus-5.4 = "${nonarch_base_libdir}/firmware/qcom/venus-5.4/*"
1415FILES:${PN}-qcom-venus-6.0 = "${nonarch_base_libdir}/firmware/qcom/venus-6.0/*"
1416FILES:${PN}-qcom-vpu-1.0 = "${nonarch_base_libdir}/firmware/qcom/vpu-1.0/*"
1417FILES:${PN}-qcom-vpu-2.0 = "${nonarch_base_libdir}/firmware/qcom/vpu-2.0/*"
1418FILES:${PN}-qcom-adreno-a2xx = "${nonarch_base_libdir}/firmware/qcom/leia_*.fw ${nonarch_base_libdir}/firmware/qcom/yamato_*.fw"
1419FILES:${PN}-qcom-adreno-a3xx = "${nonarch_base_libdir}/firmware/qcom/a3*_*.fw ${nonarch_base_libdir}/firmware/a300_*.fw"
1420FILES:${PN}-qcom-adreno-a4xx = "${nonarch_base_libdir}/firmware/qcom/a4*_*.fw"
1421FILES:${PN}-qcom-adreno-a530 = "${nonarch_base_libdir}/firmware/qcom/a530*.fw*"
1422FILES:${PN}-qcom-adreno-a630 = "${nonarch_base_libdir}/firmware/qcom/a630*.*"
1423FILES:${PN}-qcom-adreno-a650 = "${nonarch_base_libdir}/firmware/qcom/a650*.*"
1424FILES:${PN}-qcom-adreno-a660 = "${nonarch_base_libdir}/firmware/qcom/a660*.*"
1425FILES:${PN}-qcom-adreno-a702 = "${nonarch_base_libdir}/firmware/qcom/a702*.*"
1426FILES:${PN}-qcom-apq8016-modem = "${nonarch_base_libdir}/firmware/qcom/apq8016/mba.mbn ${nonarch_base_libdir}/firmware/qcom/apq8016/modem.mbn"
1427FILES:${PN}-qcom-apq8016-wifi = "${nonarch_base_libdir}/firmware/qcom/apq8016/wcnss.mbn ${nonarch_base_libdir}/firmware/qcom/apq8016/WCNSS*"
1428FILES:${PN}-qcom-apq8096-adreno = "${nonarch_base_libdir}/firmware/qcom/apq8096/a530_zap.mbn ${nonarch_base_libdir}/firmware/qcom/a530_zap.mdt"
1429FILES:${PN}-qcom-apq8096-audio = "${nonarch_base_libdir}/firmware/qcom/apq8096/adsp*.*"
1430FILES:${PN}-qcom-apq8096-modem = "${nonarch_base_libdir}/firmware/qcom/apq8096/mba.mbn ${nonarch_base_libdir}/firmware/qcom/apq8096/modem*.* ${nonarch_base_libdir}/firmware/qcom/apq8096/wlanmdsp.mbn"
1431FILES:${PN}-qcom-qcm2290-adreno = "${nonarch_base_libdir}/firmware/qcom/qcm2290/a702_zap.mbn"
1432FILES:${PN}-qcom-qcm2290-audio = "${nonarch_base_libdir}/firmware/qcom/qcm2290/adsp*.*"
1433FILES:${PN}-qcom-qcm2290-modem = "${nonarch_base_libdir}/firmware/qcom/qcm2290/modem*.*"
1434FILES:${PN}-qcom-qcm2290-wifi = "${nonarch_base_libdir}/firmware/qcom/qcm2290/wlanmdsp.mbn ${nonarch_base_libdir}/firmware/ath10k/WCN3990/hw1.0/qcm2290/wlanmdsp.mbn"
1435FILES:${PN}-qcom-qrb4210-adreno = "${nonarch_base_libdir}/firmware/qcom/qrb4210/a610_zap.mbn"
1436FILES:${PN}-qcom-qrb4210-audio = "${nonarch_base_libdir}/firmware/qcom/qrb4210/adsp*.*"
1437FILES:${PN}-qcom-qrb4210-compute = "${nonarch_base_libdir}/firmware/qcom/qrb4210/cdsp*.*"
1438FILES:${PN}-qcom-qrb4210-modem = "${nonarch_base_libdir}/firmware/qcom/qrb4210/modem*.*"
1439FILES:${PN}-qcom-qrb4210-wifi = "${nonarch_base_libdir}/firmware/qcom/qrb4210/wlanmdsp.mbn ${nonarch_base_libdir}/firmware/ath10k/WCN3990/hw1.0/qrb4210/wlanmdsp.mbn"
1440FILES:${PN}-qcom-sc8280xp-lenovo-x13s-compat = "${nonarch_base_libdir}/firmware/qcom/LENOVO/21BX"
1441FILES:${PN}-qcom-sc8280xp-lenovo-x13s-audio = "${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/*adsp*.* ${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/battmgr.jsn ${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/audioreach-tplg.bin ${nonarch_base_libdir}/firmware/qcom/sc8280xp/SC8280XP-LENOVO-X13S-tplg.bin"
1442FILES:${PN}-qcom-sc8280xp-lenovo-x13s-adreno = "${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/qcdxkmsuc8280.mbn"
1443FILES:${PN}-qcom-sc8280xp-lenovo-x13s-compute = "${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/*cdsp*.*"
1444FILES:${PN}-qcom-sc8280xp-lenovo-x13s-sensors = "${nonarch_base_libdir}/firmware/qcom/sc8280xp/LENOVO/21BX/*slpi*.*"
1445FILES:${PN}-qcom-sdm845-adreno = "${nonarch_base_libdir}/firmware/qcom/sdm845/a630*.*"
1446FILES:${PN}-qcom-sdm845-audio = "${nonarch_base_libdir}/firmware/qcom/sdm845/adsp*.*"
1447FILES:${PN}-qcom-sdm845-compute = "${nonarch_base_libdir}/firmware/qcom/sdm845/cdsp*.*"
1448FILES:${PN}-qcom-sdm845-modem = "${nonarch_base_libdir}/firmware/qcom/sdm845/mba.mbn ${nonarch_base_libdir}/firmware/qcom/sdm845/modem*.* ${nonarch_base_libdir}/firmware/qcom/sdm845/wlanmdsp.mbn ${nonarch_base_libdir}/firmware/qcom/sdm845/notice.txt_wlanmdsp \
1449                                 ${nonarch_base_libdir}/firmware/ath10k/WCN3990/hw1.0/wlanmdsp.mbn ${nonarch_base_libdir}/firmware/ath10k/WCN3990/hw1.0/notice.txt_wlanmdsp"
1450FILES:${PN}-qcom-sdm845-thundercomm-db845c-sensors = "${nonarch_base_libdir}/firmware/qcom/sdm845/Thundercomm/db845c/slpi*.*"
1451FILES:${PN}-qcom-sm8250-adreno = "${nonarch_base_libdir}/firmware/qcom/sm8250/a650*.*"
1452FILES:${PN}-qcom-sm8250-audio = "${nonarch_base_libdir}/firmware/qcom/sm8250/adsp*.*"
1453FILES:${PN}-qcom-sm8250-compute = "${nonarch_base_libdir}/firmware/qcom/sm8250/cdsp*.*"
1454FILES:${PN}-qcom-sm8250-thundercomm-rb5-sensors = "${nonarch_base_libdir}/firmware/qcom/sm8250/Thundercomm/RB5/slpi*.*"
1455
1456RDEPENDS:${PN}-qcom-venus-1.8 = "${PN}-qcom-license"
1457RDEPENDS:${PN}-qcom-venus-4.2 = "${PN}-qcom-license"
1458RDEPENDS:${PN}-qcom-venus-5.2 = "${PN}-qcom-license"
1459RDEPENDS:${PN}-qcom-venus-5.4 = "${PN}-qcom-license"
1460RDEPENDS:${PN}-qcom-venus-6.0 = "${PN}-qcom-license"
1461RDEPENDS:${PN}-qcom-vpu-1.0 = "${PN}-qcom-license"
1462RDEPENDS:${PN}-qcom-vpu-2.0 = "${PN}-qcom-license"
1463RDEPENDS:${PN}-qcom-adreno-a2xx = "${PN}-qcom-license ${PN}-qcom-yamato-license"
1464RDEPENDS:${PN}-qcom-adreno-a3xx = "${PN}-qcom-license"
1465RDEPENDS:${PN}-qcom-adreno-a4xx = "${PN}-qcom-license"
1466RDEPENDS:${PN}-qcom-adreno-a530 = "${PN}-qcom-license"
1467RDEPENDS:${PN}-qcom-adreno-a630 = "${PN}-qcom-license"
1468RDEPENDS:${PN}-qcom-adreno-a650 = "${PN}-qcom-license"
1469RDEPENDS:${PN}-qcom-adreno-a660 = "${PN}-qcom-license"
1470RDEPENDS:${PN}-qcom-adreno-a702 = "${PN}-qcom-license"
1471RDEPENDS:${PN}-qcom-apq8016-modem = "${PN}-qcom-license"
1472RDEPENDS:${PN}-qcom-apq8016-wifi = "${PN}-qcom-license"
1473RDEPENDS:${PN}-qcom-apq8096-adreno = "${PN}-qcom-license"
1474RDEPENDS:${PN}-qcom-apq8096-audio = "${PN}-qcom-license"
1475RDEPENDS:${PN}-qcom-apq8096-modem = "${PN}-qcom-license"
1476RDEPENDS:${PN}-qcom-qcm2290-adreno = "${PN}-qcom-license"
1477RDEPENDS:${PN}-qcom-qcm2290-audio = "${PN}-qcom-license"
1478RDEPENDS:${PN}-qcom-qcm2290-modem = "${PN}-qcom-license"
1479RDEPENDS:${PN}-qcom-qcm2290-wifi = "${PN}-qcom-license"
1480RDEPENDS:${PN}-qcom-qrb4210-adreno = "${PN}-qcom-license"
1481RDEPENDS:${PN}-qcom-qrb4210-audio = "${PN}-qcom-license"
1482RDEPENDS:${PN}-qcom-qrb4210-compute = "${PN}-qcom-license"
1483RDEPENDS:${PN}-qcom-qrb4210-modem = "${PN}-qcom-license"
1484# Only symlinks in qcom-qrb4210-wifi, firmware is in qcom-qcm2290-wifi
1485# c.f. https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/commit/?id=650e88378e76d5fad3997a5398f1ade47a74d924
1486RDEPENDS:${PN}-qcom-qrb4210-wifi = "${PN}-qcom-license ${PN}-qcom-qcm2290-wifi"
1487RDEPENDS:${PN}-qcom-sc8280xp-lenovo-x13s-audio = "${PN}-qcom-license"
1488RDEPENDS:${PN}-qcom-sc8280xp-lenovo-x13s-adreno = "${PN}-qcom-license"
1489RDEPENDS:${PN}-qcom-sc8280xp-lenovo-x13s-compute = "${PN}-qcom-license"
1490RDEPENDS:${PN}-qcom-sc8280xp-lenovo-x13s-sensors = "${PN}-qcom-license"
1491RDEPENDS:${PN}-qcom-sdm845-adreno = "${PN}-qcom-license"
1492RDEPENDS:${PN}-qcom-sdm845-audio = "${PN}-qcom-license"
1493RDEPENDS:${PN}-qcom-sdm845-compute = "${PN}-qcom-license"
1494RDEPENDS:${PN}-qcom-sdm845-modem = "${PN}-qcom-license"
1495RDEPENDS:${PN}-qcom-sdm845-thundercomm-db845c-sensors = "${PN}-qcom-license"
1496RDEPENDS:${PN}-qcom-sm8250-adreno = "${PN}-qcom-license"
1497RDEPENDS:${PN}-qcom-sm8250-audio = "${PN}-qcom-license"
1498RDEPENDS:${PN}-qcom-sm8250-compute = "${PN}-qcom-license"
1499RDEPENDS:${PN}-qcom-sm8250-thundercomm-rb5-sensors = "${PN}-qcom-license"
1500
1501RRECOMMENDS:${PN}-qcom-sc8280xp-lenovo-x13s-audio = "${PN}-qcom-sc8280xp-lenovo-x13s-compat"
1502RRECOMMENDS:${PN}-qcom-sc8280xp-lenovo-x13s-adreno = "${PN}-qcom-sc8280xp-lenovo-x13s-compat"
1503RRECOMMENDS:${PN}-qcom-sc8280xp-lenovo-x13s-compute = "${PN}-qcom-sc8280xp-lenovo-x13s-compat"
1504RRECOMMENDS:${PN}-qcom-sc8280xp-lenovo-x13s-sensors = "${PN}-qcom-sc8280xp-lenovo-x13s-compat"
1505
1506LICENSE:${PN}-liquidui = "Firmware-cavium_liquidio"
1507FILES:${PN}-liquidio = "${nonarch_base_libdir}/firmware/liquidio"
1508
1509LICENSE:${PN}-mellanox = "WHENCE"
1510FILES:${PN}-mellanox = "${nonarch_base_libdir}/firmware/mellanox"
1511
1512LICENSE:${PN}-prestera = "Firmware-Marvell"
1513FILES:${PN}-prestera = "${nonarch_base_libdir}/firmware/mrvl/prestera"
1514RDEPENDS:${PN}-prestera = "${PN}-marvell-license"
1515
1516# For Rockchip
1517LICENSE:${PN}-rockchip-dptx = "Firmware-rockchip"
1518FILES:${PN}-rockchip-license = "${nonarch_base_libdir}/firmware/LICENCE.rockchip"
1519FILES:${PN}-rockchip-dptx = "${nonarch_base_libdir}/firmware/rockchip/dptx.bin"
1520RDEPENDS:${PN}-rockchip-dptx = "${PN}-rockchip-license"
1521
1522# For Amlogic VDEC
1523LICENSE:${PN}-amlogic-vdec = "Firmware-amlogic_vdec"
1524FILES:${PN}-amlogic-vdec-license = "${nonarch_base_libdir}/firmware/LICENSE.amlogic_vdec"
1525FILES:${PN}-amlogic-vdec = "${nonarch_base_libdir}/firmware/meson/vdec/*"
1526RDEPENDS:${PN}-amlogic-vdec = "${PN}-amlogic-vdec-license"
1527
1528# For other firmwares
1529# Maybe split out to separate packages when needed.
1530LICENSE:${PN} = "\
1531    Firmware-Abilis \
1532    & Firmware-agere \
1533    & Firmware-amdgpu \
1534    & Firmware-amd-ucode \
1535    & Firmware-amlogic_vdec \
1536    & Firmware-atmel \
1537    & Firmware-ca0132 \
1538    & Firmware-cavium \
1539    & Firmware-chelsio_firmware \
1540    & Firmware-cirrus \
1541    & Firmware-cnm \
1542    & Firmware-cw1200 \
1543    & Firmware-dib0700 \
1544    & Firmware-e100 \
1545    & Firmware-ene_firmware \
1546    & Firmware-fw_sst_0f28 \
1547    & Firmware-go7007 \
1548    & Firmware-hfi1_firmware \
1549    & Firmware-ibt_firmware \
1550    & Firmware-it913x \
1551    & Firmware-IntcSST2 \
1552    & Firmware-kaweth \
1553    & Firmware-moxa \
1554    & Firmware-myri10ge_firmware \
1555    & Firmware-nvidia \
1556    & Firmware-nxp \
1557    & Firmware-OLPC \
1558    & Firmware-ath9k-htc \
1559    & Firmware-phanfw \
1560    & Firmware-qat \
1561    & Firmware-qcom \
1562    & Firmware-qla1280 \
1563    & Firmware-qla2xxx \
1564    & Firmware-r8a779x_usb3 \
1565    & Firmware-radeon \
1566    & Firmware-ralink_a_mediatek_company_firmware \
1567    & Firmware-ralink-firmware \
1568    & Firmware-imx-sdma_firmware \
1569    & Firmware-siano \
1570    & Firmware-ti-connectivity \
1571    & Firmware-ti-keystone \
1572    & Firmware-ueagle-atm4-firmware \
1573    & Firmware-wl1251 \
1574    & Firmware-xc4000 \
1575    & Firmware-xc5000 \
1576    & Firmware-xc5000c \
1577    & WHENCE \
1578"
1579
1580FILES:${PN}-license += "${nonarch_base_libdir}/firmware/LICEN*"
1581FILES:${PN} += "${nonarch_base_libdir}/firmware/*"
1582RDEPENDS:${PN} += "${PN}-license"
1583RDEPENDS:${PN} += "${PN}-whence-license"
1584
1585# Make linux-firmware depend on all of the split-out packages.
1586# Make linux-firmware-iwlwifi depend on all of the split-out iwlwifi packages.
1587# Make linux-firmware-ibt depend on all of the split-out ibt packages.
1588python populate_packages:prepend () {
1589    firmware_pkgs = oe.utils.packages_filter_out_system(d)
1590    d.appendVar('RRECOMMENDS:linux-firmware', ' ' + ' '.join(firmware_pkgs))
1591
1592    iwlwifi_pkgs = filter(lambda x: x.find('-iwlwifi-') != -1, firmware_pkgs)
1593    d.appendVar('RRECOMMENDS:linux-firmware-iwlwifi', ' ' + ' '.join(iwlwifi_pkgs))
1594
1595    ibt_pkgs = filter(lambda x: x.find('-ibt-') != -1, firmware_pkgs)
1596    d.appendVar('RRECOMMENDS:linux-firmware-ibt', ' ' + ' '.join(ibt_pkgs))
1597}
1598
1599# Firmware files are generally not ran on the CPU, so they can be
1600# allarch despite being architecture specific
1601INSANE_SKIP = "arch"
1602
1603# Don't warn about already stripped files
1604INSANE_SKIP:${PN} = "already-stripped"
1605
1606# No need to put firmware into the sysroot
1607SYSROOT_DIRS_IGNORE += "${nonarch_base_libdir}/firmware"
1608