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_9330_1P2_H
19 #define INITVALS_9330_1P2_H
20 
21 static const u32 ar9331_modes_high_ob_db_tx_gain_1p2[][5] = {
22 	/* Addr      5G_HT20     5G_HT40     2G_HT40     2G_HT20   */
23 	{0x0000a410, 0x000050d7, 0x000050d7, 0x000050d7, 0x000050d7},
24 	{0x0000a500, 0x00022200, 0x00022200, 0x00000000, 0x00000000},
25 	{0x0000a504, 0x05062002, 0x05062002, 0x04000002, 0x04000002},
26 	{0x0000a508, 0x0c002e00, 0x0c002e00, 0x08000004, 0x08000004},
27 	{0x0000a50c, 0x11062202, 0x11062202, 0x0d000200, 0x0d000200},
28 	{0x0000a510, 0x17022e00, 0x17022e00, 0x11000202, 0x11000202},
29 	{0x0000a514, 0x1d000ec2, 0x1d000ec2, 0x15000400, 0x15000400},
30 	{0x0000a518, 0x25020ec0, 0x25020ec0, 0x19000402, 0x19000402},
31 	{0x0000a51c, 0x2b020ec3, 0x2b020ec3, 0x1d000404, 0x1d000404},
32 	{0x0000a520, 0x2f001f04, 0x2f001f04, 0x23000a00, 0x23000a00},
33 	{0x0000a524, 0x35001fc4, 0x35001fc4, 0x27000a02, 0x27000a02},
34 	{0x0000a528, 0x3c022f04, 0x3c022f04, 0x2b000a04, 0x2b000a04},
35 	{0x0000a52c, 0x41023e85, 0x41023e85, 0x3f001620, 0x3f001620},
36 	{0x0000a530, 0x48023ec6, 0x48023ec6, 0x41001621, 0x41001621},
37 	{0x0000a534, 0x4d023f01, 0x4d023f01, 0x44001640, 0x44001640},
38 	{0x0000a538, 0x53023f4b, 0x53023f4b, 0x46001641, 0x46001641},
39 	{0x0000a53c, 0x5a027f09, 0x5a027f09, 0x48001642, 0x48001642},
40 	{0x0000a540, 0x5f027fc9, 0x5f027fc9, 0x4b001644, 0x4b001644},
41 	{0x0000a544, 0x6502feca, 0x6502feca, 0x4e001a81, 0x4e001a81},
42 	{0x0000a548, 0x6b02ff4a, 0x6b02ff4a, 0x51001a83, 0x51001a83},
43 	{0x0000a54c, 0x7203feca, 0x7203feca, 0x54001c84, 0x54001c84},
44 	{0x0000a550, 0x7703ff0b, 0x7703ff0b, 0x57001ce3, 0x57001ce3},
45 	{0x0000a554, 0x7d06ffcb, 0x7d06ffcb, 0x5b001ce5, 0x5b001ce5},
46 	{0x0000a558, 0x8407ff0b, 0x8407ff0b, 0x5f001ce9, 0x5f001ce9},
47 	{0x0000a55c, 0x8907ffcb, 0x8907ffcb, 0x66001eec, 0x66001eec},
48 	{0x0000a560, 0x900fff0b, 0x900fff0b, 0x66001eec, 0x66001eec},
49 	{0x0000a564, 0x960fffcb, 0x960fffcb, 0x66001eec, 0x66001eec},
50 	{0x0000a568, 0x9c1fff0b, 0x9c1fff0b, 0x66001eec, 0x66001eec},
51 	{0x0000a56c, 0x9c1fff0b, 0x9c1fff0b, 0x66001eec, 0x66001eec},
52 	{0x0000a570, 0x9c1fff0b, 0x9c1fff0b, 0x66001eec, 0x66001eec},
53 	{0x0000a574, 0x9c1fff0b, 0x9c1fff0b, 0x66001eec, 0x66001eec},
54 	{0x0000a578, 0x9c1fff0b, 0x9c1fff0b, 0x66001eec, 0x66001eec},
55 	{0x0000a57c, 0x9c1fff0b, 0x9c1fff0b, 0x66001eec, 0x66001eec},
56 	{0x0000a580, 0x00022200, 0x00022200, 0x00000000, 0x00000000},
57 	{0x0000a584, 0x05062002, 0x05062002, 0x04000002, 0x04000002},
58 	{0x0000a588, 0x0c002e00, 0x0c002e00, 0x08000004, 0x08000004},
59 	{0x0000a58c, 0x11062202, 0x11062202, 0x0b000200, 0x0b000200},
60 	{0x0000a590, 0x17022e00, 0x17022e00, 0x0f000202, 0x0f000202},
61 	{0x0000a594, 0x1d000ec2, 0x1d000ec2, 0x11000400, 0x11000400},
62 	{0x0000a598, 0x25020ec0, 0x25020ec0, 0x15000402, 0x15000402},
63 	{0x0000a59c, 0x2b020ec3, 0x2b020ec3, 0x19000404, 0x19000404},
64 	{0x0000a5a0, 0x2f001f04, 0x2f001f04, 0x1b000603, 0x1b000603},
65 	{0x0000a5a4, 0x35001fc4, 0x35001fc4, 0x1f000a02, 0x1f000a02},
66 	{0x0000a5a8, 0x3c022f04, 0x3c022f04, 0x23000a04, 0x23000a04},
67 	{0x0000a5ac, 0x41023e85, 0x41023e85, 0x26000a20, 0x26000a20},
68 	{0x0000a5b0, 0x48023ec6, 0x48023ec6, 0x2a000e20, 0x2a000e20},
69 	{0x0000a5b4, 0x4d023f01, 0x4d023f01, 0x2e000e22, 0x2e000e22},
70 	{0x0000a5b8, 0x53023f4b, 0x53023f4b, 0x31000e24, 0x31000e24},
71 	{0x0000a5bc, 0x5a027f09, 0x5a027f09, 0x34001640, 0x34001640},
72 	{0x0000a5c0, 0x5f027fc9, 0x5f027fc9, 0x38001660, 0x38001660},
73 	{0x0000a5c4, 0x6502feca, 0x6502feca, 0x3b001861, 0x3b001861},
74 	{0x0000a5c8, 0x6b02ff4a, 0x6b02ff4a, 0x3e001a81, 0x3e001a81},
75 	{0x0000a5cc, 0x7203feca, 0x7203feca, 0x42001a83, 0x42001a83},
76 	{0x0000a5d0, 0x7703ff0b, 0x7703ff0b, 0x44001c84, 0x44001c84},
77 	{0x0000a5d4, 0x7d06ffcb, 0x7d06ffcb, 0x48001ce3, 0x48001ce3},
78 	{0x0000a5d8, 0x8407ff0b, 0x8407ff0b, 0x4c001ce5, 0x4c001ce5},
79 	{0x0000a5dc, 0x8907ffcb, 0x8907ffcb, 0x50001ce9, 0x50001ce9},
80 	{0x0000a5e0, 0x900fff0b, 0x900fff0b, 0x54001ceb, 0x54001ceb},
81 	{0x0000a5e4, 0x960fffcb, 0x960fffcb, 0x56001eec, 0x56001eec},
82 	{0x0000a5e8, 0x9c1fff0b, 0x9c1fff0b, 0x56001eec, 0x56001eec},
83 	{0x0000a5ec, 0x9c1fff0b, 0x9c1fff0b, 0x56001eec, 0x56001eec},
84 	{0x0000a5f0, 0x9c1fff0b, 0x9c1fff0b, 0x56001eec, 0x56001eec},
85 	{0x0000a5f4, 0x9c1fff0b, 0x9c1fff0b, 0x56001eec, 0x56001eec},
86 	{0x0000a5f8, 0x9c1fff0b, 0x9c1fff0b, 0x56001eec, 0x56001eec},
87 	{0x0000a5fc, 0x9c1fff0b, 0x9c1fff0b, 0x56001eec, 0x56001eec},
88 	{0x0000a600, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
89 	{0x0000a604, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
90 	{0x0000a608, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
91 	{0x0000a60c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
92 	{0x0000a610, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
93 	{0x0000a614, 0x01404000, 0x01404000, 0x01404000, 0x01404000},
94 	{0x0000a618, 0x02008501, 0x02008501, 0x02008501, 0x02008501},
95 	{0x0000a61c, 0x02008802, 0x02008802, 0x02008802, 0x02008802},
96 	{0x0000a620, 0x0300c802, 0x0300c802, 0x0300c802, 0x0300c802},
97 	{0x0000a624, 0x0300cc03, 0x0300cc03, 0x0300cc03, 0x0300cc03},
98 	{0x0000a628, 0x04011004, 0x04011004, 0x04011004, 0x04011004},
99 	{0x0000a62c, 0x04011004, 0x04011004, 0x04011004, 0x04011004},
100 	{0x0000a630, 0x04011004, 0x04011004, 0x04011004, 0x04011004},
101 	{0x0000a634, 0x04011004, 0x04011004, 0x04011004, 0x04011004},
102 	{0x0000a638, 0x04011004, 0x04011004, 0x04011004, 0x04011004},
103 	{0x0000a63c, 0x04011004, 0x04011004, 0x04011004, 0x04011004},
104 };
105 
106 #define ar9331_modes_high_power_tx_gain_1p2 ar9331_modes_high_ob_db_tx_gain_1p2
107 
108 #define ar9331_modes_low_ob_db_tx_gain_1p2 ar9331_modes_high_power_tx_gain_1p2
109 
110 #define ar9331_modes_lowest_ob_db_tx_gain_1p2 ar9331_modes_low_ob_db_tx_gain_1p2
111 
112 static const u32 ar9331_1p2_baseband_postamble[][5] = {
113 	/* Addr      5G_HT20     5G_HT40     2G_HT40     2G_HT20   */
114 	{0x00009810, 0xd00a8005, 0xd00a8005, 0xd00a8005, 0xd00a8005},
115 	{0x00009820, 0x206a002e, 0x206a002e, 0x206a002e, 0x206a002e},
116 	{0x00009824, 0x5ac640d0, 0x5ac640d0, 0x5ac640d0, 0x5ac640d0},
117 	{0x00009828, 0x06903081, 0x06903081, 0x06903881, 0x06903881},
118 	{0x0000982c, 0x05eea6d4, 0x05eea6d4, 0x05eea6d4, 0x05eea6d4},
119 	{0x00009830, 0x0000059c, 0x0000059c, 0x0000059c, 0x0000059c},
120 	{0x00009c00, 0x00000044, 0x00000044, 0x00000044, 0x00000044},
121 	{0x00009e00, 0x0372161e, 0x0372161e, 0x037216a4, 0x037216a4},
122 	{0x00009e04, 0x00182020, 0x00182020, 0x00182020, 0x00182020},
123 	{0x00009e0c, 0x6c4000e2, 0x6d4000e2, 0x6d4000e2, 0x6c4000e2},
124 	{0x00009e10, 0x7ec80d2e, 0x7ec80d2e, 0x7ec80d2e, 0x7ec80d2e},
125 	{0x00009e14, 0x31395d5e, 0x3139605e, 0x3139605e, 0x31395d5e},
126 	{0x00009e18, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
127 	{0x00009e1c, 0x0001cf9c, 0x0001cf9c, 0x00021f9c, 0x00021f9c},
128 	{0x00009e20, 0x000003b5, 0x000003b5, 0x000003ce, 0x000003ce},
129 	{0x00009e2c, 0x0000001c, 0x0000001c, 0x00003221, 0x00003221},
130 	{0x00009e3c, 0xcf946222, 0xcf946222, 0xcf946222, 0xcf946222},
131 	{0x00009e44, 0x02321e27, 0x02321e27, 0x02282324, 0x02282324},
132 	{0x00009e48, 0x5030201a, 0x5030201a, 0x50302010, 0x50302010},
133 	{0x00009fc8, 0x0003f000, 0x0003f000, 0x0001a000, 0x0001a000},
134 	{0x0000a204, 0x00003fc0, 0x00003fc4, 0x00003fc4, 0x00003fc0},
135 	{0x0000a208, 0x00000104, 0x00000104, 0x00000004, 0x00000004},
136 	{0x0000a230, 0x0000000a, 0x00000014, 0x00000016, 0x0000000b},
137 	{0x0000a234, 0x00000fff, 0x00000fff, 0x10000fff, 0x00000fff},
138 	{0x0000a238, 0xffb81018, 0xffb81018, 0xffb81018, 0xffb81018},
139 	{0x0000a250, 0x00000000, 0x00000000, 0x00000210, 0x00000108},
140 	{0x0000a254, 0x000007d0, 0x00000fa0, 0x00001130, 0x00000898},
141 	{0x0000a258, 0x02020002, 0x02020002, 0x02020002, 0x02020002},
142 	{0x0000a25c, 0x01000e0e, 0x01000e0e, 0x01000e0e, 0x01000e0e},
143 	{0x0000a260, 0x3a021501, 0x3a021501, 0x3a021501, 0x3a021501},
144 	{0x0000a264, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e},
145 	{0x0000a280, 0x00000007, 0x00000007, 0x0000000b, 0x0000000b},
146 	{0x0000a284, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
147 	{0x0000a288, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
148 	{0x0000a28c, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
149 	{0x0000a2c4, 0x00158d18, 0x00158d18, 0x00158d18, 0x00158d18},
150 	{0x0000a2d0, 0x00071981, 0x00071981, 0x00071981, 0x00071981},
151 	{0x0000a2d8, 0xf999a83a, 0xf999a83a, 0xf999a83a, 0xf999a83a},
152 	{0x0000a358, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
153 	{0x0000ae04, 0x00802020, 0x00802020, 0x00802020, 0x00802020},
154 	{0x0000ae18, 0x00000000, 0x00000000, 0x00000000, 0x00000000},
155 };
156 
157 static const u32 ar9331_1p2_radio_core[][2] = {
158 	/* Addr      allmodes  */
159 	{0x00016000, 0x36db6db6},
160 	{0x00016004, 0x6db6db40},
161 	{0x00016008, 0x73800000},
162 	{0x0001600c, 0x00000000},
163 	{0x00016040, 0x7f80fff8},
164 	{0x00016044, 0x03d6d2db},
165 	{0x00016048, 0x6c924268},
166 	{0x0001604c, 0x000f0278},
167 	{0x00016050, 0x4db6db8c},
168 	{0x00016054, 0x6db60000},
169 	{0x00016080, 0x00080000},
170 	{0x00016084, 0x0e48048c},
171 	{0x00016088, 0x14214514},
172 	{0x0001608c, 0x119f081c},
173 	{0x00016090, 0x24926490},
174 	{0x00016098, 0xd411eb84},
175 	{0x000160a0, 0xc2108ffe},
176 	{0x000160a4, 0x812fc370},
177 	{0x000160a8, 0x423c8000},
178 	{0x000160ac, 0x24651800},
179 	{0x000160b0, 0x03284f3e},
180 	{0x000160b4, 0x92480040},
181 	{0x000160c0, 0x006db6db},
182 	{0x000160c4, 0x0186db60},
183 	{0x000160c8, 0x6db6db6c},
184 	{0x000160cc, 0x6de6c300},
185 	{0x000160d0, 0x14500820},
186 	{0x00016100, 0x04cb0001},
187 	{0x00016104, 0xfff80015},
188 	{0x00016108, 0x00080010},
189 	{0x0001610c, 0x00170000},
190 	{0x00016140, 0x10804000},
191 	{0x00016144, 0x01884080},
192 	{0x00016148, 0x000080c0},
193 	{0x00016280, 0x01000015},
194 	{0x00016284, 0x14d20000},
195 	{0x00016288, 0x00318000},
196 	{0x0001628c, 0x50000000},
197 	{0x00016290, 0x4b96210f},
198 	{0x00016380, 0x00000000},
199 	{0x00016384, 0x00000000},
200 	{0x00016388, 0x00800700},
201 	{0x0001638c, 0x00800700},
202 	{0x00016390, 0x00800700},
203 	{0x00016394, 0x00000000},
204 	{0x00016398, 0x00000000},
205 	{0x0001639c, 0x00000000},
206 	{0x000163a0, 0x00000001},
207 	{0x000163a4, 0x00000001},
208 	{0x000163a8, 0x00000000},
209 	{0x000163ac, 0x00000000},
210 	{0x000163b0, 0x00000000},
211 	{0x000163b4, 0x00000000},
212 	{0x000163b8, 0x00000000},
213 	{0x000163bc, 0x00000000},
214 	{0x000163c0, 0x000000a0},
215 	{0x000163c4, 0x000c0000},
216 	{0x000163c8, 0x14021402},
217 	{0x000163cc, 0x00001402},
218 	{0x000163d0, 0x00000000},
219 	{0x000163d4, 0x00000000},
220 };
221 
222 #define ar9331_1p2_baseband_core_txfir_coeff_japan_2484 ar9331_1p1_baseband_core_txfir_coeff_japan_2484
223 
224 #define ar9331_1p2_xtal_25M ar9331_1p1_xtal_25M
225 
226 #define ar9331_1p2_xtal_40M ar9331_1p1_xtal_40M
227 
228 #define ar9331_1p2_baseband_core ar9331_1p1_baseband_core
229 
230 #define ar9331_1p2_soc_postamble ar9331_1p1_soc_postamble
231 
232 #define ar9331_1p2_mac_postamble ar9331_1p1_mac_postamble
233 
234 #define ar9331_1p2_soc_preamble ar9331_1p1_soc_preamble
235 
236 #define ar9331_1p2_mac_core ar9331_1p1_mac_core
237 
238 #define ar9331_common_wo_xlna_rx_gain_1p2 ar9331_common_wo_xlna_rx_gain_1p1
239 
240 #define ar9331_common_rx_gain_1p2 ar9485_common_rx_gain_1_1
241 
242 #endif /* INITVALS_9330_1P2_H */
243