broadcom-nvram-config: separate recipes to different chipsets

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>
This commit is contained in:
John Weber 2014-07-15 15:01:10 -05:00 committed by Otavio Salvador
parent f432f685fe
commit c92573efff
10 changed files with 176 additions and 34 deletions

View File

@ -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"

View File

@ -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 \
"

View File

@ -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 \
"

View File

@ -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)"

View File

@ -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)"

View File

@ -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)"

View File

@ -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}"

View File

@ -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