summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAndrei Gherzan <andrei@gherzan.com>2017-09-14 11:53:44 +0100
committerAndrei Gherzan <andrei@gherzan.com>2017-09-21 23:11:13 +0100
commitacd58692356df2bbdc3aa1d6b15f44c104ad3b45 (patch)
tree7b0071724116ba44df4edc6d694791edd746f84f
parentf2896b0e5c0ae5dc4a523e569f33bfa6d2f55f86 (diff)
downloadmeta-raspberrypi-acd58692356df2bbdc3aa1d6b15f44c104ad3b45.tar.gz
linux-firmware: Update brcmfmac43430 to 7.45.41.46
The version of this firmware provided by linux-firmware is 7.45.41.26. This version seems to have connectivity issues when bonding interfaces. Raspbian included an updated version (7.45.41.46) which tested, proved to fix this problem (see https://github.com/resin-os/meta-resin/issues/812). The version Raspbian is providing is not yet in linux-firmware as they have it directly from Cypress (see https://github.com/RPi-Distro/repo/issues/88). Besides the issue described above, it fixes various other issues including a broadpwn fix. Hopefully this version, or a newer one, will end up in upstream soon. In order to catch when that happens and stop overwriting this firmware, a check is added in the racipe based on the md5sum of the current shipped firmware. In terms of ditribution license, we got an informal one in the github thread mentioned above. Signed-off-by: Andrei Gherzan <andrei@gherzan.com>
-rw-r--r--recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.binbin0 -> 372398 bytes
-rw-r--r--recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.txt25
-rw-r--r--recipes-kernel/linux-firmware/linux-firmware_%.bbappend22
3 files changed, 27 insertions, 20 deletions
diff --git a/recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.bin b/recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.bin
new file mode 100644
index 0000000..6b955da
--- /dev/null
+++ b/recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.bin
Binary files differ
diff --git a/recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.txt b/recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.txt
index ea4f648..3d917a7 100644
--- a/recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.txt
+++ b/recipes-kernel/linux-firmware/files/brcmfmac43430-sdio.txt
@@ -1,19 +1,20 @@
1# NVRAM file for BCM943430WLPTH 1# NVRAM file for BCM943430WLSELG
2# 2.4 GHz, 20 MHz BW mode 2# 2.4 GHz, 20 MHz BW mode
3 3
4# The following parameter values are just placeholders, need to be updated. 4# The following parameter values are just placeholders, need to be updated.
5manfid=0x2d0 5manfid=0x2d0
6prodid=0x0727 6prodid=0x0726
7vendid=0x14e4 7vendid=0x14e4
8devid=0x43e2 8devid=0x43e2
9boardtype=0x0727 9boardtype=0x0726
10boardrev=0x1101 10boardrev=0x1202
11boardnum=22 11boardnum=22
12macaddr=00:90:4c:c5:12:38 12macaddr=00:90:4c:c5:12:38
13sromrev=11 13sromrev=11
14boardflags=0x00404201 14boardflags=0x00404201
15boardflags3=0x08000000 15boardflags3=0x08000000
16xtalfreq=37400 16xtalfreq=37400
17#xtalfreq=19200
17nocrc=1 18nocrc=1
18ag0=255 19ag0=255
19aa2g=1 20aa2g=1
@@ -21,6 +22,7 @@ ccode=ALL
21 22
22pa0itssit=0x20 23pa0itssit=0x20
23extpagain2g=0 24extpagain2g=0
25
24#PA parameters for 2.4GHz, measured at CHIP OUTPUT 26#PA parameters for 2.4GHz, measured at CHIP OUTPUT
25pa2ga0=-168,7161,-820 27pa2ga0=-168,7161,-820
26AvVmid_c0=0x0,0xc8 28AvVmid_c0=0x0,0xc8
@@ -40,15 +42,9 @@ ofdmdigfilttypebe=18
40# PAPD mode: 42# PAPD mode:
41papdmode=1 43papdmode=1
42papdvalidtest=1 44papdvalidtest=1
43pacalidx2g=42 45pacalidx2g=32
44papdepsoffset=-22 46papdepsoffset=-36
45papdendidx=58 47papdendidx=61
46
47# LTECX flags
48ltecxmux=0
49ltecxpadnum=0x0102
50ltecxfnsel=0x44
51ltecxgcigpio=0x01
52 48
53il0macaddr=00:90:4c:c5:12:38 49il0macaddr=00:90:4c:c5:12:38
54wl0id=0x431b 50wl0id=0x431b
@@ -61,6 +57,3 @@ muxenab=0x1
61 57
62#VCO freq 326.4MHz 58#VCO freq 326.4MHz
63spurconfig=0x3 59spurconfig=0x3
64
65edonthd20l=-75
66edoffthd20ul=-80
diff --git a/recipes-kernel/linux-firmware/linux-firmware_%.bbappend b/recipes-kernel/linux-firmware/linux-firmware_%.bbappend
index 252da22..565b735 100644
--- a/recipes-kernel/linux-firmware/linux-firmware_%.bbappend
+++ b/recipes-kernel/linux-firmware/linux-firmware_%.bbappend
@@ -1,12 +1,26 @@
1FILESEXTRAPATHS_prepend := "${THISDIR}/files:" 1FILESEXTRAPATHS_prepend := "${THISDIR}/files:"
2 2
3SRC_URI += "file://brcmfmac43430-sdio.txt" 3SRC_URI += " \
4 file://brcmfmac43430-sdio.bin \
5 file://brcmfmac43430-sdio.txt \
6 "
4 7
5do_install_append() { 8do_install_append() {
6 install -D -m 0644 ${WORKDIR}/brcmfmac43430-sdio.txt ${D}/lib/firmware/brcm/brcmfmac43430-sdio.txt 9 # Overwrite v7.45.41.26 by the one we currently provide in this layer
10 # (v7.45.41.46)
11 local _firmware="brcmfmac43430-sdio.bin"
12 local _oldmd5=9258986488eca9fe5343b0d6fe040f8e
13 if [ "$(md5sum ${D}/lib/firmware/brcm/$_firmware | awk '{print $1}')" != "$_oldmd5" ]; then
14 _firmware=""
15 bbwarn "linux-firmware stopped providing brcmfmac43430 v7.45.41.26."
16 else
17 _firmware="${WORKDIR}/$_firmware"
18 fi
19
20 mkdir -p ${D}/lib/firmware/brcm
21 install -m 0644 $_firmware ${WORKDIR}/brcmfmac43430-sdio.txt ${D}/lib/firmware/brcm
7} 22}
8 23
9FILES_${PN}-bcm43430 += " \ 24FILES_${PN}-bcm43430 += " \
10 /lib/firmware/brcm/brcmfmac43430-sdio.txt \ 25 /lib/firmware/brcm/brcmfmac43430-sdio.txt \
11" 26"
12