Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/dev/ath/ath_hal/ar5416/ar5416.ini
39566 views
1
/*
2
* Copyright (c) 2002-2008 Sam Leffler, Errno Consulting
3
* Copyright (c) 2008-2009 Atheros Communications 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
/* Auto Generated PCI Register Writes. Created: 09/20/06 */
18
19
static const uint32_t ar5416Modes[][6] = {
20
/* Register A A-20/40 G-20/40 G G-Turbo */
21
{ 0x00001030, 0x00000230, 0x00000460, 0x000002c0, 0x00000160, 0x000001e0 },
22
{ 0x00001070, 0x00000168, 0x000002d0, 0x00000318, 0x0000018c, 0x000001e0 },
23
{ 0x000010b0, 0x00000e60, 0x00001cc0, 0x00007c70, 0x00003e38, 0x00001180 },
24
{ 0x000010f0, 0x0000a000, 0x00014000, 0x00016000, 0x0000b000, 0x00014008 },
25
{ 0x00008014, 0x03e803e8, 0x07d007d0, 0x10801600, 0x08400b00, 0x06e006e0 },
26
{ 0x0000801c, 0x128d93a7, 0x128d93cf, 0x12e013d7, 0x12e013ab, 0x098813cf },
27
{ 0x00008120, 0x08f04800, 0x08f04800, 0x08f04810, 0x08f04810, 0x08f04810 },
28
{ 0x000081d0, 0x00003210, 0x00003210, 0x0000320a, 0x0000320a, 0x0000320a },
29
{ 0x00009804, 0x00000300, 0x000003c4, 0x000003c4, 0x00000300, 0x00000303 },
30
{ 0x00009820, 0x02020200, 0x02020200, 0x02020200, 0x02020200, 0x02020200 },
31
{ 0x00009824, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e },
32
{ 0x00009828, 0x0a020001, 0x0a020001, 0x0a020001, 0x0a020001, 0x0a020001 },
33
{ 0x00009834, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e, 0x00000e0e },
34
{ 0x00009838, 0x00000007, 0x00000007, 0x00000007, 0x00000007, 0x00000007 },
35
{ 0x00009844, 0x1372161e, 0x1372161e, 0x137216a0, 0x137216a0, 0x137216a0 },
36
{ 0x00009848, 0x001a6a65, 0x001a6a65, 0x00197a68, 0x00197a68, 0x00197a68 },
37
{ 0x0000a848, 0x001a6a65, 0x001a6a65, 0x00197a68, 0x00197a68, 0x00197a68 },
38
{ 0x0000b848, 0x001a6a65, 0x001a6a65, 0x00197a68, 0x00197a68, 0x00197a68 },
39
{ 0x00009850, 0x6c48b4e0, 0x6d48b4e0, 0x6d48b0de, 0x6c48b0de, 0x6c48b0de },
40
{ 0x00009858, 0x7ec82d2e, 0x7ec82d2e, 0x7ec82d2e, 0x7ec82d2e, 0x7ec82d2e },
41
{ 0x0000985c, 0x31395d5e, 0x3139605e, 0x3139605e, 0x31395d5e, 0x31395d5e },
42
{ 0x00009860, 0x00049d18, 0x00049d18, 0x00049d18, 0x00049d18, 0x00049d18 },
43
{ 0x00009864, 0x0001ce00, 0x0001ce00, 0x0001ce00, 0x0001ce00, 0x0001ce00 },
44
{ 0x00009868, 0x409a4190, 0x409a4190, 0x409a4190, 0x409a4190, 0x409a4190 },
45
{ 0x0000986c, 0x050cb081, 0x050cb081, 0x050cb081, 0x050cb081, 0x050cb081 },
46
{ 0x00009914, 0x000007d0, 0x00000fa0, 0x00001130, 0x00000898, 0x000007d0 },
47
{ 0x00009918, 0x000001b8, 0x00000370, 0x00000268, 0x00000134, 0x00000134 },
48
{ 0x00009924, 0xd0058a0b, 0xd0058a0b, 0xd0058a0b, 0xd0058a0b, 0xd0058a0b },
49
{ 0x00009944, 0xffb81020, 0xffb81020, 0xffb81020, 0xffb81020, 0xffb81020 },
50
#ifdef TB243
51
{ 0x00009960, 0x00000900, 0x00000900, 0x00009b40, 0x00009b40, 0x00012d80 },
52
{ 0x0000a960, 0x00000900, 0x00000900, 0x00009b40, 0x00009b40, 0x00012d80 },
53
{ 0x0000b960, 0x00000900, 0x00000900, 0x00009b40, 0x00009b40, 0x00012d80 },
54
{ 0x00009964, 0x00000000, 0x00000000, 0x00002210, 0x00002210, 0x00001120 },
55
#else
56
{ 0x00009960, 0x00000900, 0x00000900, 0x00012d80, 0x00012d80, 0x00012d80 },
57
{ 0x0000a960, 0x00000900, 0x00000900, 0x00012d80, 0x00012d80, 0x00012d80 },
58
{ 0x0000b960, 0x00000900, 0x00000900, 0x00012d80, 0x00012d80, 0x00012d80 },
59
#ifdef __LINUX_ARM_ARCH__
60
{ 0x00009964, 0x00000000, 0x00000000, 0x00001120, 0x00001120, 0x00001120 },
61
#else
62
{ 0x00009964, 0x00000000, 0x00000000, 0x00001120, 0x00001120, 0x00001120 },
63
#endif
64
#endif
65
{ 0x0000c9bc, 0x001a0a00, 0x001a0a00, 0x001a0a00, 0x001a0a00, 0x001a0a00 },
66
{ 0x00009964, 0x00000000, 0x00000000, 0x00001120, 0x00001120, 0x00001120 },
67
{ 0x000099bc, 0x001a0a00, 0x001a0a00, 0x001a0a00, 0x001a0a00, 0x001a0a00 },
68
{ 0x000099c0, 0x038919be, 0x038919be, 0x038919be, 0x038919be, 0x038919be },
69
{ 0x000099c4, 0x06336f77, 0x06336f77, 0x06336f77, 0x06336f77, 0x06336f77 },
70
{ 0x000099c8, 0x6af6532c, 0x6af6532c, 0x6af6532c, 0x6af6532c, 0x6af6532c },
71
{ 0x000099cc, 0x08f186c8, 0x08f186c8, 0x08f186c8, 0x08f186c8, 0x08f186c8 },
72
{ 0x000099d0, 0x00046384, 0x00046384, 0x00046384, 0x00046384, 0x00046384 },
73
{ 0x000099d4, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
74
{ 0x000099d8, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
75
{ 0x0000a204, 0x00000880, 0x00000880, 0x00000880, 0x00000880, 0x00000880 },
76
{ 0x0000a208, 0xd6be4788, 0xd6be4788, 0xd03e4788, 0xd03e4788, 0xd03e4788 },
77
{ 0x0000a20c, 0x002ec1e0, 0x002ec1e0, 0x002ac120, 0x002ac120, 0x002ac120 },
78
{ 0x0000b20c, 0x002ec1e0, 0x002ec1e0, 0x002ac120, 0x002ac120, 0x002ac120 },
79
{ 0x0000c20c, 0x002ec1e0, 0x002ec1e0, 0x002ac120, 0x002ac120, 0x002ac120 },
80
{ 0x0000a21c, 0x1883800a, 0x1883800a, 0x1883800a, 0x1883800a, 0x1883800a },
81
{ 0x0000a230, 0x00000000, 0x00000000, 0x00000210, 0x00000108, 0x00000000 },
82
{ 0x0000a274, 0x0a1a9caa, 0x0a1a9caa, 0x0a1a7caa, 0x0a1a7caa, 0x0a1a7caa },
83
{ 0x0000a300, 0x18010000, 0x18010000, 0x18010000, 0x18010000, 0x18010000 },
84
{ 0x0000a304, 0x30032602, 0x30032602, 0x2e032402, 0x2e032402, 0x2e032402 },
85
{ 0x0000a308, 0x48073e06, 0x48073e06, 0x4a0a3c06, 0x4a0a3c06, 0x4a0a3c06 },
86
{ 0x0000a30c, 0x560b4c0a, 0x560b4c0a, 0x621a540b, 0x621a540b, 0x621a540b },
87
{ 0x0000a310, 0x641a600f, 0x641a600f, 0x764f6c1b, 0x764f6c1b, 0x764f6c1b },
88
{ 0x0000a314, 0x7a4f6e1b, 0x7a4f6e1b, 0x845b7a5a, 0x845b7a5a, 0x845b7a5a },
89
{ 0x0000a318, 0x8c5b7e5a, 0x8c5b7e5a, 0x950f8ccf, 0x950f8ccf, 0x950f8ccf },
90
{ 0x0000a31c, 0x9d0f96cf, 0x9d0f96cf, 0xa5cf9b4f, 0xa5cf9b4f, 0xa5cf9b4f },
91
{ 0x0000a320, 0xb51fa69f, 0xb51fa69f, 0xbddfaf1f, 0xbddfaf1f, 0xbddfaf1f },
92
{ 0x0000a324, 0xcb3fbd07, 0xcb3fbcbf, 0xd1ffc93f, 0xd1ffc93f, 0xd1ffc93f },
93
{ 0x0000a328, 0x0000d7bf, 0x0000d7bf, 0x00000000, 0x00000000, 0x00000000 },
94
{ 0x0000a32c, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
95
{ 0x0000a330, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
96
{ 0x0000a334, 0x00000000, 0x00000000, 0x00000000, 0x00000000, 0x00000000 },
97
};
98
99
static const uint32_t ar5416Common[][2] = {
100
{ 0x0000000c, 0x00000000 },
101
{ 0x00000030, 0x00020015 },
102
{ 0x00000034, 0x00000005 },
103
{ 0x00000040, 0x00000000 },
104
{ 0x00000044, 0x00000008 },
105
{ 0x00000048, 0x00000008 },
106
{ 0x0000004c, 0x00000010 },
107
{ 0x00000050, 0x00000000 },
108
{ 0x00000054, 0x0000001f },
109
{ 0x00000800, 0x00000000 },
110
{ 0x00000804, 0x00000000 },
111
{ 0x00000808, 0x00000000 },
112
{ 0x0000080c, 0x00000000 },
113
{ 0x00000810, 0x00000000 },
114
{ 0x00000814, 0x00000000 },
115
{ 0x00000818, 0x00000000 },
116
{ 0x0000081c, 0x00000000 },
117
{ 0x00000820, 0x00000000 },
118
{ 0x00000824, 0x00000000 },
119
{ 0x00001040, 0x002ffc0f },
120
{ 0x00001044, 0x002ffc0f },
121
{ 0x00001048, 0x002ffc0f },
122
{ 0x0000104c, 0x002ffc0f },
123
{ 0x00001050, 0x002ffc0f },
124
{ 0x00001054, 0x002ffc0f },
125
{ 0x00001058, 0x002ffc0f },
126
{ 0x0000105c, 0x002ffc0f },
127
{ 0x00001060, 0x002ffc0f },
128
{ 0x00001064, 0x002ffc0f },
129
{ 0x00001230, 0x00000000 },
130
{ 0x00001270, 0x00000000 },
131
{ 0x00001038, 0x00000000 },
132
{ 0x00001078, 0x00000000 },
133
{ 0x000010b8, 0x00000000 },
134
{ 0x000010f8, 0x00000000 },
135
{ 0x00001138, 0x00000000 },
136
{ 0x00001178, 0x00000000 },
137
{ 0x000011b8, 0x00000000 },
138
{ 0x000011f8, 0x00000000 },
139
{ 0x00001238, 0x00000000 },
140
{ 0x00001278, 0x00000000 },
141
{ 0x000012b8, 0x00000000 },
142
{ 0x000012f8, 0x00000000 },
143
{ 0x00001338, 0x00000000 },
144
{ 0x00001378, 0x00000000 },
145
{ 0x000013b8, 0x00000000 },
146
{ 0x000013f8, 0x00000000 },
147
{ 0x00001438, 0x00000000 },
148
{ 0x00001478, 0x00000000 },
149
{ 0x000014b8, 0x00000000 },
150
{ 0x000014f8, 0x00000000 },
151
{ 0x00001538, 0x00000000 },
152
{ 0x00001578, 0x00000000 },
153
{ 0x000015b8, 0x00000000 },
154
{ 0x000015f8, 0x00000000 },
155
{ 0x00001638, 0x00000000 },
156
{ 0x00001678, 0x00000000 },
157
{ 0x000016b8, 0x00000000 },
158
{ 0x000016f8, 0x00000000 },
159
{ 0x00001738, 0x00000000 },
160
{ 0x00001778, 0x00000000 },
161
{ 0x000017b8, 0x00000000 },
162
{ 0x000017f8, 0x00000000 },
163
{ 0x0000103c, 0x00000000 },
164
{ 0x0000107c, 0x00000000 },
165
{ 0x000010bc, 0x00000000 },
166
{ 0x000010fc, 0x00000000 },
167
{ 0x0000113c, 0x00000000 },
168
{ 0x0000117c, 0x00000000 },
169
{ 0x000011bc, 0x00000000 },
170
{ 0x000011fc, 0x00000000 },
171
{ 0x0000123c, 0x00000000 },
172
{ 0x0000127c, 0x00000000 },
173
{ 0x000012bc, 0x00000000 },
174
{ 0x000012fc, 0x00000000 },
175
{ 0x0000133c, 0x00000000 },
176
{ 0x0000137c, 0x00000000 },
177
{ 0x000013bc, 0x00000000 },
178
{ 0x000013fc, 0x00000000 },
179
{ 0x0000143c, 0x00000000 },
180
{ 0x0000147c, 0x00000000 },
181
{ 0x00004030, 0x00000002 },
182
{ 0x0000403c, 0x00000002 },
183
#ifdef AR9100
184
{ 0x00020010, 0x00000000 },
185
#else
186
{ 0x00007010, 0x00000000 },
187
#endif
188
{ 0x00007038, 0x000004c2 },
189
{ 0x00008004, 0x00000000 },
190
{ 0x00008008, 0x00000000 },
191
{ 0x0000800c, 0x00000000 },
192
{ 0x00008018, 0x00000700 },
193
{ 0x00008020, 0x00000000 },
194
{ 0x00008038, 0x00000000 },
195
{ 0x0000803c, 0x00000000 },
196
{ 0x00008048, 0x40000000 },
197
{ 0x00008054, 0x00000000 },
198
{ 0x00008058, 0x00000000 },
199
{ 0x0000805c, 0x000fc78f },
200
{ 0x00008060, 0x0000000f },
201
{ 0x00008064, 0x00000000 },
202
{ 0x000080c0, 0x2a82301a },
203
{ 0x000080c4, 0x05dc01e0 },
204
{ 0x000080c8, 0x1f402710 },
205
{ 0x000080cc, 0x01f40000 },
206
{ 0x000080d0, 0x00001e00 },
207
{ 0x000080d4, 0x00000000 },
208
{ 0x000080d8, 0x00400000 },
209
{ 0x000080e0, 0xffffffff },
210
{ 0x000080e4, 0x0000ffff },
211
{ 0x000080e8, 0x003f3f3f },
212
{ 0x000080ec, 0x00000000 },
213
{ 0x000080f0, 0x00000000 },
214
{ 0x000080f4, 0x00000000 },
215
{ 0x000080f8, 0x00000000 },
216
{ 0x000080fc, 0x00020000 },
217
{ 0x00008100, 0x00020000 },
218
{ 0x00008104, 0x00000001 },
219
{ 0x00008108, 0x00000052 },
220
{ 0x0000810c, 0x00000000 },
221
{ 0x00008110, 0x00000168 },
222
{ 0x00008118, 0x000100aa },
223
{ 0x0000811c, 0x00003210 },
224
{ 0x00008124, 0x00000000 },
225
{ 0x00008128, 0x00000000 },
226
{ 0x0000812c, 0x00000000 },
227
{ 0x00008130, 0x00000000 },
228
{ 0x00008134, 0x00000000 },
229
{ 0x00008138, 0x00000000 },
230
{ 0x0000813c, 0x00000000 },
231
{ 0x00008144, 0xffffffff },
232
{ 0x00008168, 0x00000000 },
233
{ 0x0000816c, 0x00000000 },
234
{ 0x00008170, 0x32143320 },
235
{ 0x00008174, 0xfaa4fa50 },
236
{ 0x00008178, 0x00000100 },
237
{ 0x0000817c, 0x00000000 },
238
{ 0x000081c4, 0x00000000 },
239
{ 0x000081ec, 0x00000000 },
240
{ 0x000081f0, 0x00000000 },
241
{ 0x000081f4, 0x00000000 },
242
{ 0x000081f8, 0x00000000 },
243
{ 0x000081fc, 0x00000000 },
244
{ 0x00008200, 0x00000000 },
245
{ 0x00008204, 0x00000000 },
246
{ 0x00008208, 0x00000000 },
247
{ 0x0000820c, 0x00000000 },
248
{ 0x00008210, 0x00000000 },
249
{ 0x00008214, 0x00000000 },
250
{ 0x00008218, 0x00000000 },
251
{ 0x0000821c, 0x00000000 },
252
{ 0x00008220, 0x00000000 },
253
{ 0x00008224, 0x00000000 },
254
{ 0x00008228, 0x00000000 },
255
{ 0x0000822c, 0x00000000 },
256
{ 0x00008230, 0x00000000 },
257
{ 0x00008234, 0x00000000 },
258
{ 0x00008238, 0x00000000 },
259
{ 0x0000823c, 0x00000000 },
260
{ 0x00008240, 0x00100000 },
261
{ 0x00008244, 0x0010f400 },
262
{ 0x00008248, 0x00000100 },
263
{ 0x0000824c, 0x0001e800 },
264
{ 0x00008250, 0x00000000 },
265
{ 0x00008254, 0x00000000 },
266
{ 0x00008258, 0x00000000 },
267
{ 0x0000825c, 0x400000ff },
268
{ 0x00008260, 0x00080922 },
269
{ 0x00008264, 0xa8000010 },
270
{ 0x00008270, 0x00000000 },
271
{ 0x00008274, 0x40000000 },
272
{ 0x00008278, 0x003e4180 },
273
{ 0x0000827c, 0x00000000 },
274
{ 0x00008284, 0x0000002c },
275
{ 0x00008288, 0x0000002c },
276
{ 0x0000828c, 0x00000000 },
277
{ 0x00008294, 0x00000000 },
278
{ 0x00008298, 0x00000000 },
279
{ 0x00008300, 0x00000000 },
280
{ 0x00008304, 0x00000000 },
281
{ 0x00008308, 0x00000000 },
282
{ 0x0000830c, 0x00000000 },
283
{ 0x00008310, 0x00000000 },
284
{ 0x00008314, 0x00000000 },
285
{ 0x00008318, 0x00000000 },
286
{ 0x00008328, 0x00000000 },
287
{ 0x0000832c, 0x00000007 },
288
{ 0x00008330, 0x00000302 },
289
{ 0x00008334, 0x00000e00 },
290
{ 0x00008338, 0x00070000 },
291
{ 0x0000833c, 0x00000000 },
292
{ 0x00008340, 0x000107ff },
293
{ 0x00009808, 0x00000000 },
294
{ 0x0000980c, 0xad848e19 },
295
{ 0x00009810, 0x7d14e000 },
296
{ 0x00009814, 0x9c0a9f6b },
297
{ 0x0000981c, 0x00000000 },
298
{ 0x0000982c, 0x0000a000 },
299
{ 0x00009830, 0x00000000 },
300
{ 0x0000983c, 0x00200400 },
301
{ 0x00009840, 0x206a002e },
302
{ 0x0000984c, 0x1284233c },
303
{ 0x00009854, 0x00000859 },
304
{ 0x00009900, 0x00000000 },
305
{ 0x00009904, 0x00000000 },
306
{ 0x00009908, 0x00000000 },
307
{ 0x0000990c, 0x00000000 },
308
{ 0x0000991c, 0x10000fff },
309
{ 0x00009920, 0x05100000 },
310
{ 0x0000a920, 0x05100000 },
311
{ 0x0000b920, 0x05100000 },
312
{ 0x00009928, 0x00000001 },
313
{ 0x0000992c, 0x00000004 },
314
{ 0x00009934, 0x1e1f2022 },
315
{ 0x00009938, 0x0a0b0c0d },
316
{ 0x0000993c, 0x00000000 },
317
{ 0x00009948, 0x9280b212 },
318
{ 0x0000994c, 0x00020028 },
319
{ 0x00009954, 0x5d50e188 },
320
{ 0x00009958, 0x00081fff },
321
{ 0x0000c95c, 0x004b6a8e },
322
{ 0x0000c968, 0x000003ce },
323
{ 0x00009970, 0x190fb515 },
324
{ 0x00009974, 0x00000000 },
325
{ 0x00009978, 0x00000001 },
326
{ 0x0000997c, 0x00000000 },
327
{ 0x00009980, 0x00000000 },
328
{ 0x00009984, 0x00000000 },
329
{ 0x00009988, 0x00000000 },
330
{ 0x0000998c, 0x00000000 },
331
{ 0x00009990, 0x00000000 },
332
{ 0x00009994, 0x00000000 },
333
{ 0x00009998, 0x00000000 },
334
{ 0x0000999c, 0x00000000 },
335
{ 0x000099a0, 0x00000000 },
336
{ 0x000099a4, 0x00000001 },
337
{ 0x000099a8, 0x001fff00 },
338
{ 0x000099ac, 0x00000000 },
339
{ 0x000099b0, 0x03051000 },
340
{ 0x000099dc, 0x00000000 },
341
{ 0x000099e0, 0x00000200 },
342
{ 0x000099e4, 0xaaaaaaaa },
343
{ 0x000099e8, 0x3c466478 },
344
{ 0x000099ec, 0x000000aa },
345
{ 0x000099fc, 0x00001042 },
346
{ 0x00009b00, 0x00000000 },
347
{ 0x00009b04, 0x00000001 },
348
{ 0x00009b08, 0x00000002 },
349
{ 0x00009b0c, 0x00000003 },
350
{ 0x00009b10, 0x00000004 },
351
{ 0x00009b14, 0x00000005 },
352
{ 0x00009b18, 0x00000008 },
353
{ 0x00009b1c, 0x00000009 },
354
{ 0x00009b20, 0x0000000a },
355
{ 0x00009b24, 0x0000000b },
356
{ 0x00009b28, 0x0000000c },
357
{ 0x00009b2c, 0x0000000d },
358
{ 0x00009b30, 0x00000010 },
359
{ 0x00009b34, 0x00000011 },
360
{ 0x00009b38, 0x00000012 },
361
{ 0x00009b3c, 0x00000013 },
362
{ 0x00009b40, 0x00000014 },
363
{ 0x00009b44, 0x00000015 },
364
{ 0x00009b48, 0x00000018 },
365
{ 0x00009b4c, 0x00000019 },
366
{ 0x00009b50, 0x0000001a },
367
{ 0x00009b54, 0x0000001b },
368
{ 0x00009b58, 0x0000001c },
369
{ 0x00009b5c, 0x0000001d },
370
{ 0x00009b60, 0x00000020 },
371
{ 0x00009b64, 0x00000021 },
372
{ 0x00009b68, 0x00000022 },
373
{ 0x00009b6c, 0x00000023 },
374
{ 0x00009b70, 0x00000024 },
375
{ 0x00009b74, 0x00000025 },
376
{ 0x00009b78, 0x00000028 },
377
{ 0x00009b7c, 0x00000029 },
378
{ 0x00009b80, 0x0000002a },
379
{ 0x00009b84, 0x0000002b },
380
{ 0x00009b88, 0x0000002c },
381
{ 0x00009b8c, 0x0000002d },
382
{ 0x00009b90, 0x00000030 },
383
{ 0x00009b94, 0x00000031 },
384
{ 0x00009b98, 0x00000032 },
385
{ 0x00009b9c, 0x00000033 },
386
{ 0x00009ba0, 0x00000034 },
387
{ 0x00009ba4, 0x00000035 },
388
{ 0x00009ba8, 0x00000035 },
389
{ 0x00009bac, 0x00000035 },
390
{ 0x00009bb0, 0x00000035 },
391
{ 0x00009bb4, 0x00000035 },
392
{ 0x00009bb8, 0x00000035 },
393
{ 0x00009bbc, 0x00000035 },
394
{ 0x00009bc0, 0x00000035 },
395
{ 0x00009bc4, 0x00000035 },
396
{ 0x00009bc8, 0x00000035 },
397
{ 0x00009bcc, 0x00000035 },
398
{ 0x00009bd0, 0x00000035 },
399
{ 0x00009bd4, 0x00000035 },
400
{ 0x00009bd8, 0x00000035 },
401
{ 0x00009bdc, 0x00000035 },
402
{ 0x00009be0, 0x00000035 },
403
{ 0x00009be4, 0x00000035 },
404
{ 0x00009be8, 0x00000035 },
405
{ 0x00009bec, 0x00000035 },
406
{ 0x00009bf0, 0x00000035 },
407
{ 0x00009bf4, 0x00000035 },
408
{ 0x00009bf8, 0x00000010 },
409
{ 0x00009bfc, 0x0000001a },
410
{ 0x0000a210, 0x40806333 },
411
{ 0x0000a214, 0x00106c10 },
412
{ 0x0000a218, 0x009c4060 },
413
{ 0x0000a220, 0x018830c6 },
414
{ 0x0000a224, 0x00000400 },
415
{ 0x0000a228, 0x00000bb5 },
416
{ 0x0000a22c, 0x00000011 },
417
{ 0x0000a234, 0x20202020 },
418
{ 0x0000a238, 0x20202020 },
419
{ 0x0000a23c, 0x13c889af },
420
{ 0x0000a240, 0x38490a20 },
421
{ 0x0000a244, 0x00007bb6 },
422
{ 0x0000a248, 0x0fff3ffc },
423
{ 0x0000a24c, 0x00000001 },
424
{ 0x0000a250, 0x0000a000 },
425
{ 0x0000a254, 0x00000000 },
426
{ 0x0000a258, 0x0cc75380 },
427
{ 0x0000a25c, 0x0f0f0f01 },
428
{ 0x0000a260, 0xdfa91f01 },
429
{ 0x0000a268, 0x00000000 },
430
{ 0x0000a26c, 0x0e79e5c6 },
431
{ 0x0000b26c, 0x0e79e5c6 },
432
{ 0x0000c26c, 0x0e79e5c6 },
433
{ 0x0000d270, 0x00820820 },
434
{ 0x0000a278, 0x1ce739ce },
435
{ 0x0000a27c, 0x051701ce },
436
{ 0x0000a338, 0x00000000 },
437
{ 0x0000a33c, 0x00000000 },
438
{ 0x0000a340, 0x00000000 },
439
{ 0x0000a344, 0x00000000 },
440
{ 0x0000a348, 0x3fffffff },
441
{ 0x0000a34c, 0x3fffffff },
442
{ 0x0000a350, 0x3fffffff },
443
{ 0x0000a354, 0x0003ffff },
444
{ 0x0000a358, 0x79a8aa1f },
445
{ 0x0000d35c, 0x07ffffef },
446
{ 0x0000d360, 0x0fffffe7 },
447
{ 0x0000d364, 0x17ffffe5 },
448
{ 0x0000d368, 0x1fffffe4 },
449
{ 0x0000d36c, 0x37ffffe3 },
450
{ 0x0000d370, 0x3fffffe3 },
451
{ 0x0000d374, 0x57ffffe3 },
452
{ 0x0000d378, 0x5fffffe2 },
453
{ 0x0000d37c, 0x7fffffe2 },
454
{ 0x0000d380, 0x7f3c7bba },
455
{ 0x0000d384, 0xf3307ff0 },
456
{ 0x0000a388, 0x08000000 },
457
{ 0x0000a38c, 0x20202020 },
458
{ 0x0000a390, 0x20202020 },
459
{ 0x0000a394, 0x1ce739ce },
460
{ 0x0000a398, 0x000001ce },
461
{ 0x0000a39c, 0x00000001 },
462
{ 0x0000a3a0, 0x00000000 },
463
{ 0x0000a3a4, 0x00000000 },
464
{ 0x0000a3a8, 0x00000000 },
465
{ 0x0000a3ac, 0x00000000 },
466
{ 0x0000a3b0, 0x00000000 },
467
{ 0x0000a3b4, 0x00000000 },
468
{ 0x0000a3b8, 0x00000000 },
469
{ 0x0000a3bc, 0x00000000 },
470
{ 0x0000a3c0, 0x00000000 },
471
{ 0x0000a3c4, 0x00000000 },
472
{ 0x0000a3c8, 0x00000246 },
473
{ 0x0000a3cc, 0x20202020 },
474
{ 0x0000a3d0, 0x20202020 },
475
{ 0x0000a3d4, 0x20202020 },
476
{ 0x0000a3dc, 0x1ce739ce },
477
{ 0x0000a3e0, 0x000001ce },
478
};
479
480
static const uint32_t ar5416Bank0[][2] = {
481
{ 0x000098b0, 0x1e5795e5 },
482
{ 0x000098e0, 0x02008020 },
483
};
484
485
static const uint32_t ar5416BB_RfGain[][3] = {
486
{ 0x00009a00, 0x00000000, 0x00000000 },
487
{ 0x00009a04, 0x00000040, 0x00000040 },
488
{ 0x00009a08, 0x00000080, 0x00000080 },
489
{ 0x00009a0c, 0x000001a1, 0x00000141 },
490
{ 0x00009a10, 0x000001e1, 0x00000181 },
491
{ 0x00009a14, 0x00000021, 0x000001c1 },
492
{ 0x00009a18, 0x00000061, 0x00000001 },
493
{ 0x00009a1c, 0x00000168, 0x00000041 },
494
{ 0x00009a20, 0x000001a8, 0x000001a8 },
495
{ 0x00009a24, 0x000001e8, 0x000001e8 },
496
{ 0x00009a28, 0x00000028, 0x00000028 },
497
{ 0x00009a2c, 0x00000068, 0x00000068 },
498
{ 0x00009a30, 0x00000189, 0x000000a8 },
499
{ 0x00009a34, 0x000001c9, 0x00000169 },
500
{ 0x00009a38, 0x00000009, 0x000001a9 },
501
{ 0x00009a3c, 0x00000049, 0x000001e9 },
502
{ 0x00009a40, 0x00000089, 0x00000029 },
503
{ 0x00009a44, 0x00000170, 0x00000069 },
504
{ 0x00009a48, 0x000001b0, 0x00000190 },
505
{ 0x00009a4c, 0x000001f0, 0x000001d0 },
506
{ 0x00009a50, 0x00000030, 0x00000010 },
507
{ 0x00009a54, 0x00000070, 0x00000050 },
508
{ 0x00009a58, 0x00000191, 0x00000090 },
509
{ 0x00009a5c, 0x000001d1, 0x00000151 },
510
{ 0x00009a60, 0x00000011, 0x00000191 },
511
{ 0x00009a64, 0x00000051, 0x000001d1 },
512
{ 0x00009a68, 0x00000091, 0x00000011 },
513
{ 0x00009a6c, 0x000001b8, 0x00000051 },
514
{ 0x00009a70, 0x000001f8, 0x00000198 },
515
{ 0x00009a74, 0x00000038, 0x000001d8 },
516
{ 0x00009a78, 0x00000078, 0x00000018 },
517
{ 0x00009a7c, 0x00000199, 0x00000058 },
518
{ 0x00009a80, 0x000001d9, 0x00000098 },
519
{ 0x00009a84, 0x00000019, 0x00000159 },
520
{ 0x00009a88, 0x00000059, 0x00000199 },
521
{ 0x00009a8c, 0x00000099, 0x000001d9 },
522
{ 0x00009a90, 0x000000d9, 0x00000019 },
523
{ 0x00009a94, 0x000000f9, 0x00000059 },
524
{ 0x00009a98, 0x000000f9, 0x00000099 },
525
{ 0x00009a9c, 0x000000f9, 0x000000d9 },
526
{ 0x00009aa0, 0x000000f9, 0x000000f9 },
527
{ 0x00009aa4, 0x000000f9, 0x000000f9 },
528
{ 0x00009aa8, 0x000000f9, 0x000000f9 },
529
{ 0x00009aac, 0x000000f9, 0x000000f9 },
530
{ 0x00009ab0, 0x000000f9, 0x000000f9 },
531
{ 0x00009ab4, 0x000000f9, 0x000000f9 },
532
{ 0x00009ab8, 0x000000f9, 0x000000f9 },
533
{ 0x00009abc, 0x000000f9, 0x000000f9 },
534
{ 0x00009ac0, 0x000000f9, 0x000000f9 },
535
{ 0x00009ac4, 0x000000f9, 0x000000f9 },
536
{ 0x00009ac8, 0x000000f9, 0x000000f9 },
537
{ 0x00009acc, 0x000000f9, 0x000000f9 },
538
{ 0x00009ad0, 0x000000f9, 0x000000f9 },
539
{ 0x00009ad4, 0x000000f9, 0x000000f9 },
540
{ 0x00009ad8, 0x000000f9, 0x000000f9 },
541
{ 0x00009adc, 0x000000f9, 0x000000f9 },
542
{ 0x00009ae0, 0x000000f9, 0x000000f9 },
543
{ 0x00009ae4, 0x000000f9, 0x000000f9 },
544
{ 0x00009ae8, 0x000000f9, 0x000000f9 },
545
{ 0x00009aec, 0x000000f9, 0x000000f9 },
546
{ 0x00009af0, 0x000000f9, 0x000000f9 },
547
{ 0x00009af4, 0x000000f9, 0x000000f9 },
548
{ 0x00009af8, 0x000000f9, 0x000000f9 },
549
{ 0x00009afc, 0x000000f9, 0x000000f9 },
550
};
551
552
static const uint32_t ar5416Bank1[][2] = {
553
{ 0x000098b0, 0x02108421 },
554
{ 0x000098ec, 0x00000008 },
555
};
556
557
static const uint32_t ar5416Bank2[][2] = {
558
{ 0x000098b0, 0x0e73ff17 },
559
{ 0x000098e0, 0x00000420 },
560
};
561
562
static const uint32_t ar5416Bank3[][3] = {
563
{ 0x000098f0, 0x01400018, 0x01c00018 },
564
};
565
566
#ifdef USE_NONTPC_BANK
567
static const uint32_t ar5416Bank6[][3] = {
568
/* Reg A G */
569
{ 0x0000989c, 0x00000000, 0x00000000 },
570
{ 0x0000989c, 0x00000000, 0x00000000 },
571
{ 0x0000989c, 0x00000000, 0x00000000 },
572
{ 0x0000989c, 0x00e00000, 0x00e00000 },
573
{ 0x0000989c, 0x005e0000, 0x005e0000 },
574
{ 0x0000989c, 0x00120000, 0x00120000 },
575
{ 0x0000989c, 0x00620000, 0x00620000 },
576
{ 0x0000989c, 0x00020000, 0x00020000 },
577
{ 0x0000989c, 0x00ff0000, 0x00ff0000 },
578
{ 0x0000989c, 0x00ff0000, 0x00ff0000 },
579
{ 0x0000989c, 0x00ff0000, 0x00ff0000 },
580
{ 0x0000989c, 0x40ff0000, 0x40ff0000 },
581
{ 0x0000989c, 0x005f0000, 0x005f0000 },
582
{ 0x0000989c, 0x00870000, 0x00870000 },
583
{ 0x0000989c, 0x00f90000, 0x00f90000 },
584
{ 0x0000989c, 0x007b0000, 0x007b0000 },
585
{ 0x0000989c, 0x00ff0000, 0x00ff0000 },
586
{ 0x0000989c, 0x00f50000, 0x00f50000 },
587
{ 0x0000989c, 0x00dc0000, 0x00dc0000 },
588
{ 0x0000989c, 0x00110000, 0x00110000 },
589
{ 0x0000989c, 0x006100a8, 0x006100a8 },
590
{ 0x0000989c, 0x004210a2, 0x004210a2 },
591
{ 0x0000989c, 0x0014008f, 0x0014008f },
592
{ 0x0000989c, 0x00c40003, 0x00c40003 },
593
{ 0x0000989c, 0x003000f2, 0x003000f2 },
594
{ 0x0000989c, 0x00440016, 0x00440016 },
595
{ 0x0000989c, 0x00410040, 0x00410040 },
596
{ 0x0000989c, 0x0001805e, 0x0001805e },
597
{ 0x0000989c, 0x0000c0ab, 0x0000c0ab },
598
{ 0x0000989c, 0x000000f1, 0x000000f1 },
599
{ 0x0000989c, 0x00002081, 0x00002081 },
600
{ 0x0000989c, 0x000000d4, 0x000000d4 },
601
{ 0x000098d0, 0x0000000f, 0x0010000f },
602
};
603
604
#else
605
/* TPC bank */
606
static const uint32_t ar5416Bank6[][3] = {
607
/* Reg A G */
608
{ 0x0000989c, 0x00000000, 0x00000000 },
609
{ 0x0000989c, 0x00000000, 0x00000000 },
610
{ 0x0000989c, 0x00000000, 0x00000000 },
611
{ 0x0000989c, 0x00e00000, 0x00e00000 },
612
{ 0x0000989c, 0x005e0000, 0x005e0000 },
613
{ 0x0000989c, 0x00120000, 0x00120000 },
614
{ 0x0000989c, 0x00620000, 0x00620000 },
615
{ 0x0000989c, 0x00020000, 0x00020000 },
616
{ 0x0000989c, 0x00ff0000, 0x00ff0000 },
617
{ 0x0000989c, 0x00ff0000, 0x00ff0000 },
618
{ 0x0000989c, 0x00ff0000, 0x00ff0000 },
619
{ 0x0000989c, 0x40ff0000, 0x40ff0000 },
620
{ 0x0000989c, 0x005f0000, 0x005f0000 },
621
{ 0x0000989c, 0x00870000, 0x00870000 },
622
{ 0x0000989c, 0x00f90000, 0x00f90000 },
623
{ 0x0000989c, 0x007b0000, 0x007b0000 },
624
{ 0x0000989c, 0x00ff0000, 0x00ff0000 },
625
{ 0x0000989c, 0x00f50000, 0x00f50000 },
626
{ 0x0000989c, 0x00dc0000, 0x00dc0000 },
627
{ 0x0000989c, 0x00110000, 0x00110000 },
628
{ 0x0000989c, 0x006100a8, 0x006100a8 },
629
{ 0x0000989c, 0x00423022, 0x00423022 },
630
{ 0x0000989c, 0x201400df, 0x201400df },
631
{ 0x0000989c, 0x00c40002, 0x00c40002 },
632
{ 0x0000989c, 0x003000f2, 0x003000f2 },
633
{ 0x0000989c, 0x00440016, 0x00440016 },
634
{ 0x0000989c, 0x00410040, 0x00410040 },
635
{ 0x0000989c, 0x0001805e, 0x0001805e },
636
{ 0x0000989c, 0x0000c0ab, 0x0000c0ab },
637
{ 0x0000989c, 0x000000e1, 0x000000e1 },
638
{ 0x0000989c, 0x00007081, 0x00007081 },
639
{ 0x0000989c, 0x000000d4, 0x000000d4 },
640
{ 0x000098d0, 0x0000000f, 0x0010000f },
641
};
642
643
#endif
644
645
static const uint32_t ar5416Bank7[][2] = {
646
{ 0x0000989c, 0x00000500 },
647
{ 0x0000989c, 0x00000800 },
648
{ 0x000098cc, 0x0000000e },
649
};
650
651
static const uint32_t ar5416Addac[][2] = {
652
{0x0000989c, 0x00000000 },
653
{0x0000989c, 0x00000003 },
654
{0x0000989c, 0x00000000 },
655
{0x0000989c, 0x0000000c },
656
{0x0000989c, 0x00000000 },
657
{0x0000989c, 0x00000030 },
658
{0x0000989c, 0x00000000 },
659
{0x0000989c, 0x00000000 },
660
{0x0000989c, 0x00000000 },
661
{0x0000989c, 0x00000000 },
662
{0x0000989c, 0x00000000 },
663
{0x0000989c, 0x00000000 },
664
{0x0000989c, 0x00000000 },
665
{0x0000989c, 0x00000000 },
666
{0x0000989c, 0x00000000 },
667
{0x0000989c, 0x00000000 },
668
{0x0000989c, 0x00000000 },
669
{0x0000989c, 0x00000000 },
670
{0x0000989c, 0x00000060 },
671
{0x0000989c, 0x00000000 },
672
{0x0000989c, 0x00000000 },
673
{0x0000989c, 0x00000000 },
674
{0x0000989c, 0x00000000 },
675
{0x0000989c, 0x00000000 },
676
{0x0000989c, 0x00000000 },
677
{0x0000989c, 0x00000000 },
678
{0x0000989c, 0x00000000 },
679
{0x0000989c, 0x00000000 },
680
{0x0000989c, 0x00000000 },
681
{0x0000989c, 0x00000000 },
682
{0x0000989c, 0x00000000 },
683
{0x0000989c, 0x00000058 },
684
{0x0000989c, 0x00000000 },
685
{0x0000989c, 0x00000000 },
686
{0x0000989c, 0x00000000 },
687
{0x0000989c, 0x00000000 },
688
{0x000098c4, 0x00000000 },
689
};
690
691
/* hand-crafted from code that does explicit register writes */
692
static const uint32_t ar5416PciePhy[][2] = {
693
{ AR_PCIE_SERDES, 0x9248fc00 },
694
{ AR_PCIE_SERDES, 0x24924924 },
695
{ AR_PCIE_SERDES, 0x28000039 },
696
{ AR_PCIE_SERDES, 0x53160824 },
697
{ AR_PCIE_SERDES, 0xe5980579 },
698
{ AR_PCIE_SERDES, 0x001defff },
699
{ AR_PCIE_SERDES, 0x1aaabe40 },
700
{ AR_PCIE_SERDES, 0xbe105554 },
701
{ AR_PCIE_SERDES, 0x000e3007 },
702
{ AR_PCIE_SERDES2, 0x00000000 },
703
};
704
705