]>
Commit | Line | Data |
---|---|---|
c06f7f46 GKH |
1 | From 0dfa6dbb7372e581d3beb38b11772152114796b8 Mon Sep 17 00:00:00 2001 |
2 | From: Luis R. Rodriguez <lrodriguez@atheros.com> | |
3 | Date: Mon, 18 Oct 2010 22:47:54 -0700 | |
4 | Subject: ath9k_hw: Fix TX carrier leakage for IEEE compliance on AR9003 2.2 | |
5 | ||
6 | From: Luis R. Rodriguez <lrodriguez@atheros.com> | |
7 | ||
8 | commit 0dfa6dbb7372e581d3beb38b11772152114796b8 upstream. | |
9 | ||
10 | This updates the initvals for the AR9003 2.2 chipsets. The initvals | |
11 | are the initial register values we use for our registers upon hardware | |
12 | reset. This synchs up the initvals to match what our latest recommendation | |
13 | from our systems engineering team. | |
14 | ||
15 | The description of changes in this update: | |
16 | ||
17 | Improves ability to support very strong Rx conditions. | |
18 | Enhances DFS support for AP-mode. | |
19 | Improves performance of Tx carrier leak calibration. | |
20 | Adds support for Japan channel 14 Tx filtering requirements. | |
21 | Improves Tx power accuracy. | |
22 | ||
23 | Impact: | |
24 | ||
25 | Update required to address degraded throughput at very short range. | |
26 | Update required for AP-mode DFS certification. | |
27 | Update required to comply to IEEE Tx carrier leak specification. | |
28 | May not meet expected +/- 2 dB Tx power accuracy without update. | |
29 | ||
30 | The most important fix here would be the TX carrier leakage required | |
31 | to comply with IEEE 802.11 specifications. The group of changes have | |
32 | been tested all together in one release. | |
33 | ||
34 | References: | |
35 | ||
36 | Osprey 2.2 header file ver #33 | |
37 | ||
38 | Checksums: | |
39 | ||
40 | $ ./initvals -f ar9003-2p2 | |
41 | 0x000000004a488fc7 ar9300_2p2_radio_postamble | |
42 | 0x0000000046cb1300 ar9300Modes_lowest_ob_db_tx_gain_table_2p2 | |
43 | 0x00000000e912711f ar9300Modes_fast_clock_2p2 | |
44 | 0x0000000037ac0ee8 ar9300_2p2_radio_core | |
45 | 0x00000000047a7700 ar9300Common_rx_gain_table_merlin_2p2 | |
46 | 0x0000000003f783bb ar9300_2p2_mac_postamble | |
47 | 0x00000000301fc841 ar9300_2p2_soc_postamble | |
48 | 0x000000005ec8075f ar9200_merlin_2p2_radio_core | |
49 | 0x0000000083372ffa ar9300_2p2_baseband_postamble | |
50 | 0x00000000c4f59974 ar9300_2p2_baseband_core | |
51 | 0x00000000e20d2e72 ar9300Modes_high_power_tx_gain_table_2p2 | |
52 | 0x000000007fd55c70 ar9300Modes_high_ob_db_tx_gain_table_2p2 | |
53 | 0x0000000029495000 ar9300Common_rx_gain_table_2p2 | |
54 | 0x0000000042cb1300 ar9300Modes_low_ob_db_tx_gain_table_2p2 | |
55 | 0x00000000c4739cd6 ar9300_2p2_mac_core | |
56 | 0x000000003521a300 ar9300Common_wo_xlna_rx_gain_table_2p2 | |
57 | 0x00000000a15ccf1b ar9300_2p2_soc_preamble | |
58 | 0x0000000029734396 ar9300PciePhy_pll_on_clkreq_disable_L1_2p2 | |
59 | 0x000000002d834396 ar9300PciePhy_clkreq_enable_L1_2p2 | |
60 | 0x0000000029834396 ar9300PciePhy_clkreq_disable_L1_2p2 | |
61 | ||
62 | $ ./initvals -f ar9003-2p2 | sha1sum | |
63 | 0ceddb5cf66737610fb51f04cf3e9ff71870c7b4 - | |
64 | ||
65 | Cc: Yixiang Li <yixiang.li@atheros.com> | |
66 | Cc: Don Breslin <don.breslin@atheros.com> | |
67 | Signed-off-by: Luis R. Rodriguez <lrodriguez@atheros.com> | |
68 | Signed-off-by: John W. Linville <linville@tuxdriver.com> | |
69 | Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de> | |
70 | ||
71 | --- | |
72 | drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h | 191 +++++++++++++------ | |
73 | 1 file changed, 135 insertions(+), 56 deletions(-) | |
74 | ||
75 | --- a/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h | |
76 | +++ b/drivers/net/wireless/ath/ath9k/ar9003_2p2_initvals.h | |
77 | @@ -34,6 +34,10 @@ static const u32 ar9300_2p2_radio_postam | |
78 | ||
79 | static const u32 ar9300Modes_lowest_ob_db_tx_gain_table_2p2[][5] = { | |
80 | /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ | |
81 | + {0x0000a2dc, 0x0380c7fc, 0x0380c7fc, 0x00637800, 0x00637800}, | |
82 | + {0x0000a2e0, 0x0000f800, 0x0000f800, 0x03838000, 0x03838000}, | |
83 | + {0x0000a2e4, 0x03ff0000, 0x03ff0000, 0x03fc0000, 0x03fc0000}, | |
84 | + {0x0000a2e8, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
85 | {0x0000a410, 0x000050d9, 0x000050d9, 0x000050d9, 0x000050d9}, | |
86 | {0x0000a500, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
87 | {0x0000a504, 0x06000003, 0x06000003, 0x04000002, 0x04000002}, | |
88 | @@ -99,6 +103,30 @@ static const u32 ar9300Modes_lowest_ob_d | |
89 | {0x0000a5f4, 0x7782b08c, 0x7782b08c, 0x5d801eec, 0x5d801eec}, | |
90 | {0x0000a5f8, 0x7782b08c, 0x7782b08c, 0x5d801eec, 0x5d801eec}, | |
91 | {0x0000a5fc, 0x7782b08c, 0x7782b08c, 0x5d801eec, 0x5d801eec}, | |
92 | + {0x0000a600, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
93 | + {0x0000a604, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
94 | + {0x0000a608, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
95 | + {0x0000a60c, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
96 | + {0x0000a610, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
97 | + {0x0000a614, 0x01404000, 0x01404000, 0x01404000, 0x01404000}, | |
98 | + {0x0000a618, 0x01404501, 0x01404501, 0x01404501, 0x01404501}, | |
99 | + {0x0000a61c, 0x02008802, 0x02008802, 0x02008501, 0x02008501}, | |
100 | + {0x0000a620, 0x0300cc03, 0x0300cc03, 0x0280ca03, 0x0280ca03}, | |
101 | + {0x0000a624, 0x0300cc03, 0x0300cc03, 0x03010c04, 0x03010c04}, | |
102 | + {0x0000a628, 0x0300cc03, 0x0300cc03, 0x04014c04, 0x04014c04}, | |
103 | + {0x0000a62c, 0x03810c03, 0x03810c03, 0x04015005, 0x04015005}, | |
104 | + {0x0000a630, 0x03810e04, 0x03810e04, 0x04015005, 0x04015005}, | |
105 | + {0x0000a634, 0x03810e04, 0x03810e04, 0x04015005, 0x04015005}, | |
106 | + {0x0000a638, 0x03810e04, 0x03810e04, 0x04015005, 0x04015005}, | |
107 | + {0x0000a63c, 0x03810e04, 0x03810e04, 0x04015005, 0x04015005}, | |
108 | + {0x0000b2dc, 0x0380c7fc, 0x0380c7fc, 0x00637800, 0x00637800}, | |
109 | + {0x0000b2e0, 0x0000f800, 0x0000f800, 0x03838000, 0x03838000}, | |
110 | + {0x0000b2e4, 0x03ff0000, 0x03ff0000, 0x03fc0000, 0x03fc0000}, | |
111 | + {0x0000b2e8, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
112 | + {0x0000c2dc, 0x0380c7fc, 0x0380c7fc, 0x00637800, 0x00637800}, | |
113 | + {0x0000c2e0, 0x0000f800, 0x0000f800, 0x03838000, 0x03838000}, | |
114 | + {0x0000c2e4, 0x03ff0000, 0x03ff0000, 0x03fc0000, 0x03fc0000}, | |
115 | + {0x0000c2e8, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
116 | {0x00016044, 0x012492d4, 0x012492d4, 0x012492d4, 0x012492d4}, | |
117 | {0x00016048, 0x62480001, 0x62480001, 0x62480001, 0x62480001}, | |
118 | {0x00016068, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c}, | |
119 | @@ -118,7 +146,7 @@ static const u32 ar9300Modes_fast_clock_ | |
120 | {0x00008014, 0x044c044c, 0x08980898}, | |
121 | {0x0000801c, 0x148ec02b, 0x148ec057}, | |
122 | {0x00008318, 0x000044c0, 0x00008980}, | |
123 | - {0x00009e00, 0x03721821, 0x03721821}, | |
124 | + {0x00009e00, 0x0372131c, 0x0372131c}, | |
125 | {0x0000a230, 0x0000000b, 0x00000016}, | |
126 | {0x0000a254, 0x00000898, 0x00001130}, | |
127 | }; | |
128 | @@ -595,15 +623,16 @@ static const u32 ar9300_2p2_baseband_pos | |
129 | {0x0000982c, 0x05eea6d4, 0x05eea6d4, 0x05eea6d4, 0x05eea6d4}, | |
130 | {0x00009830, 0x0000059c, 0x0000059c, 0x0000119c, 0x0000119c}, | |
131 | {0x00009c00, 0x000000c4, 0x000000c4, 0x000000c4, 0x000000c4}, | |
132 | - {0x00009e00, 0x0372161e, 0x0372161e, 0x037216a0, 0x037216a0}, | |
133 | - {0x00009e04, 0x00802020, 0x00802020, 0x00802020, 0x00802020}, | |
134 | + {0x00009e00, 0x0372111a, 0x0372111a, 0x037216a0, 0x037216a0}, | |
135 | + {0x00009e04, 0x001c2020, 0x001c2020, 0x001c2020, 0x001c2020}, | |
136 | {0x00009e0c, 0x6c4000e2, 0x6d4000e2, 0x6d4000e2, 0x6c4000e2}, | |
137 | {0x00009e10, 0x7ec88d2e, 0x7ec88d2e, 0x7ec84d2e, 0x7ec84d2e}, | |
138 | - {0x00009e14, 0x31395d5e, 0x3139605e, 0x3139605e, 0x31395d5e}, | |
139 | + {0x00009e14, 0x37b95d5e, 0x37b9605e, 0x3379605e, 0x33795d5e}, | |
140 | {0x00009e18, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
141 | {0x00009e1c, 0x0001cf9c, 0x0001cf9c, 0x00021f9c, 0x00021f9c}, | |
142 | {0x00009e20, 0x000003b5, 0x000003b5, 0x000003ce, 0x000003ce}, | |
143 | {0x00009e2c, 0x0000001c, 0x0000001c, 0x00000021, 0x00000021}, | |
144 | + {0x00009e3c, 0xcf946220, 0xcf946220, 0xcf946222, 0xcf946222}, | |
145 | {0x00009e44, 0x02321e27, 0x02321e27, 0x02291e27, 0x02291e27}, | |
146 | {0x00009e48, 0x5030201a, 0x5030201a, 0x50302012, 0x50302012}, | |
147 | {0x00009fc8, 0x0003f000, 0x0003f000, 0x0001a000, 0x0001a000}, | |
148 | @@ -624,16 +653,16 @@ static const u32 ar9300_2p2_baseband_pos | |
149 | {0x0000a28c, 0x00022222, 0x00022222, 0x00022222, 0x00022222}, | |
150 | {0x0000a2c4, 0x00158d18, 0x00158d18, 0x00158d18, 0x00158d18}, | |
151 | {0x0000a2d0, 0x00071981, 0x00071981, 0x00071981, 0x00071982}, | |
152 | - {0x0000a2d8, 0xf999a83a, 0xf999a83a, 0xf999a83a, 0xf999a83a}, | |
153 | + {0x0000a2d8, 0x7999a83a, 0x7999a83a, 0x7999a83a, 0x7999a83a}, | |
154 | {0x0000a358, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
155 | {0x0000a830, 0x0000019c, 0x0000019c, 0x0000019c, 0x0000019c}, | |
156 | - {0x0000ae04, 0x00800000, 0x00800000, 0x00800000, 0x00800000}, | |
157 | + {0x0000ae04, 0x001c0000, 0x001c0000, 0x001c0000, 0x001c0000}, | |
158 | {0x0000ae18, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
159 | {0x0000ae1c, 0x0000019c, 0x0000019c, 0x0000019c, 0x0000019c}, | |
160 | {0x0000ae20, 0x000001b5, 0x000001b5, 0x000001ce, 0x000001ce}, | |
161 | {0x0000b284, 0x00000000, 0x00000000, 0x00000150, 0x00000150}, | |
162 | {0x0000b830, 0x0000019c, 0x0000019c, 0x0000019c, 0x0000019c}, | |
163 | - {0x0000be04, 0x00800000, 0x00800000, 0x00800000, 0x00800000}, | |
164 | + {0x0000be04, 0x001c0000, 0x001c0000, 0x001c0000, 0x001c0000}, | |
165 | {0x0000be18, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
166 | {0x0000be1c, 0x0000019c, 0x0000019c, 0x0000019c, 0x0000019c}, | |
167 | {0x0000be20, 0x000001b5, 0x000001b5, 0x000001ce, 0x000001ce}, | |
168 | @@ -649,13 +678,13 @@ static const u32 ar9300_2p2_baseband_cor | |
169 | {0x00009814, 0x9280c00a}, | |
170 | {0x00009818, 0x00000000}, | |
171 | {0x0000981c, 0x00020028}, | |
172 | - {0x00009834, 0x5f3ca3de}, | |
173 | + {0x00009834, 0x6400a290}, | |
174 | {0x00009838, 0x0108ecff}, | |
175 | {0x0000983c, 0x14750600}, | |
176 | {0x00009880, 0x201fff00}, | |
177 | {0x00009884, 0x00001042}, | |
178 | {0x000098a4, 0x00200400}, | |
179 | - {0x000098b0, 0x52440bbe}, | |
180 | + {0x000098b0, 0x32840bbe}, | |
181 | {0x000098d0, 0x004b6a8e}, | |
182 | {0x000098d4, 0x00000820}, | |
183 | {0x000098dc, 0x00000000}, | |
184 | @@ -681,7 +710,6 @@ static const u32 ar9300_2p2_baseband_cor | |
185 | {0x00009e30, 0x06336f77}, | |
186 | {0x00009e34, 0x6af6532f}, | |
187 | {0x00009e38, 0x0cc80c00}, | |
188 | - {0x00009e3c, 0xcf946222}, | |
189 | {0x00009e40, 0x0d261820}, | |
190 | {0x00009e4c, 0x00001004}, | |
191 | {0x00009e50, 0x00ff03f1}, | |
192 | @@ -694,7 +722,7 @@ static const u32 ar9300_2p2_baseband_cor | |
193 | {0x0000a220, 0x00000000}, | |
194 | {0x0000a224, 0x00000000}, | |
195 | {0x0000a228, 0x10002310}, | |
196 | - {0x0000a22c, 0x01036a1e}, | |
197 | + {0x0000a22c, 0x01036a27}, | |
198 | {0x0000a23c, 0x00000000}, | |
199 | {0x0000a244, 0x0c000000}, | |
200 | {0x0000a2a0, 0x00000001}, | |
201 | @@ -702,10 +730,6 @@ static const u32 ar9300_2p2_baseband_cor | |
202 | {0x0000a2c8, 0x00000000}, | |
203 | {0x0000a2cc, 0x18c43433}, | |
204 | {0x0000a2d4, 0x00000000}, | |
205 | - {0x0000a2dc, 0x00000000}, | |
206 | - {0x0000a2e0, 0x00000000}, | |
207 | - {0x0000a2e4, 0x00000000}, | |
208 | - {0x0000a2e8, 0x00000000}, | |
209 | {0x0000a2ec, 0x00000000}, | |
210 | {0x0000a2f0, 0x00000000}, | |
211 | {0x0000a2f4, 0x00000000}, | |
212 | @@ -753,33 +777,17 @@ static const u32 ar9300_2p2_baseband_cor | |
213 | {0x0000a430, 0x1ce739ce}, | |
214 | {0x0000a434, 0x00000000}, | |
215 | {0x0000a438, 0x00001801}, | |
216 | - {0x0000a43c, 0x00000000}, | |
217 | + {0x0000a43c, 0x00100000}, | |
218 | {0x0000a440, 0x00000000}, | |
219 | {0x0000a444, 0x00000000}, | |
220 | {0x0000a448, 0x06000080}, | |
221 | {0x0000a44c, 0x00000001}, | |
222 | {0x0000a450, 0x00010000}, | |
223 | {0x0000a458, 0x00000000}, | |
224 | - {0x0000a600, 0x00000000}, | |
225 | - {0x0000a604, 0x00000000}, | |
226 | - {0x0000a608, 0x00000000}, | |
227 | - {0x0000a60c, 0x00000000}, | |
228 | - {0x0000a610, 0x00000000}, | |
229 | - {0x0000a614, 0x00000000}, | |
230 | - {0x0000a618, 0x00000000}, | |
231 | - {0x0000a61c, 0x00000000}, | |
232 | - {0x0000a620, 0x00000000}, | |
233 | - {0x0000a624, 0x00000000}, | |
234 | - {0x0000a628, 0x00000000}, | |
235 | - {0x0000a62c, 0x00000000}, | |
236 | - {0x0000a630, 0x00000000}, | |
237 | - {0x0000a634, 0x00000000}, | |
238 | - {0x0000a638, 0x00000000}, | |
239 | - {0x0000a63c, 0x00000000}, | |
240 | {0x0000a640, 0x00000000}, | |
241 | {0x0000a644, 0x3fad9d74}, | |
242 | {0x0000a648, 0x0048060a}, | |
243 | - {0x0000a64c, 0x00000637}, | |
244 | + {0x0000a64c, 0x00003c37}, | |
245 | {0x0000a670, 0x03020100}, | |
246 | {0x0000a674, 0x09080504}, | |
247 | {0x0000a678, 0x0d0c0b0a}, | |
248 | @@ -802,10 +810,6 @@ static const u32 ar9300_2p2_baseband_cor | |
249 | {0x0000a8f4, 0x00000000}, | |
250 | {0x0000b2d0, 0x00000080}, | |
251 | {0x0000b2d4, 0x00000000}, | |
252 | - {0x0000b2dc, 0x00000000}, | |
253 | - {0x0000b2e0, 0x00000000}, | |
254 | - {0x0000b2e4, 0x00000000}, | |
255 | - {0x0000b2e8, 0x00000000}, | |
256 | {0x0000b2ec, 0x00000000}, | |
257 | {0x0000b2f0, 0x00000000}, | |
258 | {0x0000b2f4, 0x00000000}, | |
259 | @@ -820,10 +824,6 @@ static const u32 ar9300_2p2_baseband_cor | |
260 | {0x0000b8f4, 0x00000000}, | |
261 | {0x0000c2d0, 0x00000080}, | |
262 | {0x0000c2d4, 0x00000000}, | |
263 | - {0x0000c2dc, 0x00000000}, | |
264 | - {0x0000c2e0, 0x00000000}, | |
265 | - {0x0000c2e4, 0x00000000}, | |
266 | - {0x0000c2e8, 0x00000000}, | |
267 | {0x0000c2ec, 0x00000000}, | |
268 | {0x0000c2f0, 0x00000000}, | |
269 | {0x0000c2f4, 0x00000000}, | |
270 | @@ -835,6 +835,10 @@ static const u32 ar9300_2p2_baseband_cor | |
271 | ||
272 | static const u32 ar9300Modes_high_power_tx_gain_table_2p2[][5] = { | |
273 | /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ | |
274 | + {0x0000a2dc, 0x0380c7fc, 0x0380c7fc, 0x00637800, 0x00637800}, | |
275 | + {0x0000a2e0, 0x0000f800, 0x0000f800, 0x03838000, 0x03838000}, | |
276 | + {0x0000a2e4, 0x03ff0000, 0x03ff0000, 0x03fc0000, 0x03fc0000}, | |
277 | + {0x0000a2e8, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
278 | {0x0000a410, 0x000050d8, 0x000050d8, 0x000050d9, 0x000050d9}, | |
279 | {0x0000a500, 0x00002220, 0x00002220, 0x00000000, 0x00000000}, | |
280 | {0x0000a504, 0x04002222, 0x04002222, 0x04000002, 0x04000002}, | |
281 | @@ -855,7 +859,7 @@ static const u32 ar9300Modes_high_power_ | |
282 | {0x0000a540, 0x49005e72, 0x49005e72, 0x38001660, 0x38001660}, | |
283 | {0x0000a544, 0x4e005eb2, 0x4e005eb2, 0x3b001861, 0x3b001861}, | |
284 | {0x0000a548, 0x53005f12, 0x53005f12, 0x3e001a81, 0x3e001a81}, | |
285 | - {0x0000a54c, 0x59025eb5, 0x59025eb5, 0x42001a83, 0x42001a83}, | |
286 | + {0x0000a54c, 0x59025eb2, 0x59025eb2, 0x42001a83, 0x42001a83}, | |
287 | {0x0000a550, 0x5e025f12, 0x5e025f12, 0x44001c84, 0x44001c84}, | |
288 | {0x0000a554, 0x61027f12, 0x61027f12, 0x48001ce3, 0x48001ce3}, | |
289 | {0x0000a558, 0x6702bf12, 0x6702bf12, 0x4c001ce5, 0x4c001ce5}, | |
290 | @@ -900,6 +904,30 @@ static const u32 ar9300Modes_high_power_ | |
291 | {0x0000a5f4, 0x6f82bf16, 0x6f82bf16, 0x56801eec, 0x56801eec}, | |
292 | {0x0000a5f8, 0x6f82bf16, 0x6f82bf16, 0x56801eec, 0x56801eec}, | |
293 | {0x0000a5fc, 0x6f82bf16, 0x6f82bf16, 0x56801eec, 0x56801eec}, | |
294 | + {0x0000a600, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
295 | + {0x0000a604, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
296 | + {0x0000a608, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
297 | + {0x0000a60c, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
298 | + {0x0000a610, 0x00804000, 0x00804000, 0x00000000, 0x00000000}, | |
299 | + {0x0000a614, 0x00804201, 0x00804201, 0x01404000, 0x01404000}, | |
300 | + {0x0000a618, 0x0280c802, 0x0280c802, 0x01404501, 0x01404501}, | |
301 | + {0x0000a61c, 0x0280ca03, 0x0280ca03, 0x02008501, 0x02008501}, | |
302 | + {0x0000a620, 0x04c15104, 0x04c15104, 0x0280ca03, 0x0280ca03}, | |
303 | + {0x0000a624, 0x04c15305, 0x04c15305, 0x03010c04, 0x03010c04}, | |
304 | + {0x0000a628, 0x04c15305, 0x04c15305, 0x04014c04, 0x04014c04}, | |
305 | + {0x0000a62c, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, | |
306 | + {0x0000a630, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, | |
307 | + {0x0000a634, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, | |
308 | + {0x0000a638, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, | |
309 | + {0x0000a63c, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, | |
310 | + {0x0000b2dc, 0x0380c7fc, 0x0380c7fc, 0x00637800, 0x00637800}, | |
311 | + {0x0000b2e0, 0x0000f800, 0x0000f800, 0x03838000, 0x03838000}, | |
312 | + {0x0000b2e4, 0x03ff0000, 0x03ff0000, 0x03fc0000, 0x03fc0000}, | |
313 | + {0x0000b2e8, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
314 | + {0x0000c2dc, 0x0380c7fc, 0x0380c7fc, 0x00637800, 0x00637800}, | |
315 | + {0x0000c2e0, 0x0000f800, 0x0000f800, 0x03838000, 0x03838000}, | |
316 | + {0x0000c2e4, 0x03ff0000, 0x03ff0000, 0x03fc0000, 0x03fc0000}, | |
317 | + {0x0000c2e8, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
318 | {0x00016044, 0x056db2e6, 0x056db2e6, 0x056db2e6, 0x056db2e6}, | |
319 | {0x00016048, 0xae480001, 0xae480001, 0xae480001, 0xae480001}, | |
320 | {0x00016068, 0x6eb6db6c, 0x6eb6db6c, 0x6eb6db6c, 0x6eb6db6c}, | |
321 | @@ -913,6 +941,10 @@ static const u32 ar9300Modes_high_power_ | |
322 | ||
323 | static const u32 ar9300Modes_high_ob_db_tx_gain_table_2p2[][5] = { | |
324 | /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ | |
325 | + {0x0000a2dc, 0x01feee00, 0x01feee00, 0x00637800, 0x00637800}, | |
326 | + {0x0000a2e0, 0x0000f000, 0x0000f000, 0x03838000, 0x03838000}, | |
327 | + {0x0000a2e4, 0x01ff0000, 0x01ff0000, 0x03fc0000, 0x03fc0000}, | |
328 | + {0x0000a2e8, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
329 | {0x0000a410, 0x000050d8, 0x000050d8, 0x000050d9, 0x000050d9}, | |
330 | {0x0000a500, 0x00002220, 0x00002220, 0x00000000, 0x00000000}, | |
331 | {0x0000a504, 0x04002222, 0x04002222, 0x04000002, 0x04000002}, | |
332 | @@ -933,7 +965,7 @@ static const u32 ar9300Modes_high_ob_db_ | |
333 | {0x0000a540, 0x49005e72, 0x49005e72, 0x38001660, 0x38001660}, | |
334 | {0x0000a544, 0x4e005eb2, 0x4e005eb2, 0x3b001861, 0x3b001861}, | |
335 | {0x0000a548, 0x53005f12, 0x53005f12, 0x3e001a81, 0x3e001a81}, | |
336 | - {0x0000a54c, 0x59025eb5, 0x59025eb5, 0x42001a83, 0x42001a83}, | |
337 | + {0x0000a54c, 0x59025eb2, 0x59025eb2, 0x42001a83, 0x42001a83}, | |
338 | {0x0000a550, 0x5e025f12, 0x5e025f12, 0x44001c84, 0x44001c84}, | |
339 | {0x0000a554, 0x61027f12, 0x61027f12, 0x48001ce3, 0x48001ce3}, | |
340 | {0x0000a558, 0x6702bf12, 0x6702bf12, 0x4c001ce5, 0x4c001ce5}, | |
341 | @@ -978,6 +1010,30 @@ static const u32 ar9300Modes_high_ob_db_ | |
342 | {0x0000a5f4, 0x6f82bf16, 0x6f82bf16, 0x56801eec, 0x56801eec}, | |
343 | {0x0000a5f8, 0x6f82bf16, 0x6f82bf16, 0x56801eec, 0x56801eec}, | |
344 | {0x0000a5fc, 0x6f82bf16, 0x6f82bf16, 0x56801eec, 0x56801eec}, | |
345 | + {0x0000a600, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
346 | + {0x0000a604, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
347 | + {0x0000a608, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
348 | + {0x0000a60c, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
349 | + {0x0000a610, 0x00804000, 0x00804000, 0x00000000, 0x00000000}, | |
350 | + {0x0000a614, 0x00804201, 0x00804201, 0x01404000, 0x01404000}, | |
351 | + {0x0000a618, 0x0280c802, 0x0280c802, 0x01404501, 0x01404501}, | |
352 | + {0x0000a61c, 0x0280ca03, 0x0280ca03, 0x02008501, 0x02008501}, | |
353 | + {0x0000a620, 0x04c15104, 0x04c15104, 0x0280ca03, 0x0280ca03}, | |
354 | + {0x0000a624, 0x04c15305, 0x04c15305, 0x03010c04, 0x03010c04}, | |
355 | + {0x0000a628, 0x04c15305, 0x04c15305, 0x04014c04, 0x04014c04}, | |
356 | + {0x0000a62c, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, | |
357 | + {0x0000a630, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, | |
358 | + {0x0000a634, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, | |
359 | + {0x0000a638, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, | |
360 | + {0x0000a63c, 0x04c15305, 0x04c15305, 0x04015005, 0x04015005}, | |
361 | + {0x0000b2dc, 0x01feee00, 0x01feee00, 0x00637800, 0x00637800}, | |
362 | + {0x0000b2e0, 0x0000f000, 0x0000f000, 0x03838000, 0x03838000}, | |
363 | + {0x0000b2e4, 0x01ff0000, 0x01ff0000, 0x03fc0000, 0x03fc0000}, | |
364 | + {0x0000b2e8, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
365 | + {0x0000c2dc, 0x01feee00, 0x01feee00, 0x00637800, 0x00637800}, | |
366 | + {0x0000c2e0, 0x0000f000, 0x0000f000, 0x03838000, 0x03838000}, | |
367 | + {0x0000c2e4, 0x01ff0000, 0x01ff0000, 0x03fc0000, 0x03fc0000}, | |
368 | + {0x0000c2e8, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
369 | {0x00016044, 0x056db2e4, 0x056db2e4, 0x056db2e4, 0x056db2e4}, | |
370 | {0x00016048, 0x8e480001, 0x8e480001, 0x8e480001, 0x8e480001}, | |
371 | {0x00016068, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c}, | |
372 | @@ -1151,14 +1207,14 @@ static const u32 ar9300Common_rx_gain_ta | |
373 | {0x0000b074, 0x00000000}, | |
374 | {0x0000b078, 0x00000000}, | |
375 | {0x0000b07c, 0x00000000}, | |
376 | - {0x0000b080, 0x32323232}, | |
377 | - {0x0000b084, 0x2f2f3232}, | |
378 | - {0x0000b088, 0x23282a2d}, | |
379 | - {0x0000b08c, 0x1c1e2123}, | |
380 | - {0x0000b090, 0x14171919}, | |
381 | - {0x0000b094, 0x0e0e1214}, | |
382 | - {0x0000b098, 0x03050707}, | |
383 | - {0x0000b09c, 0x00030303}, | |
384 | + {0x0000b080, 0x2a2d2f32}, | |
385 | + {0x0000b084, 0x21232328}, | |
386 | + {0x0000b088, 0x19191c1e}, | |
387 | + {0x0000b08c, 0x12141417}, | |
388 | + {0x0000b090, 0x07070e0e}, | |
389 | + {0x0000b094, 0x03030305}, | |
390 | + {0x0000b098, 0x00000003}, | |
391 | + {0x0000b09c, 0x00000000}, | |
392 | {0x0000b0a0, 0x00000000}, | |
393 | {0x0000b0a4, 0x00000000}, | |
394 | {0x0000b0a8, 0x00000000}, | |
395 | @@ -1251,6 +1307,10 @@ static const u32 ar9300Common_rx_gain_ta | |
396 | ||
397 | static const u32 ar9300Modes_low_ob_db_tx_gain_table_2p2[][5] = { | |
398 | /* Addr 5G_HT20 5G_HT40 2G_HT40 2G_HT20 */ | |
399 | + {0x0000a2dc, 0x0380c7fc, 0x0380c7fc, 0x00637800, 0x00637800}, | |
400 | + {0x0000a2e0, 0x0000f800, 0x0000f800, 0x03838000, 0x03838000}, | |
401 | + {0x0000a2e4, 0x03ff0000, 0x03ff0000, 0x03fc0000, 0x03fc0000}, | |
402 | + {0x0000a2e8, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
403 | {0x0000a410, 0x000050d9, 0x000050d9, 0x000050d9, 0x000050d9}, | |
404 | {0x0000a500, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
405 | {0x0000a504, 0x06000003, 0x06000003, 0x04000002, 0x04000002}, | |
406 | @@ -1316,6 +1376,30 @@ static const u32 ar9300Modes_low_ob_db_t | |
407 | {0x0000a5f4, 0x7782b08c, 0x7782b08c, 0x5d801eec, 0x5d801eec}, | |
408 | {0x0000a5f8, 0x7782b08c, 0x7782b08c, 0x5d801eec, 0x5d801eec}, | |
409 | {0x0000a5fc, 0x7782b08c, 0x7782b08c, 0x5d801eec, 0x5d801eec}, | |
410 | + {0x0000a600, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
411 | + {0x0000a604, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
412 | + {0x0000a608, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
413 | + {0x0000a60c, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
414 | + {0x0000a610, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
415 | + {0x0000a614, 0x01404000, 0x01404000, 0x01404000, 0x01404000}, | |
416 | + {0x0000a618, 0x01404501, 0x01404501, 0x01404501, 0x01404501}, | |
417 | + {0x0000a61c, 0x02008802, 0x02008802, 0x02008501, 0x02008501}, | |
418 | + {0x0000a620, 0x0300cc03, 0x0300cc03, 0x0280ca03, 0x0280ca03}, | |
419 | + {0x0000a624, 0x0300cc03, 0x0300cc03, 0x03010c04, 0x03010c04}, | |
420 | + {0x0000a628, 0x0300cc03, 0x0300cc03, 0x04014c04, 0x04014c04}, | |
421 | + {0x0000a62c, 0x03810c03, 0x03810c03, 0x04015005, 0x04015005}, | |
422 | + {0x0000a630, 0x03810e04, 0x03810e04, 0x04015005, 0x04015005}, | |
423 | + {0x0000a634, 0x03810e04, 0x03810e04, 0x04015005, 0x04015005}, | |
424 | + {0x0000a638, 0x03810e04, 0x03810e04, 0x04015005, 0x04015005}, | |
425 | + {0x0000a63c, 0x03810e04, 0x03810e04, 0x04015005, 0x04015005}, | |
426 | + {0x0000b2dc, 0x0380c7fc, 0x0380c7fc, 0x00637800, 0x00637800}, | |
427 | + {0x0000b2e0, 0x0000f800, 0x0000f800, 0x03838000, 0x03838000}, | |
428 | + {0x0000b2e4, 0x03ff0000, 0x03ff0000, 0x03fc0000, 0x03fc0000}, | |
429 | + {0x0000b2e8, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
430 | + {0x0000c2dc, 0x0380c7fc, 0x0380c7fc, 0x00637800, 0x00637800}, | |
431 | + {0x0000c2e0, 0x0000f800, 0x0000f800, 0x03838000, 0x03838000}, | |
432 | + {0x0000c2e4, 0x03ff0000, 0x03ff0000, 0x03fc0000, 0x03fc0000}, | |
433 | + {0x0000c2e8, 0x00000000, 0x00000000, 0x00000000, 0x00000000}, | |
434 | {0x00016044, 0x012492d4, 0x012492d4, 0x012492d4, 0x012492d4}, | |
435 | {0x00016048, 0x66480001, 0x66480001, 0x66480001, 0x66480001}, | |
436 | {0x00016068, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c, 0x6db6db6c}, | |
437 | @@ -1414,15 +1498,10 @@ static const u32 ar9300_2p2_mac_core[][2 | |
438 | {0x00008144, 0xffffffff}, | |
439 | {0x00008168, 0x00000000}, | |
440 | {0x0000816c, 0x00000000}, | |
441 | - {0x00008170, 0x18486200}, | |
442 | - {0x00008174, 0x33332210}, | |
443 | - {0x00008178, 0x00000000}, | |
444 | - {0x0000817c, 0x00020000}, | |
445 | {0x000081c0, 0x00000000}, | |
446 | {0x000081c4, 0x33332210}, | |
447 | {0x000081c8, 0x00000000}, | |
448 | {0x000081cc, 0x00000000}, | |
449 | - {0x000081d4, 0x00000000}, | |
450 | {0x000081ec, 0x00000000}, | |
451 | {0x000081f0, 0x00000000}, | |
452 | {0x000081f4, 0x00000000}, |