Patchwork [meta-fsl-arm-extra,daisy,1/4] broadcom-nvram-config: separate recipes to different chipsets

login
register
mail settings
Submitter John Weber
Date Aug. 5, 2014, 3:56 p.m.
Message ID <1407254171-8412-1-git-send-email-rjohnweber@gmail.com>
Download mbox | patch
Permalink /patch/77319/
State Accepted
Delegated to: Otavio Salvador
Headers show

Comments

John Weber - Aug. 5, 2014, 3:56 p.m.
Upstream driver changes cause the driver to request firmware based on
the device ID (e.g. 4329, 4330).  This also applies to the nvram config
file.  Restructure the recipes and separate by chipset.

Modify conf/machine to use chipset-specific broadcom nvram packages

Signed-off-by: John Weber <rjohnweber@gmail.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
---
 conf/machine/nitrogen6x-lite.conf                  |   2 +-
 conf/machine/wandboard-dual.conf                   |   5 +-
 conf/machine/wandboard-quad.conf                   |   5 +-
 .../broadcom-nvram-config/bcm4329-nvram-config.bb  |   8 ++
 .../broadcom-nvram-config/bcm4330-nvram-config.bb  |   8 ++
 .../broadcom-nvram-config/broadcom-nvram-config.bb |  31 ------
 .../broadcom-nvram-config.inc                      |  31 ++++++
 .../files/nitrogen6x-lite/brcmfmac4330-sdio.txt    |  80 ++++++++++++++
 .../files/nitrogen6x-lite/nvram.txt                |  80 --------------
 .../files/wandboard/brcmfmac4329-sdio.txt          |  70 ++++++++++++
 .../files/wandboard/brcmfmac4330-sdio.txt          | 120 +++++++++++++++++++++
 .../files/wandboard/nvram.txt                      |  70 ------------
 12 files changed, 326 insertions(+), 184 deletions(-)
 create mode 100644 recipes-bsp/broadcom-nvram-config/bcm4329-nvram-config.bb
 create mode 100644 recipes-bsp/broadcom-nvram-config/bcm4330-nvram-config.bb
 delete mode 100644 recipes-bsp/broadcom-nvram-config/broadcom-nvram-config.bb
 create mode 100644 recipes-bsp/broadcom-nvram-config/broadcom-nvram-config.inc
 create mode 100644 recipes-bsp/broadcom-nvram-config/files/nitrogen6x-lite/brcmfmac4330-sdio.txt
 delete mode 100644 recipes-bsp/broadcom-nvram-config/files/nitrogen6x-lite/nvram.txt
 create mode 100644 recipes-bsp/broadcom-nvram-config/files/wandboard/brcmfmac4329-sdio.txt
 create mode 100644 recipes-bsp/broadcom-nvram-config/files/wandboard/brcmfmac4330-sdio.txt
 delete mode 100644 recipes-bsp/broadcom-nvram-config/files/wandboard/nvram.txt

Patch

diff --git a/conf/machine/nitrogen6x-lite.conf b/conf/machine/nitrogen6x-lite.conf
index de98f39..0dc3ce0 100644
--- a/conf/machine/nitrogen6x-lite.conf
+++ b/conf/machine/nitrogen6x-lite.conf
@@ -28,5 +28,5 @@  UBOOT_MACHINE ?= "nit6xlite_config"
 
 SERIAL_CONSOLE = "115200 ttymxc1"
 
-MACHINE_EXTRA_RRECOMMENDS += " broadcom-nvram-config"
+MACHINE_EXTRA_RRECOMMENDS += " bcm4330-nvram-config"
 MACHINE_FEATURES += " pci wifi bluetooth"
diff --git a/conf/machine/wandboard-dual.conf b/conf/machine/wandboard-dual.conf
index 4f81a2f..0689db8 100644
--- a/conf/machine/wandboard-dual.conf
+++ b/conf/machine/wandboard-dual.conf
@@ -14,4 +14,7 @@  KERNEL_DEVICETREE = "imx6dl-wandboard.dtb"
 
 MACHINE_FEATURES += "bluetooth wifi"
 
