diff options
Diffstat (limited to 'meta/recipes-kernel/linux-firmware/linux-firmware_git.bb')
-rw-r--r-- | meta/recipes-kernel/linux-firmware/linux-firmware_git.bb | 230 |
1 files changed, 230 insertions, 0 deletions
diff --git a/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb b/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb new file mode 100644 index 0000000000..a107f804fa --- /dev/null +++ b/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb | |||
@@ -0,0 +1,230 @@ | |||
1 | SUMMARY = "Firmware files for use with Linux kernel" | ||
2 | SECTION = "kernel" | ||
3 | # Notes: | ||
4 | # This is kind of a mess. Each bit of firmware has their own license. Some free | ||
5 | # some not. Leaving this as Proprietary for now, but this recipe should be probably | ||
6 | # be rethought out a bit more around how it deals with licenses. | ||
7 | |||
8 | LICENSE = "Proprietary" | ||
9 | |||
10 | LIC_FILES_CHKSUM = "file://LICENSE.radeon;md5=07b0c31777bd686d8e1609c6940b5e74\ | ||
11 | file://LICENSE.dib0700;md5=f7411825c8a555a1a3e5eab9ca773431 \ | ||
12 | file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \ | ||
13 | file://LICENCE.ralink-firmware.txt;md5=ab2c269277c45476fb449673911a2dfd \ | ||
14 | file://LICENCE.qla2xxx;md5=f5ce8529ec5c17cb7f911d2721d90e91 \ | ||
15 | file://LICENCE.iwlwifi_firmware;md5=8b938534f77ffd453690eb34ed84ae8b \ | ||
16 | file://LICENCE.i2400m;md5=14b901969e23c41881327c0d9e4b7d36 \ | ||
17 | file://LICENCE.atheros_firmware;md5=30a14c7823beedac9fa39c64fdd01a13 \ | ||
18 | file://LICENCE.agere;md5=af0133de6b4a9b2522defd5f188afd31 \ | ||
19 | file://LICENCE.rtlwifi_firmware.txt;md5=00d06cfd3eddd5a2698948ead2ad54a5 \ | ||
20 | file://LICENCE.broadcom_bcm43xx;md5=3160c14df7228891b868060e1951dfbc \ | ||
21 | file://LICENCE.ti-connectivity;md5=186e7a43cf6c274283ad81272ca218ea \ | ||
22 | file://LICENCE.atheros_firmware;md5=30a14c7823beedac9fa39c64fdd01a13 \ | ||
23 | file://LICENCE.via_vt6656;md5=e4159694cba42d4377a912e78a6e850f \ | ||
24 | file://LICENCE.Marvell;md5=9ddea1734a4baf3c78d845151f42a37a \ | ||
25 | " | ||
26 | |||
27 | SRCREV = "dec41bce44e0dff6a2c3358a958fadf22bf58858" | ||
28 | PE = "1" | ||
29 | PV = "0.0+git${SRCPV}" | ||
30 | |||
31 | SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git" | ||
32 | |||
33 | S = "${WORKDIR}/git" | ||
34 | |||
35 | inherit allarch update-alternatives | ||
36 | |||
37 | do_compile() { | ||
38 | : | ||
39 | } | ||
40 | |||
41 | do_install() { | ||
42 | install -d ${D}/lib/firmware/ | ||
43 | cp -r * ${D}/lib/firmware/ | ||
44 | |||
45 | # Avoid Makefile to be deplyed | ||
46 | rm ${D}/lib/firmware/Makefile | ||
47 | |||
48 | # Remove unbuild firmware which needs cmake and bash | ||
49 | rm ${D}/lib/firmware/carl9170fw -rf | ||
50 | |||
51 | # Remove pointless bash script | ||
52 | rm ${D}/lib/firmware/configure | ||
53 | |||
54 | # Libertas sd8686 | ||
55 | ln -sf libertas/sd8686_v9.bin ${D}/lib/firmware/sd8686.bin | ||
56 | ln -sf libertas/sd8686_v9_helper.bin ${D}/lib/firmware/sd8686_helper.bin | ||
57 | |||
58 | # fixup wl12xx location, after 2.6.37 the kernel searches a different location for it | ||
59 | ( cd ${D}/lib/firmware ; ln -sf ti-connectivity/* . ) | ||
60 | } | ||
61 | |||
62 | |||
63 | PACKAGES =+ "${PN}-ralink \ | ||
64 | ${PN}-radeon \ | ||
65 | ${PN}-marvell-license ${PN}-sd8686 ${PN}-sd8787 ${PN}-sd8797 \ | ||
66 | ${PN}-wl12xx ${PN}-wl18xx ${PN}-vt6656 \ | ||
67 | ${PN}-rtl-license ${PN}-rtl8192cu ${PN}-rtl8192ce ${PN}-rtl8192su \ | ||
68 | ${PN}-broadcom-license ${PN}-bcm4329 ${PN}-bcm4330 ${PN}-bcm4334 \ | ||
69 | ${PN}-atheros-license ${PN}-ar9170 ${PN}-ar3k ${PN}-ath6k ${PN}-ath9k \ | ||
70 | ${PN}-iwlwifi-license ${PN}-iwlwifi-6000g2a-5 ${PN}-iwlwifi-6000g2b-6 ${PN}-iwlwifi-7260-7 \ | ||
71 | ${PN}-iwlwifi-6000g2a-6 ${PN}-iwlwifi-135-6" | ||
72 | |||
73 | |||
74 | FILES_${PN}-atheros-license = "/lib/firmware/LICENCE.atheros_firmware" | ||
75 | |||
76 | LICENSE_${PN}-9170 = "Firmware-atheros_firmware" | ||
77 | FILES_${PN}-ar9170 = " \ | ||
78 | /lib/firmware/ar9170*.fw \ | ||
79 | " | ||
80 | RDEPENDS_${PN}-ar9170 += "${PN}-atheros-license" | ||
81 | |||
82 | LICENSE_${PN}-ar3k = "Firmware-atheros_firmware" | ||
83 | FILES_${PN}-ar3k = " \ | ||
84 | /lib/firmware/ar3k \ | ||
85 | " | ||
86 | RDEPENDS_${PN}-ath6k += "${PN}-atheros-license" | ||
87 | |||
88 | LICENSE_${PN}-ath6k = "Firmware-atheros_firmware" | ||
89 | FILES_${PN}-ath6k = " \ | ||
90 | /lib/firmware/ath6k \ | ||
91 | " | ||
92 | RDEPENDS_${PN}-ath6k += "${PN}-atheros-license" | ||
93 | |||
94 | LICENSE_${PN}-ath9k = "Firmware-atheros_firmware" | ||
95 | FILES_${PN}-ath9k = " \ | ||
96 | /lib/firmware/ar9271.fw \ | ||
97 | /lib/firmware/ar7010*.fw \ | ||
98 | /lib/firmware/htc_9271.fw \ | ||
99 | /lib/firmware/htc_7010.fw \ | ||
100 | " | ||
101 | RDEPENDS_${PN}-ath9k += "${PN}-atheros-license" | ||
102 | |||
103 | LICENSE_${PN}-ralink = "Firmware-ralink" | ||
104 | FILES_${PN}-ralink = " \ | ||
105 | /lib/firmware/rt*.bin \ | ||
106 | /lib/firmware/LICENCE.ralink-firmware.txt \ | ||
107 | " | ||
108 | |||
109 | LICENSE_${PN}-radeon = "Firmware-radeon" | ||
110 | FILES_${PN}-radeon = " \ | ||
111 | /lib/firmware/radeon \ | ||
112 | /lib/firmware/LICENCE.radeon \ | ||
113 | " | ||
114 | |||
115 | FILES_${PN}-marvell-license = "/lib/firmware/LICENCE.Marvell" | ||
116 | |||
117 | LICENSE_${PN}-sd8686 = "Firmware-Marvell" | ||
118 | FILES_${PN}-sd8686 = " \ | ||
119 | /lib/firmware/libertas/sd8686_v9* \ | ||
120 | /lib/firmware/sd8686* \ | ||
121 | " | ||
122 | RDEPENDS_${PN}-sd8686 += "${PN}-marvell-license" | ||
123 | |||
124 | LICENSE_${PN}-sd8787 = "Firmware-Marvell" | ||
125 | FILES_${PN}-sd8787 = " \ | ||
126 | /lib/firmware/mrvl/sd8787_uapsta.bin \ | ||
127 | " | ||
128 | RDEPENDS_${PN}-sd8787 += "${PN}-marvell-license" | ||
129 | |||
130 | LICENSE_${PN}-sd8797 = "Firmware-Marvell" | ||
131 | FILES_${PN}-sd8797 = " \ | ||
132 | /lib/firmware/mrvl/sd8797_uapsta.bin \ | ||
133 | " | ||
134 | RDEPENDS_${PN}-sd8797 += "${PN}-marvell-license" | ||
135 | |||
136 | FILES_${PN}-rtl-license = " \ | ||
137 | /lib/firmware/LICENCE.rtlwifi_firmware.txt \ | ||
138 | " | ||
139 | |||
140 | LICENSE_${PN}-rtl8192cu = "Firmware-rtlwifi" | ||
141 | FILES_${PN}-rtl8192cu = " \ | ||
142 | /lib/firmware/rtlwifi/rtl8192cufw.bin \ | ||
143 | " | ||
144 | RDEPENDS_${PN}-rtl8192cu += "${PN}-rtl-license" | ||
145 | |||
146 | LICENSE_${PN}-rtl8192ce = "Firmware-rtlwifi" | ||
147 | FILES_${PN}-rtl8192ce = " \ | ||
148 | /lib/firmware/rtlwifi/rtl8192cfw.bin \ | ||
149 | " | ||
150 | RDEPENDS_${PN}-rtl8192ce += "${PN}-rtl-license" | ||
151 | |||
152 | |||
153 | LICENSE_${PN}-rtl8192su = "Firmware-rtlwifi" | ||
154 | FILES_${PN}-rtl8192su = " \ | ||
155 | /lib/firmware/rtlwifi/rtl8712u.bin \ | ||
156 | " | ||
157 | |||
158 | LICENSE_${PN}-wl12xx = "Firmware-ti-connectivity" | ||
159 | FILES_${PN}-wl12xx = " \ | ||
160 | /lib/firmware/wl12* \ | ||
161 | /lib/firmware/TI* \ | ||
162 | /lib/firmware/ti-connectivity \ | ||
163 | " | ||
164 | |||
165 | LICENSE_${PN}-wl18xx = "Firmware-ti-connectivity" | ||
166 | FILES_${PN}-wl18xx = " \ | ||
167 | /lib/firmware/wl18* \ | ||
168 | /lib/firmware/TI* \ | ||
169 | /lib/firmware/ti-connectivity \ | ||
170 | " | ||
171 | |||
172 | LICENSE_${PN}-vt6656 = "Firmware-via_vt6656" | ||
173 | FILES_${PN}-vt6656 = " \ | ||
174 | /lib/firmware/vntwusb.fw \ | ||
175 | " | ||
176 | |||
177 | # WARNING: The ALTERNATIVE_* variables are not using ${PN} because of | ||
178 | # a bug in bitbake; when this is fixed and bitbake learns how to proper | ||
179 | # pass variable flags with expansion we can rework this patch. | ||
180 | |||
181 | ALTERNATIVE_LINK_NAME[brcmfmac-sdio.bin] = "/lib/firmware/brcm/brcmfmac-sdio.bin" | ||
182 | |||
183 | FILES_${PN}-broadcom-license = " \ | ||
184 | /lib/firmware/LICENCE.broadcom_bcm43xx \ | ||
185 | " | ||
186 | |||
187 | LICENSE_${PN}-bcm4329 = "Firmware-bcm4329" | ||
188 | FILES_${PN}-bcm4329 = " \ | ||
189 | /lib/firmware/brcm/brcmfmac4329-sdio.bin \ | ||
190 | " | ||
191 | RDEPENDS_${PN}-bcm4329 += "${PN}-broadcom-license" | ||
192 | ALTERNATIVE_linux-firmware-bcm4329 = "brcmfmac-sdio.bin" | ||
193 | ALTERNATIVE_TARGET_linux-firmware-bcm4329[brcmfmac-sdio.bin] = "/lib/firmware/brcm/brcmfmac4329-sdio.bin" | ||
194 | |||
195 | LICENSE_${PN}-bcm4330 = "Firmware-bcm4330" | ||
196 | FILES_${PN}-bcm4330 = " \ | ||
197 | /lib/firmware/brcm/brcmfmac4330-sdio.bin \ | ||
198 | " | ||
199 | RDEPENDS_${PN}-bcm4330 += "${PN}-broadcom-license" | ||
200 | ALTERNATIVE_linux-firmware-bcm4330 = "brcmfmac-sdio.bin" | ||
201 | ALTERNATIVE_TARGET_linux-firmware-bcm4330[brcmfmac-sdio.bin] = "/lib/firmware/brcm/brcmfmac4330-sdio.bin" | ||
202 | |||
203 | LICENSE_${PN}-bcm4334 = "Firmware-bcm4334" | ||
204 | FILES_${PN}-bcm4334 = " \ | ||
205 | /lib/firmware/brcm/brcmfmac4334-sdio.bin \ | ||
206 | " | ||
207 | RDEPENDS_${PN}-bcm4334 += "${PN}-broadcom-license" | ||
208 | ALTERNATIVE_linux-firmware-bcm4334 = "brcmfmac-sdio.bin" | ||
209 | ALTERNATIVE_TARGET_linux-firmware-bcm4334[brcmfmac-sdio.bin] = "/lib/firmware/brcm/brcmfmac4334-sdio.bin" | ||
210 | |||
211 | RDEPENDS_${PN}-iwlwifi-6000g2a-5 = "${PN}-iwlwifi-license" | ||
212 | RDEPENDS_${PN}-iwlwifi-6000g2a-6 = "${PN}-iwlwifi-license" | ||
213 | RDEPENDS_${PN}-iwlwifi-6000g2b-6 = "${PN}-iwlwifi-license" | ||
214 | RDEPENDS_${PN}-iwlwifi-135-6 = "${PN}-iwlwifi-license" | ||
215 | RDEPENDS_${PN}-iwlwifi-7260-7 = "${PN}-iwlwifi-license" | ||
216 | |||
217 | FILES_${PN}-iwlwifi-license = "/lib/firmware/LICENCE.iwlwifi_firmware" | ||
218 | FILES_${PN}-iwlwifi-6000g2a-5 = "/lib/firmware/iwlwifi-6000g2a-5.ucode" | ||
219 | FILES_${PN}-iwlwifi-6000g2a-6 = "/lib/firmware/iwlwifi-6000g2a-6.ucode" | ||
220 | FILES_${PN}-iwlwifi-6000g2b-6 = "/lib/firmware/iwlwifi-6000g2b-6.ucode" | ||
221 | FILES_${PN}-iwlwifi-135-6 = "/lib/firmware/iwlwifi-135-6.ucode" | ||
222 | FILES_${PN}-iwlwifi-7260-7 = "/lib/firmware/iwlwifi-7260-7.ucode" | ||
223 | |||
224 | FILES_${PN} += "/lib/firmware/*" | ||
225 | |||
226 | # Make linux-firmware depend on all of the split-out packages. | ||
227 | python populate_packages_prepend () { | ||
228 | firmware_pkgs = oe.utils.packages_filter_out_system(d) | ||
229 | d.appendVar('RDEPENDS_linux-firmware', ' ' + ' '.join(firmware_pkgs)) | ||
230 | } | ||