e0bcddbf31d7a3b3026bfebb621aa0b4431b1761
[oweals/openwrt.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. */