Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/drivers/net/wireless/realtek/rtw88/rtw8812a_table.c
25924 views
1
// SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause
2
/* Copyright(c) 2024 Realtek Corporation
3
*/
4
5
#include "main.h"
6
#include "phy.h"
7
#include "rtw8812a_table.h"
8
9
static const u32 rtw8812a_mac[] = {
10
0x010, 0x0000000C,
11
0x80000200, 0x00000000, 0x40000000, 0x00000000,
12
0x011, 0x00000066,
13
0xA0000000, 0x00000000,
14
0x011, 0x0000005A,
15
0xB0000000, 0x00000000,
16
0x025, 0x0000000F,
17
0x072, 0x00000000,
18
0x420, 0x00000080,
19
0x428, 0x0000000A,
20
0x429, 0x00000010,
21
0x430, 0x00000000,
22
0x431, 0x00000000,
23
0x432, 0x00000000,
24
0x433, 0x00000001,
25
0x434, 0x00000002,
26
0x435, 0x00000003,
27
0x436, 0x00000005,
28
0x437, 0x00000007,
29
0x438, 0x00000000,
30
0x439, 0x00000000,
31
0x43A, 0x00000000,
32
0x43B, 0x00000001,
33
0x43C, 0x00000002,
34
0x43D, 0x00000003,
35
0x43E, 0x00000005,
36
0x43F, 0x00000007,
37
0x440, 0x0000005D,
38
0x441, 0x00000001,
39
0x442, 0x00000000,
40
0x444, 0x00000010,
41
0x445, 0x00000000,
42
0x446, 0x00000000,
43
0x447, 0x00000000,
44
0x448, 0x00000000,
45
0x449, 0x000000F0,
46
0x44A, 0x0000000F,
47
0x44B, 0x0000003E,
48
0x44C, 0x00000010,
49
0x44D, 0x00000000,
50
0x44E, 0x00000000,
51
0x44F, 0x00000000,
52
0x450, 0x00000000,
53
0x451, 0x000000F0,
54
0x452, 0x0000000F,
55
0x453, 0x00000000,
56
0x45B, 0x00000080,
57
0x460, 0x00000066,
58
0x461, 0x00000066,
59
0x4C8, 0x000000FF,
60
0x4C9, 0x00000008,
61
0x4CC, 0x000000FF,
62
0x4CD, 0x000000FF,
63
0x4CE, 0x00000001,
64
0x500, 0x00000026,
65
0x501, 0x000000A2,
66
0x502, 0x0000002F,
67
0x503, 0x00000000,
68
0x504, 0x00000028,
69
0x505, 0x000000A3,
70
0x506, 0x0000005E,
71
0x507, 0x00000000,
72
0x508, 0x0000002B,
73
0x509, 0x000000A4,
74
0x50A, 0x0000005E,
75
0x50B, 0x00000000,
76
0x50C, 0x0000004F,
77
0x50D, 0x000000A4,
78
0x50E, 0x00000000,
79
0x50F, 0x00000000,
80
0x512, 0x0000001C,
81
0x514, 0x0000000A,
82
0x516, 0x0000000A,
83
0x525, 0x0000004F,
84
0x550, 0x00000010,
85
0x551, 0x00000010,
86
0x559, 0x00000002,
87
0x55C, 0x00000050,
88
0x55D, 0x000000FF,
89
0x604, 0x00000009,
90
0x605, 0x00000030,
91
0x607, 0x00000003,
92
0x608, 0x0000000E,
93
0x609, 0x0000002A,
94
0x620, 0x000000FF,
95
0x621, 0x000000FF,
96
0x622, 0x000000FF,
97
0x623, 0x000000FF,
98
0x624, 0x000000FF,
99
0x625, 0x000000FF,
100
0x626, 0x000000FF,
101
0x627, 0x000000FF,
102
0x638, 0x00000050,
103
0x63C, 0x0000000A,
104
0x63D, 0x0000000A,
105
0x63E, 0x0000000E,
106
0x63F, 0x0000000E,
107
0x640, 0x00000080,
108
0x642, 0x00000040,
109
0x643, 0x00000000,
110
0x652, 0x000000C8,
111
0x66E, 0x00000005,
112
0x700, 0x00000021,
113
0x701, 0x00000043,
114
0x702, 0x00000065,
115
0x703, 0x00000087,
116
0x708, 0x00000021,
117
0x709, 0x00000043,
118
0x70A, 0x00000065,
119
0x70B, 0x00000087,
120
0x718, 0x00000040,
121
};
122
123
RTW_DECL_TABLE_PHY_COND(rtw8812a_mac, rtw_phy_cfg_mac);
124
125
static const u32 rtw8812a_agc[] = {
126
0x80000001, 0x00000000, 0x40000000, 0x00000000,
127
0x81C, 0xFC000001,
128
0x81C, 0xFB020001,
129
0x81C, 0xFA040001,
130
0x81C, 0xF9060001,
131
0x81C, 0xF8080001,
132
0x81C, 0xF70A0001,
133
0x81C, 0xF60C0001,
134
0x81C, 0xF50E0001,
135
0x81C, 0xF4100001,
136
0x81C, 0xF3120001,
137
0x81C, 0xF2140001,
138
0x81C, 0xF1160001,
139
0x81C, 0xF0180001,
140
0x81C, 0xEF1A0001,
141
0x81C, 0xEE1C0001,
142
0x81C, 0xED1E0001,
143
0x81C, 0xEC200001,
144
0x81C, 0xEB220001,
145
0x81C, 0xEA240001,
146
0x81C, 0xCD260001,
147
0x81C, 0xCC280001,
148
0x81C, 0xCB2A0001,
149
0x81C, 0xCA2C0001,
150
0x81C, 0xC92E0001,
151
0x81C, 0xC8300001,
152
0x81C, 0xA6320001,
153
0x81C, 0xA5340001,
154
0x81C, 0xA4360001,
155
0x81C, 0xA3380001,
156
0x81C, 0xA23A0001,
157
0x81C, 0x883C0001,
158
0x81C, 0x873E0001,
159
0x81C, 0x86400001,
160
0x81C, 0x85420001,
161
0x81C, 0x84440001,
162
0x81C, 0x83460001,
163
0x81C, 0x82480001,
164
0x81C, 0x814A0001,
165
0x81C, 0x484C0001,
166
0x81C, 0x474E0001,
167
0x81C, 0x46500001,
168
0x81C, 0x45520001,
169
0x81C, 0x44540001,
170
0x81C, 0x43560001,
171
0x81C, 0x42580001,
172
0x81C, 0x415A0001,
173
0x81C, 0x255C0001,
174
0x81C, 0x245E0001,
175
0x81C, 0x23600001,
176
0x81C, 0x22620001,
177
0x81C, 0x21640001,
178
0x81C, 0x21660001,
179
0x81C, 0x21680001,
180
0x81C, 0x216A0001,
181
0x81C, 0x216C0001,
182
0x81C, 0x216E0001,
183
0x81C, 0x21700001,
184
0x81C, 0x21720001,
185
0x81C, 0x21740001,
186
0x81C, 0x21760001,
187
0x81C, 0x21780001,
188
0x81C, 0x217A0001,
189
0x81C, 0x217C0001,
190
0x81C, 0x217E0001,
191
0x90000001, 0x00000005, 0x40000000, 0x00000000,
192
0x81C, 0xF9000001,
193
0x81C, 0xF8020001,
194
0x81C, 0xF7040001,
195
0x81C, 0xF6060001,
196
0x81C, 0xF5080001,
197
0x81C, 0xF40A0001,
198
0x81C, 0xF30C0001,
199
0x81C, 0xF20E0001,
200
0x81C, 0xF1100001,
201
0x81C, 0xF0120001,
202
0x81C, 0xEF140001,
203
0x81C, 0xEE160001,
204
0x81C, 0xED180001,
205
0x81C, 0xEC1A0001,
206
0x81C, 0xEB1C0001,
207
0x81C, 0xEA1E0001,
208
0x81C, 0xCD200001,
209
0x81C, 0xCC220001,
210
0x81C, 0xCB240001,
211
0x81C, 0xCA260001,
212
0x81C, 0xC9280001,
213
0x81C, 0xC82A0001,
214
0x81C, 0xC72C0001,
215
0x81C, 0xC62E0001,
216
0x81C, 0xA5300001,
217
0x81C, 0xA4320001,
218
0x81C, 0xA3340001,
219
0x81C, 0xA2360001,
220
0x81C, 0x88380001,
221
0x81C, 0x873A0001,
222
0x81C, 0x863C0001,
223
0x81C, 0x853E0001,
224
0x81C, 0x84400001,
225
0x81C, 0x83420001,
226
0x81C, 0x82440001,
227
0x81C, 0x81460001,
228
0x81C, 0x48480001,
229
0x81C, 0x474A0001,
230
0x81C, 0x464C0001,
231
0x81C, 0x454E0001,
232
0x81C, 0x44500001,
233
0x81C, 0x43520001,
234
0x81C, 0x42540001,
235
0x81C, 0x41560001,
236
0x81C, 0x25580001,
237
0x81C, 0x245A0001,
238
0x81C, 0x235C0001,
239
0x81C, 0x225E0001,
240
0x81C, 0x21600001,
241
0x81C, 0x21620001,
242
0x81C, 0x21640001,
243
0x81C, 0x21660001,
244
0x81C, 0x21680001,
245
0x81C, 0x216A0001,
246
0x81C, 0x236C0001,
247
0x81C, 0x226E0001,
248
0x81C, 0x21700001,
249
0x81C, 0x21720001,
250
0x81C, 0x21740001,
251
0x81C, 0x21760001,
252
0x81C, 0x21780001,
253
0x81C, 0x217A0001,
254
0x81C, 0x217C0001,
255
0x81C, 0x217E0001,
256
0xA0000000, 0x00000000,
257
0x81C, 0xFF000001,
258
0x81C, 0xFF020001,
259
0x81C, 0xFF040001,
260
0x81C, 0xFF060001,
261
0x81C, 0xFF080001,
262
0x81C, 0xFE0A0001,
263
0x81C, 0xFD0C0001,
264
0x81C, 0xFC0E0001,
265
0x81C, 0xFB100001,
266
0x81C, 0xFA120001,
267
0x81C, 0xF9140001,
268
0x81C, 0xF8160001,
269
0x81C, 0xF7180001,
270
0x81C, 0xF61A0001,
271
0x81C, 0xF51C0001,
272
0x81C, 0xF41E0001,
273
0x81C, 0xF3200001,
274
0x81C, 0xF2220001,
275
0x81C, 0xF1240001,
276
0x81C, 0xF0260001,
277
0x81C, 0xEF280001,
278
0x81C, 0xEE2A0001,
279
0x81C, 0xED2C0001,
280
0x81C, 0xEC2E0001,
281
0x81C, 0xEB300001,
282
0x81C, 0xEA320001,
283
0x81C, 0xE9340001,
284
0x81C, 0xE8360001,
285
0x81C, 0xE7380001,
286
0x81C, 0xE63A0001,
287
0x81C, 0xE53C0001,
288
0x81C, 0xC73E0001,
289
0x81C, 0xC6400001,
290
0x81C, 0xC5420001,
291
0x81C, 0xC4440001,
292
0x81C, 0xC3460001,
293
0x81C, 0xC2480001,
294
0x81C, 0xC14A0001,
295
0x81C, 0xA74C0001,
296
0x81C, 0xA64E0001,
297
0x81C, 0xA5500001,
298
0x81C, 0xA4520001,
299
0x81C, 0xA3540001,
300
0x81C, 0xA2560001,
301
0x81C, 0xA1580001,
302
0x81C, 0x675A0001,
303
0x81C, 0x665C0001,
304
0x81C, 0x655E0001,
305
0x81C, 0x64600001,
306
0x81C, 0x63620001,
307
0x81C, 0x48640001,
308
0x81C, 0x47660001,
309
0x81C, 0x46680001,
310
0x81C, 0x456A0001,
311
0x81C, 0x446C0001,
312
0x81C, 0x436E0001,
313
0x81C, 0x42700001,
314
0x81C, 0x41720001,
315
0x81C, 0x41740001,
316
0x81C, 0x41760001,
317
0x81C, 0x41780001,
318
0x81C, 0x417A0001,
319
0x81C, 0x417C0001,
320
0x81C, 0x417E0001,
321
0xB0000000, 0x00000000,
322
0x80000004, 0x00000000, 0x40000000, 0x00000000,
323
0x81C, 0xFC800001,
324
0x81C, 0xFB820001,
325
0x81C, 0xFA840001,
326
0x81C, 0xF9860001,
327
0x81C, 0xF8880001,
328
0x81C, 0xF78A0001,
329
0x81C, 0xF68C0001,
330
0x81C, 0xF58E0001,
331
0x81C, 0xF4900001,
332
0x81C, 0xF3920001,
333
0x81C, 0xF2940001,
334
0x81C, 0xF1960001,
335
0x81C, 0xF0980001,
336
0x81C, 0xEF9A0001,
337
0x81C, 0xEE9C0001,
338
0x81C, 0xED9E0001,
339
0x81C, 0xECA00001,
340
0x81C, 0xEBA20001,
341
0x81C, 0xEAA40001,
342
0x81C, 0xE9A60001,
343
0x81C, 0xE8A80001,
344
0x81C, 0xE7AA0001,
345
0x81C, 0xE6AC0001,
346
0x81C, 0xE5AE0001,
347
0x81C, 0xE4B00001,
348
0x81C, 0xE3B20001,
349
0x81C, 0xA8B40001,
350
0x81C, 0xA7B60001,
351
0x81C, 0xA6B80001,
352
0x81C, 0xA5BA0001,
353
0x81C, 0xA4BC0001,
354
0x81C, 0xA3BE0001,
355
0x81C, 0xA2C00001,
356
0x81C, 0xA1C20001,
357
0x81C, 0x68C40001,
358
0x81C, 0x67C60001,
359
0x81C, 0x66C80001,
360
0x81C, 0x65CA0001,
361
0x81C, 0x64CC0001,
362
0x81C, 0x47CE0001,
363
0x81C, 0x46D00001,
364
0x81C, 0x45D20001,
365
0x81C, 0x44D40001,
366
0x81C, 0x43D60001,
367
0x81C, 0x42D80001,
368
0x81C, 0x08DA0001,
369
0x81C, 0x07DC0001,
370
0x81C, 0x06DE0001,
371
0x81C, 0x05E00001,
372
0x81C, 0x04E20001,
373
0x81C, 0x03E40001,
374
0x81C, 0x02E60001,
375
0x81C, 0x01E80001,
376
0x81C, 0x01EA0001,
377
0x81C, 0x01EC0001,
378
0x81C, 0x01EE0001,
379
0x81C, 0x01F00001,
380
0x81C, 0x01F20001,
381
0x81C, 0x01F40001,
382
0x81C, 0x01F60001,
383
0x81C, 0x01F80001,
384
0x81C, 0x01FA0001,
385
0x81C, 0x01FC0001,
386
0x81C, 0x01FE0001,
387
0xA0000000, 0x00000000,
388
0x81C, 0xFF800001,
389
0x81C, 0xFF820001,
390
0x81C, 0xFF840001,
391
0x81C, 0xFE860001,
392
0x81C, 0xFD880001,
393
0x81C, 0xFC8A0001,
394
0x81C, 0xFB8C0001,
395
0x81C, 0xFA8E0001,
396
0x81C, 0xF9900001,
397
0x81C, 0xF8920001,
398
0x81C, 0xF7940001,
399
0x81C, 0xF6960001,
400
0x81C, 0xF5980001,
401
0x81C, 0xF49A0001,
402
0x81C, 0xF39C0001,
403
0x81C, 0xF29E0001,
404
0x81C, 0xF1A00001,
405
0x81C, 0xF0A20001,
406
0x81C, 0xEFA40001,
407
0x81C, 0xEEA60001,
408
0x81C, 0xEDA80001,
409
0x81C, 0xECAA0001,
410
0x81C, 0xEBAC0001,
411
0x81C, 0xEAAE0001,
412
0x81C, 0xE9B00001,
413
0x81C, 0xE8B20001,
414
0x81C, 0xE7B40001,
415
0x81C, 0xE6B60001,
416
0x81C, 0xE5B80001,
417
0x81C, 0xE4BA0001,
418
0x81C, 0xE3BC0001,
419
0x81C, 0xA8BE0001,
420
0x81C, 0xA7C00001,
421
0x81C, 0xA6C20001,
422
0x81C, 0xA5C40001,
423
0x81C, 0xA4C60001,
424
0x81C, 0xA3C80001,
425
0x81C, 0xA2CA0001,
426
0x81C, 0xA1CC0001,
427
0x81C, 0x68CE0001,
428
0x81C, 0x67D00001,
429
0x81C, 0x66D20001,
430
0x81C, 0x65D40001,
431
0x81C, 0x64D60001,
432
0x81C, 0x47D80001,
433
0x81C, 0x46DA0001,
434
0x81C, 0x45DC0001,
435
0x81C, 0x44DE0001,
436
0x81C, 0x43E00001,
437
0x81C, 0x42E20001,
438
0x81C, 0x08E40001,
439
0x81C, 0x07E60001,
440
0x81C, 0x06E80001,
441
0x81C, 0x05EA0001,
442
0x81C, 0x04EC0001,
443
0x81C, 0x03EE0001,
444
0x81C, 0x02F00001,
445
0x81C, 0x01F20001,
446
0x81C, 0x01F40001,
447
0x81C, 0x01F60001,
448
0x81C, 0x01F80001,
449
0x81C, 0x01FA0001,
450
0x81C, 0x01FC0001,
451
0x81C, 0x01FE0001,
452
0xB0000000, 0x00000000,
453
0xC50, 0x00000022,
454
0xC50, 0x00000020,
455
0xE50, 0x00000022,
456
0xE50, 0x00000020,
457
};
458
459
RTW_DECL_TABLE_PHY_COND(rtw8812a_agc, rtw_phy_cfg_agc);
460
461
static const u32 rtw8812a_agc_diff_lb[] = {
462
0x80000004, 0x00000000, 0x40000000, 0x00000000,
463
0x81C, 0x47CE0001,
464
0x81C, 0x46D00001,
465
0x81C, 0x45D20001,
466
0x81C, 0x44D40001,
467
0x81C, 0x43D60001,
468
0x81C, 0x42D80001,
469
0x81C, 0x08DA0001,
470
0x81C, 0x07DC0001,
471
0x81C, 0x06DE0001,
472
0x81C, 0x05E00001,
473
0x81C, 0x04E20001,
474
0x81C, 0x03E40001,
475
0x81C, 0x02E60001,
476
0xA0000000, 0x00000000,
477
0x81C, 0x47D80001,
478
0x81C, 0x46DA0001,
479
0x81C, 0x45DC0001,
480
0x81C, 0x44DE0001,
481
0x81C, 0x43E00001,
482
0x81C, 0x42E20001,
483
0x81C, 0x08E40001,
484
0x81C, 0x07E60001,
485
0x81C, 0x06E80001,
486
0x81C, 0x05EA0001,
487
0x81C, 0x04EC0001,
488
0x81C, 0x03EE0001,
489
0x81C, 0x02F00001,
490
0xB0000000, 0x00000000,
491
};
492
493
RTW_DECL_TABLE_PHY_COND(rtw8812a_agc_diff_lb, rtw_phy_cfg_agc);
494
495
static const u32 rtw8812a_agc_diff_hb[] = {
496
0x80000004, 0x00000000, 0x40000000, 0x00000000,
497
0x81C, 0x45CE0001,
498
0x81C, 0x44D00001,
499
0x81C, 0x43D20001,
500
0x81C, 0x42D40001,
501
0x81C, 0x08D60001,
502
0x81C, 0x07D80001,
503
0x81C, 0x06DA0001,
504
0x81C, 0x05DC0001,
505
0x81C, 0x04DE0001,
506
0x81C, 0x03E00001,
507
0x81C, 0x02E20001,
508
0x81C, 0x01E40001,
509
0x81C, 0x01E60001,
510
0xA0000000, 0x00000000,
511
0x81C, 0x45D80001,
512
0x81C, 0x44DA0001,
513
0x81C, 0x43DC0001,
514
0x81C, 0x42DE0001,
515
0x81C, 0x08E00001,
516
0x81C, 0x07E20001,
517
0x81C, 0x06E40001,
518
0x81C, 0x05E60001,
519
0x81C, 0x04E80001,
520
0x81C, 0x03EA0001,
521
0x81C, 0x02EC0001,
522
0x81C, 0x01EE0001,
523
0x81C, 0x01F00001,
524
0xB0000000, 0x00000000,
525
};
526
527
RTW_DECL_TABLE_PHY_COND(rtw8812a_agc_diff_hb, rtw_phy_cfg_agc);
528
529
static const u32 rtw8812a_bb[] = {
530
0x800, 0x8020D010,
531
0x804, 0x080112E0,
532
0x808, 0x0E028233,
533
0x80C, 0x12131113,
534
0x810, 0x20101263,
535
0x814, 0x020C3D10,
536
0x818, 0x03A00385,
537
0x820, 0x00000000,
538
0x824, 0x00030FE0,
539
0x828, 0x00000000,
540
0x82C, 0x002083DD,
541
0x830, 0x2EAAEEB8,
542
0x834, 0x0037A706,
543
0x838, 0x06C89B44,
544
0x83C, 0x0000095B,
545
0x840, 0xC0000001,
546
0x844, 0x40003CDE,
547
0x848, 0x6210FF8B,
548
0x84C, 0x6CFDFFB8,
549
0x850, 0x28874706,
550
0x854, 0x0001520C,
551
0x858, 0x8060E000,
552
0x85C, 0x74210168,
553
0x860, 0x6929C321,
554
0x864, 0x79727432,
555
0x868, 0x8CA7A314,
556
0x86C, 0x338C2878,
557
0x870, 0x03333333,
558
0x874, 0x31602C2E,
559
0x878, 0x00003152,
560
0x87C, 0x000FC000,
561
0x8A0, 0x00000013,
562
0x8A4, 0x7F7F7F7F,
563
0x8A8, 0xA202033E,
564
0x8AC, 0x0FF0FA0A,
565
0x8B0, 0x00000600,
566
0x8B4, 0x000FC080,
567
0x8B8, 0x6C10D7FF,
568
0x8BC, 0x4CA520A3,
569
0x8C0, 0x27F00020,
570
0x8C4, 0x00000000,
571
0x8C8, 0x00012D69,
572
0x8CC, 0x08248492,
573
0x8D0, 0x0000B800,
574
0x8DC, 0x00000000,
575
0x8D4, 0x940008A0,
576
0x8D8, 0x290B5612,
577
0x8F8, 0x400002C0,
578
0x8FC, 0x00000000,
579
0x900, 0x00000701,
580
0x90C, 0x00000000,
581
0x910, 0x0000FC00,
582
0x914, 0x00000404,
583
0x918, 0x1C1028C0,
584
0x91C, 0x64B11A1C,
585
0x920, 0xE0767233,
586
0x924, 0x055AA500,
587
0x928, 0x00000004,
588
0x92C, 0xFFFE0000,
589
0x930, 0xFFFFFFFE,
590
0x934, 0x001FFFFF,
591
0x960, 0x00000000,
592
0x964, 0x00000000,
593
0x968, 0x00000000,
594
0x96C, 0x00000000,
595
0x970, 0x801FFFFF,
596
0x978, 0x00000000,
597
0x97C, 0x00000000,
598
0x980, 0x00000000,
599
0x984, 0x00000000,
600
0x988, 0x00000000,
601
0x990, 0x27100000,
602
0x994, 0xFFFF0100,
603
0x998, 0xFFFFFF5C,
604
0x99C, 0xFFFFFFFF,
605
0x9A0, 0x000000FF,
606
0x9A4, 0x00080080,
607
0x9A8, 0x00000000,
608
0x9AC, 0x00000000,
609
0x9B0, 0x81081008,
610
0x9B4, 0x00000000,
611
0x9B8, 0x01081008,
612
0x9BC, 0x01081008,
613
0x9D0, 0x00000000,
614
0x9D4, 0x00000000,
615
0x9D8, 0x00000000,
616
0x9DC, 0x00000000,
617
0x9E4, 0x00000003,
618
0x9E8, 0x000002D5,
619
0xA00, 0x00D047C8,
620
0xA04, 0x01FF000C,
621
0xA08, 0x8C838300,
622
0xA0C, 0x2E7F000F,
623
0xA10, 0x9500BB78,
624
0xA14, 0x11144028,
625
0xA18, 0x00881117,
626
0xA1C, 0x89140F00,
627
0xA20, 0x1A1B0000,
628
0xA24, 0x090E1217,
629
0xA28, 0x00000305,
630
0xA2C, 0x00900000,
631
0xA70, 0x101FFF00,
632
0xA74, 0x00000008,
633
0xA78, 0x00000900,
634
0xA7C, 0x225B0606,
635
0xA80, 0x218075B2,
636
0xA84, 0x001F8C80,
637
0xB00, 0x03100000,
638
0xB04, 0x0000B000,
639
0xB08, 0xAE0201EB,
640
0xB0C, 0x01003207,
641
0xB10, 0x00009807,
642
0xB14, 0x01000000,
643
0xB18, 0x00000002,
644
0xB1C, 0x00000002,
645
0xB20, 0x0000001F,
646
0xB24, 0x03020100,
647
0xB28, 0x07060504,
648
0xB2C, 0x0B0A0908,
649
0xB30, 0x0F0E0D0C,
650
0xB34, 0x13121110,
651
0xB38, 0x17161514,
652
0xB3C, 0x0000003A,
653
0xB40, 0x00000000,
654
0xB44, 0x00000000,
655
0xB48, 0x13000032,
656
0xB4C, 0x48080000,
657
0xB50, 0x00000000,
658
0xB54, 0x00000000,
659
0xB58, 0x00000000,
660
0xB5C, 0x00000000,
661
0xC00, 0x00000007,
662
0xC04, 0x00042020,
663
0xC08, 0x80410231,
664
0xC0C, 0x00000000,
665
0xC10, 0x00000100,
666
0xC14, 0x01000000,
667
0xC1C, 0x40000003,
668
0xC20, 0x12121212,
669
0xC24, 0x12121212,
670
0xC28, 0x12121212,
671
0xC2C, 0x12121212,
672
0xC30, 0x12121212,
673
0xC34, 0x12121212,
674
0xC38, 0x12121212,
675
0xC3C, 0x12121212,
676
0xC40, 0x12121212,
677
0xC44, 0x12121212,
678
0xC48, 0x12121212,
679
0xC4C, 0x12121212,
680
0xC50, 0x00000020,
681
0xC54, 0x0008121C,
682
0xC58, 0x30000C1C,
683
0xC5C, 0x00000058,
684
0xC60, 0x34344443,
685
0xC64, 0x07003333,
686
0x80000008, 0x00000000, 0x40000000, 0x00000000,
687
0xC68, 0x59791979,
688
0x90000008, 0x05000000, 0x40000000, 0x00000000,
689
0xC68, 0x59791979,
690
0x90000002, 0x00000000, 0x40000000, 0x00000000,
691
0xC68, 0x59791979,
692
0x90000004, 0x00000000, 0x40000000, 0x00000000,
693
0xC68, 0x59791979,
694
0x90000001, 0x00000000, 0x40000000, 0x00000000,
695
0xC68, 0x59791979,
696
0x90000001, 0x00000005, 0x40000000, 0x00000000,
697
0xC68, 0x59791979,
698
0xA0000000, 0x00000000,
699
0xC68, 0x59799979,
700
0xB0000000, 0x00000000,
701
0xC6C, 0x59795979,
702
0xC70, 0x19795979,
703
0xC74, 0x19795979,
704
0xC78, 0x19791979,
705
0xC7C, 0x19791979,
706
0xC80, 0x19791979,
707
0xC84, 0x19791979,
708
0xC94, 0x0100005C,
709
0xC98, 0x00000000,
710
0xC9C, 0x00000000,
711
0xCA0, 0x00000029,
712
0xCA4, 0x08040201,
713
0xCA8, 0x80402010,
714
0xCB0, 0x77547777,
715
0xCB4, 0x00000077,
716
0xCB8, 0x00508242,
717
0xE00, 0x00000007,
718
0xE04, 0x00042020,
719
0xE08, 0x80410231,
720
0xE0C, 0x00000000,
721
0xE10, 0x00000100,
722
0xE14, 0x01000000,
723
0xE1C, 0x40000003,
724
0xE20, 0x12121212,
725
0xE24, 0x12121212,
726
0xE28, 0x12121212,
727
0xE2C, 0x12121212,
728
0xE30, 0x12121212,
729
0xE34, 0x12121212,
730
0xE38, 0x12121212,
731
0xE3C, 0x12121212,
732
0xE40, 0x12121212,
733
0xE44, 0x12121212,
734
0xE48, 0x12121212,
735
0xE4C, 0x12121212,
736
0xE50, 0x00000020,
737
0xE54, 0x0008121C,
738
0xE58, 0x30000C1C,
739
0xE5C, 0x00000058,
740
0xE60, 0x34344443,
741
0xE64, 0x07003333,
742
0xE68, 0x59791979,
743
0xE6C, 0x59795979,
744
0xE70, 0x19795979,
745
0xE74, 0x19795979,
746
0xE78, 0x19791979,
747
0xE7C, 0x19791979,
748
0xE80, 0x19791979,
749
0xE84, 0x19791979,
750
0xE94, 0x0100005C,
751
0xE98, 0x00000000,
752
0xE9C, 0x00000000,
753
0xEA0, 0x00000029,
754
0xEA4, 0x08040201,
755
0xEA8, 0x80402010,
756
0xEB0, 0x77547777,
757
0xEB4, 0x00000077,
758
0xEB8, 0x00508242,
759
};
760
761
RTW_DECL_TABLE_PHY_COND(rtw8812a_bb, rtw_phy_cfg_bb);
762
763
static const struct rtw_phy_pg_cfg_pair rtw8812a_bb_pg[] = {
764
{ 0, 0, 0, 0x00000c20, 0xffffffff, 0x34363840, },
765
{ 0, 0, 0, 0x00000c24, 0xffffffff, 0x42424444, },
766
{ 0, 0, 0, 0x00000c28, 0xffffffff, 0x30323638, },
767
{ 0, 0, 0, 0x00000c2c, 0xffffffff, 0x40424444, },
768
{ 0, 0, 0, 0x00000c30, 0xffffffff, 0x28303236, },
769
{ 0, 0, 1, 0x00000c34, 0xffffffff, 0x38404242, },
770
{ 0, 0, 1, 0x00000c38, 0xffffffff, 0x26283034, },
771
{ 0, 0, 0, 0x00000c3c, 0xffffffff, 0x40424444, },
772
{ 0, 0, 0, 0x00000c40, 0xffffffff, 0x28303236, },
773
{ 0, 0, 0, 0x00000c44, 0xffffffff, 0x42422426, },
774
{ 0, 0, 1, 0x00000c48, 0xffffffff, 0x30343840, },
775
{ 0, 0, 1, 0x00000c4c, 0xffffffff, 0x22242628, },
776
{ 0, 1, 0, 0x00000e20, 0xffffffff, 0x34363840, },
777
{ 0, 1, 0, 0x00000e24, 0xffffffff, 0x42424444, },
778
{ 0, 1, 0, 0x00000e28, 0xffffffff, 0x30323638, },
779
{ 0, 1, 0, 0x00000e2c, 0xffffffff, 0x40424444, },
780
{ 0, 1, 0, 0x00000e30, 0xffffffff, 0x28303236, },
781
{ 0, 1, 1, 0x00000e34, 0xffffffff, 0x38404242, },
782
{ 0, 1, 1, 0x00000e38, 0xffffffff, 0x26283034, },
783
{ 0, 1, 0, 0x00000e3c, 0xffffffff, 0x40424444, },
784
{ 0, 1, 0, 0x00000e40, 0xffffffff, 0x28303236, },
785
{ 0, 1, 0, 0x00000e44, 0xffffffff, 0x42422426, },
786
{ 0, 1, 1, 0x00000e48, 0xffffffff, 0x30343840, },
787
{ 0, 1, 1, 0x00000e4c, 0xffffffff, 0x22242628, },
788
{ 1, 0, 0, 0x00000c24, 0xffffffff, 0x42424444, },
789
{ 1, 0, 0, 0x00000c28, 0xffffffff, 0x30323640, },
790
{ 1, 0, 0, 0x00000c2c, 0xffffffff, 0x40424444, },
791
{ 1, 0, 0, 0x00000c30, 0xffffffff, 0x28303236, },
792
{ 1, 0, 1, 0x00000c34, 0xffffffff, 0x38404242, },
793
{ 1, 0, 1, 0x00000c38, 0xffffffff, 0x26283034, },
794
{ 1, 0, 0, 0x00000c3c, 0xffffffff, 0x40424444, },
795
{ 1, 0, 0, 0x00000c40, 0xffffffff, 0x28303236, },
796
{ 1, 0, 0, 0x00000c44, 0xffffffff, 0x42422426, },
797
{ 1, 0, 1, 0x00000c48, 0xffffffff, 0x30343840, },
798
{ 1, 0, 1, 0x00000c4c, 0xffffffff, 0x22242628, },
799
{ 1, 1, 0, 0x00000e24, 0xffffffff, 0x42424444, },
800
{ 1, 1, 0, 0x00000e28, 0xffffffff, 0x30323640, },
801
{ 1, 1, 0, 0x00000e2c, 0xffffffff, 0x40424444, },
802
{ 1, 1, 0, 0x00000e30, 0xffffffff, 0x28303236, },
803
{ 1, 1, 1, 0x00000e34, 0xffffffff, 0x38404242, },
804
{ 1, 1, 1, 0x00000e38, 0xffffffff, 0x26283034, },
805
{ 1, 1, 0, 0x00000e3c, 0xffffffff, 0x40424444, },
806
{ 1, 1, 0, 0x00000e40, 0xffffffff, 0x28303236, },
807
{ 1, 1, 0, 0x00000e44, 0xffffffff, 0x42422426, },
808
{ 1, 1, 1, 0x00000e48, 0xffffffff, 0x30343840, },
809
{ 1, 1, 1, 0x00000e4c, 0xffffffff, 0x22242628, },
810
};
811
812
RTW_DECL_TABLE_BB_PG(rtw8812a_bb_pg);
813
814
static const struct rtw_phy_pg_cfg_pair rtw8812a_bb_pg_rfe3[] = {
815
{ 0, 0, 0, 0x00000c20, 0xffffffff, 0x34343434, },
816
{ 0, 0, 0, 0x00000c24, 0xffffffff, 0x32323232, },
817
{ 0, 0, 0, 0x00000c28, 0xffffffff, 0x28303232, },
818
{ 0, 0, 0, 0x00000c2c, 0xffffffff, 0x32323232, },
819
{ 0, 0, 0, 0x00000c30, 0xffffffff, 0x28303232, },
820
{ 0, 0, 1, 0x00000c34, 0xffffffff, 0x32323232, },
821
{ 0, 0, 1, 0x00000c38, 0xffffffff, 0x26283032, },
822
{ 0, 0, 0, 0x00000c3c, 0xffffffff, 0x32323232, },
823
{ 0, 0, 0, 0x00000c40, 0xffffffff, 0x28303232, },
824
{ 0, 0, 0, 0x00000c44, 0xffffffff, 0x32322426, },
825
{ 0, 0, 1, 0x00000c48, 0xffffffff, 0x32323232, },
826
{ 0, 0, 1, 0x00000c4c, 0xffffffff, 0x24262830, },
827
{ 0, 1, 0, 0x00000e20, 0xffffffff, 0x34343434, },
828
{ 0, 1, 0, 0x00000e24, 0xffffffff, 0x32323232, },
829
{ 0, 1, 0, 0x00000e28, 0xffffffff, 0x28303232, },
830
{ 0, 1, 0, 0x00000e2c, 0xffffffff, 0x32323232, },
831
{ 0, 1, 0, 0x00000e30, 0xffffffff, 0x28303232, },
832
{ 0, 1, 1, 0x00000e34, 0xffffffff, 0x32323232, },
833
{ 0, 1, 1, 0x00000e38, 0xffffffff, 0x26283032, },
834
{ 0, 1, 0, 0x00000e3c, 0xffffffff, 0x32323232, },
835
{ 0, 1, 0, 0x00000e40, 0xffffffff, 0x28303232, },
836
{ 0, 1, 0, 0x00000e44, 0xffffffff, 0x32322426, },
837
{ 0, 1, 1, 0x00000e48, 0xffffffff, 0x32323232, },
838
{ 0, 1, 1, 0x00000e4c, 0xffffffff, 0x24262830, },
839
{ 1, 0, 0, 0x00000c24, 0xffffffff, 0x32323232, },
840
{ 1, 0, 0, 0x00000c28, 0xffffffff, 0x28303232, },
841
{ 1, 0, 0, 0x00000c2c, 0xffffffff, 0x32323232, },
842
{ 1, 0, 0, 0x00000c30, 0xffffffff, 0x24262830, },
843
{ 1, 0, 1, 0x00000c34, 0xffffffff, 0x32323232, },
844
{ 1, 0, 1, 0x00000c38, 0xffffffff, 0x24262830, },
845
{ 1, 0, 0, 0x00000c3c, 0xffffffff, 0x32323232, },
846
{ 1, 0, 0, 0x00000c40, 0xffffffff, 0x24262830, },
847
{ 1, 0, 0, 0x00000c44, 0xffffffff, 0x32322222, },
848
{ 1, 0, 1, 0x00000c48, 0xffffffff, 0x28303232, },
849
{ 1, 0, 1, 0x00000c4c, 0xffffffff, 0x22222426, },
850
{ 1, 1, 0, 0x00000e24, 0xffffffff, 0x32323232, },
851
{ 1, 1, 0, 0x00000e28, 0xffffffff, 0x28303232, },
852
{ 1, 1, 0, 0x00000e2c, 0xffffffff, 0x32323232, },
853
{ 1, 1, 0, 0x00000e30, 0xffffffff, 0x24262830, },
854
{ 1, 1, 1, 0x00000e34, 0xffffffff, 0x32323232, },
855
{ 1, 1, 1, 0x00000e38, 0xffffffff, 0x24262830, },
856
{ 1, 1, 0, 0x00000e3c, 0xffffffff, 0x32323232, },
857
{ 1, 1, 0, 0x00000e40, 0xffffffff, 0x24262830, },
858
{ 1, 1, 0, 0x00000e44, 0xffffffff, 0x32322222, },
859
{ 1, 1, 1, 0x00000e48, 0xffffffff, 0x28303232, },
860
{ 1, 1, 1, 0x00000e4c, 0xffffffff, 0x22222426, },
861
};
862
863
RTW_DECL_TABLE_BB_PG(rtw8812a_bb_pg_rfe3);
864
865
static const u32 rtw8812a_rf_a[] = {
866
0x000, 0x00010000,
867
0x018, 0x0001712A,
868
0x056, 0x00051CF2,
869
0x066, 0x00040000,
870
0x01E, 0x00080000,
871
0x089, 0x00000080,
872
0x80000001, 0x00000000, 0x40000000, 0x00000000,
873
0x086, 0x00014B3A,
874
0x90000001, 0x00000005, 0x40000000, 0x00000000,
875
0x086, 0x00014B3A,
876
0xA0000000, 0x00000000,
877
0x086, 0x00014B38,
878
0xB0000000, 0x00000000,
879
0x80000004, 0x00000000, 0x40000000, 0x00000000,
880
0x08B, 0x00080180,
881
0xA0000000, 0x00000000,
882
0x08B, 0x00087180,
883
0xB0000000, 0x00000000,
884
0x0B1, 0x0001FC1A,
885
0x0B3, 0x000F0810,
886
0x0B4, 0x0001A78D,
887
0x0BA, 0x00086180,
888
0x018, 0x00000006,
889
0x0EF, 0x00002000,
890
0x80000001, 0x00000000, 0x40000000, 0x00000000,
891
0x03B, 0x0003F218,
892
0x03B, 0x00030A58,
893
0x03B, 0x0002FA58,
894
0x03B, 0x00022590,
895
0x03B, 0x0001FA50,
896
0x03B, 0x00010248,
897
0x03B, 0x00008240,
898
0x90000001, 0x00000005, 0x40000000, 0x00000000,
899
0x03B, 0x0003F218,
900
0x03B, 0x00030A58,
901
0x03B, 0x0002FA58,
902
0x03B, 0x00022590,
903
0x03B, 0x0001FA50,
904
0x03B, 0x00010248,
905
0x03B, 0x00008240,
906
0xA0000000, 0x00000000,
907
0x03B, 0x00038A58,
908
0x03B, 0x00037A58,
909
0x03B, 0x0002A590,
910
0x03B, 0x00027A50,
911
0x03B, 0x00018248,
912
0x03B, 0x00010240,
913
0x03B, 0x00008240,
914
0xB0000000, 0x00000000,
915
0x0EF, 0x00000100,
916
0x80000002, 0x00000000, 0x40000000, 0x00000000,
917
0x034, 0x0000A4EE,
918
0x034, 0x00009076,
919
0x034, 0x00008073,
920
0x034, 0x00007070,
921
0x034, 0x0000606D,
922
0x034, 0x0000506A,
923
0x034, 0x00004049,
924
0x034, 0x00003046,
925
0x034, 0x00002028,
926
0x034, 0x00001025,
927
0x034, 0x00000022,
928
0xA0000000, 0x00000000,
929
0x034, 0x0000ADF4,
930
0x034, 0x00009DF1,
931
0x034, 0x00008DEE,
932
0x034, 0x00007DEB,
933
0x034, 0x00006DE8,
934
0x034, 0x00005DE5,
935
0x034, 0x00004DE2,
936
0x034, 0x00003CE6,
937
0x034, 0x000024E7,
938
0x034, 0x000014E4,
939
0x034, 0x000004E1,
940
0xB0000000, 0x00000000,
941
0x0EF, 0x00000000,
942
0x0EF, 0x000020A2,
943
0x0DF, 0x00000080,
944
0x035, 0x00000192,
945
0x035, 0x00008192,
946
0x035, 0x00010192,
947
0x036, 0x00000024,
948
0x036, 0x00008024,
949
0x036, 0x00010024,
950
0x036, 0x00018024,
951
0x0EF, 0x00000000,
952
0x051, 0x00000C21,
953
0x052, 0x000006D9,
954
0x053, 0x000FC649,
955
0x054, 0x0000017E,
956
0x0EF, 0x00000002,
957
0x008, 0x00008400,
958
0x018, 0x0001712A,
959
0x0EF, 0x00001000,
960
0x03A, 0x00000080,
961
0x03B, 0x0003A02C,
962
0x03C, 0x00004000,
963
0x03A, 0x00000400,
964
0x03B, 0x0003202C,
965
0x03C, 0x00010000,
966
0x03A, 0x000000A0,
967
0x03B, 0x0002B064,
968
0x03C, 0x00004000,
969
0x03A, 0x000000D8,
970
0x03B, 0x00023070,
971
0x03C, 0x00004000,
972
0x03A, 0x00000468,
973
0x03B, 0x0001B870,
974
0x03C, 0x00010000,
975
0x03A, 0x00000098,
976
0x03B, 0x00012085,
977
0x03C, 0x000E4000,
978
0x03A, 0x00000418,
979
0x03B, 0x0000A080,
980
0x03C, 0x000F0000,
981
0x03A, 0x00000418,
982
0x03B, 0x00002080,
983
0x03C, 0x00010000,
984
0x03A, 0x00000080,
985
0x03B, 0x0007A02C,
986
0x03C, 0x00004000,
987
0x03A, 0x00000400,
988
0x03B, 0x0007202C,
989
0x03C, 0x00010000,
990
0x03A, 0x000000A0,
991
0x03B, 0x0006B064,
992
0x03C, 0x00004000,
993
0x03A, 0x000000D8,
994
0x03B, 0x00063070,
995
0x03C, 0x00004000,
996
0x03A, 0x00000468,
997
0x03B, 0x0005B870,
998
0x03C, 0x00010000,
999
0x03A, 0x00000098,
1000
0x03B, 0x00052085,
1001
0x03C, 0x000E4000,
1002
0x03A, 0x00000418,
1003
0x03B, 0x0004A080,
1004
0x03C, 0x000F0000,
1005
0x03A, 0x00000418,
1006
0x03B, 0x00042080,
1007
0x03C, 0x00010000,
1008
0x03A, 0x00000080,
1009
0x03B, 0x000BA02C,
1010
0x03C, 0x00004000,
1011
0x03A, 0x00000400,
1012
0x03B, 0x000B202C,
1013
0x03C, 0x00010000,
1014
0x03A, 0x000000A0,
1015
0x03B, 0x000AB064,
1016
0x03C, 0x00004000,
1017
0x03A, 0x000000D8,
1018
0x03B, 0x000A3070,
1019
0x03C, 0x00004000,
1020
0x03A, 0x00000468,
1021
0x03B, 0x0009B870,
1022
0x03C, 0x00010000,
1023
0x03A, 0x00000098,
1024
0x03B, 0x00092085,
1025
0x03C, 0x000E4000,
1026
0x03A, 0x00000418,
1027
0x03B, 0x0008A080,
1028
0x03C, 0x000F0000,
1029
0x03A, 0x00000418,
1030
0x03B, 0x00082080,
1031
0x03C, 0x00010000,
1032
0x0EF, 0x00001100,
1033
0x80000008, 0x00000000, 0x40000000, 0x00000000,
1034
0x034, 0x0004A0B2,
1035
0x034, 0x000490AF,
1036
0x034, 0x00048070,
1037
0x034, 0x0004706D,
1038
0x034, 0x00046050,
1039
0x034, 0x0004504D,
1040
0x034, 0x0004404A,
1041
0x034, 0x00043047,
1042
0x034, 0x0004200A,
1043
0x034, 0x00041007,
1044
0x034, 0x00040004,
1045
0x90000008, 0x05000000, 0x40000000, 0x00000000,
1046
0x034, 0x0004A0B2,
1047
0x034, 0x000490AF,
1048
0x034, 0x00048070,
1049
0x034, 0x0004706D,
1050
0x034, 0x0004604D,
1051
0x034, 0x0004504A,
1052
0x034, 0x00044047,
1053
0x034, 0x00043044,
1054
0x034, 0x00042007,
1055
0x034, 0x00041004,
1056
0x034, 0x00040001,
1057
0xA0000000, 0x00000000,
1058
0x034, 0x0004ADF5,
1059
0x034, 0x00049DF2,
1060
0x034, 0x00048DEF,
1061
0x034, 0x00047DEC,
1062
0x034, 0x00046DE9,
1063
0x034, 0x00045DE6,
1064
0x034, 0x00044DE3,
1065
0x034, 0x000438C8,
1066
0x034, 0x000428C5,
1067
0x034, 0x000418C2,
1068
0x034, 0x000408C0,
1069
0xB0000000, 0x00000000,
1070
0x80000008, 0x00000000, 0x40000000, 0x00000000,
1071
0x034, 0x0002A0B2,
1072
0x034, 0x000290AF,
1073
0x034, 0x00028070,
1074
0x034, 0x0002706D,
1075
0x034, 0x00026050,
1076
0x034, 0x0002504D,
1077
0x034, 0x0002404A,
1078
0x034, 0x00023047,
1079
0x034, 0x0002200A,
1080
0x034, 0x00021007,
1081
0x034, 0x00020004,
1082
0x90000008, 0x05000000, 0x40000000, 0x00000000,
1083
0x034, 0x0002A0B4,
1084
0x034, 0x000290B1,
1085
0x034, 0x00028072,
1086
0x034, 0x0002706F,
1087
0x034, 0x0002604F,
1088
0x034, 0x0002504C,
1089
0x034, 0x00024049,
1090
0x034, 0x00023046,
1091
0x034, 0x00022009,
1092
0x034, 0x00021006,
1093
0x034, 0x00020003,
1094
0xA0000000, 0x00000000,
1095
0x034, 0x0002ADF5,
1096
0x034, 0x00029DF2,
1097
0x034, 0x00028DEF,
1098
0x034, 0x00027DEC,
1099
0x034, 0x00026DE9,
1100
0x034, 0x00025DE6,
1101
0x034, 0x00024DE3,
1102
0x034, 0x000238C8,
1103
0x034, 0x000228C5,
1104
0x034, 0x000218C2,
1105
0x034, 0x000208C0,
1106
0xB0000000, 0x00000000,
1107
0x80000008, 0x00000000, 0x40000000, 0x00000000,
1108
0x034, 0x0000A0B2,
1109
0x034, 0x000090AF,
1110
0x034, 0x00008070,
1111
0x034, 0x0000706D,
1112
0x034, 0x00006050,
1113
0x034, 0x0000504D,
1114
0x034, 0x0000404A,
1115
0x034, 0x00003047,
1116
0x034, 0x0000200A,
1117
0x034, 0x00001007,
1118
0x034, 0x00000004,
1119
0x90000008, 0x05000000, 0x40000000, 0x00000000,
1120
0x034, 0x0000A0B2,
1121
0x034, 0x000090AF,
1122
0x034, 0x00008070,
1123
0x034, 0x0000706D,
1124
0x034, 0x0000604D,
1125
0x034, 0x0000504A,
1126
0x034, 0x00004047,
1127
0x034, 0x00003044,
1128
0x034, 0x00002007,
1129
0x034, 0x00001004,
1130
0x034, 0x00000001,
1131
0xA0000000, 0x00000000,
1132
0x034, 0x0000AFF7,
1133
0x034, 0x00009DF7,
1134
0x034, 0x00008DF4,
1135
0x034, 0x00007DF1,
1136
0x034, 0x00006DEE,
1137
0x034, 0x00005DEB,
1138
0x034, 0x00004DE8,
1139
0x034, 0x000038CC,
1140
0x034, 0x000028C9,
1141
0x034, 0x000018C6,
1142
0x034, 0x000008C3,
1143
0xB0000000, 0x00000000,
1144
0x0EF, 0x00000000,
1145
0x80000008, 0x00000000, 0x40000000, 0x00000000,
1146
0x018, 0x0001712A,
1147
0x0EF, 0x00000040,
1148
0x035, 0x000001D4,
1149
0x035, 0x000081D4,
1150
0x035, 0x000101D4,
1151
0x035, 0x000201B4,
1152
0x035, 0x000281B4,
1153
0x035, 0x000301B4,
1154
0x035, 0x000401B4,
1155
0x035, 0x000481B4,
1156
0x035, 0x000501B4,
1157
0x90000008, 0x05000000, 0x40000000, 0x00000000,
1158
0x018, 0x0001712A,
1159
0x0EF, 0x00000040,
1160
0x035, 0x000001D4,
1161
0x035, 0x000081D4,
1162
0x035, 0x000101D4,
1163
0x035, 0x000201B4,
1164
0x035, 0x000281B4,
1165
0x035, 0x000301B4,
1166
0x035, 0x000401B4,
1167
0x035, 0x000481B4,
1168
0x035, 0x000501B4,
1169
0xA0000000, 0x00000000,
1170
0x018, 0x0001712A,
1171
0x0EF, 0x00000040,
1172
0x035, 0x00000188,
1173
0x035, 0x00008147,
1174
0x035, 0x00010147,
1175
0x035, 0x000201D7,
1176
0x035, 0x000281D7,
1177
0x035, 0x000301D7,
1178
0x035, 0x000401D8,
1179
0x035, 0x000481D8,
1180
0x035, 0x000501D8,
1181
0xB0000000, 0x00000000,
1182
0x0EF, 0x00000000,
1183
0x80000008, 0x00000000, 0x40000000, 0x00000000,
1184
0x018, 0x0001712A,
1185
0x0EF, 0x00000010,
1186
0x036, 0x00004BFB,
1187
0x036, 0x0000CBFB,
1188
0x036, 0x00014BFB,
1189
0x036, 0x0001CBFB,
1190
0x036, 0x00024F4B,
1191
0x036, 0x0002CF4B,
1192
0x036, 0x00034F4B,
1193
0x036, 0x0003CF4B,
1194
0x036, 0x00044F4B,
1195
0x036, 0x0004CF4B,
1196
0x036, 0x00054F4B,
1197
0x036, 0x0005CF4B,
1198
0x90000008, 0x05000000, 0x40000000, 0x00000000,
1199
0x018, 0x0001712A,
1200
0x0EF, 0x00000010,
1201
0x036, 0x00004BFB,
1202
0x036, 0x0000CBFB,
1203
0x036, 0x00014BFB,
1204
0x036, 0x0001CBFB,
1205
0x036, 0x00024F4B,
1206
0x036, 0x0002CF4B,
1207
0x036, 0x00034F4B,
1208
0x036, 0x0003CF4B,
1209
0x036, 0x00044F4B,
1210
0x036, 0x0004CF4B,
1211
0x036, 0x00054F4B,
1212
0x036, 0x0005CF4B,
1213
0xA0000000, 0x00000000,
1214
0x018, 0x0001712A,
1215
0x0EF, 0x00000010,
1216
0x036, 0x00084EB4,
1217
0x036, 0x0008CC35,
1218
0x036, 0x00094C35,
1219
0x036, 0x0009CC35,
1220
0x036, 0x000A4C35,
1221
0x036, 0x000ACC35,
1222
0x036, 0x000B4C35,
1223
0x036, 0x000BCC35,
1224
0x036, 0x000C4C34,
1225
0x036, 0x000CCC35,
1226
0x036, 0x000D4C35,
1227
0x036, 0x000DCC35,
1228
0xB0000000, 0x00000000,
1229
0x0EF, 0x00000000,
1230
0x0EF, 0x00000008,
1231
0x80000008, 0x00000000, 0x40000000, 0x00000000,
1232
0x03C, 0x000002CC,
1233
0x03C, 0x00000522,
1234
0x03C, 0x00000902,
1235
0x90000008, 0x05000000, 0x40000000, 0x00000000,
1236
0x03C, 0x000002CC,
1237
0x03C, 0x00000522,
1238
0x03C, 0x00000902,
1239
0xA0000000, 0x00000000,
1240
0x03C, 0x000002A8,
1241
0x03C, 0x000005A2,
1242
0x03C, 0x00000880,
1243
0xB0000000, 0x00000000,
1244
0x0EF, 0x00000000,
1245
0x018, 0x0001712A,
1246
0x0EF, 0x00000002,
1247
0x0DF, 0x00000080,
1248
0x01F, 0x00000064,
1249
0x80000008, 0x00000000, 0x40000000, 0x00000000,
1250
0x061, 0x000FDD43,
1251
0x062, 0x00038F4B,
1252
0x063, 0x00032117,
1253
0x064, 0x000194AC,
1254
0x065, 0x000931D1,
1255
0x90000008, 0x05000000, 0x40000000, 0x00000000,
1256
0x061, 0x000FDD43,
1257
0x062, 0x00038F4B,
1258
0x063, 0x00032117,
1259
0x064, 0x000194AC,
1260
0x065, 0x000931D2,
1261
0xA0000000, 0x00000000,
1262
0x061, 0x000E5D53,
1263
0x062, 0x00038FCD,
1264
0x063, 0x000114EB,
1265
0x064, 0x000196AC,
1266
0x065, 0x000911D7,
1267
0xB0000000, 0x00000000,
1268
0x008, 0x00008400,
1269
0x01C, 0x000739D2,
1270
0x0B4, 0x0001E78D,
1271
0x018, 0x0001F12A,
1272
0xFFE, 0x00000000,
1273
0xFFE, 0x00000000,
1274
0xFFE, 0x00000000,
1275
0xFFE, 0x00000000,
1276
0x0B4, 0x0001A78D,
1277
0x018, 0x0001712A,
1278
};
1279
1280
RTW_DECL_TABLE_RF_RADIO(rtw8812a_rf_a, A);
1281
1282
static const u32 rtw8812a_rf_b[] = {
1283
0x056, 0x00051CF2,
1284
0x066, 0x00040000,
1285
0x089, 0x00000080,
1286
0x80000001, 0x00000000, 0x40000000, 0x00000000,
1287
0x086, 0x00014B3A,
1288
0x90000001, 0x00000005, 0x40000000, 0x00000000,
1289
0x086, 0x00014B3A,
1290
0xA0000000, 0x00000000,
1291
0x086, 0x00014B38,
1292
0xB0000000, 0x00000000,
1293
0x80000004, 0x00000000, 0x40000000, 0x00000000,
1294
0x08B, 0x00080180,
1295
0xA0000000, 0x00000000,
1296
0x08B, 0x00087180,
1297
0xB0000000, 0x00000000,
1298
0x018, 0x00000006,
1299
0x0EF, 0x00002000,
1300
0x80000001, 0x00000000, 0x40000000, 0x00000000,
1301
0x03B, 0x0003F218,
1302
0x03B, 0x00030A58,
1303
0x03B, 0x0002FA58,
1304
0x03B, 0x00022590,
1305
0x03B, 0x0001FA50,
1306
0x03B, 0x00010248,
1307
0x03B, 0x00008240,
1308
0x90000001, 0x00000005, 0x40000000, 0x00000000,
1309
0x03B, 0x0003F218,
1310
0x03B, 0x00030A58,
1311
0x03B, 0x0002FA58,
1312
0x03B, 0x00022590,
1313
0x03B, 0x0001FA50,
1314
0x03B, 0x00010248,
1315
0x03B, 0x00008240,
1316
0xA0000000, 0x00000000,
1317
0x03B, 0x00038A58,
1318
0x03B, 0x00037A58,
1319
0x03B, 0x0002A590,
1320
0x03B, 0x00027A50,
1321
0x03B, 0x00018248,
1322
0x03B, 0x00010240,
1323
0x03B, 0x00008240,
1324
0xB0000000, 0x00000000,
1325
0x0EF, 0x00000100,
1326
0x80000002, 0x00000000, 0x40000000, 0x00000000,
1327
0x034, 0x0000A4EE,
1328
0x034, 0x00009076,
1329
0x034, 0x00008073,
1330
0x034, 0x00007070,
1331
0x034, 0x0000606D,
1332
0x034, 0x0000506A,
1333
0x034, 0x00004049,
1334
0x034, 0x00003046,
1335
0x034, 0x00002028,
1336
0x034, 0x00001025,
1337
0x034, 0x00000022,
1338
0xA0000000, 0x00000000,
1339
0x034, 0x0000ADF4,
1340
0x034, 0x00009DF1,
1341
0x034, 0x00008DEE,
1342
0x034, 0x00007DEB,
1343
0x034, 0x00006DE8,
1344
0x034, 0x00005DE5,
1345
0x034, 0x00004DE2,
1346
0x034, 0x00003CE6,
1347
0x034, 0x000024E7,
1348
0x034, 0x000014E4,
1349
0x034, 0x000004E1,
1350
0xB0000000, 0x00000000,
1351
0x0EF, 0x00000000,
1352
0x0EF, 0x000020A2,
1353
0x0DF, 0x00000080,
1354
0x035, 0x00000192,
1355
0x035, 0x00008192,
1356
0x035, 0x00010192,
1357
0x036, 0x00000024,
1358
0x036, 0x00008024,
1359
0x036, 0x00010024,
1360
0x036, 0x00018024,
1361
0x0EF, 0x00000000,
1362
0x051, 0x00000C21,
1363
0x052, 0x000006D9,
1364
0x053, 0x000FC649,
1365
0x054, 0x0000017E,
1366
0x0EF, 0x00000002,
1367
0x008, 0x00008400,
1368
0x018, 0x0001712A,
1369
0x0EF, 0x00001000,
1370
0x03A, 0x00000080,
1371
0x03B, 0x0003A02C,
1372
0x03C, 0x00004000,
1373
0x03A, 0x00000400,
1374
0x03B, 0x0003202C,
1375
0x03C, 0x00010000,
1376
0x03A, 0x000000A0,
1377
0x03B, 0x0002B064,
1378
0x03C, 0x00004000,
1379
0x03A, 0x000000D8,
1380
0x03B, 0x00023070,
1381
0x03C, 0x00004000,
1382
0x03A, 0x00000468,
1383
0x03B, 0x0001B870,
1384
0x03C, 0x00010000,
1385
0x03A, 0x00000098,
1386
0x03B, 0x00012085,
1387
0x03C, 0x000E4000,
1388
0x03A, 0x00000418,
1389
0x03B, 0x0000A080,
1390
0x03C, 0x000F0000,
1391
0x03A, 0x00000418,
1392
0x03B, 0x00002080,
1393
0x03C, 0x00010000,
1394
0x03A, 0x00000080,
1395
0x03B, 0x0007A02C,
1396
0x03C, 0x00004000,
1397
0x03A, 0x00000400,
1398
0x03B, 0x0007202C,
1399
0x03C, 0x00010000,
1400
0x03A, 0x000000A0,
1401
0x03B, 0x0006B064,
1402
0x03C, 0x00004000,
1403
0x03A, 0x000000D8,
1404
0x03B, 0x00063070,
1405
0x03C, 0x00004000,
1406
0x03A, 0x00000468,
1407
0x03B, 0x0005B870,
1408
0x03C, 0x00010000,
1409
0x03A, 0x00000098,
1410
0x03B, 0x00052085,
1411
0x03C, 0x000E4000,
1412
0x03A, 0x00000418,
1413
0x03B, 0x0004A080,
1414
0x03C, 0x000F0000,
1415
0x03A, 0x00000418,
1416
0x03B, 0x00042080,
1417
0x03C, 0x00010000,
1418
0x03A, 0x00000080,
1419
0x03B, 0x000BA02C,
1420
0x03C, 0x00004000,
1421
0x03A, 0x00000400,
1422
0x03B, 0x000B202C,
1423
0x03C, 0x00010000,
1424
0x03A, 0x000000A0,
1425
0x03B, 0x000AB064,
1426
0x03C, 0x00004000,
1427
0x03A, 0x000000D8,
1428
0x03B, 0x000A3070,
1429
0x03C, 0x00004000,
1430
0x03A, 0x00000468,
1431
0x03B, 0x0009B870,
1432
0x03C, 0x00010000,
1433
0x03A, 0x00000098,
1434
0x03B, 0x00092085,
1435
0x03C, 0x000E4000,
1436
0x03A, 0x00000418,
1437
0x03B, 0x0008A080,
1438
0x03C, 0x000F0000,
1439
0x03A, 0x00000418,
1440
0x03B, 0x00082080,
1441
0x03C, 0x00010000,
1442
0x0EF, 0x00001100,
1443
0x80000008, 0x00000000, 0x40000000, 0x00000000,
1444
0x034, 0x0004A0B2,
1445
0x034, 0x000490AF,
1446
0x034, 0x00048070,
1447
0x034, 0x0004706D,
1448
0x034, 0x00046050,
1449
0x034, 0x0004504D,
1450
0x034, 0x0004404A,
1451
0x034, 0x00043047,
1452
0x034, 0x0004200A,
1453
0x034, 0x00041007,
1454
0x034, 0x00040004,
1455
0x90000008, 0x05000000, 0x40000000, 0x00000000,
1456
0x034, 0x0004A0B1,
1457
0x034, 0x000490AE,
1458
0x034, 0x0004806F,
1459
0x034, 0x0004706C,
1460
0x034, 0x0004604C,
1461
0x034, 0x00045049,
1462
0x034, 0x00044046,
1463
0x034, 0x00043043,
1464
0x034, 0x00042006,
1465
0x034, 0x00041003,
1466
0x034, 0x00040000,
1467
0xA0000000, 0x00000000,
1468
0x034, 0x0004ADF5,
1469
0x034, 0x00049DF2,
1470
0x034, 0x00048DEF,
1471
0x034, 0x00047DEC,
1472
0x034, 0x00046DE9,
1473
0x034, 0x00045DE6,
1474
0x034, 0x00044DE3,
1475
0x034, 0x000438C8,
1476
0x034, 0x000428C5,
1477
0x034, 0x000418C2,
1478
0x034, 0x000408C0,
1479
0xB0000000, 0x00000000,
1480
0x80000008, 0x00000000, 0x40000000, 0x00000000,
1481
0x034, 0x0002A0B2,
1482
0x034, 0x000290AF,
1483
0x034, 0x00028070,
1484
0x034, 0x0002706D,
1485
0x034, 0x00026050,
1486
0x034, 0x0002504D,
1487
0x034, 0x0002404A,
1488
0x034, 0x00023047,
1489
0x034, 0x0002200A,
1490
0x034, 0x00021007,
1491
0x034, 0x00020004,
1492
0x90000008, 0x05000000, 0x40000000, 0x00000000,
1493
0x034, 0x0002A0B3,
1494
0x034, 0x000290B0,
1495
0x034, 0x00028071,
1496
0x034, 0x0002706E,
1497
0x034, 0x0002604E,
1498
0x034, 0x0002504B,
1499
0x034, 0x00024048,
1500
0x034, 0x00023045,
1501
0x034, 0x00022008,
1502
0x034, 0x00021005,
1503
0x034, 0x00020002,
1504
0xA0000000, 0x00000000,
1505
0x034, 0x0002ADF5,
1506
0x034, 0x00029DF2,
1507
0x034, 0x00028DEF,
1508
0x034, 0x00027DEC,
1509
0x034, 0x00026DE9,
1510
0x034, 0x00025DE6,
1511
0x034, 0x00024DE3,
1512
0x034, 0x000238C8,
1513
0x034, 0x000228C5,
1514
0x034, 0x000218C2,
1515
0x034, 0x000208C0,
1516
0xB0000000, 0x00000000,
1517
0x80000008, 0x00000000, 0x40000000, 0x00000000,
1518
0x034, 0x0000A0B2,
1519
0x034, 0x000090AF,
1520
0x034, 0x00008070,
1521
0x034, 0x0000706D,
1522
0x034, 0x00006050,
1523
0x034, 0x0000504D,
1524
0x034, 0x0000404A,
1525
0x034, 0x00003047,
1526
0x034, 0x0000200A,
1527
0x034, 0x00001007,
1528
0x034, 0x00000004,
1529
0x90000008, 0x05000000, 0x40000000, 0x00000000,
1530
0x034, 0x0000A0B3,
1531
0x034, 0x000090B0,
1532
0x034, 0x00008070,
1533
0x034, 0x0000706D,
1534
0x034, 0x0000604D,
1535
0x034, 0x0000504A,
1536
0x034, 0x00004047,
1537
0x034, 0x00003044,
1538
0x034, 0x00002007,
1539
0x034, 0x00001004,
1540
0x034, 0x00000001,
1541
0xA0000000, 0x00000000,
1542
0x034, 0x0000AFF7,
1543
0x034, 0x00009DF7,
1544
0x034, 0x00008DF4,
1545
0x034, 0x00007DF1,
1546
0x034, 0x00006DEE,
1547
0x034, 0x00005DEB,
1548
0x034, 0x00004DE8,
1549
0x034, 0x000038CC,
1550
0x034, 0x000028C9,
1551
0x034, 0x000018C6,
1552
0x034, 0x000008C3,
1553
0xB0000000, 0x00000000,
1554
0x0EF, 0x00000000,
1555
0x80000008, 0x00000000, 0x40000000, 0x00000000,
1556
0x018, 0x0001712A,
1557
0x0EF, 0x00000040,
1558
0x035, 0x000001C5,
1559
0x035, 0x000081C5,
1560
0x035, 0x000101C5,
1561
0x035, 0x00020174,
1562
0x035, 0x00028174,
1563
0x035, 0x00030174,
1564
0x035, 0x00040185,
1565
0x035, 0x00048185,
1566
0x035, 0x00050185,
1567
0x0EF, 0x00000000,
1568
0x90000008, 0x05000000, 0x40000000, 0x00000000,
1569
0x018, 0x0001712A,
1570
0x0EF, 0x00000040,
1571
0x035, 0x000001C5,
1572
0x035, 0x000081C5,
1573
0x035, 0x000101C5,
1574
0x035, 0x00020174,
1575
0x035, 0x00028174,
1576
0x035, 0x00030174,
1577
0x035, 0x00040185,
1578
0x035, 0x00048185,
1579
0x035, 0x00050185,
1580
0x0EF, 0x00000000,
1581
0xA0000000, 0x00000000,
1582
0x018, 0x0001712A,
1583
0x0EF, 0x00000040,
1584
0x035, 0x00000188,
1585
0x035, 0x00008147,
1586
0x035, 0x00010147,
1587
0x035, 0x000201D7,
1588
0x035, 0x000281D7,
1589
0x035, 0x000301D7,
1590
0x035, 0x000401D8,
1591
0x035, 0x000481D8,
1592
0x035, 0x000501D8,
1593
0x0EF, 0x00000000,
1594
0xB0000000, 0x00000000,
1595
0x80000008, 0x00000000, 0x40000000, 0x00000000,
1596
0x018, 0x0001712A,
1597
0x0EF, 0x00000010,
1598
0x036, 0x00005B8B,
1599
0x036, 0x0000DB8B,
1600
0x036, 0x00015B8B,
1601
0x036, 0x0001DB8B,
1602
0x036, 0x000262DB,
1603
0x036, 0x0002E2DB,
1604
0x036, 0x000362DB,
1605
0x036, 0x0003E2DB,
1606
0x036, 0x0004553B,
1607
0x036, 0x0004D53B,
1608
0x036, 0x0005553B,
1609
0x036, 0x0005D53B,
1610
0x90000008, 0x05000000, 0x40000000, 0x00000000,
1611
0x018, 0x0001712A,
1612
0x0EF, 0x00000010,
1613
0x036, 0x00005B8B,
1614
0x036, 0x0000DB8B,
1615
0x036, 0x00015B8B,
1616
0x036, 0x0001DB8B,
1617
0x036, 0x000262DB,
1618
0x036, 0x0002E2DB,
1619
0x036, 0x000362DB,
1620
0x036, 0x0003E2DB,
1621
0x036, 0x0004553B,
1622
0x036, 0x0004D53B,
1623
0x036, 0x0005553B,
1624
0x036, 0x0005D53B,
1625
0xA0000000, 0x00000000,
1626
0x018, 0x0001712A,
1627
0x0EF, 0x00000010,
1628
0x036, 0x00084EB4,
1629
0x036, 0x0008CC35,
1630
0x036, 0x00094C35,
1631
0x036, 0x0009CC35,
1632
0x036, 0x000A4C35,
1633
0x036, 0x000ACC35,
1634
0x036, 0x000B4C35,
1635
0x036, 0x000BCC35,
1636
0x036, 0x000C4C34,
1637
0x036, 0x000CCC35,
1638
0x036, 0x000D4C35,
1639
0x036, 0x000DCC35,
1640
0xB0000000, 0x00000000,
1641
0x0EF, 0x00000000,
1642
0x0EF, 0x00000008,
1643
0x80000008, 0x00000000, 0x40000000, 0x00000000,
1644
0x03C, 0x000002DC,
1645
0x03C, 0x00000524,
1646
0x03C, 0x00000902,
1647
0x90000008, 0x05000000, 0x40000000, 0x00000000,
1648
0x03C, 0x000002DC,
1649
0x03C, 0x00000524,
1650
0x03C, 0x00000902,
1651
0xA0000000, 0x00000000,
1652
0x03C, 0x000002A8,
1653
0x03C, 0x000005A2,
1654
0x03C, 0x00000880,
1655
0xB0000000, 0x00000000,
1656
0x0EF, 0x00000000,
1657
0x018, 0x0001712A,
1658
0x0EF, 0x00000002,
1659
0x0DF, 0x00000080,
1660
0x80000008, 0x00000000, 0x40000000, 0x00000000,
1661
0x061, 0x000EAC43,
1662
0x062, 0x00038F47,
1663
0x063, 0x00031157,
1664
0x064, 0x0001C4AC,
1665
0x065, 0x000931D1,
1666
0x90000008, 0x05000000, 0x40000000, 0x00000000,
1667
0x061, 0x000EAC43,
1668
0x062, 0x00038F47,
1669
0x063, 0x00031157,
1670
0x064, 0x0001C4AC,
1671
0x065, 0x000931D2,
1672
0x90000002, 0x00000000, 0x40000000, 0x00000000,
1673
0x061, 0x000EAC43,
1674
0x062, 0x00038F47,
1675
0x063, 0x00031157,
1676
0x064, 0x0001C4AC,
1677
0x065, 0x000931D1,
1678
0xA0000000, 0x00000000,
1679
0x061, 0x000E5D53,
1680
0x062, 0x00038FCD,
1681
0x063, 0x000114EB,
1682
0x064, 0x000196AC,
1683
0x065, 0x000911D7,
1684
0xB0000000, 0x00000000,
1685
0x008, 0x00008400,
1686
};
1687
1688
RTW_DECL_TABLE_RF_RADIO(rtw8812a_rf_b, B);
1689
1690
static const struct rtw_txpwr_lmt_cfg_pair rtw8812a_txpwr_lmt[] = {
1691
{ 0, 0, 0, 0, 1, 36, },
1692
{ 2, 0, 0, 0, 1, 32, },
1693
{ 1, 0, 0, 0, 1, 32, },
1694
{ 0, 0, 0, 0, 2, 36, },
1695
{ 2, 0, 0, 0, 2, 32, },
1696
{ 1, 0, 0, 0, 2, 32, },
1697
{ 0, 0, 0, 0, 3, 36, },
1698
{ 2, 0, 0, 0, 3, 32, },
1699
{ 1, 0, 0, 0, 3, 32, },
1700
{ 0, 0, 0, 0, 4, 36, },
1701
{ 2, 0, 0, 0, 4, 32, },
1702
{ 1, 0, 0, 0, 4, 32, },
1703
{ 0, 0, 0, 0, 5, 36, },
1704
{ 2, 0, 0, 0, 5, 32, },
1705
{ 1, 0, 0, 0, 5, 32, },
1706
{ 0, 0, 0, 0, 6, 36, },
1707
{ 2, 0, 0, 0, 6, 32, },
1708
{ 1, 0, 0, 0, 6, 32, },
1709
{ 0, 0, 0, 0, 7, 36, },
1710
{ 2, 0, 0, 0, 7, 32, },
1711
{ 1, 0, 0, 0, 7, 32, },
1712
{ 0, 0, 0, 0, 8, 36, },
1713
{ 2, 0, 0, 0, 8, 32, },
1714
{ 1, 0, 0, 0, 8, 32, },
1715
{ 0, 0, 0, 0, 9, 36, },
1716
{ 2, 0, 0, 0, 9, 32, },
1717
{ 1, 0, 0, 0, 9, 32, },
1718
{ 0, 0, 0, 0, 10, 36, },
1719
{ 2, 0, 0, 0, 10, 32, },
1720
{ 1, 0, 0, 0, 10, 32, },
1721
{ 0, 0, 0, 0, 11, 36, },
1722
{ 2, 0, 0, 0, 11, 32, },
1723
{ 1, 0, 0, 0, 11, 32, },
1724
{ 0, 0, 0, 0, 12, 63, },
1725
{ 2, 0, 0, 0, 12, 32, },
1726
{ 1, 0, 0, 0, 12, 32, },
1727
{ 0, 0, 0, 0, 13, 63, },
1728
{ 2, 0, 0, 0, 13, 32, },
1729
{ 1, 0, 0, 0, 13, 32, },
1730
{ 0, 0, 0, 0, 14, 63, },
1731
{ 2, 0, 0, 0, 14, 63, },
1732
{ 1, 0, 0, 0, 14, 32, },
1733
{ 0, 0, 0, 1, 1, 34, },
1734
{ 2, 0, 0, 1, 1, 32, },
1735
{ 1, 0, 0, 1, 1, 32, },
1736
{ 0, 0, 0, 1, 2, 36, },
1737
{ 2, 0, 0, 1, 2, 32, },
1738
{ 1, 0, 0, 1, 2, 32, },
1739
{ 0, 0, 0, 1, 3, 36, },
1740
{ 2, 0, 0, 1, 3, 32, },
1741
{ 1, 0, 0, 1, 3, 32, },
1742
{ 0, 0, 0, 1, 4, 36, },
1743
{ 2, 0, 0, 1, 4, 32, },
1744
{ 1, 0, 0, 1, 4, 32, },
1745
{ 0, 0, 0, 1, 5, 36, },
1746
{ 2, 0, 0, 1, 5, 32, },
1747
{ 1, 0, 0, 1, 5, 32, },
1748
{ 0, 0, 0, 1, 6, 36, },
1749
{ 2, 0, 0, 1, 6, 32, },
1750
{ 1, 0, 0, 1, 6, 32, },
1751
{ 0, 0, 0, 1, 7, 36, },
1752
{ 2, 0, 0, 1, 7, 32, },
1753
{ 1, 0, 0, 1, 7, 32, },
1754
{ 0, 0, 0, 1, 8, 36, },
1755
{ 2, 0, 0, 1, 8, 32, },
1756
{ 1, 0, 0, 1, 8, 32, },
1757
{ 0, 0, 0, 1, 9, 36, },
1758
{ 2, 0, 0, 1, 9, 32, },
1759
{ 1, 0, 0, 1, 9, 32, },
1760
{ 0, 0, 0, 1, 10, 36, },
1761
{ 2, 0, 0, 1, 10, 32, },
1762
{ 1, 0, 0, 1, 10, 32, },
1763
{ 0, 0, 0, 1, 11, 32, },
1764
{ 2, 0, 0, 1, 11, 32, },
1765
{ 1, 0, 0, 1, 11, 32, },
1766
{ 0, 0, 0, 1, 12, 63, },
1767
{ 2, 0, 0, 1, 12, 32, },
1768
{ 1, 0, 0, 1, 12, 32, },
1769
{ 0, 0, 0, 1, 13, 63, },
1770
{ 2, 0, 0, 1, 13, 32, },
1771
{ 1, 0, 0, 1, 13, 32, },
1772
{ 0, 0, 0, 1, 14, 63, },
1773
{ 2, 0, 0, 1, 14, 63, },
1774
{ 1, 0, 0, 1, 14, 63, },
1775
{ 0, 0, 0, 2, 1, 34, },
1776
{ 2, 0, 0, 2, 1, 32, },
1777
{ 1, 0, 0, 2, 1, 32, },
1778
{ 0, 0, 0, 2, 2, 36, },
1779
{ 2, 0, 0, 2, 2, 32, },
1780
{ 1, 0, 0, 2, 2, 32, },
1781
{ 0, 0, 0, 2, 3, 36, },
1782
{ 2, 0, 0, 2, 3, 32, },
1783
{ 1, 0, 0, 2, 3, 32, },
1784
{ 0, 0, 0, 2, 4, 36, },
1785
{ 2, 0, 0, 2, 4, 32, },
1786
{ 1, 0, 0, 2, 4, 32, },
1787
{ 0, 0, 0, 2, 5, 36, },
1788
{ 2, 0, 0, 2, 5, 32, },
1789
{ 1, 0, 0, 2, 5, 32, },
1790
{ 0, 0, 0, 2, 6, 36, },
1791
{ 2, 0, 0, 2, 6, 32, },
1792
{ 1, 0, 0, 2, 6, 32, },
1793
{ 0, 0, 0, 2, 7, 36, },
1794
{ 2, 0, 0, 2, 7, 32, },
1795
{ 1, 0, 0, 2, 7, 32, },
1796
{ 0, 0, 0, 2, 8, 36, },
1797
{ 2, 0, 0, 2, 8, 32, },
1798
{ 1, 0, 0, 2, 8, 32, },
1799
{ 0, 0, 0, 2, 9, 36, },
1800
{ 2, 0, 0, 2, 9, 32, },
1801
{ 1, 0, 0, 2, 9, 32, },
1802
{ 0, 0, 0, 2, 10, 36, },
1803
{ 2, 0, 0, 2, 10, 32, },
1804
{ 1, 0, 0, 2, 10, 32, },
1805
{ 0, 0, 0, 2, 11, 32, },
1806
{ 2, 0, 0, 2, 11, 32, },
1807
{ 1, 0, 0, 2, 11, 32, },
1808
{ 0, 0, 0, 2, 12, 63, },
1809
{ 2, 0, 0, 2, 12, 32, },
1810
{ 1, 0, 0, 2, 12, 32, },
1811
{ 0, 0, 0, 2, 13, 63, },
1812
{ 2, 0, 0, 2, 13, 32, },
1813
{ 1, 0, 0, 2, 13, 32, },
1814
{ 0, 0, 0, 2, 14, 63, },
1815
{ 2, 0, 0, 2, 14, 63, },
1816
{ 1, 0, 0, 2, 14, 63, },
1817
{ 0, 0, 0, 3, 1, 32, },
1818
{ 2, 0, 0, 3, 1, 32, },
1819
{ 1, 0, 0, 3, 1, 32, },
1820
{ 0, 0, 0, 3, 2, 34, },
1821
{ 2, 0, 0, 3, 2, 32, },
1822
{ 1, 0, 0, 3, 2, 32, },
1823
{ 0, 0, 0, 3, 3, 34, },
1824
{ 2, 0, 0, 3, 3, 32, },
1825
{ 1, 0, 0, 3, 3, 32, },
1826
{ 0, 0, 0, 3, 4, 34, },
1827
{ 2, 0, 0, 3, 4, 32, },
1828
{ 1, 0, 0, 3, 4, 32, },
1829
{ 0, 0, 0, 3, 5, 34, },
1830
{ 2, 0, 0, 3, 5, 32, },
1831
{ 1, 0, 0, 3, 5, 32, },
1832
{ 0, 0, 0, 3, 6, 34, },
1833
{ 2, 0, 0, 3, 6, 32, },
1834
{ 1, 0, 0, 3, 6, 32, },
1835
{ 0, 0, 0, 3, 7, 34, },
1836
{ 2, 0, 0, 3, 7, 32, },
1837
{ 1, 0, 0, 3, 7, 32, },
1838
{ 0, 0, 0, 3, 8, 34, },
1839
{ 2, 0, 0, 3, 8, 32, },
1840
{ 1, 0, 0, 3, 8, 32, },
1841
{ 0, 0, 0, 3, 9, 34, },
1842
{ 2, 0, 0, 3, 9, 32, },
1843
{ 1, 0, 0, 3, 9, 32, },
1844
{ 0, 0, 0, 3, 10, 34, },
1845
{ 2, 0, 0, 3, 10, 32, },
1846
{ 1, 0, 0, 3, 10, 32, },
1847
{ 0, 0, 0, 3, 11, 30, },
1848
{ 2, 0, 0, 3, 11, 32, },
1849
{ 1, 0, 0, 3, 11, 32, },
1850
{ 0, 0, 0, 3, 12, 63, },
1851
{ 2, 0, 0, 3, 12, 32, },
1852
{ 1, 0, 0, 3, 12, 32, },
1853
{ 0, 0, 0, 3, 13, 63, },
1854
{ 2, 0, 0, 3, 13, 32, },
1855
{ 1, 0, 0, 3, 13, 32, },
1856
{ 0, 0, 0, 3, 14, 63, },
1857
{ 2, 0, 0, 3, 14, 63, },
1858
{ 1, 0, 0, 3, 14, 63, },
1859
{ 0, 0, 1, 2, 1, 63, },
1860
{ 2, 0, 1, 2, 1, 63, },
1861
{ 1, 0, 1, 2, 1, 63, },
1862
{ 0, 0, 1, 2, 2, 63, },
1863
{ 2, 0, 1, 2, 2, 63, },
1864
{ 1, 0, 1, 2, 2, 63, },
1865
{ 0, 0, 1, 2, 3, 32, },
1866
{ 2, 0, 1, 2, 3, 32, },
1867
{ 1, 0, 1, 2, 3, 32, },
1868
{ 0, 0, 1, 2, 4, 36, },
1869
{ 2, 0, 1, 2, 4, 32, },
1870
{ 1, 0, 1, 2, 4, 32, },
1871
{ 0, 0, 1, 2, 5, 36, },
1872
{ 2, 0, 1, 2, 5, 32, },
1873
{ 1, 0, 1, 2, 5, 32, },
1874
{ 0, 0, 1, 2, 6, 36, },
1875
{ 2, 0, 1, 2, 6, 32, },
1876
{ 1, 0, 1, 2, 6, 32, },
1877
{ 0, 0, 1, 2, 7, 36, },
1878
{ 2, 0, 1, 2, 7, 32, },
1879
{ 1, 0, 1, 2, 7, 32, },
1880
{ 0, 0, 1, 2, 8, 36, },
1881
{ 2, 0, 1, 2, 8, 32, },
1882
{ 1, 0, 1, 2, 8, 32, },
1883
{ 0, 0, 1, 2, 9, 36, },
1884
{ 2, 0, 1, 2, 9, 32, },
1885
{ 1, 0, 1, 2, 9, 32, },
1886
{ 0, 0, 1, 2, 10, 36, },
1887
{ 2, 0, 1, 2, 10, 32, },
1888
{ 1, 0, 1, 2, 10, 32, },
1889
{ 0, 0, 1, 2, 11, 32, },
1890
{ 2, 0, 1, 2, 11, 32, },
1891
{ 1, 0, 1, 2, 11, 32, },
1892
{ 0, 0, 1, 2, 12, 63, },
1893
{ 2, 0, 1, 2, 12, 32, },
1894
{ 1, 0, 1, 2, 12, 32, },
1895
{ 0, 0, 1, 2, 13, 63, },
1896
{ 2, 0, 1, 2, 13, 32, },
1897
{ 1, 0, 1, 2, 13, 32, },
1898
{ 0, 0, 1, 2, 14, 63, },
1899
{ 2, 0, 1, 2, 14, 63, },
1900
{ 1, 0, 1, 2, 14, 63, },
1901
{ 0, 0, 1, 3, 1, 63, },
1902
{ 2, 0, 1, 3, 1, 63, },
1903
{ 1, 0, 1, 3, 1, 63, },
1904
{ 0, 0, 1, 3, 2, 63, },
1905
{ 2, 0, 1, 3, 2, 63, },
1906
{ 1, 0, 1, 3, 2, 63, },
1907
{ 0, 0, 1, 3, 3, 30, },
1908
{ 2, 0, 1, 3, 3, 30, },
1909
{ 1, 0, 1, 3, 3, 30, },
1910
{ 0, 0, 1, 3, 4, 34, },
1911
{ 2, 0, 1, 3, 4, 30, },
1912
{ 1, 0, 1, 3, 4, 30, },
1913
{ 0, 0, 1, 3, 5, 34, },
1914
{ 2, 0, 1, 3, 5, 30, },
1915
{ 1, 0, 1, 3, 5, 30, },
1916
{ 0, 0, 1, 3, 6, 34, },
1917
{ 2, 0, 1, 3, 6, 30, },
1918
{ 1, 0, 1, 3, 6, 30, },
1919
{ 0, 0, 1, 3, 7, 34, },
1920
{ 2, 0, 1, 3, 7, 30, },
1921
{ 1, 0, 1, 3, 7, 30, },
1922
{ 0, 0, 1, 3, 8, 34, },
1923
{ 2, 0, 1, 3, 8, 30, },
1924
{ 1, 0, 1, 3, 8, 30, },
1925
{ 0, 0, 1, 3, 9, 34, },
1926
{ 2, 0, 1, 3, 9, 30, },
1927
{ 1, 0, 1, 3, 9, 30, },
1928
{ 0, 0, 1, 3, 10, 34, },
1929
{ 2, 0, 1, 3, 10, 30, },
1930
{ 1, 0, 1, 3, 10, 30, },
1931
{ 0, 0, 1, 3, 11, 30, },
1932
{ 2, 0, 1, 3, 11, 30, },
1933
{ 1, 0, 1, 3, 11, 30, },
1934
{ 0, 0, 1, 3, 12, 63, },
1935
{ 2, 0, 1, 3, 12, 32, },
1936
{ 1, 0, 1, 3, 12, 32, },
1937
{ 0, 0, 1, 3, 13, 63, },
1938
{ 2, 0, 1, 3, 13, 32, },
1939
{ 1, 0, 1, 3, 13, 32, },
1940
{ 0, 0, 1, 3, 14, 63, },
1941
{ 2, 0, 1, 3, 14, 63, },
1942
{ 1, 0, 1, 3, 14, 63, },
1943
{ 0, 1, 0, 1, 36, 30, },
1944
{ 2, 1, 0, 1, 36, 32, },
1945
{ 1, 1, 0, 1, 36, 32, },
1946
{ 0, 1, 0, 1, 40, 30, },
1947
{ 2, 1, 0, 1, 40, 32, },
1948
{ 1, 1, 0, 1, 40, 32, },
1949
{ 0, 1, 0, 1, 44, 30, },
1950
{ 2, 1, 0, 1, 44, 32, },
1951
{ 1, 1, 0, 1, 44, 32, },
1952
{ 0, 1, 0, 1, 48, 30, },
1953
{ 2, 1, 0, 1, 48, 32, },
1954
{ 1, 1, 0, 1, 48, 32, },
1955
{ 0, 1, 0, 1, 52, 36, },
1956
{ 2, 1, 0, 1, 52, 32, },
1957
{ 1, 1, 0, 1, 52, 32, },
1958
{ 0, 1, 0, 1, 56, 34, },
1959
{ 2, 1, 0, 1, 56, 32, },
1960
{ 1, 1, 0, 1, 56, 32, },
1961
{ 0, 1, 0, 1, 60, 32, },
1962
{ 2, 1, 0, 1, 60, 32, },
1963
{ 1, 1, 0, 1, 60, 32, },
1964
{ 0, 1, 0, 1, 64, 28, },
1965
{ 2, 1, 0, 1, 64, 32, },
1966
{ 1, 1, 0, 1, 64, 32, },
1967
{ 0, 1, 0, 1, 100, 30, },
1968
{ 2, 1, 0, 1, 100, 32, },
1969
{ 1, 1, 0, 1, 100, 32, },
1970
{ 0, 1, 0, 1, 104, 30, },
1971
{ 2, 1, 0, 1, 104, 32, },
1972
{ 1, 1, 0, 1, 104, 32, },
1973
{ 0, 1, 0, 1, 108, 32, },
1974
{ 2, 1, 0, 1, 108, 32, },
1975
{ 1, 1, 0, 1, 108, 32, },
1976
{ 0, 1, 0, 1, 112, 34, },
1977
{ 2, 1, 0, 1, 112, 32, },
1978
{ 1, 1, 0, 1, 112, 32, },
1979
{ 0, 1, 0, 1, 116, 34, },
1980
{ 2, 1, 0, 1, 116, 32, },
1981
{ 1, 1, 0, 1, 116, 32, },
1982
{ 0, 1, 0, 1, 120, 36, },
1983
{ 2, 1, 0, 1, 120, 32, },
1984
{ 1, 1, 0, 1, 120, 32, },
1985
{ 0, 1, 0, 1, 124, 34, },
1986
{ 2, 1, 0, 1, 124, 32, },
1987
{ 1, 1, 0, 1, 124, 32, },
1988
{ 0, 1, 0, 1, 128, 32, },
1989
{ 2, 1, 0, 1, 128, 32, },
1990
{ 1, 1, 0, 1, 128, 32, },
1991
{ 0, 1, 0, 1, 132, 30, },
1992
{ 2, 1, 0, 1, 132, 32, },
1993
{ 1, 1, 0, 1, 132, 32, },
1994
{ 0, 1, 0, 1, 136, 30, },
1995
{ 2, 1, 0, 1, 136, 32, },
1996
{ 1, 1, 0, 1, 136, 32, },
1997
{ 0, 1, 0, 1, 140, 28, },
1998
{ 2, 1, 0, 1, 140, 32, },
1999
{ 1, 1, 0, 1, 140, 32, },
2000
{ 0, 1, 0, 1, 149, 36, },
2001
{ 2, 1, 0, 1, 149, 32, },
2002
{ 1, 1, 0, 1, 149, 63, },
2003
{ 0, 1, 0, 1, 153, 36, },
2004
{ 2, 1, 0, 1, 153, 32, },
2005
{ 1, 1, 0, 1, 153, 63, },
2006
{ 0, 1, 0, 1, 157, 36, },
2007
{ 2, 1, 0, 1, 157, 32, },
2008
{ 1, 1, 0, 1, 157, 63, },
2009
{ 0, 1, 0, 1, 161, 36, },
2010
{ 2, 1, 0, 1, 161, 32, },
2011
{ 1, 1, 0, 1, 161, 63, },
2012
{ 0, 1, 0, 1, 165, 36, },
2013
{ 2, 1, 0, 1, 165, 32, },
2014
{ 1, 1, 0, 1, 165, 63, },
2015
{ 0, 1, 0, 2, 36, 30, },
2016
{ 2, 1, 0, 2, 36, 32, },
2017
{ 1, 1, 0, 2, 36, 32, },
2018
{ 0, 1, 0, 2, 40, 30, },
2019
{ 2, 1, 0, 2, 40, 32, },
2020
{ 1, 1, 0, 2, 40, 32, },
2021
{ 0, 1, 0, 2, 44, 30, },
2022
{ 2, 1, 0, 2, 44, 32, },
2023
{ 1, 1, 0, 2, 44, 32, },
2024
{ 0, 1, 0, 2, 48, 30, },
2025
{ 2, 1, 0, 2, 48, 32, },
2026
{ 1, 1, 0, 2, 48, 32, },
2027
{ 0, 1, 0, 2, 52, 36, },
2028
{ 2, 1, 0, 2, 52, 32, },
2029
{ 1, 1, 0, 2, 52, 32, },
2030
{ 0, 1, 0, 2, 56, 34, },
2031
{ 2, 1, 0, 2, 56, 32, },
2032
{ 1, 1, 0, 2, 56, 32, },
2033
{ 0, 1, 0, 2, 60, 32, },
2034
{ 2, 1, 0, 2, 60, 32, },
2035
{ 1, 1, 0, 2, 60, 32, },
2036
{ 0, 1, 0, 2, 64, 28, },
2037
{ 2, 1, 0, 2, 64, 32, },
2038
{ 1, 1, 0, 2, 64, 32, },
2039
{ 0, 1, 0, 2, 100, 30, },
2040
{ 2, 1, 0, 2, 100, 32, },
2041
{ 1, 1, 0, 2, 100, 32, },
2042
{ 0, 1, 0, 2, 104, 30, },
2043
{ 2, 1, 0, 2, 104, 32, },
2044
{ 1, 1, 0, 2, 104, 32, },
2045
{ 0, 1, 0, 2, 108, 32, },
2046
{ 2, 1, 0, 2, 108, 32, },
2047
{ 1, 1, 0, 2, 108, 32, },
2048
{ 0, 1, 0, 2, 112, 34, },
2049
{ 2, 1, 0, 2, 112, 32, },
2050
{ 1, 1, 0, 2, 112, 32, },
2051
{ 0, 1, 0, 2, 116, 34, },
2052
{ 2, 1, 0, 2, 116, 32, },
2053
{ 1, 1, 0, 2, 116, 32, },
2054
{ 0, 1, 0, 2, 120, 36, },
2055
{ 2, 1, 0, 2, 120, 32, },
2056
{ 1, 1, 0, 2, 120, 32, },
2057
{ 0, 1, 0, 2, 124, 34, },
2058
{ 2, 1, 0, 2, 124, 32, },
2059
{ 1, 1, 0, 2, 124, 32, },
2060
{ 0, 1, 0, 2, 128, 32, },
2061
{ 2, 1, 0, 2, 128, 32, },
2062
{ 1, 1, 0, 2, 128, 32, },
2063
{ 0, 1, 0, 2, 132, 30, },
2064
{ 2, 1, 0, 2, 132, 32, },
2065
{ 1, 1, 0, 2, 132, 32, },
2066
{ 0, 1, 0, 2, 136, 30, },
2067
{ 2, 1, 0, 2, 136, 32, },
2068
{ 1, 1, 0, 2, 136, 32, },
2069
{ 0, 1, 0, 2, 140, 28, },
2070
{ 2, 1, 0, 2, 140, 32, },
2071
{ 1, 1, 0, 2, 140, 32, },
2072
{ 0, 1, 0, 2, 149, 36, },
2073
{ 2, 1, 0, 2, 149, 32, },
2074
{ 1, 1, 0, 2, 149, 63, },
2075
{ 0, 1, 0, 2, 153, 36, },
2076
{ 2, 1, 0, 2, 153, 32, },
2077
{ 1, 1, 0, 2, 153, 63, },
2078
{ 0, 1, 0, 2, 157, 36, },
2079
{ 2, 1, 0, 2, 157, 32, },
2080
{ 1, 1, 0, 2, 157, 63, },
2081
{ 0, 1, 0, 2, 161, 36, },
2082
{ 2, 1, 0, 2, 161, 32, },
2083
{ 1, 1, 0, 2, 161, 63, },
2084
{ 0, 1, 0, 2, 165, 36, },
2085
{ 2, 1, 0, 2, 165, 32, },
2086
{ 1, 1, 0, 2, 165, 63, },
2087
{ 0, 1, 0, 3, 36, 28, },
2088
{ 2, 1, 0, 3, 36, 30, },
2089
{ 1, 1, 0, 3, 36, 30, },
2090
{ 0, 1, 0, 3, 40, 28, },
2091
{ 2, 1, 0, 3, 40, 30, },
2092
{ 1, 1, 0, 3, 40, 30, },
2093
{ 0, 1, 0, 3, 44, 28, },
2094
{ 2, 1, 0, 3, 44, 30, },
2095
{ 1, 1, 0, 3, 44, 30, },
2096
{ 0, 1, 0, 3, 48, 28, },
2097
{ 2, 1, 0, 3, 48, 30, },
2098
{ 1, 1, 0, 3, 48, 30, },
2099
{ 0, 1, 0, 3, 52, 34, },
2100
{ 2, 1, 0, 3, 52, 30, },
2101
{ 1, 1, 0, 3, 52, 30, },
2102
{ 0, 1, 0, 3, 56, 32, },
2103
{ 2, 1, 0, 3, 56, 30, },
2104
{ 1, 1, 0, 3, 56, 30, },
2105
{ 0, 1, 0, 3, 60, 30, },
2106
{ 2, 1, 0, 3, 60, 30, },
2107
{ 1, 1, 0, 3, 60, 30, },
2108
{ 0, 1, 0, 3, 64, 26, },
2109
{ 2, 1, 0, 3, 64, 30, },
2110
{ 1, 1, 0, 3, 64, 30, },
2111
{ 0, 1, 0, 3, 100, 28, },
2112
{ 2, 1, 0, 3, 100, 30, },
2113
{ 1, 1, 0, 3, 100, 30, },
2114
{ 0, 1, 0, 3, 104, 28, },
2115
{ 2, 1, 0, 3, 104, 30, },
2116
{ 1, 1, 0, 3, 104, 30, },
2117
{ 0, 1, 0, 3, 108, 30, },
2118
{ 2, 1, 0, 3, 108, 30, },
2119
{ 1, 1, 0, 3, 108, 30, },
2120
{ 0, 1, 0, 3, 112, 32, },
2121
{ 2, 1, 0, 3, 112, 30, },
2122
{ 1, 1, 0, 3, 112, 30, },
2123
{ 0, 1, 0, 3, 116, 32, },
2124
{ 2, 1, 0, 3, 116, 30, },
2125
{ 1, 1, 0, 3, 116, 30, },
2126
{ 0, 1, 0, 3, 120, 34, },
2127
{ 2, 1, 0, 3, 120, 30, },
2128
{ 1, 1, 0, 3, 120, 30, },
2129
{ 0, 1, 0, 3, 124, 32, },
2130
{ 2, 1, 0, 3, 124, 30, },
2131
{ 1, 1, 0, 3, 124, 30, },
2132
{ 0, 1, 0, 3, 128, 30, },
2133
{ 2, 1, 0, 3, 128, 30, },
2134
{ 1, 1, 0, 3, 128, 30, },
2135
{ 0, 1, 0, 3, 132, 28, },
2136
{ 2, 1, 0, 3, 132, 30, },
2137
{ 1, 1, 0, 3, 132, 30, },
2138
{ 0, 1, 0, 3, 136, 28, },
2139
{ 2, 1, 0, 3, 136, 30, },
2140
{ 1, 1, 0, 3, 136, 30, },
2141
{ 0, 1, 0, 3, 140, 26, },
2142
{ 2, 1, 0, 3, 140, 30, },
2143
{ 1, 1, 0, 3, 140, 30, },
2144
{ 0, 1, 0, 3, 149, 34, },
2145
{ 2, 1, 0, 3, 149, 30, },
2146
{ 1, 1, 0, 3, 149, 63, },
2147
{ 0, 1, 0, 3, 153, 34, },
2148
{ 2, 1, 0, 3, 153, 30, },
2149
{ 1, 1, 0, 3, 153, 63, },
2150
{ 0, 1, 0, 3, 157, 34, },
2151
{ 2, 1, 0, 3, 157, 30, },
2152
{ 1, 1, 0, 3, 157, 63, },
2153
{ 0, 1, 0, 3, 161, 34, },
2154
{ 2, 1, 0, 3, 161, 30, },
2155
{ 1, 1, 0, 3, 161, 63, },
2156
{ 0, 1, 0, 3, 165, 34, },
2157
{ 2, 1, 0, 3, 165, 30, },
2158
{ 1, 1, 0, 3, 165, 63, },
2159
{ 0, 1, 1, 2, 38, 30, },
2160
{ 2, 1, 1, 2, 38, 32, },
2161
{ 1, 1, 1, 2, 38, 32, },
2162
{ 0, 1, 1, 2, 46, 30, },
2163
{ 2, 1, 1, 2, 46, 32, },
2164
{ 1, 1, 1, 2, 46, 32, },
2165
{ 0, 1, 1, 2, 54, 32, },
2166
{ 2, 1, 1, 2, 54, 32, },
2167
{ 1, 1, 1, 2, 54, 32, },
2168
{ 0, 1, 1, 2, 62, 32, },
2169
{ 2, 1, 1, 2, 62, 32, },
2170
{ 1, 1, 1, 2, 62, 32, },
2171
{ 0, 1, 1, 2, 102, 28, },
2172
{ 2, 1, 1, 2, 102, 32, },
2173
{ 1, 1, 1, 2, 102, 32, },
2174
{ 0, 1, 1, 2, 110, 32, },
2175
{ 2, 1, 1, 2, 110, 32, },
2176
{ 1, 1, 1, 2, 110, 32, },
2177
{ 0, 1, 1, 2, 118, 36, },
2178
{ 2, 1, 1, 2, 118, 32, },
2179
{ 1, 1, 1, 2, 118, 32, },
2180
{ 0, 1, 1, 2, 126, 34, },
2181
{ 2, 1, 1, 2, 126, 32, },
2182
{ 1, 1, 1, 2, 126, 32, },
2183
{ 0, 1, 1, 2, 134, 32, },
2184
{ 2, 1, 1, 2, 134, 32, },
2185
{ 1, 1, 1, 2, 134, 32, },
2186
{ 0, 1, 1, 2, 151, 36, },
2187
{ 2, 1, 1, 2, 151, 32, },
2188
{ 1, 1, 1, 2, 151, 63, },
2189
{ 0, 1, 1, 2, 159, 36, },
2190
{ 2, 1, 1, 2, 159, 32, },
2191
{ 1, 1, 1, 2, 159, 63, },
2192
{ 0, 1, 1, 3, 38, 28, },
2193
{ 2, 1, 1, 3, 38, 30, },
2194
{ 1, 1, 1, 3, 38, 30, },
2195
{ 0, 1, 1, 3, 46, 28, },
2196
{ 2, 1, 1, 3, 46, 30, },
2197
{ 1, 1, 1, 3, 46, 30, },
2198
{ 0, 1, 1, 3, 54, 30, },
2199
{ 2, 1, 1, 3, 54, 30, },
2200
{ 1, 1, 1, 3, 54, 30, },
2201
{ 0, 1, 1, 3, 62, 30, },
2202
{ 2, 1, 1, 3, 62, 30, },
2203
{ 1, 1, 1, 3, 62, 30, },
2204
{ 0, 1, 1, 3, 102, 26, },
2205
{ 2, 1, 1, 3, 102, 30, },
2206
{ 1, 1, 1, 3, 102, 30, },
2207
{ 0, 1, 1, 3, 110, 30, },
2208
{ 2, 1, 1, 3, 110, 30, },
2209
{ 1, 1, 1, 3, 110, 30, },
2210
{ 0, 1, 1, 3, 118, 34, },
2211
{ 2, 1, 1, 3, 118, 30, },
2212
{ 1, 1, 1, 3, 118, 30, },
2213
{ 0, 1, 1, 3, 126, 32, },
2214
{ 2, 1, 1, 3, 126, 30, },
2215
{ 1, 1, 1, 3, 126, 30, },
2216
{ 0, 1, 1, 3, 134, 30, },
2217
{ 2, 1, 1, 3, 134, 30, },
2218
{ 1, 1, 1, 3, 134, 30, },
2219
{ 0, 1, 1, 3, 151, 34, },
2220
{ 2, 1, 1, 3, 151, 30, },
2221
{ 1, 1, 1, 3, 151, 63, },
2222
{ 0, 1, 1, 3, 159, 34, },
2223
{ 2, 1, 1, 3, 159, 30, },
2224
{ 1, 1, 1, 3, 159, 63, },
2225
{ 0, 1, 2, 4, 42, 30, },
2226
{ 2, 1, 2, 4, 42, 32, },
2227
{ 1, 1, 2, 4, 42, 32, },
2228
{ 0, 1, 2, 4, 58, 28, },
2229
{ 2, 1, 2, 4, 58, 32, },
2230
{ 1, 1, 2, 4, 58, 32, },
2231
{ 0, 1, 2, 4, 106, 30, },
2232
{ 2, 1, 2, 4, 106, 32, },
2233
{ 1, 1, 2, 4, 106, 32, },
2234
{ 0, 1, 2, 4, 122, 34, },
2235
{ 2, 1, 2, 4, 122, 32, },
2236
{ 1, 1, 2, 4, 122, 32, },
2237
{ 0, 1, 2, 4, 155, 36, },
2238
{ 2, 1, 2, 4, 155, 32, },
2239
{ 1, 1, 2, 4, 155, 63, },
2240
{ 0, 1, 2, 5, 42, 28, },
2241
{ 2, 1, 2, 5, 42, 30, },
2242
{ 1, 1, 2, 5, 42, 30, },
2243
{ 0, 1, 2, 5, 58, 26, },
2244
{ 2, 1, 2, 5, 58, 30, },
2245
{ 1, 1, 2, 5, 58, 30, },
2246
{ 0, 1, 2, 5, 106, 28, },
2247
{ 2, 1, 2, 5, 106, 30, },
2248
{ 1, 1, 2, 5, 106, 30, },
2249
{ 0, 1, 2, 5, 122, 32, },
2250
{ 2, 1, 2, 5, 122, 30, },
2251
{ 1, 1, 2, 5, 122, 30, },
2252
{ 0, 1, 2, 5, 155, 34, },
2253
{ 2, 1, 2, 5, 155, 30, },
2254
{ 1, 1, 2, 5, 155, 63, },
2255
};
2256
2257
RTW_DECL_TABLE_TXPWR_LMT(rtw8812a_txpwr_lmt);
2258
2259
static const struct rtw_pwr_seq_cmd trans_carddis_to_cardemu_8812a[] = {
2260
{0x0012,
2261
RTW_PWR_CUT_ALL_MSK,
2262
RTW_PWR_INTF_ALL_MSK,
2263
RTW_PWR_ADDR_MAC,
2264
RTW_PWR_CMD_WRITE, BIT(0), BIT(0)},
2265
{0x0014,
2266
RTW_PWR_CUT_ALL_MSK,
2267
RTW_PWR_INTF_ALL_MSK,
2268
RTW_PWR_ADDR_MAC,
2269
RTW_PWR_CMD_WRITE, 0x80, 0},
2270
{0x0015,
2271
RTW_PWR_CUT_ALL_MSK,
2272
RTW_PWR_INTF_ALL_MSK,
2273
RTW_PWR_ADDR_MAC,
2274
RTW_PWR_CMD_WRITE, 0x01, 0},
2275
{0x0023,
2276
RTW_PWR_CUT_ALL_MSK,
2277
RTW_PWR_INTF_ALL_MSK,
2278
RTW_PWR_ADDR_MAC,
2279
RTW_PWR_CMD_WRITE, 0x10, 0},
2280
{0x0046,
2281
RTW_PWR_CUT_ALL_MSK,
2282
RTW_PWR_INTF_ALL_MSK,
2283
RTW_PWR_ADDR_MAC,
2284
RTW_PWR_CMD_WRITE, 0xFF, 0x00},
2285
{0x0043,
2286
RTW_PWR_CUT_ALL_MSK,
2287
RTW_PWR_INTF_ALL_MSK,
2288
RTW_PWR_ADDR_MAC,
2289
RTW_PWR_CMD_WRITE, 0xFF, 0x00},
2290
{0x0005,
2291
RTW_PWR_CUT_ALL_MSK,
2292
RTW_PWR_INTF_PCI_MSK,
2293
RTW_PWR_ADDR_MAC,
2294
RTW_PWR_CMD_WRITE, BIT(2), 0},
2295
{0x0005,
2296
RTW_PWR_CUT_ALL_MSK,
2297
RTW_PWR_INTF_ALL_MSK,
2298
RTW_PWR_ADDR_MAC,
2299
RTW_PWR_CMD_WRITE, BIT(3), 0},
2300
{0x0003,
2301
RTW_PWR_CUT_ALL_MSK,
2302
RTW_PWR_INTF_ALL_MSK,
2303
RTW_PWR_ADDR_MAC,
2304
RTW_PWR_CMD_WRITE, BIT(2), BIT(2)},
2305
{0x0301,
2306
RTW_PWR_CUT_ALL_MSK,
2307
RTW_PWR_INTF_PCI_MSK,
2308
RTW_PWR_ADDR_MAC,
2309
RTW_PWR_CMD_WRITE, 0xFF, 0},
2310
{0x0024,
2311
RTW_PWR_CUT_ALL_MSK,
2312
RTW_PWR_INTF_USB_MSK,
2313
RTW_PWR_ADDR_MAC,
2314
RTW_PWR_CMD_WRITE, BIT(1), BIT(1)},
2315
{0x0028,
2316
RTW_PWR_CUT_ALL_MSK,
2317
RTW_PWR_INTF_USB_MSK,
2318
RTW_PWR_ADDR_MAC,
2319
RTW_PWR_CMD_WRITE, BIT(3), BIT(3)},
2320
{0xFFFF,
2321
RTW_PWR_CUT_ALL_MSK,
2322
RTW_PWR_INTF_ALL_MSK,
2323
0,
2324
RTW_PWR_CMD_END, 0, 0},
2325
};
2326
2327
static const struct rtw_pwr_seq_cmd trans_cardemu_to_act_8812a[] = {
2328
{0x0005,
2329
RTW_PWR_CUT_ALL_MSK,
2330
RTW_PWR_INTF_ALL_MSK,
2331
RTW_PWR_ADDR_MAC,
2332
RTW_PWR_CMD_WRITE, BIT(2), 0},
2333
{0x0006,
2334
RTW_PWR_CUT_ALL_MSK,
2335
RTW_PWR_INTF_ALL_MSK,
2336
RTW_PWR_ADDR_MAC,
2337
RTW_PWR_CMD_POLLING, BIT(1), BIT(1)},
2338
{0x0005,
2339
RTW_PWR_CUT_ALL_MSK,
2340
RTW_PWR_INTF_PCI_MSK,
2341
RTW_PWR_ADDR_MAC,
2342
RTW_PWR_CMD_WRITE, BIT(7), 0},
2343
{0x0005,
2344
RTW_PWR_CUT_ALL_MSK,
2345
RTW_PWR_INTF_ALL_MSK,
2346
RTW_PWR_ADDR_MAC,
2347
RTW_PWR_CMD_WRITE, BIT(3), 0},
2348
{0x0005,
2349
RTW_PWR_CUT_ALL_MSK,
2350
RTW_PWR_INTF_ALL_MSK,
2351
RTW_PWR_ADDR_MAC,
2352
RTW_PWR_CMD_WRITE, BIT(0), BIT(0)},
2353
{0x0005,
2354
RTW_PWR_CUT_ALL_MSK,
2355
RTW_PWR_INTF_ALL_MSK,
2356
RTW_PWR_ADDR_MAC,
2357
RTW_PWR_CMD_POLLING, BIT(0), 0},
2358
{0x0024,
2359
RTW_PWR_CUT_ALL_MSK,
2360
RTW_PWR_INTF_USB_MSK,
2361
RTW_PWR_ADDR_MAC,
2362
RTW_PWR_CMD_WRITE, BIT(1), 0},
2363
{0x0028,
2364
RTW_PWR_CUT_ALL_MSK,
2365
RTW_PWR_INTF_USB_MSK,
2366
RTW_PWR_ADDR_MAC,
2367
RTW_PWR_CMD_WRITE, BIT(3), 0},
2368
{0xFFFF,
2369
RTW_PWR_CUT_ALL_MSK,
2370
RTW_PWR_INTF_ALL_MSK,
2371
0,
2372
RTW_PWR_CMD_END, 0, 0},
2373
};
2374
2375
static const struct rtw_pwr_seq_cmd trans_act_to_lps_8812a[] = {
2376
{0x0301,
2377
RTW_PWR_CUT_ALL_MSK,
2378
RTW_PWR_INTF_PCI_MSK,
2379
RTW_PWR_ADDR_MAC,
2380
RTW_PWR_CMD_WRITE, 0xFF, 0xFF},
2381
{0x0522,
2382
RTW_PWR_CUT_ALL_MSK,
2383
RTW_PWR_INTF_ALL_MSK,
2384
RTW_PWR_ADDR_MAC,
2385
RTW_PWR_CMD_WRITE, 0xFF, 0x7F},
2386
{0x05F8,
2387
RTW_PWR_CUT_ALL_MSK,
2388
RTW_PWR_INTF_ALL_MSK,
2389
RTW_PWR_ADDR_MAC,
2390
RTW_PWR_CMD_POLLING, 0xFF, 0},
2391
{0x05F9,
2392
RTW_PWR_CUT_ALL_MSK,
2393
RTW_PWR_INTF_ALL_MSK,
2394
RTW_PWR_ADDR_MAC,
2395
RTW_PWR_CMD_POLLING, 0xFF, 0},
2396
{0x05FA,
2397
RTW_PWR_CUT_ALL_MSK,
2398
RTW_PWR_INTF_ALL_MSK,
2399
RTW_PWR_ADDR_MAC,
2400
RTW_PWR_CMD_POLLING, 0xFF, 0},
2401
{0x05FB,
2402
RTW_PWR_CUT_ALL_MSK,
2403
RTW_PWR_INTF_ALL_MSK,
2404
RTW_PWR_ADDR_MAC,
2405
RTW_PWR_CMD_POLLING, 0xFF, 0},
2406
{0x0c00,
2407
RTW_PWR_CUT_ALL_MSK,
2408
RTW_PWR_INTF_ALL_MSK,
2409
RTW_PWR_ADDR_MAC,
2410
RTW_PWR_CMD_WRITE, 0xFF, 0x04},
2411
{0x0e00,
2412
RTW_PWR_CUT_ALL_MSK,
2413
RTW_PWR_INTF_ALL_MSK,
2414
RTW_PWR_ADDR_MAC,
2415
RTW_PWR_CMD_WRITE, 0xFF, 0x04},
2416
{0x0002,
2417
RTW_PWR_CUT_ALL_MSK,
2418
RTW_PWR_INTF_ALL_MSK,
2419
RTW_PWR_ADDR_MAC,
2420
RTW_PWR_CMD_WRITE, BIT(0), 0},
2421
{0x0002,
2422
RTW_PWR_CUT_ALL_MSK,
2423
RTW_PWR_INTF_ALL_MSK,
2424
RTW_PWR_ADDR_MAC,
2425
RTW_PWR_CMD_DELAY, 0, RTW_PWR_DELAY_US},
2426
{0x0002,
2427
RTW_PWR_CUT_ALL_MSK,
2428
RTW_PWR_INTF_USB_MSK,
2429
RTW_PWR_ADDR_MAC,
2430
RTW_PWR_CMD_WRITE, BIT(1), 0},
2431
{0x0100,
2432
RTW_PWR_CUT_ALL_MSK,
2433
RTW_PWR_INTF_ALL_MSK,
2434
RTW_PWR_ADDR_MAC,
2435
RTW_PWR_CMD_WRITE, 0xFF, 0x03},
2436
{0x0101,
2437
RTW_PWR_CUT_ALL_MSK,
2438
RTW_PWR_INTF_ALL_MSK,
2439
RTW_PWR_ADDR_MAC,
2440
RTW_PWR_CMD_WRITE, BIT(1), 0},
2441
{0x0553,
2442
RTW_PWR_CUT_ALL_MSK,
2443
RTW_PWR_INTF_ALL_MSK,
2444
RTW_PWR_ADDR_MAC,
2445
RTW_PWR_CMD_WRITE, BIT(5), BIT(5)},
2446
{0xFFFF,
2447
RTW_PWR_CUT_ALL_MSK,
2448
RTW_PWR_INTF_ALL_MSK,
2449
0,
2450
RTW_PWR_CMD_END, 0, 0},
2451
};
2452
2453
static const struct rtw_pwr_seq_cmd trans_act_to_cardemu_8812a[] = {
2454
{0x0c00,
2455
RTW_PWR_CUT_ALL_MSK,
2456
RTW_PWR_INTF_ALL_MSK,
2457
RTW_PWR_ADDR_MAC,
2458
RTW_PWR_CMD_WRITE, 0xFF, 0x04},
2459
{0x0e00,
2460
RTW_PWR_CUT_ALL_MSK,
2461
RTW_PWR_INTF_ALL_MSK,
2462
RTW_PWR_ADDR_MAC,
2463
RTW_PWR_CMD_WRITE, 0xFF, 0x04},
2464
{0x0002,
2465
RTW_PWR_CUT_ALL_MSK,
2466
RTW_PWR_INTF_ALL_MSK,
2467
RTW_PWR_ADDR_MAC,
2468
RTW_PWR_CMD_WRITE, BIT(0), 0},
2469
{0x0002,
2470
RTW_PWR_CUT_ALL_MSK,
2471
RTW_PWR_INTF_ALL_MSK,
2472
RTW_PWR_ADDR_MAC,
2473
RTW_PWR_CMD_DELAY, 0, RTW_PWR_DELAY_US},
2474
{0x0002,
2475
RTW_PWR_CUT_ALL_MSK,
2476
RTW_PWR_INTF_PCI_MSK,
2477
RTW_PWR_ADDR_MAC,
2478
RTW_PWR_CMD_WRITE, BIT(1), 0},
2479
{0x0007,
2480
RTW_PWR_CUT_ALL_MSK,
2481
RTW_PWR_INTF_ALL_MSK,
2482
RTW_PWR_ADDR_MAC,
2483
RTW_PWR_CMD_WRITE, 0xFF, 0x2A},
2484
{0x0008,
2485
RTW_PWR_CUT_ALL_MSK,
2486
RTW_PWR_INTF_USB_MSK,
2487
RTW_PWR_ADDR_MAC,
2488
RTW_PWR_CMD_WRITE, 0x02, 0},
2489
{0x0005,
2490
RTW_PWR_CUT_ALL_MSK,
2491
RTW_PWR_INTF_ALL_MSK,
2492
RTW_PWR_ADDR_MAC,
2493
RTW_PWR_CMD_WRITE, BIT(1), BIT(1)},
2494
{0x0005,
2495
RTW_PWR_CUT_ALL_MSK,
2496
RTW_PWR_INTF_ALL_MSK,
2497
RTW_PWR_ADDR_MAC,
2498
RTW_PWR_CMD_POLLING, BIT(1), 0},
2499
{0xFFFF,
2500
RTW_PWR_CUT_ALL_MSK,
2501
RTW_PWR_INTF_ALL_MSK,
2502
0,
2503
RTW_PWR_CMD_END, 0, 0},
2504
};
2505
2506
static const struct rtw_pwr_seq_cmd trans_cardemu_to_carddis_8812a[] = {
2507
{0x0003,
2508
RTW_PWR_CUT_ALL_MSK,
2509
RTW_PWR_INTF_ALL_MSK,
2510
RTW_PWR_ADDR_MAC,
2511
RTW_PWR_CMD_WRITE, BIT(2), 0},
2512
{0x0080,
2513
RTW_PWR_CUT_ALL_MSK,
2514
RTW_PWR_INTF_ALL_MSK,
2515
RTW_PWR_ADDR_MAC,
2516
RTW_PWR_CMD_WRITE, 0xFF, 0x05},
2517
{0x0042,
2518
RTW_PWR_CUT_ALL_MSK,
2519
RTW_PWR_INTF_USB_MSK,
2520
RTW_PWR_ADDR_MAC,
2521
RTW_PWR_CMD_WRITE, 0xF0, 0xcc},
2522
{0x0042,
2523
RTW_PWR_CUT_ALL_MSK,
2524
RTW_PWR_INTF_PCI_MSK,
2525
RTW_PWR_ADDR_MAC,
2526
RTW_PWR_CMD_WRITE, 0xF0, 0xEC},
2527
{0x0043,
2528
RTW_PWR_CUT_ALL_MSK,
2529
RTW_PWR_INTF_ALL_MSK,
2530
RTW_PWR_ADDR_MAC,
2531
RTW_PWR_CMD_WRITE, 0xFF, 0x07},
2532
{0x0045,
2533
RTW_PWR_CUT_ALL_MSK,
2534
RTW_PWR_INTF_ALL_MSK,
2535
RTW_PWR_ADDR_MAC,
2536
RTW_PWR_CMD_WRITE, 0xFF, 0x00},
2537
{0x0046,
2538
RTW_PWR_CUT_ALL_MSK,
2539
RTW_PWR_INTF_ALL_MSK,
2540
RTW_PWR_ADDR_MAC,
2541
RTW_PWR_CMD_WRITE, 0xFF, 0xff},
2542
{0x0047,
2543
RTW_PWR_CUT_ALL_MSK,
2544
RTW_PWR_INTF_ALL_MSK,
2545
RTW_PWR_ADDR_MAC,
2546
RTW_PWR_CMD_WRITE, 0xFF, 0},
2547
{0x0014,
2548
RTW_PWR_CUT_ALL_MSK,
2549
RTW_PWR_INTF_ALL_MSK,
2550
RTW_PWR_ADDR_MAC,
2551
RTW_PWR_CMD_WRITE, 0x80, BIT(7)},
2552
{0x0015,
2553
RTW_PWR_CUT_ALL_MSK,
2554
RTW_PWR_INTF_ALL_MSK,
2555
RTW_PWR_ADDR_MAC,
2556
RTW_PWR_CMD_WRITE, 0x01, BIT(0)},
2557
{0x0012,
2558
RTW_PWR_CUT_ALL_MSK,
2559
RTW_PWR_INTF_ALL_MSK,
2560
RTW_PWR_ADDR_MAC,
2561
RTW_PWR_CMD_WRITE, 0x01, 0},
2562
{0x0023,
2563
RTW_PWR_CUT_ALL_MSK,
2564
RTW_PWR_INTF_ALL_MSK,
2565
RTW_PWR_ADDR_MAC,
2566
RTW_PWR_CMD_WRITE, 0x10, BIT(4)},
2567
{0x0008,
2568
RTW_PWR_CUT_ALL_MSK,
2569
RTW_PWR_INTF_USB_MSK,
2570
RTW_PWR_ADDR_MAC,
2571
RTW_PWR_CMD_WRITE, 0x02, 0},
2572
{0x0007,
2573
RTW_PWR_CUT_ALL_MSK,
2574
RTW_PWR_INTF_USB_MSK,
2575
RTW_PWR_ADDR_MAC,
2576
RTW_PWR_CMD_WRITE, 0xFF, 0x20},
2577
{0x001f,
2578
RTW_PWR_CUT_ALL_MSK,
2579
RTW_PWR_INTF_USB_MSK,
2580
RTW_PWR_ADDR_MAC,
2581
RTW_PWR_CMD_WRITE, BIT(1), 0},
2582
{0x0076,
2583
RTW_PWR_CUT_ALL_MSK,
2584
RTW_PWR_INTF_USB_MSK,
2585
RTW_PWR_ADDR_MAC,
2586
RTW_PWR_CMD_WRITE, BIT(1), 0},
2587
{0x0005,
2588
RTW_PWR_CUT_ALL_MSK,
2589
RTW_PWR_INTF_ALL_MSK,
2590
RTW_PWR_ADDR_MAC,
2591
RTW_PWR_CMD_WRITE, BIT(3), BIT(3)},
2592
{0xFFFF,
2593
RTW_PWR_CUT_ALL_MSK,
2594
RTW_PWR_INTF_ALL_MSK,
2595
0,
2596
RTW_PWR_CMD_END, 0, 0},
2597
};
2598
2599
const struct rtw_pwr_seq_cmd * const card_enable_flow_8812a[] = {
2600
trans_carddis_to_cardemu_8812a,
2601
trans_cardemu_to_act_8812a,
2602
NULL
2603
};
2604
2605
const struct rtw_pwr_seq_cmd * const enter_lps_flow_8812a[] = {
2606
trans_act_to_lps_8812a,
2607
NULL
2608
};
2609
2610
const struct rtw_pwr_seq_cmd * const card_disable_flow_8812a[] = {
2611
trans_act_to_cardemu_8812a,
2612
trans_cardemu_to_carddis_8812a,
2613
NULL
2614
};
2615
2616
static const u8 rtw8812a_pwrtrk_5gb_n[][RTW_PWR_TRK_TBL_SZ] = {
2617
{0, 1, 1, 2, 2, 3, 4, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12,
2618
12, 13, 13, 14, 14, 14, 14, 14, 14},
2619
{0, 1, 1, 2, 2, 3, 4, 4, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12,
2620
12, 13, 13, 14, 14, 14, 14, 14, 14},
2621
{0, 1, 1, 2, 2, 3, 4, 5, 6, 6, 7, 8, 8, 9, 10, 10, 11, 11, 12, 12, 13,
2622
13, 14, 14, 15, 16, 16, 16, 16, 16},
2623
};
2624
2625
static const u8 rtw8812a_pwrtrk_5gb_p[][RTW_PWR_TRK_TBL_SZ] = {
2626
{0, 1, 1, 2, 2, 3, 3, 4, 5, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 11,
2627
11, 11, 11, 11, 11, 11, 11, 11, 11},
2628
{0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 11,
2629
11, 11, 11, 11, 11, 11, 11, 11, 11},
2630
{0, 1, 1, 2, 3, 3, 4, 5, 6, 7, 7, 8, 8, 9, 9, 10, 11, 11, 11, 11, 11,
2631
11, 11, 11, 11, 11, 11, 11, 11, 11},
2632
};
2633
2634
static const u8 rtw8812a_pwrtrk_5ga_n[][RTW_PWR_TRK_TBL_SZ] = {
2635
{0, 1, 1, 2, 2, 3, 4, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12,
2636
12, 13, 13, 14, 15, 15, 15, 15, 15},
2637
{0, 1, 1, 2, 2, 3, 4, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12,
2638
12, 13, 13, 14, 15, 15, 15, 15, 15},
2639
{0, 1, 1, 2, 2, 3, 4, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12,
2640
12, 13, 13, 14, 15, 15, 15, 15, 15},
2641
};
2642
2643
static const u8 rtw8812a_pwrtrk_5ga_p[][RTW_PWR_TRK_TBL_SZ] = {
2644
{0, 1, 1, 2, 2, 3, 4, 5, 6, 7, 7, 8, 8, 9, 10, 11, 11, 11, 11, 11, 11,
2645
11, 11, 11, 11, 11, 11, 11, 11, 11},
2646
{0, 1, 1, 2, 3, 3, 4, 5, 6, 7, 7, 8, 8, 9, 10, 11, 11, 11, 11, 11, 11,
2647
11, 11, 11, 11, 11, 11, 11, 11, 11},
2648
{0, 1, 1, 2, 3, 3, 4, 5, 6, 7, 7, 8, 8, 9, 10, 11, 11, 12, 12, 11, 11,
2649
11, 11, 11, 11, 11, 11, 11, 11, 11},
2650
};
2651
2652
static const u8 rtw8812a_pwrtrk_2gb_n[] = {
2653
0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 6, 6,
2654
7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 11, 11
2655
};
2656
2657
static const u8 rtw8812a_pwrtrk_2gb_p[] = {
2658
0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6,
2659
6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7
2660
};
2661
2662
static const u8 rtw8812a_pwrtrk_2ga_n[] = {
2663
0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6,
2664
6, 6, 7, 7, 7, 8, 8, 9, 10, 10, 10, 10, 10, 10
2665
};
2666
2667
static const u8 rtw8812a_pwrtrk_2ga_p[] = {
2668
0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6,
2669
6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7
2670
};
2671
2672
static const u8 rtw8812a_pwrtrk_2g_cck_b_n[] = {
2673
0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 6, 6,
2674
7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 11, 11
2675
};
2676
2677
static const u8 rtw8812a_pwrtrk_2g_cck_b_p[] = {
2678
0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6,
2679
6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7
2680
};
2681
2682
static const u8 rtw8812a_pwrtrk_2g_cck_a_n[] = {
2683
0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6,
2684
6, 6, 7, 7, 7, 8, 8, 9, 10, 10, 10, 10, 10, 10
2685
};
2686
2687
static const u8 rtw8812a_pwrtrk_2g_cck_a_p[] = {
2688
0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6,
2689
6, 6, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7
2690
};
2691
2692
const struct rtw_pwr_track_tbl rtw8812a_rtw_pwr_track_tbl = {
2693
.pwrtrk_5gb_n[0] = rtw8812a_pwrtrk_5gb_n[0],
2694
.pwrtrk_5gb_n[1] = rtw8812a_pwrtrk_5gb_n[1],
2695
.pwrtrk_5gb_n[2] = rtw8812a_pwrtrk_5gb_n[2],
2696
.pwrtrk_5gb_p[0] = rtw8812a_pwrtrk_5gb_p[0],
2697
.pwrtrk_5gb_p[1] = rtw8812a_pwrtrk_5gb_p[1],
2698
.pwrtrk_5gb_p[2] = rtw8812a_pwrtrk_5gb_p[2],
2699
.pwrtrk_5ga_n[0] = rtw8812a_pwrtrk_5ga_n[0],
2700
.pwrtrk_5ga_n[1] = rtw8812a_pwrtrk_5ga_n[1],
2701
.pwrtrk_5ga_n[2] = rtw8812a_pwrtrk_5ga_n[2],
2702
.pwrtrk_5ga_p[0] = rtw8812a_pwrtrk_5ga_p[0],
2703
.pwrtrk_5ga_p[1] = rtw8812a_pwrtrk_5ga_p[1],
2704
.pwrtrk_5ga_p[2] = rtw8812a_pwrtrk_5ga_p[2],
2705
.pwrtrk_2gb_n = rtw8812a_pwrtrk_2gb_n,
2706
.pwrtrk_2gb_p = rtw8812a_pwrtrk_2gb_p,
2707
.pwrtrk_2ga_n = rtw8812a_pwrtrk_2ga_n,
2708
.pwrtrk_2ga_p = rtw8812a_pwrtrk_2ga_p,
2709
.pwrtrk_2g_cckb_n = rtw8812a_pwrtrk_2g_cck_b_n,
2710
.pwrtrk_2g_cckb_p = rtw8812a_pwrtrk_2g_cck_b_p,
2711
.pwrtrk_2g_ccka_n = rtw8812a_pwrtrk_2g_cck_a_n,
2712
.pwrtrk_2g_ccka_p = rtw8812a_pwrtrk_2g_cck_a_p,
2713
};
2714
2715
static const u8 rtw8812a_pwrtrk_rfe3_5gb_n[][RTW_PWR_TRK_TBL_SZ] = {
2716
{0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 12, 13,
2717
13, 14, 15, 16, 16, 17, 17, 18, 18},
2718
{0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 10, 10, 11, 11, 11,
2719
12, 14, 13, 13, 14, 14, 14, 15, 15},
2720
{0, 1, 1, 2, 2, 3, 4, 5, 6, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12,
2721
12, 13, 13, 14, 14, 15, 15, 16, 16},
2722
};
2723
2724
static const u8 rtw8812a_pwrtrk_rfe3_5gb_p[][RTW_PWR_TRK_TBL_SZ] = {
2725
{0, 1, 1, 2, 3, 3, 4, 5, 6, 7, 7, 8, 9, 9, 10, 10, 11, 11, 11, 11, 11,
2726
11, 11, 11, 11, 11, 11, 11, 11, 11},
2727
{0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 6, 7, 8, 8, 9, 9, 10, 10, 11, 11, 11,
2728
11, 11, 11, 11, 11, 11, 11, 11, 11},
2729
{0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 6, 6, 7, 7, 8, 9, 10, 10, 11, 11, 11,
2730
11, 11, 11, 11, 11, 11, 11, 11, 11},
2731
};
2732
2733
static const u8 rtw8812a_pwrtrk_rfe3_5ga_n[][RTW_PWR_TRK_TBL_SZ] = {
2734
{0, 1, 1, 2, 3, 3, 4, 5, 5, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 12,
2735
13, 14, 15, 16, 16, 17, 17, 18, 18},
2736
{0, 1, 1, 2, 3, 3, 4, 4, 5, 6, 6, 7, 7, 8, 9, 9, 10, 10, 11, 11, 12,
2737
12, 13, 13, 14, 15, 16, 16, 17, 17},
2738
{0, 1, 1, 2, 3, 3, 4, 4, 5, 6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 12, 13,
2739
13, 14, 14, 15, 15, 16, 17, 18, 18},
2740
};
2741
2742
static const u8 rtw8812a_pwrtrk_rfe3_5ga_p[][RTW_PWR_TRK_TBL_SZ] = {
2743
{0, 1, 1, 2, 2, 3, 4, 5, 6, 7, 7, 8, 9, 9, 10, 10, 11, 11, 11, 11, 11,
2744
11, 11, 11, 11, 11, 11, 11, 11, 11},
2745
{0, 1, 2, 3, 4, 4, 5, 5, 6, 7, 7, 8, 9, 9, 10, 11, 11, 11, 11, 11, 11,
2746
11, 11, 11, 11, 11, 11, 11, 11, 11},
2747
{0, 1, 2, 3, 4, 4, 5, 5, 6, 7, 7, 8, 9, 9, 10, 11, 11, 11, 11, 11, 11,
2748
11, 11, 11, 11, 11, 11, 11, 11, 11},
2749
};
2750
2751
static const u8 rtw8812a_pwrtrk_rfe3_2gb_n[] = {
2752
0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 6, 6, 6, 7,
2753
7, 7, 8, 8, 9, 9, 10, 11, 12, 12, 13, 14, 15, 15
2754
};
2755
2756
static const u8 rtw8812a_pwrtrk_rfe3_2gb_p[] = {
2757
0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 6,
2758
6, 7, 7, 8, 9, 10, 10, 10, 10, 11, 11, 11, 11, 11
2759
};
2760
2761
static const u8 rtw8812a_pwrtrk_rfe3_2ga_n[] = {
2762
0, 1, 1, 2, 2, 3, 4, 5, 6, 6, 6, 7, 7, 8, 8, 9,
2763
10, 10, 11, 11, 12, 12, 13, 13, 13, 13, 14, 14, 15, 15
2764
};
2765
2766
static const u8 rtw8812a_pwrtrk_rfe3_2ga_p[] = {
2767
0, 0, 1, 1, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 5, 6,
2768
6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 11
2769
};
2770
2771
static const u8 rtw8812a_pwrtrk_rfe3_2g_cck_b_n[] = {
2772
0, 1, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 6, 6, 6, 7,
2773
7, 7, 8, 8, 9, 9, 10, 11, 12, 12, 13, 14, 15, 15
2774
};
2775
2776
static const u8 rtw8812a_pwrtrk_rfe3_2g_cck_b_p[] = {
2777
0, 1, 1, 2, 2, 2, 2, 3, 3, 3, 4, 4, 5, 5, 5, 6,
2778
6, 7, 7, 8, 9, 10, 10, 10, 10, 11, 11, 11, 11, 11
2779
};
2780
2781
static const u8 rtw8812a_pwrtrk_rfe3_2g_cck_a_n[] = {
2782
0, 1, 1, 2, 2, 3, 4, 5, 6, 6, 6, 7, 7, 8, 8, 9,
2783
10, 10, 11, 11, 12, 12, 13, 13, 13, 13, 14, 14, 15, 15
2784
};
2785
2786
static const u8 rtw8812a_pwrtrk_rfe3_2g_cck_a_p[] = {
2787
0, 0, 1, 1, 1, 2, 2, 3, 3, 4, 4, 4, 5, 5, 5, 6,
2788
6, 7, 7, 8, 8, 9, 9, 10, 10, 11, 11, 11, 11, 11
2789
};
2790
2791
const struct rtw_pwr_track_tbl rtw8812a_rtw_pwr_track_rfe3_tbl = {
2792
.pwrtrk_5gb_n[0] = rtw8812a_pwrtrk_rfe3_5gb_n[0],
2793
.pwrtrk_5gb_n[1] = rtw8812a_pwrtrk_rfe3_5gb_n[1],
2794
.pwrtrk_5gb_n[2] = rtw8812a_pwrtrk_rfe3_5gb_n[2],
2795
.pwrtrk_5gb_p[0] = rtw8812a_pwrtrk_rfe3_5gb_p[0],
2796
.pwrtrk_5gb_p[1] = rtw8812a_pwrtrk_rfe3_5gb_p[1],
2797
.pwrtrk_5gb_p[2] = rtw8812a_pwrtrk_rfe3_5gb_p[2],
2798
.pwrtrk_5ga_n[0] = rtw8812a_pwrtrk_rfe3_5ga_n[0],
2799
.pwrtrk_5ga_n[1] = rtw8812a_pwrtrk_rfe3_5ga_n[1],
2800
.pwrtrk_5ga_n[2] = rtw8812a_pwrtrk_rfe3_5ga_n[2],
2801
.pwrtrk_5ga_p[0] = rtw8812a_pwrtrk_rfe3_5ga_p[0],
2802
.pwrtrk_5ga_p[1] = rtw8812a_pwrtrk_rfe3_5ga_p[1],
2803
.pwrtrk_5ga_p[2] = rtw8812a_pwrtrk_rfe3_5ga_p[2],
2804
.pwrtrk_2gb_n = rtw8812a_pwrtrk_rfe3_2gb_n,
2805
.pwrtrk_2gb_p = rtw8812a_pwrtrk_rfe3_2gb_p,
2806
.pwrtrk_2ga_n = rtw8812a_pwrtrk_rfe3_2ga_n,
2807
.pwrtrk_2ga_p = rtw8812a_pwrtrk_rfe3_2ga_p,
2808
.pwrtrk_2g_cckb_n = rtw8812a_pwrtrk_rfe3_2g_cck_b_n,
2809
.pwrtrk_2g_cckb_p = rtw8812a_pwrtrk_rfe3_2g_cck_b_p,
2810
.pwrtrk_2g_ccka_n = rtw8812a_pwrtrk_rfe3_2g_cck_a_n,
2811
.pwrtrk_2g_ccka_p = rtw8812a_pwrtrk_rfe3_2g_cck_a_p,
2812
};
2813
2814