1 /*
2  * Copyright (c) 2010-2011 Atheros Communications Inc.
3  * Copyright (c) 2011-2012 Qualcomm Atheros Inc.
4  *
5  * Permission to use, copy, modify, and/or distribute this software for any
6  * purpose with or without fee is hereby granted, provided that the above
7  * copyright notice and this permission notice appear in all copies.
8  *
9  * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
10  * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
11  * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
12  * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
13  * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
14  * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
15  * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
16  */
17 
18 #ifndef INITVALS_9462_2P1_H
19 #define INITVALS_9462_2P1_H
20 
21 /* AR9462 2.1 */
22 
23 #define ar9462_2p1_mac_postamble ar9462_2p0_mac_postamble
24 
25 #define ar9462_2p1_baseband_core ar9462_2p0_baseband_core
26 
27 #define ar9462_2p1_radio_core ar9462_2p0_radio_core
28 
29 #define ar9462_2p1_radio_postamble ar9462_2p0_radio_postamble
30 
31 #define ar9462_2p1_soc_postamble ar9462_2p0_soc_postamble
32 
33 #define ar9462_2p1_radio_postamble_sys2ant ar9462_2p0_radio_postamble_sys2ant
34 
35 #define ar9462_2p1_common_rx_gain ar9462_2p0_common_rx_gain
36 
37 #define ar9462_2p1_common_mixed_rx_gain ar9462_2p0_common_mixed_rx_gain
38 
39 #define ar9462_2p1_common_5g_xlna_only_rxgain ar9462_2p0_common_5g_xlna_only_rxgain
40 
41 #define ar9462_2p1_baseband_core_mix_rxgain ar9462_2p0_baseband_core_mix_rxgain
42 
43 #define ar9462_2p1_baseband_postamble_mix_rxgain ar9462_2p0_baseband_postamble_mix_rxgain
44 
45 #define ar9462_2p1_baseband_postamble_5g_xlna ar9462_2p0_baseband_postamble_5g_xlna
46 
47 #define ar9462_2p1_common_wo_xlna_rx_gain ar9462_2p0_common_wo_xlna_rx_gain
48 
49 #define ar9462_2p1_modes_low_ob_db_tx_gain ar9462_2p0_modes_low_ob_db_tx_gain
50 
51 #define ar9462_2p1_modes_high_ob_db_tx_gain ar9462_2p0_modes_high_ob_db_tx_gain
52 
53 #define ar9462_2p1_modes_mix_ob_db_tx_gain ar9462_2p0_modes_mix_ob_db_tx_gain
54 
55 #define ar9462_2p1_modes_fast_clock ar9462_2p0_modes_fast_clock
56 
57 #define ar9462_2p1_baseband_core_txfir_coeff_japan_2484 ar9462_2p0_baseband_core_txfir_coeff_japan_2484
58 
59 #define ar9462_2p1_pciephy_clkreq_disable_L1 ar9462_2p0_pciephy_clkreq_disable_L1
60 
61 static const uint32_t ar9462_2p1_mac_core[][2] = {
62 	/* Addr      allmodes  */
63 	{0x00000008, 0x00000000},
64 	{0x00000030, 0x000e0085},
65 	{0x00000034, 0x00000005},
66 	{0x00000040, 0x00000000},
67 	{0x00000044, 0x00000000},
68 	{0x00000048, 0x00000008},
69 	{0x0000004c, 0x00000010},
70 	{0x00000050, 0x00000000},
71 	{0x00001040, 0x002ffc0f},
72 	{0x00001044, 0x002ffc0f},
73 	{0x00001048, 0x002ffc0f},
74 	{0x0000104c, 0x002ffc0f},
75 	{0x00001050, 0x002ffc0f},
76 	{0x00001054, 0x002ffc0f},
77 	{0x00001058, 0x002ffc0f},
78 	{0x0000105c, 0x002ffc0f},
79 	{0x00001060, 0x002ffc0f},
80 	{0x00001064, 0x002ffc0f},
81 	{0x000010f0, 0x00000100},
82 	{0x00001270, 0x00000000},
83 	{0x000012b0, 0x00000000},
84 	{0x000012f0, 0x00000000},
85 	{0x0000143c, 0x00000000},
86 	{0x0000147c, 0x00000000},
87 	{0x00001810, 0x0f000003},
88 	{0x00008000, 0x00000000},
89 	{0x00008004, 0x00000000},
90 	{0x00008008, 0x00000000},
91 	{0x0000800c, 0x00000000},
92 	{0x00008018, 0x00000000},
93 	{0x00008020, 0x00000000},
94 	{0x00008038, 0x00000000},
95 	{0x0000803c, 0x00080000},
96 	{0x00008040, 0x00000000},
97 	{0x00008044, 0x00000000},
98 	{0x00008048, 0x00000000},
99 	{0x0000804c, 0xffffffff},
100 	{0x00008054, 0x00000000},
101 	{0x00008058, 0x00000000},
102 	{0x0000805c, 0x000fc78f},
103 	{0x00008060, 0x0000000f},
104 	{0x00008064, 0x00000000},
105 	{0x00008070, 0x00000310},
106 	{0x00008074, 0x00000020},
107 	{0x00008078, 0x00000000},
108 	{0x0000809c, 0x0000000f},
109 	{0x000080a0, 0x00000000},
110 	{0x000080a4, 0x02ff0000},
111 	{0x000080a8, 0x0e070605},
112 	{0x000080ac, 0x0000000d},
113 	{0x000080b0, 0x00000000},
114 	{0x000080b4, 0x00000000},
115 	{0x000080b8, 0x00000000},
116 	{0x000080bc, 0x00000000},
117 	{0x000080c0, 0x2a800000},
118 	{0x000080c4, 0x06900168},
119 	{0x000080c8, 0x13881c20},
120 	{0x000080cc, 0x01f40000},
121 	{0x000080d0, 0x00252500},
122 	{0x000080d4, 0x00b00005},
123 	{0x000080d8, 0x00400002},
124 	{0x000080dc, 0x00000000},
125 	{0x000080e0, 0xffffffff},
126 	{0x000080e4, 0x0000ffff},
127 	{0x000080e8, 0x3f3f3f3f},
128 	{0x000080ec, 0x00000000},
129 	{0x000080f0, 0x00000000},
130 	{0x000080f4, 0x00000000},
131 	{0x000080fc, 0x00020000},
132 	{0x00008100, 0x00000000},
133 	{0x00008108, 0x00000052},
134 	{0x0000810c, 0x00000000},
135 	{0x00008110, 0x00000000},
136 	{0x00008114, 0x000007ff},
137 	{0x00008118, 0x000000aa},
138 	{0x0000811c, 0x00003210},
139 	{0x00008124, 0x00000000},
140 	{0x00008128, 0x00000000},
141 	{0x0000812c, 0x00000000},
142 	{0x00008130, 0x00000000},
143 	{0x00008134, 0x00000000},
144 	{0x00008138, 0x00000000},
145 	{0x0000813c, 0x0000ffff},
146 	{0x00008144, 0xffffffff},
147 	{0x00008168, 0x00000000},
148 	{0x0000816c, 0x00000000},
149 	{0x00008170, 0x18486e00},
150 	{0x00008174, 0x33332210},
151 	{0x00008178, 0x00000000},
152 	{0x0000817c, 0x00020000},
153 	{0x000081c4, 0x33332210},
154 	{0x000081c8, 0x00000000},
155 	{0x000081cc, 0x00000000},
156 	{0x000081d4, 0x00000000},
157 	{0x000081ec, 0x00000000},
158 	{0x000081f0, 0x00000000},
159 	{0x000081f4, 0x00000000},
160 	{0x000081f8, 0x00000000},
161 	{0x000081fc, 0x00000000},
162 	{0x00008240, 0x00100000},
163 	{0x00008244, 0x0010f400},
164 	{0x00008248, 0x00000800},
165 	{0x0000824c, 0x0001e800},
166 	{0x00008250, 0x00000000},
167 	{0x00008254, 0x00000000},
168 	{0x00008258, 0x00000000},
169 	{0x0000825c, 0x40000000},
170 	{0x00008260, 0x00080922},
171 	{0x00008264, 0x99c00010},
172 	{0x00008268, 0xffffffff},
173 	{0x0000826c, 0x0000ffff},
174 	{0x00008270, 0x00000000},
175 	{0x00008274, 0x40000000},
176 	{0x00008278, 0x003e4180},
177 	{0x0000827c, 0x00000004},
178 	{0x00008284, 0x0000002c},
179 	{0x00008288, 0x0000002c},
180 	{0x0000828c, 0x000000ff},
181 	{0x00008294, 0x00000000},
182 	{0x00008298, 0x00000000},
183 	{0x0000829c, 0x00000000},
184 	{0x00008300, 0x00000140},
185 	{0x00008314, 0x00000000},
186 	{0x0000831c, 0x0000010d},
187 	{0x00008328, 0x00000000},
188 	{0x0000832c, 0x0000001f},
189 	{0x00008330, 0x00000302},
190 	{0x00008334, 0x00000700},
191 	{0x00008338, 0xffff0000},
192 	{0x0000833c, 0x02400000},
193 	{0x00008340, 0x000107ff},
194 	{0x00008344, 0xaa48107b},
195 	{0x00008348, 0x008f0000},
196 	{0x0000835c, 0x00000000},
197 	{0x00008360, 0xffffffff},
198 	{0x00008364, 0xffffffff},
199 	{0x00008368, 0x00000000},
200 	{0x00008370, 0x00000000},
201 	{0x00008374, 0x000000ff},
202 	{0x00008378, 0x00000000},
203 	{0x0000837c, 0x00000000},
204 	{0x00008380, 0xffffffff},
205 	{0x00008384, 0xffffffff},
206 	{0x00008390, 0xffffffff},
207 	{0x00008394, 0xffffffff},
208 	{0x00008398, 0x00000000},
209 	{0x0000839c, 0x00000000},
210 	{0x000083a4, 0x0000fa14},
211 	{0x000083a8, 0x000f0c00},
212 	{0x000083ac, 0x33332210},
213 	{0x000083b0, 0x33332210},
214 	{0x000083b4, 0x33332210},
215 	{0x000083b8, 0x33332210},
216 	{0x000083bc, 0x00000000},
217 	{0x000083c0, 0x00000000},
218 	{0x000083c4, 0x00000000},
219 	{0x000083c8, 0x00000000},
220 	{0x000083cc, 0x00000200},
221 	{0x000083d0, 0x000301ff},
222 };
223 
224 static const uint32_t ar9462_2p1_baseband_postamble[][5] = {
225 	/* Addr      5G_HT20     5G_HT40     2G_HT40     2G_HT20   */
226 	{0x00009810, 0xd00a8005, 0xd00a8005, 0xd00a8011, 0xd00a800d},
227 	{0x00009820, 0x206a022e, 0x206a022e, 0x206a012e, 0x206a01ae},
228 	{0x00009824, 0x63c640de, 0x5ac640d0, 0x5ac640d0, 0x63c640da},
229 	{0x00009828, 0x0796be89, 0x0696b081, 0x0696b881, 0x09143e81},
230 	{0x0000982c, 0x05eea6d4, 0x05eea6d4, 0x05eea6d4, 0x05eea6d4},
231 	{0x00009830, 0x0000059c, 0x0000059c, 0x0000119c, 0x0000119c},
232 	{0x00009c00, 0x000000c4, 0x000000c4, 0x000000c4, 0x000000c4},
233 	{0x00009e00, 0x0372111a, 0x0372111a, 0x037216a0, 0x037216a2},
234 	{0x00009e04, 0x001c2020, 0x001c2020, 0x001c2020, 0x001c2020},
235 	{0x00009e0c, 0x6c4000e2, 0x6d4000e2, 0x6d4000e2, 0x6c4000d8},
236 	{0x00009e10, 0x92c88d2e, 0x7ec88d2e, 0x7ec84d2e, 0x7ec86d2e},
237 	{0x00009e14, 0x37b95d5e, 0x37b9605e, 0x3236605e, 0x32365a5e},
238 	{0x00009e18, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
239 	{0x00009e1c, 0x0001cf9c, 0x0001cf9c, 0x00021f9c, 0x00021f9c},
240 	{0x00009e20, 0x000003a5, 0x000003a5, 0x000003a5, 0x000003a5},
241 	{0x00009e2c, 0x0000001c, 0x0000001c, 0x00000021, 0x00000021},
242 	{0x00009e3c, 0xcf946220, 0xcf946220, 0xcfd5c782, 0xcfd5c282},
243 	{0x00009e44, 0x62321e27, 0x62321e27, 0xfe291e27, 0xfe291e27},
244 	{0x00009e48, 0x5030201a, 0x5030201a, 0x50302012, 0x50302012},
245 	{0x00009fc8, 0x0003f000, 0x0003f000, 0x0001a000, 0x0001a000},
246 	{0x0000a204, 0x01318fc0, 0x01318fc4, 0x01318fc4, 0x01318fc0},
247 	{0x0000a208, 0x00000104, 0x00000104, 0x00000004, 0x00000004},
248 	{0x0000a22c, 0x01026a2f, 0x01026a27, 0x01026a2f, 0x01026a2f},
249 	{0x0000a230, 0x0000400a, 0x00004014, 0x00004016, 0x0000400b},
250 	{0x0000a234, 0x00000fff, 0x10000fff, 0x10000fff, 0x00000fff},
251 	{0x0000a238, 0xffb81018, 0xffb81018, 0xffb81018, 0xffb81018},
252 	{0x0000a250, 0x00000000, 0x00000000, 0x00000210, 0x00000108},
253 	{0x0000a254, 0x000007d0, 0x00000fa0, 0x00001130, 0x00000898},
254 	{0x0000a258, 0x02020002, 0x02020002, 0x02020002, 0x02020002},
255 	{0x0000a25c, 0x01000e0e, 0x01000e0e, 0x01000e0e, 0x01000e0e},
256 	{0x0000a260, 0x0a021501, 0x0a021501, 0x3a021501, 0x3a021501},
257 	{0x0000a264, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e},
258 	{0x0000a280, 0x00000007, 0x00000007, 0x0000000b, 0x0000000b},
259 	{0x0000a284, 0x00000000, 0x00000000, 0x00000150, 0x00000150},
260 	{0x0000a288, 0x00000110, 0x00000110, 0x00000110, 0x00000110},
261 	{0x0000a28c, 0x00022222, 0x00022222, 0x00022222, 0x00022222},
262 	{0x0000a2c4, 0x00158d18, 0x00158d18, 0x00158d18, 0x00158d18},
263 	{0x0000a2d0, 0x00041981, 0x00041981, 0x00041981, 0x00041982},
264 	{0x0000a2d8, 0x7999a83b, 0x7999a83b, 0x7999a83b, 0x7999a83b},
265 	{0x0000a358, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
266 	{0x0000a3a4, 0x00000050, 0x00000050, 0x00000000, 0x00000000},
267 	{0x0000a3a8, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa, 0xaaaaaaaa},
268 	{0x0000a3ac, 0xaaaaaa00, 0xaa30aa30, 0xaaaaaa00, 0xaaaaaa00},
269 	{0x0000a41c, 0x1ce739ce, 0x1ce739ce, 0x1ce739ce, 0x1ce739ce},
270 	{0x0000a420, 0x000001ce, 0x000001ce, 0x000001ce, 0x000001ce},
271 	{0x0000a424, 0x1ce739ce, 0x1ce739ce, 0x1ce739ce, 0x1ce739ce},
272 	{0x0000a428, 0x000001ce, 0x000001ce, 0x000001ce, 0x000001ce},
273 	{0x0000a42c, 0x1ce739ce, 0x1ce739ce, 0x1ce739ce, 0x1ce739ce},
274 	{0x0000a430, 0x1ce739ce, 0x1ce739ce, 0x1ce739ce, 0x1ce739ce},
275 	{0x0000a830, 0x0000019c, 0x0000019c, 0x0000019c, 0x0000019c},
276 	{0x0000ae04, 0x001c0000, 0x001c0000, 0x001c0000, 0x00100000},
277 	{0x0000ae18, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
278 	{0x0000ae1c, 0x0000019c, 0x0000019c, 0x0000019c, 0x0000019c},
279 	{0x0000ae20, 0x000001a6, 0x000001a6, 0x000001aa, 0x000001aa},
280 	{0x0000b284, 0x00000000, 0x00000000, 0x00000550, 0x00000550},
281 };
282 
283 static const uint32_t ar9462_2p1_soc_preamble[][2] = {
284 	/* Addr      allmodes  */
285 	{0x000040a4, 0x00a0c9c9},
286 	{0x00007020, 0x00000000},
287 	{0x00007034, 0x00000002},
288 	{0x00007038, 0x000004c2},
289 };
290 
291 #endif /* INITVALS_9462_2P1_H */
292