blob: 9022e1291d2903de296ff854fac996c56af11acd [file] [log] [blame]
Prakash Dhavali7090c5f2015-11-02 17:55:19 -08001/*
2 * Copyright (c) 2014 The Linux Foundation. All rights reserved.
3 *
4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc.
5 *
6 *
7 * Permission to use, copy, modify, and/or distribute this software for
8 * any purpose with or without fee is hereby granted, provided that the
9 * above copyright notice and this permission notice appear in all
10 * copies.
11 *
12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL
13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED
14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE
15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL
16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
19 * PERFORMANCE OF THIS SOFTWARE.
20 */
21
22/*
23 * This file was originally distributed by Qualcomm Atheros, Inc.
24 * under proprietary terms before Copyright ownership was assigned
25 * to the Linux Foundation.
26 */
27
28#ifndef _AR6320V2_DBG_REGTABLE_H_
29#define _AR6320V2_DBG_REGTABLE_H_
30
31#include "regtable.h"
32
33#define AR6320_REV2_1_REG_SIZE 0x0007F820
34#define AR6320_REV3_REG_SIZE 0x0007F820
35
36#ifdef HIF_PCI
37/*
38 * Redefine the register list. To minimize the size of the array, the list must
39 * obey the below format. {start0, end0}, {start1, end1}, {start2, end2}.......
40 * The value below must obey to "start0 < end0 < start1 < end1 < start2 < ...",
41 * otherwise we may encouter error in the dump processing.
42 */
43
44static const tgt_reg_section ar6320v2_reg_table[] = {
45 {0x800, 0x810},
46 {0x820, 0x82C},
47 {0x830, 0x8F4},
48 {0x90C, 0x91C},
49 {0xA14, 0xA18},
50 {0xA84, 0xA94},
51 {0xAA8, 0xAD4},
52 {0xADC, 0xB40},
53 {0x1000, 0x10A4},
54 {0x10BC, 0x111C},
55 {0x1134, 0x1138},
56 {0x1144, 0x114C},
57 {0x1150, 0x115C},
58 {0x1160, 0x1178},
59 {0x1240, 0x1260},
60 {0x2000, 0x207C},
61 {0x3000, 0x3014},
62 {0x4000, 0x4014},
63 {0x5000, 0x5124},
64 {0x6000, 0x6040},
65 {0x6080, 0x60CC},
66 {0x6100, 0x611C},
67 {0x6140, 0x61D8},
68 {0x6200, 0x6238},
69 {0x6240, 0x628C},
70 {0x62C0, 0x62EC},
71 {0x6380, 0x63E8},
72 {0x6400, 0x6440},
73 {0x6480, 0x64CC},
74 {0x6500, 0x651C},
75 {0x6540, 0x6580},
76 {0x6600, 0x6638},
77 {0x6640, 0x668C},
78 {0x66C0, 0x66EC},
79 {0x6780, 0x67E8},
80 {0x7080, 0x708C},
81 {0x70C0, 0x70C8},
82 {0x7400, 0x741C},
83 {0x7440, 0x7454},
84 {0x7800, 0x7818},
85 {0x8000, 0x8004},
86 {0x8010, 0x8064},
87 {0x8080, 0x8084},
88 {0x80A0, 0x80A4},
89 {0x80C0, 0x80C4},
90 {0x80E0, 0x80F4},
91 {0x8100, 0x8104},
92 {0x8110, 0x812C},
93 {0x9000, 0x9004},
94 {0x9800, 0x982C},
95 {0x9830, 0x9838},
96 {0x9840, 0x986C},
97 {0x9870, 0x9898},
98 {0x9A00, 0x9C00},
99 {0xD580, 0xD59C},
100 {0xF000, 0xF0E0},
101 {0xF140, 0xF190},
102 {0xF250, 0xF25C},
103 {0xF260, 0xF268},
104 {0xF26C, 0xF2A8},
105 {0x10008, 0x1000C},
106 {0x10014, 0x10018},
107 {0x1001C, 0x10020},
108 {0x10024, 0x10028},
109 {0x10030, 0x10034},
110 {0x10040, 0x10054},
111 {0x10058, 0x1007C},
112 {0x10080, 0x100C4},
113 {0x100C8, 0x10114},
114 {0x1012C, 0x10130},
115 {0x10138, 0x10144},
116 {0x10200, 0x10220},
117 {0x10230, 0x10250},
118 {0x10260, 0x10280},
119 {0x10290, 0x102B0},
120 {0x102C0, 0x102DC},
121 {0x102E0, 0x102F4},
122 {0x102FC, 0x1037C},
123 {0x10380, 0x10390},
124 {0x10800, 0x10828},
125 {0x10840, 0x10844},
126 {0x10880, 0x10884},
127 {0x108C0, 0x108E8},
128 {0x10900, 0x10928},
129 {0x10940, 0x10944},
130 {0x10980, 0x10984},
131 {0x109C0, 0x109E8},
132 {0x10A00, 0x10A28},
133 {0x10A40, 0x10A50},
134 {0x11000, 0x11028},
135 {0x11030, 0x11034},
136 {0x11038, 0x11068},
137 {0x11070, 0x11074},
138 {0x11078, 0x110A8},
139 {0x110B0, 0x110B4},
140 {0x110B8, 0x110E8},
141 {0x110F0, 0x110F4},
142 {0x110F8, 0x11128},
143 {0x11138, 0x11144},
144 {0x11178, 0x11180},
145 {0x111B8, 0x111C0},
146 {0x111F8, 0x11200},
147 {0x11238, 0x1123C},
148 {0x11270, 0x11274},
149 {0x11278, 0x1127C},
150 {0x112B0, 0x112B4},
151 {0x112B8, 0x112BC},
152 {0x112F0, 0x112F4},
153 {0x112F8, 0x112FC},
154 {0x11338, 0x1133C},
155 {0x11378, 0x1137C},
156 {0x113B8, 0x113BC},
157 {0x113F8, 0x113FC},
158 {0x11438, 0x11440},
159 {0x11478, 0x11480},
160 {0x114B8, 0x114BC},
161 {0x114F8, 0x114FC},
162 {0x11538, 0x1153C},
163 {0x11578, 0x1157C},
164 {0x115B8, 0x115BC},
165 {0x115F8, 0x115FC},
166 {0x11638, 0x1163C},
167 {0x11678, 0x1167C},
168 {0x116B8, 0x116BC},
169 {0x116F8, 0x116FC},
170 {0x11738, 0x1173C},
171 {0x11778, 0x1177C},
172 {0x117B8, 0x117BC},
173 {0x117F8, 0x117FC},
174 {0x17000, 0x1701C},
175 {0x17020, 0x170AC},
176 {0x18000, 0x18050},
177 {0x18054, 0x18074},
178 {0x18080, 0x180D4},
179 {0x180DC, 0x18104},
180 {0x18108, 0x1813C},
181 {0x18144, 0x18148},
182 {0x18168, 0x18174},
183 {0x18178, 0x18180},
184 {0x181C8, 0x181E0},
185 {0x181E4, 0x181E8},
186 {0x181EC, 0x1820C},
187 {0x1825C, 0x18280},
188 {0x18284, 0x18290},
189 {0x18294, 0x182A0},
190 {0x18300, 0x18304},
191 {0x18314, 0x18320},
192 {0x18328, 0x18350},
193 {0x1835C, 0x1836C},
194 {0x18370, 0x18390},
195 {0x18398, 0x183AC},
196 {0x183BC, 0x183D8},
197 {0x183DC, 0x183F4},
198 {0x18400, 0x186F4},
199 {0x186F8, 0x1871C},
200 {0x18720, 0x18790},
201 {0x19800, 0x19830},
202 {0x19834, 0x19840},
203 {0x19880, 0x1989C},
204 {0x198A4, 0x198B0},
205 {0x198BC, 0x19900},
206 {0x19C00, 0x19C88},
207 {0x19D00, 0x19D20},
208 {0x19E00, 0x19E7C},
209 {0x19E80, 0x19E94},
210 {0x19E98, 0x19EAC},
211 {0x19EB0, 0x19EBC},
212 {0x19F70, 0x19F74},
213 {0x19F80, 0x19F8C},
214 {0x19FA0, 0x19FB4},
215 {0x19FC0, 0x19FD8},
216 {0x1A000, 0x1A200},
217 {0x1A204, 0x1A210},
218 {0x1A228, 0x1A22C},
219 {0x1A230, 0x1A248},
220 {0x1A250, 0x1A270},
221 {0x1A280, 0x1A290},
222 {0x1A2A0, 0x1A2A4},
223 {0x1A2C0, 0x1A2EC},
224 {0x1A300, 0x1A3BC},
225 {0x1A3F0, 0x1A3F4},
226 {0x1A3F8, 0x1A434},
227 {0x1A438, 0x1A444},
228 {0x1A448, 0x1A468},
229 {0x1A580, 0x1A58C},
230 {0x1A644, 0x1A654},
231 {0x1A670, 0x1A698},
232 {0x1A6AC, 0x1A6B0},
233 {0x1A6D0, 0x1A6D4},
234 {0x1A6EC, 0x1A70C},
235 {0x1A710, 0x1A738},
236 {0x1A7C0, 0x1A7D0},
237 {0x1A7D4, 0x1A7D8},
238 {0x1A7DC, 0x1A7E4},
239 {0x1A7F0, 0x1A7F8},
240 {0x1A888, 0x1A89C},
241 {0x1A8A8, 0x1A8AC},
242 {0x1A8C0, 0x1A8DC},
243 {0x1A8F0, 0x1A8FC},
244 {0x1AE04, 0x1AE08},
245 {0x1AE18, 0x1AE24},
246 {0x1AF80, 0x1AF8C},
247 {0x1AFA0, 0x1AFB4},
248 {0x1B000, 0x1B200},
249 {0x1B284, 0x1B288},
250 {0x1B2D0, 0x1B2D8},
251 {0x1B2DC, 0x1B2EC},
252 {0x1B300, 0x1B340},
253 {0x1B374, 0x1B378},
254 {0x1B380, 0x1B384},
255 {0x1B388, 0x1B38C},
256 {0x1B404, 0x1B408},
257 {0x1B420, 0x1B428},
258 {0x1B440, 0x1B444},
259 {0x1B448, 0x1B44C},
260 {0x1B450, 0x1B458},
261 {0x1B45C, 0x1B468},
262 {0x1B584, 0x1B58C},
263 {0x1B68C, 0x1B690},
264 {0x1B6AC, 0x1B6B0},
265 {0x1B7F0, 0x1B7F8},
266 {0x1C800, 0x1CC00},
267 {0x1CE00, 0x1CE04},
268 {0x1CF80, 0x1CF84},
269 {0x1D200, 0x1D800},
270 {0x1E000, 0x20014},
271 {0x20100, 0x20124},
272 {0x21400, 0x217A8},
273 {0x21800, 0x21BA8},
274 {0x21C00, 0x21FA8},
275 {0x22000, 0x223A8},
276 {0x22400, 0x227A8},
277 {0x22800, 0x22BA8},
278 {0x22C00, 0x22FA8},
279 {0x23000, 0x233A8},
280 {0x24000, 0x24034},
281
282 /*
283 * EFUSE0,1,2 is disabled here
284 * because it's state may be reset
285 *
286 * {0x24800, 0x24804},
287 * {0x25000, 0x25004},
288 * {0x25800, 0x25804},
289 */
290
291 {0x26000, 0x26064},
292 {0x27000, 0x27024},
293 {0x34000, 0x3400C},
294 {0x34400, 0x3445C},
295 {0x34800, 0x3485C},
296 {0x34C00, 0x34C5C},
297 {0x35000, 0x3505C},
298 {0x35400, 0x3545C},
299 {0x35800, 0x3585C},
300 {0x35C00, 0x35C5C},
301 {0x36000, 0x3605C},
302 {0x38000, 0x38064},
303 {0x38070, 0x380E0},
304 {0x3A000, 0x3A064},
305
306 /* DBI windows is skipped here, it can be only accessed when pcie
307 * is active (not in reset) and CORE_CTRL_PCIE_LTSSM_EN = 0 &&
308 * PCIE_CTRL_APP_LTSSM_ENALBE=0.
309 * {0x3C000 , 0x3C004},
310 */
311
312 {0x40000, 0x400A4},
313
314 /*
315 * SI register is skiped here.
316 * Because it will cause bus hang
317 *
318 * {0x50000, 0x50018},
319 */
320
321 {0x80000, 0x8000C},
322 {0x80010, 0x80020},
323};
324
325static const tgt_reg_section ar6320v3_reg_table[] = {
326 {0x800, 0x810},
327 {0x820, 0x82C},
328 {0x830, 0x8F4},
329 {0x90C, 0x91C},
330 {0xA14, 0xA18},
331 {0xA84, 0xA94},
332 {0xAA8, 0xAD4},
333 {0xADC, 0xB40},
334 {0x1000, 0x10A4},
335 {0x10BC, 0x111C},
336 {0x1134, 0x1138},
337 {0x1144, 0x114C},
338 {0x1150, 0x115C},
339 {0x1160, 0x1178},
340 {0x1240, 0x1260},
341 {0x2000, 0x207C},
342 {0x3000, 0x3014},
343 {0x4000, 0x4014},
344 {0x5000, 0x5124},
345 {0x6000, 0x6040},
346 {0x6080, 0x60CC},
347 {0x6100, 0x611C},
348 {0x6140, 0x61D8},
349 {0x6200, 0x6238},
350 {0x6240, 0x628C},
351 {0x62C0, 0x62EC},
352 {0x6380, 0x63E8},
353 {0x6400, 0x6440},
354 {0x6480, 0x64CC},
355 {0x6500, 0x651C},
356 {0x6540, 0x6580},
357 {0x6600, 0x6638},
358 {0x6640, 0x668C},
359 {0x66C0, 0x66EC},
360 {0x6780, 0x67E8},
361 {0x7080, 0x708C},
362 {0x70C0, 0x70C8},
363 {0x7400, 0x741C},
364 {0x7440, 0x7454},
365 {0x7800, 0x7818},
366 {0x8000, 0x8004},
367 {0x8010, 0x8064},
368 {0x8080, 0x8084},
369 {0x80A0, 0x80A4},
370 {0x80C0, 0x80C4},
371 {0x80E0, 0x80F4},
372 {0x8100, 0x8104},
373 {0x8110, 0x812C},
374 {0x9000, 0x9004},
375 {0x9800, 0x982C},
376 {0x9830, 0x9838},
377 {0x9840, 0x986C},
378 {0x9870, 0x9898},
379 {0x9A00, 0x9C00},
380 {0xD580, 0xD59C},
381 {0xF000, 0xF0E0},
382 {0xF140, 0xF190},
383 {0xF250, 0xF25C},
384 {0xF260, 0xF268},
385 {0xF26C, 0xF2A8},
386 {0x10008, 0x1000C},
387 {0x10014, 0x10018},
388 {0x1001C, 0x10020},
389 {0x10024, 0x10028},
390 {0x10030, 0x10034},
391 {0x10040, 0x10054},
392 {0x10058, 0x1007C},
393 {0x10080, 0x100C4},
394 {0x100C8, 0x10114},
395 {0x1012C, 0x10130},
396 {0x10138, 0x10144},
397 {0x10200, 0x10220},
398 {0x10230, 0x10250},
399 {0x10260, 0x10280},
400 {0x10290, 0x102B0},
401 {0x102C0, 0x102DC},
402 {0x102E0, 0x102F4},
403 {0x102FC, 0x1037C},
404 {0x10380, 0x10390},
405 {0x10800, 0x10828},
406 {0x10840, 0x10844},
407 {0x10880, 0x10884},
408 {0x108C0, 0x108E8},
409 {0x10900, 0x10928},
410 {0x10940, 0x10944},
411 {0x10980, 0x10984},
412 {0x109C0, 0x109E8},
413 {0x10A00, 0x10A28},
414 {0x10A40, 0x10A50},
415 {0x11000, 0x11028},
416 {0x11030, 0x11034},
417 {0x11038, 0x11068},
418 {0x11070, 0x11074},
419 {0x11078, 0x110A8},
420 {0x110B0, 0x110B4},
421 {0x110B8, 0x110E8},
422 {0x110F0, 0x110F4},
423 {0x110F8, 0x11128},
424 {0x11138, 0x11144},
425 {0x11178, 0x11180},
426 {0x111B8, 0x111C0},
427 {0x111F8, 0x11200},
428 {0x11238, 0x1123C},
429 {0x11270, 0x11274},
430 {0x11278, 0x1127C},
431 {0x112B0, 0x112B4},
432 {0x112B8, 0x112BC},
433 {0x112F0, 0x112F4},
434 {0x112F8, 0x112FC},
435 {0x11338, 0x1133C},
436 {0x11378, 0x1137C},
437 {0x113B8, 0x113BC},
438 {0x113F8, 0x113FC},
439 {0x11438, 0x11440},
440 {0x11478, 0x11480},
441 {0x114B8, 0x114BC},
442 {0x114F8, 0x114FC},
443 {0x11538, 0x1153C},
444 {0x11578, 0x1157C},
445 {0x115B8, 0x115BC},
446 {0x115F8, 0x115FC},
447 {0x11638, 0x1163C},
448 {0x11678, 0x1167C},
449 {0x116B8, 0x116BC},
450 {0x116F8, 0x116FC},
451 {0x11738, 0x1173C},
452 {0x11778, 0x1177C},
453 {0x117B8, 0x117BC},
454 {0x117F8, 0x117FC},
455 {0x17000, 0x1701C},
456 {0x17020, 0x170AC},
457 {0x18000, 0x18050},
458 {0x18054, 0x18074},
459 {0x18080, 0x180D4},
460 {0x180DC, 0x18104},
461 {0x18108, 0x1813C},
462 {0x18144, 0x18148},
463 {0x18168, 0x18174},
464 {0x18178, 0x18180},
465 {0x181C8, 0x181E0},
466 {0x181E4, 0x181E8},
467 {0x181EC, 0x1820C},
468 {0x1825C, 0x18280},
469 {0x18284, 0x18290},
470 {0x18294, 0x182A0},
471 {0x18300, 0x18304},
472 {0x18314, 0x18320},
473 {0x18328, 0x18350},
474 {0x1835C, 0x1836C},
475 {0x18370, 0x18390},
476 {0x18398, 0x183AC},
477 {0x183BC, 0x183D8},
478 {0x183DC, 0x183F4},
479 {0x18400, 0x186F4},
480 {0x186F8, 0x1871C},
481 {0x18720, 0x18790},
482 {0x19800, 0x19830},
483 {0x19834, 0x19840},
484 {0x19880, 0x1989C},
485 {0x198A4, 0x198B0},
486 {0x198BC, 0x19900},
487 {0x19C00, 0x19C88},
488 {0x19D00, 0x19D20},
489 {0x19E00, 0x19E7C},
490 {0x19E80, 0x19E94},
491 {0x19E98, 0x19EAC},
492 {0x19EB0, 0x19EBC},
493 {0x19F70, 0x19F74},
494 {0x19F80, 0x19F8C},
495 {0x19FA0, 0x19FB4},
496 {0x19FC0, 0x19FD8},
497 {0x1A000, 0x1A200},
498 {0x1A204, 0x1A210},
499 {0x1A228, 0x1A22C},
500 {0x1A230, 0x1A248},
501 {0x1A250, 0x1A270},
502 {0x1A280, 0x1A290},
503 {0x1A2A0, 0x1A2A4},
504 {0x1A2C0, 0x1A2EC},
505 {0x1A300, 0x1A3BC},
506 {0x1A3F0, 0x1A3F4},
507 {0x1A3F8, 0x1A434},
508 {0x1A438, 0x1A444},
509 {0x1A448, 0x1A468},
510 {0x1A580, 0x1A58C},
511 {0x1A644, 0x1A654},
512 {0x1A670, 0x1A698},
513 {0x1A6AC, 0x1A6B0},
514 {0x1A6D0, 0x1A6D4},
515 {0x1A6EC, 0x1A70C},
516 {0x1A710, 0x1A738},
517 {0x1A7C0, 0x1A7D0},
518 {0x1A7D4, 0x1A7D8},
519 {0x1A7DC, 0x1A7E4},
520 {0x1A7F0, 0x1A7F8},
521 {0x1A888, 0x1A89C},
522 {0x1A8A8, 0x1A8AC},
523 {0x1A8C0, 0x1A8DC},
524 {0x1A8F0, 0x1A8FC},
525 {0x1AE04, 0x1AE08},
526 {0x1AE18, 0x1AE24},
527 {0x1AF80, 0x1AF8C},
528 {0x1AFA0, 0x1AFB4},
529 {0x1B000, 0x1B200},
530 {0x1B284, 0x1B288},
531 {0x1B2D0, 0x1B2D8},
532 {0x1B2DC, 0x1B2EC},
533 {0x1B300, 0x1B340},
534 {0x1B374, 0x1B378},
535 {0x1B380, 0x1B384},
536 {0x1B388, 0x1B38C},
537 {0x1B404, 0x1B408},
538 {0x1B420, 0x1B428},
539 {0x1B440, 0x1B444},
540 {0x1B448, 0x1B44C},
541 {0x1B450, 0x1B458},
542 {0x1B45C, 0x1B468},
543 {0x1B584, 0x1B58C},
544 {0x1B68C, 0x1B690},
545 {0x1B6AC, 0x1B6B0},
546 {0x1B7F0, 0x1B7F8},
547 {0x1C800, 0x1CC00},
548 {0x1CE00, 0x1CE04},
549 {0x1CF80, 0x1CF84},
550 {0x1D200, 0x1D800},
551 {0x1E000, 0x20014},
552 {0x20100, 0x20124},
553 {0x21400, 0x217A8},
554 {0x21800, 0x21BA8},
555 {0x21C00, 0x21FA8},
556 {0x22000, 0x223A8},
557 {0x22400, 0x227A8},
558 {0x22800, 0x22BA8},
559 {0x22C00, 0x22FA8},
560 {0x23000, 0x233A8},
561 {0x24000, 0x24034},
562
563 /*
564 * EFUSE0,1,2 is disabled here
565 * because it's state may be reset
566 *
567 * {0x24800, 0x24804},
568 * {0x25000, 0x25004},
569 * {0x25800, 0x25804},
570 */
571
572 {0x26000, 0x26064},
573 {0x27000, 0x27024},
574 {0x34000, 0x3400C},
575 {0x34400, 0x3445C},
576 {0x34800, 0x3485C},
577 {0x34C00, 0x34C5C},
578 {0x35000, 0x3505C},
579 {0x35400, 0x3545C},
580 {0x35800, 0x3585C},
581 {0x35C00, 0x35C5C},
582 {0x36000, 0x3605C},
583 {0x38000, 0x38064},
584 {0x38070, 0x380E0},
585 {0x3A000, 0x3A074},
586
587 /*
588 * DBI windows is skipped here, it can be only accessed when pcie
589 * is active (not in reset) and CORE_CTRL_PCIE_LTSSM_EN = 0 &&
590 * PCIE_CTRL_APP_LTSSM_ENALBE=0.
591 * {0x3C000 , 0x3C004},
592 */
593
594 {0x40000, 0x400A4},
595
596 /*
597 * SI register is skiped here.
598 * Because it will cause bus hang
599 *
600 * {0x50000, 0x50018},
601 */
602
603 {0x80000, 0x8000C},
604 {0x80010, 0x80020},
605};
606#endif
607#endif /* #ifndef _AR6320V2_DBG_REGTABLE_H_ */