diff options
author | hauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-02-18 23:08:26 +0000 |
---|---|---|
committer | hauke <hauke@3c298f89-4303-0410-b956-a3cf2f4a3e73> | 2012-02-18 23:08:26 +0000 |
commit | 035f06d698fda6b5864d9665c4f657215dbf1e3e (patch) | |
tree | 397b1a30db8f78e15b86821f7268ad2211b00a8a /target/linux/brcm47xx/patches-3.2/193-ssb-add-some-missing-sprom-attributes.patch | |
parent | 7005c79799cf4dc2fd5c528dba2ae9940b04bf33 (diff) |
brcm47xx: sprom for nvram parsing
This adds support for parsing sprom form nvram for sprom version form 1 to 9.
It also adds sprom from nvram support for devices on the bcma bus.
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@30638 3c298f89-4303-0410-b956-a3cf2f4a3e73
Diffstat (limited to 'target/linux/brcm47xx/patches-3.2/193-ssb-add-some-missing-sprom-attributes.patch')
-rw-r--r-- | target/linux/brcm47xx/patches-3.2/193-ssb-add-some-missing-sprom-attributes.patch | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/target/linux/brcm47xx/patches-3.2/193-ssb-add-some-missing-sprom-attributes.patch b/target/linux/brcm47xx/patches-3.2/193-ssb-add-some-missing-sprom-attributes.patch new file mode 100644 index 000000000..e0bcddbf3 --- /dev/null +++ b/target/linux/brcm47xx/patches-3.2/193-ssb-add-some-missing-sprom-attributes.patch @@ -0,0 +1,106 @@ +From 91e6ca304fb163e2f9b15188686fc4637f2cd32a Mon Sep 17 00:00:00 2001 +From: Hauke Mehrtens <hauke@hauke-m.de> +Date: Fri, 17 Feb 2012 23:26:39 +0100 +Subject: [PATCH 193/202] ssb: add some missing sprom attributes + +This patch extends the sprom struct to contain all sprom attributes +found in sprom version 1 to 9. This was done accordingly to the open +source part of the Braodcom SDK. + +Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de> +--- + include/linux/ssb/ssb.h | 76 ++++++++++++++++++++++++++++++++++++++++++++++- + 1 files changed, 75 insertions(+), 1 deletions(-) + +--- a/include/linux/ssb/ssb.h ++++ b/include/linux/ssb/ssb.h +@@ -32,6 +32,8 @@ struct ssb_sprom { + u8 et0mdcport; /* MDIO for enet0 */ + u8 et1mdcport; /* MDIO for enet1 */ + u16 board_rev; /* Board revision number from SPROM. */ ++ u16 board_num; ++ u16 board_type; + u8 country_code; /* Country Code */ + u8 leddc_on_time; /* LED Powersave Duty Cycle On Count */ + u8 leddc_off_time; /* LED Powersave Duty Cycle Off Count */ +@@ -112,7 +114,79 @@ struct ssb_sprom { + } ghz5; + } fem; + +- /* TODO - add any parameters needed from rev 2, 3, 4, 5 or 8 SPROMs */ ++ u16 mcs2gpo[8]; ++ u16 mcs5gpo[8]; ++ u16 mcs5glpo[8]; ++ u16 mcs5ghpo[8]; ++ u8 opo; ++ ++ u8 rxgainerr2ga[3]; ++ u8 rxgainerr5gla[3]; ++ u8 rxgainerr5gma[3]; ++ u8 rxgainerr5gha[3]; ++ u8 rxgainerr5gua[3]; ++ ++ u8 noiselvl2ga[3]; ++ u8 noiselvl5gla[3]; ++ u8 noiselvl5gma[3]; ++ u8 noiselvl5gha[3]; ++ u8 noiselvl5gua[3]; ++ ++ u8 regrev; ++ u8 txchain; ++ u8 rxchain; ++ u8 antswitch; ++ u16 cddpo; ++ u16 stbcpo; ++ u16 bw40po; ++ u16 bwduppo; ++ ++ u8 tempthresh; ++ u8 tempoffset; ++ u16 rawtempsense; ++ u8 measpower; ++ u8 tempsense_slope; ++ u8 tempcorrx; ++ u8 tempsense_option; ++ u8 freqoffset_corr; ++ u8 iqcal_swp_dis; ++ u8 hw_iqcal_en; ++ u8 elna2g; ++ u8 elna5g; ++ u8 phycal_tempdelta; ++ u8 temps_period; ++ u8 temps_hysteresis; ++ u8 measpower1; ++ u8 measpower2; ++ u8 pcieingress_war; ++ ++ /* power per rate from sromrev 9 */ ++ u16 cckbw202gpo; ++ u16 cckbw20ul2gpo; ++ u32 legofdmbw202gpo; ++ u32 legofdmbw20ul2gpo; ++ u32 legofdmbw205glpo; ++ u32 legofdmbw20ul5glpo; ++ u32 legofdmbw205gmpo; ++ u32 legofdmbw20ul5gmpo; ++ u32 legofdmbw205ghpo; ++ u32 legofdmbw20ul5ghpo; ++ u32 mcsbw202gpo; ++ u32 mcsbw20ul2gpo; ++ u32 mcsbw402gpo; ++ u32 mcsbw205glpo; ++ u32 mcsbw20ul5glpo; ++ u32 mcsbw405glpo; ++ u32 mcsbw205gmpo; ++ u32 mcsbw20ul5gmpo; ++ u32 mcsbw405gmpo; ++ u32 mcsbw205ghpo; ++ u32 mcsbw20ul5ghpo; ++ u32 mcsbw405ghpo; ++ u16 mcs32po; ++ u16 legofdm40duppo; ++ u8 sar2g; ++ u8 sar5g; + }; + + /* Information about the PCB the circuitry is soldered on. */ |