-MACHINE_EXTRA_RRECOMMENDS += " broadcom-nvram-config"
+MACHINE_EXTRA_RRECOMMENDS += " \
+  bcm4329-nvram-config \
+  bcm4330-nvram-config \
+"
diff --git a/conf/machine/wandboard-quad.conf b/conf/machine/wandboard-quad.conf
index 133f907..396c977 100644
--- a/conf/machine/wandboard-quad.conf
+++ b/conf/machine/wandboard-quad.conf
@@ -14,4 +14,7 @@  KERNEL_DEVICETREE = "imx6q-wandboard.dtb"
 
 MACHINE_FEATURES += "bluetooth wifi"
 
-MACHINE_EXTRA_RRECOMMENDS += " broadcom-nvram-config"
+MACHINE_EXTRA_RRECOMMENDS += " \
+  bcm4329-nvram-config \
+  bcm4330-nvram-config \
+"
diff --git a/recipes-bsp/broadcom-nvram-config/bcm4329-nvram-config.bb b/recipes-bsp/broadcom-nvram-config/bcm4329-nvram-config.bb
new file mode 100644
index 0000000..0123e9f
--- /dev/null
+++ b/recipes-bsp/broadcom-nvram-config/bcm4329-nvram-config.bb
@@ -0,0 +1,8 @@ 
+DESCRIPTION = "Nvram support for Broadcom BCM4329 wifi/bt device"
+SECTION = "kernel"
+
+include broadcom-nvram-config.inc
+
+CHIP_MODEL = "4329"
+
+COMPATIBLE_MACHINE = "(wandboard-dual|wandboard-quad)"
diff --git a/recipes-bsp/broadcom-nvram-config/bcm4330-nvram-config.bb b/recipes-bsp/broadcom-nvram-config/bcm4330-nvram-config.bb
new file mode 100644
index 0000000..592cfc9
--- /dev/null
+++ b/recipes-bsp/broadcom-nvram-config/bcm4330-nvram-config.bb
@@ -0,0 +1,8 @@ 
+DESCRIPTION = "Nvram support for Broadcom BCM4330 wifi/bt device"
+SECTION = "kernel"
+
+include broadcom-nvram-config.inc
+
+CHIP_MODEL = "4330"
+
+COMPATIBLE_MACHINE = "(nitrogen6x-lite|wandboard-dual|wandboard-quad)"
diff --git a/recipes-bsp/broadcom-nvram-config/broadcom-nvram-config.bb b/recipes-bsp/broadcom-nvram-config/broadcom-nvram-config.bb
deleted file mode 100644
index 501cc20..0000000
--- a/recipes-bsp/broadcom-nvram-config/broadcom-nvram-config.bb
+++ /dev/null
@@ -1,31 +0,0 @@ 
-DESCRIPTION = "Nvram support for Broadcom wifi chips"
-SECTION = "kernel"
-
-LICENSE = "Proprietary"
-LIC_FILES_CHKSUM = "file://LICENCE.broadcom_bcm43xx;md5=3160c14df7228891b868060e1951dfbc"
-
-SRC_URI = " \
-   file://nvram.txt \
-   file://LICENCE.broadcom_bcm43xx \
-"
-
-S="${WORKDIR}"
-
-do_install() {
-    install -d  ${D}/lib/firmware/brcm
-
-    cp -r ${WORKDIR}/nvram.txt \
-        ${D}/lib/firmware/brcm/brcmfmac-sdio.txt
-}
-
-FILES_${PN} = " \
-  /lib/firmware/brcm/brcmfmac-sdio.txt \
-"
-BROADCOM_FIRMWARE = "INVALID"
-BROADCOM_FIRMWARE_nitrogen6x-lite = "bcm4330"
-BROADCOM_FIRMWARE_wandboard-dual = "bcm4329"
-BROADCOM_FIRMWARE_wandboard-quad = "bcm4329"
-
-RDEPENDS_${PN} = "linux-firmware-${BROADCOM_FIRMWARE}"
-
-COMPATIBLE_MACHINE = "(nitrogen6x-lite|wandboard-dual|wandboard-quad)"
diff --git a/recipes-bsp/broadcom-nvram-config/broadcom-nvram-config.inc b/recipes-bsp/broadcom-nvram-config/broadcom-nvram-config.inc
new file mode 100644
index 0000000..9622ddf
--- /dev/null
+++ b/recipes-bsp/broadcom-nvram-config/broadcom-nvram-config.inc
@@ -0,0 +1,31 @@ 
+LICENSE = "Proprietary"
+LIC_FILES_CHKSUM = "file://LICENCE.broadcom_bcm43xx;md5=3160c14df7228891b868060e1951dfbc"
+
+SRC_URI = " \
+   file://LICENCE.broadcom_bcm43xx \
+"
+
+S = "${WORKDIR}"
+BRCM_FWDIR = "/lib/firmware/brcm"
+CHIP_MODEL ?= "Invalid"
+
+do_install() {
+    install -d  ${D}${BRCM_FWDIR}
+
+    cp -r ${WORKDIR}/brcmfmac${CHIP_MODEL}-sdio.txt \
+        ${D}${BRCM_FWDIR}
+}
+
+SRC_URI += " \
+   file://brcmfmac${CHIP_MODEL}-sdio.txt \
+"
+
+FILES_${PN} = " \
+  ${BRCM_FWDIR}/brcmfmac${CHIP_MODEL}-sdio.txt \
+"
+
+RDEPENDS_${PN} = " \ 
+  linux-firmware-bcm${CHIP_MODEL} \
+"
+
+PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/recipes-bsp/broadcom-nvram-config/files/nitrogen6x-lite/brcmfmac4330-sdio.txt b/recipes-bsp/broadcom-nvram-config/files/nitrogen6x-lite/brcmfmac4330-sdio.txt
new file mode 100644
index 0000000..6183cca
--- /dev/null
+++ b/recipes-bsp/broadcom-nvram-config/files/nitrogen6x-lite/brcmfmac4330-sdio.txt
@@ -0,0 +1,80 @@ 
+#
+# Board configuration for Boundary Devices Nitrogen6-Lite
+#
+manfid=0x2d0
+prodid=0x0547
+vendid=0x14e4
+devid=0x4360
+boardtype=0x05e1
+boardrev=0x1202
+boardflags=0x0080200
+nocrc=1
+xtalfreq=37400
+boardnum=22
+ag0=254
+aa2g=1
+ccode=ALL
+pa0itssit=0x20
+pa0b0=5367
+pa0b1=-633
+pa0b2=-158
+rssismf2g=0xa
+rssismc2g=0x3
+rssisav2g=0x7
+#rssi params for 5GHz
+rssismf5g=0x4
+rssismc5g=0x3
+rssisav5g=0x7
+#PA parameters for lower a-band
+pa1lob0=4378
+pa1lob1=-596
+pa1lob2=-180
+#PA parameters for midband
+pa1b0=4672
+pa1b1=-603
+pa1b2=-172
+#PA parameters for high band
+pa1hib0=4752
+pa1hib1=-609
+pa1hib2=-173
+rxpo5g=0
+maxp2ga0=76
+maxp5ga0=0x42
+maxp5gla0=0x42
+maxp5gha0=0x42
+# 2.4G Tx Power offsets
+cck2gpo=0x4444
+ofdm2gpo=0x66666666
+mcs2gpo0=0x8888
+mcs2gpo1=0x8888
+# 5G Tx Power offsets
+ofdm5gpo=0x44444444
+ofdm5glpo=0x44444444
+ofdm5ghpo=0x44444444
+mcs5gpo0=0x6666
+mcs5gpo1=0x6666
+mcs5glpo0=0x6666
+mcs5glpo1=0x6666
+mcs5ghpo0=0x6666
+mcs5ghpo1=0x46666
+sromrev=3
+# il0macaddr=00:90:4c:c5:12:38
+wl0id=0x431b
+cckPwrOffset=4
+swctrlmap_2g=0x44844484,0x42824282,0x40804484,0x18282,0x1ff
+triso5g=0
+swctrlmap_5g=0x00100010,0x20202020,0x20202020,0x14202,0x0f0
+rfreg033=0x19
+rfreg033_cck=0x1f
+dacrate2g=160
+dacrate5g=160
+txalpfbyp2g=1
+bphyscale=17
+cckPwrIdxCorr=-15
+pacalidx2g=50
+#pacalidx5g=20
+noise_cal_ref_2g=53
+noise_cal_po_2g=0
+noise_cal_ref_5g=52
+noise_cal_po_5g=5,0,0
+
diff --git a/recipes-bsp/broadcom-nvram-config/files/nitrogen6x-lite/nvram.txt b/recipes-bsp/broadcom-nvram-config/files/nitrogen6x-lite/nvram.txt
deleted file mode 100644
index 6183cca..0000000
--- a/recipes-bsp/broadcom-nvram-config/files/nitrogen6x-lite/nvram.txt
+++ /dev/null
@@ -1,80 +0,0 @@ 
-#
-# Board configuration for Boundary Devices Nitrogen6-Lite
-#
-manfid=0x2d0
-prodid=0x0547
-vendid=0x14e4
-devid=0x4360
-boardtype=0x05e1
-boardrev=0x1202
-boardflags=0x0080200
-nocrc=1
-xtalfreq=37400
-boardnum=22
-ag0=254
-aa2g=1
-ccode=ALL
-pa0itssit=0x20
-pa0b0=5367
-pa0b1=-633
-pa0b2=-158
-rssismf2g=0xa
-rssismc2g=0x3
-rssisav2g=0x7
-#rssi params for 5GHz
-rssismf5g=0x4
-rssismc5g=0x3
-rssisav5g=0x7
-#PA parameters for lower a-band
-pa1lob0=4378
-pa1lob1=-596
-pa1lob2=-180
-#PA parameters for midband
-pa1b0=4672
-pa1b1=-603
-pa1b2=-172
-#PA parameters for high band
-pa1hib0=4752
-pa1hib1=-609
-pa1hib2=-173
-rxpo5g=0
-maxp2ga0=76
-maxp5ga0=0x42
-maxp5gla0=0x42
-maxp5gha0=0x42
-# 2.4G Tx Power offsets
-cck2gpo=0x4444
-ofdm2gpo=0x66666666
-mcs2gpo0=0x8888
-mcs2gpo1=0x8888
-# 5G Tx Power offsets
-ofdm5gpo=0x44444444
-ofdm5glpo=0x44444444
-ofdm5ghpo=0x44444444
-mcs5gpo0=0x6666
-mcs5gpo1=0x6666
-mcs5glpo0=0x6666
-mcs5glpo1=0x6666
-mcs5ghpo0=0x6666
-mcs5ghpo1=0x46666
-sromrev=3
-# il0macaddr=00:90:4c:c5:12:38
-wl0id=0x431b
-cckPwrOffset=4
-swctrlmap_2g=0x44844484,0x42824282,0x40804484,0x18282,0x1ff
-triso5g=0
-swctrlmap_5g=0x00100010,0x20202020,0x20202020,0x14202,0x0f0
-rfreg033=0x19
-rfreg033_cck=0x1f
-dacrate2g=160
-dacrate5g=160
-txalpfbyp2g=1
-bphyscale=17
-cckPwrIdxCorr=-15
-pacalidx2g=50
-#pacalidx5g=20
-noise_cal_ref_2g=53
-noise_cal_po_2g=0
-noise_cal_ref_5g=52
-noise_cal_po_5g=5,0,0
-
diff --git a/recipes-bsp/broadcom-nvram-config/files/wandboard/brcmfmac4329-sdio.txt b/recipes-bsp/broadcom-nvram-config/files/wandboard/brcmfmac4329-sdio.txt
new file mode 100644
index 0000000..53e4bba
--- /dev/null
+++ b/recipes-bsp/broadcom-nvram-config/files/wandboard/brcmfmac4329-sdio.txt
@@ -0,0 +1,70 @@ 
+# bcm4329 NVRAM file for Wandboard Dual
+# $Copyright (C) 2008 Broadcom Corporation$
+# $id$
+
+sromrev=3
+vendid=0x14e4
+devid=0x432f
+boardtype=0x53e
+
+boardrev=0x41
+
+#boardflags=0x1200
+boardflags=0x200
+
+# Specify the xtalfreq if it is otherthan 38.4MHz
+xtalfreq=37400
+
+aa2g=3
+aa5g=0
+
+ag0=255
+#tri2g=0x64
+
+# 11g paparams
+pa0b0=5542,5542,5542
+pa0b1=64244,64244,64244
+pa0b2=65202,65202,65202
+
+pa0itssit=62
+pa0maxpwr=74
+opo=0
+mcs2gpo0=0x6666
+mcs2gpo1=0x6666
+
+# 11g rssi params
+rssismf2g=0xa,0xa,0xa
+rssismc2g=0xb,0xb,0xb
+rssisav2g=0x3,0x3,0x3
+bxa2g=0
+
+# country code
+ccode=ALL
+cctl=0x0
+cckdigfilttype=0
+ofdmdigfilttype=1
+
+rxpo2g=0
+
+boardnum=1
+macaddr=00:90:4c:c5:00:34
+
+# xtal pu and pd time control variable
+# pu time is driver default (0x1501)
+#r13t=0x1501
+
+#######
+nocrc=1
+
+#for mfgc
+otpimagesize=182
+
+# sdio extra configs
+hwhdr=0x05ffff031030031003100000
+
+#This generates empty F1, F2 and F3 tuple chains, and may be used if the host SDIO stack does not require the standard tuples.
+#RAW1=80 02 fe ff
+
+#This includes the standard FUNCID and FUNCE tuples in the F1, F2, F3 and common CIS.
+RAW1=80 32 fe 21 02 0c 00 22 2a 01 01 00 00 c5 0 e6 00 00 00 00 00 40 00 00 ff ff 80 00 00 00 00 00 00 00 00 00 00 c8 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 20 04 D0 2 29 43 21 02 0c 00 22 04 00 20 00 5A
+nvramver=4.218.214.0
diff --git a/recipes-bsp/broadcom-nvram-config/files/wandboard/brcmfmac4330-sdio.txt b/recipes-bsp/broadcom-nvram-config/files/wandboard/brcmfmac4330-sdio.txt
new file mode 100644
index 0000000..367ea0b
--- /dev/null
+++ b/recipes-bsp/broadcom-nvram-config/files/wandboard/brcmfmac4330-sdio.txt
@@ -0,0 +1,120 @@ 
+manfid=0x2d0
+prodid=0x0532
+vendid=0x14e4
+devid=0x4360
+boardtype=0x0532
+boardrev=0x20
+boardflags=0x10080201
+
+nocrc=1
+xtalfreq=37400
+xtalmode=0x20,0x4,0
+boardnum=22
+macaddr=00:90:4c:c5:12:38
+ag0=252
+ag1=252
+aa2g=1
+aa5g=1
+ccode=EU
+regrev=5
+
+#for BT-coexistence
+btc_params80=0
+btc_params6=10
+btc_params8=10000
+
+sd_gpout=0
+# sd_oobonly=1
+muxenab=0x10
+
+# 2G PA param_B42R 110927
+pa0b0=0x12E4
+pa0b1=0xFE09
+pa0b2=0xFF9A
+#pa0itssit=62
+rssismf2g=0xa
+rssismc2g=0x3
+rssisav2g=0x7
+
+# rssi params for 5GHz B42R_110803
+#rssismf5g=0x4
+rssismf5g=0xa
+rssismc5g=0x7
+rssisav5g=0x1
+#PA parameters for lower band
+pa1lob0=0x144F
+pa1lob1=0xFD6B
+pa1lob2=0xFF3B
+#PA parameters for midband
+pa1b0=0x139C
+pa1b1=0xFD87
+pa1b2=0xFF4F
+#PA parameters for high band
+pa1hib0=0x12CA
+pa1hib1=0xFD9A
+pa1hib2=0xFF4E
+
+# 2G PA offset
+maxp2ga0=64
+sromrev=3
+cckpo=0
+ofdm2gpo=0x66666666
+mcs2gpo0=0xaaaa
+mcs2gpo1=0xaaaa
+
+# 5G PA offset
+maxp5ga0=66
+maxp5gla0=66
+maxp5gha0=66
+ofdm5gpo=0x22222222
+ofdm5glpo=0x11111111
+ofdm5ghpo=0x22222222
+mcs5gpo0=0x6666
+mcs5gpo1=0x6666
+mcs5glpo0=0x5555
+mcs5glpo1=0x5555
+mcs5ghpo0=0x6666
+mcs5ghpo1=0x6666
+
+cckPwrOffset=4
+cckdigfilttype=22
+ofdmdigfilttype=2
+extpagain5g=2
+#wl0id=0x431b
+
+# For 2GHz Tx EVM/SM
+rfreg033=0x19
+rfreg033_cck=0x1d
+pacalidx2g=65
+dacrate2g=160
+txalpfbyp2g=1
+bphyscale=17
+
+# 5GHz LOFT and IQ CAL
+txgaintbl5g=1
+txiqlopapu5g=1
+txiqlopag5g=0x10
+iqlocalidx5g=24
+
+# 5GHz Noise CAL parameter
+noise_cal_po_5g=5
+noise_cal_enable_5g=0
+
+# 2GHz RxPER at low rates
+noise_cal_ref_2g=56
+noise_cal_po_bias_2g=-4
+noise_cal_enable_2g=1
+
+# Max input level on a-band
+triso5g=9
+
+# Tx power control, especially temp.
+tssitime=1
+
+#fc+1.7GHz Spur Elimination
+loidacmode5g=1
+
+swctrlmap_2g=0x84048404, 0x82028202, 0x84048404, 0x010202, 0x1ff
+swctrlmap_5g=0xC040C040, 0xB030A020, 0xA020C040, 0x010A02, 0x2F8
+
+
diff --git a/recipes-bsp/broadcom-nvram-config/files/wandboard/nvram.txt b/recipes-bsp/broadcom-nvram-config/files/wandboard/nvram.txt
deleted file mode 100644
index 53e4bba..0000000
--- a/recipes-bsp/broadcom-nvram-config/files/wandboard/nvram.txt
+++ /dev/null
@@ -1,70 +0,0 @@ 
-# bcm4329 NVRAM file for Wandboard Dual
-# $Copyright (C) 2008 Broadcom Corporation$
-# $id$
-
-sromrev=3
-vendid=0x14e4
-devid=0x432f
-boardtype=0x53e
-
-boardrev=0x41
-
-#boardflags=0x1200
-boardflags=0x200
-
-# Specify the xtalfreq if it is otherthan 38.4MHz
-xtalfreq=37400
-
-aa2g=3
-aa5g=0
-
-ag0=255
-#tri2g=0x64
-
-# 11g paparams
-pa0b0=5542,5542,5542
-pa0b1=64244,64244,64244
-pa0b2=65202,65202,65202
-
-pa0itssit=62
-pa0maxpwr=74
-opo=0
-mcs2gpo0=0x6666
-mcs2gpo1=0x6666
-
-# 11g rssi params
-rssismf2g=0xa,0xa,0xa
-rssismc2g=0xb,0xb,0xb
-rssisav2g=0x3,0x3,0x3
-bxa2g=0
-
-# country code
-ccode=ALL
-cctl=0x0
-cckdigfilttype=0
-ofdmdigfilttype=1
-
-rxpo2g=0
-
-boardnum=1
-macaddr=00:90:4c:c5:00:34
-
-# xtal pu and pd time control variable
-# pu time is driver default (0x1501)
-#r13t=0x1501
-
-#######
-nocrc=1
-
-#for mfgc
-otpimagesize=182
-
-# sdio extra configs
-hwhdr=0x05ffff031030031003100000
-
-#This generates empty F1, F2 and F3 tuple chains, and may be used if the host SDIO stack does not require the standard tuples.
-#RAW1=80 02 fe ff
-
-#This includes the standard FUNCID and FUNCE tuples in the F1, F2, F3 and common CIS.
-RAW1=80 32 fe 21 02 0c 00 22 2a 01 01 00 00 c5 0 e6 00 00 00 00 00 40 00 00 ff ff 80 00 00 00 00 00 00 00 00 00 00 c8 00 00 00 00 00 00 00 00 00 00 00 00 00 ff 20 04 D0 2 29 43 21 02 0c 00 22 04 00 20 00 5A
-nvramver=4.218.214.0