brcm47xx: sprom for nvram parsing
[openwrt/svn-archive/archive.git] / target / linux / brcm47xx / patches-3.2 / 193-ssb-add-some-missing-sprom-attributes.patch
1 From 91e6ca304fb163e2f9b15188686fc4637f2cd32a Mon Sep 17 00:00:00 2001
2 From: Hauke Mehrtens <hauke@hauke-m.de>
3 Date: Fri, 17 Feb 2012 23:26:39 +0100
4 Subject: [PATCH 193/202] ssb: add some missing sprom attributes
5
6 This patch extends the sprom struct to contain all sprom attributes
7 found in sprom version 1 to 9. This was done accordingly to the open
8 source part of the Braodcom SDK.
9
10 Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
11 ---
12 include/linux/ssb/ssb.h | 76 ++++++++++++++++++++++++++++++++++++++++++++++-
13 1 files changed, 75 insertions(+), 1 deletions(-)
14
15 --- a/include/linux/ssb/ssb.h
16 +++ b/include/linux/ssb/ssb.h
17 @@ -32,6 +32,8 @@ struct ssb_sprom {
18 u8 et0mdcport; /* MDIO for enet0 */
19 u8 et1mdcport; /* MDIO for enet1 */
20 u16 board_rev; /* Board revision number from SPROM. */
21 + u16 board_num;
22 + u16 board_type;
23 u8 country_code; /* Country Code */
24 u8 leddc_on_time; /* LED Powersave Duty Cycle On Count */
25 u8 leddc_off_time; /* LED Powersave Duty Cycle Off Count */
26 @@ -112,7 +114,79 @@ struct ssb_sprom {
27 } ghz5;
28 } fem;
29
30 - /* TODO - add any parameters needed from rev 2, 3, 4, 5 or 8 SPROMs */
31 + u16 mcs2gpo[8];
32 + u16 mcs5gpo[8];
33 + u16 mcs5glpo[8];
34 + u16 mcs5ghpo[8];
35 + u8 opo;
36 +
37 + u8 rxgainerr2ga[3];
38 + u8 rxgainerr5gla[3];
39 + u8 rxgainerr5gma[3];
40 + u8 rxgainerr5gha[3];
41 + u8 rxgainerr5gua[3];
42 +
43 + u8 noiselvl2ga[3];
44 + u8 noiselvl5gla[3];
45 + u8 noiselvl5gma[3];
46 + u8 noiselvl5gha[3];
47 + u8 noiselvl5gua[3];
48 +
49 + u8 regrev;
50 + u8 txchain;
51 + u8 rxchain;
52 + u8 antswitch;
53 + u16 cddpo;
54 + u16 stbcpo;
55 + u16 bw40po;
56 + u16 bwduppo;
57 +
58 + u8 tempthresh;
59 + u8 tempoffset;
60 + u16 rawtempsense;
61 + u8 measpower;
62 + u8 tempsense_slope;
63 + u8 tempcorrx;
64 + u8 tempsense_option;
65 + u8 freqoffset_corr;
66 + u8 iqcal_swp_dis;
67 + u8 hw_iqcal_en;
68 + u8 elna2g;
69 + u8 elna5g;
70 + u8 phycal_tempdelta;
71 + u8 temps_period;
72 + u8 temps_hysteresis;
73 + u8 measpower1;
74 + u8 measpower2;
75 + u8 pcieingress_war;
76 +
77 + /* power per rate from sromrev 9 */
78 + u16 cckbw202gpo;
79 + u16 cckbw20ul2gpo;
80 + u32 legofdmbw202gpo;
81 + u32 legofdmbw20ul2gpo;
82 + u32 legofdmbw205glpo;
83 + u32 legofdmbw20ul5glpo;
84 + u32 legofdmbw205gmpo;
85 + u32 legofdmbw20ul5gmpo;
86 + u32 legofdmbw205ghpo;
87 + u32 legofdmbw20ul5ghpo;
88 + u32 mcsbw202gpo;
89 + u32 mcsbw20ul2gpo;
90 + u32 mcsbw402gpo;
91 + u32 mcsbw205glpo;
92 + u32 mcsbw20ul5glpo;
93 + u32 mcsbw405glpo;
94 + u32 mcsbw205gmpo;
95 + u32 mcsbw20ul5gmpo;
96 + u32 mcsbw405gmpo;
97 + u32 mcsbw205ghpo;
98 + u32 mcsbw20ul5ghpo;
99 + u32 mcsbw405ghpo;
100 + u16 mcs32po;
101 + u16 legofdm40duppo;
102 + u8 sar2g;
103 + u8 sar5g;
104 };
105
106 /* Information about the PCB the circuitry is soldered on. */