summaryrefslogtreecommitdiffstats
path: root/meta/recipes-kernel/linux-firmware/linux-firmware_git.bb
blob: 5b93975d3694d32afd4daf9e30cda5866236d9d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
DESCRIPTION = "Firmware files for use with Linux kernel"
SECTION = "kernel"
# Notes:
# This is kind of a mess. Each bit of firmware has their own license. Some free
# some not. Leaving this as Proprietary for now, but this recipe should be probably
# be rethought out a bit more around how it deals with licenses.

LICENSE = "Proprietary"

LIC_FILES_CHKSUM = "file://LICENSE.radeon;md5=e56b405656593a0c97e478513051ea0e \
                    file://LICENSE.dib0700;md5=f7411825c8a555a1a3e5eab9ca773431 \
                    file://LICENCE.xc5000;md5=1e170c13175323c32c7f4d0998d53f66 \
                    file://LICENCE.ralink-firmware.txt;md5=ab2c269277c45476fb449673911a2dfd \
                    file://LICENCE.qla2xxx;md5=4005328a134054f0fa077bdc37aa64f2 \
                    file://LICENCE.iwlwifi_firmware;md5=11545778abf78c43d7644d4f171ea1c7 \
                    file://LICENCE.i2400m;md5=14b901969e23c41881327c0d9e4b7d36 \
                    file://LICENCE.atheros_firmware;md5=30a14c7823beedac9fa39c64fdd01a13 \
                    file://LICENCE.agere;md5=af0133de6b4a9b2522defd5f188afd31 \
                    file://LICENCE.rtlwifi_firmware.txt;md5=00d06cfd3eddd5a2698948ead2ad54a5 \
                   "

SRCREV = "e98750f0d68d0037ce5a186f7f863a9c13bf773a"
PE = "1"
PV = "0.0+git${SRCPV}"
PR = "r3"

SRC_URI = "git://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git;protocol=git"

S = "${WORKDIR}/git"

inherit allarch

do_compile() {
	:
}

do_install() {
	install -d  ${D}${base_libdir}/firmware/
	cp -r * ${D}${base_libdir}/firmware/

	# Libertas sd8686
	ln -sf libertas/sd8686_v9.bin ${D}${base_libdir}/firmware/sd8686.bin
	ln -sf libertas/sd8686_v9_helper.bin ${D}${base_libdir}/firmware/sd8686_helper.bin

	# Realtek rtl8192* 
	install -m 0644 LICENCE.rtlwifi_firmware.txt ${D}${base_libdir}/firmware/rtlwifi/LICENCE.rtlwifi_firmware.txt

	# fixup wl12xx location, after 2.6.37 the kernel searches a different location for it
	( cd ${D}${base_libdir}/firmware ; ln -sf ti-connectivity/* . )
}

PACKAGES =+ "${PN}-sd8686 ${PN}-rtl8192cu linux-firmware-rtl8192ce linux-firmware-rtl8192su ${PN}-wl12xx"

LICENSE_${PN}-sd8686 = "Firmware:LICENSE.libertas"
FILES_${PN}-sd8686 = " \
  ${base_libdir}/firmware/libertas/sd8686_v9* \
  ${base_libdir}/firmware/sd8686* \
  ${base_libdir}/firmware/LICENCE.libertas \
"

LICENSE_${PN}-rtl8192cu = "Firmware:LICENCE.rtlwifi_firmware"
FILES_${PN}-rtl8192cu = " \
  ${base_libdir}/firmware/rtlwifi/rtl8192cufw.bin \
  ${base_libdir}/firmware/rtlwifi/LICENCE.rtlwifi_firmware.txt \
"

LICENSE_${PN}-rtl8192ce = "Firmware:LICENCE.rtlwifi_firmware"
FILES_${PN}-rtl8192ce = " \
  ${base_libdir}/firmware/rtlwifi/rtl8192cfw.bin \
"

LICENSE_${PN}-rtl8192su = "Firmware:LICENCE.rtlwifi_firmware"
FILES_${PN}-rtl8192su = " \
  ${base_libdir}/firmware/rtlwifi/rtl8712u.bin \
"

FILES_${PN}-wl12xx = " \
  ${base_libdir}/firmware/wl12* \
  ${base_libdir}/firmware/TI* \
  ${base_libdir}/firmware/ti-connectivity \
"

FILES_${PN} += "${base_libdir}/firmware/*"