File Index
Files and directories
Sign in
FILE

rtw8821a_table.c

File preview with syntax highlighting.

linux-6.19.14/drivers/net/wireless/realtek/rtw88/rtw8821a_table.c C
   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 "rtw8821a_table.h"
   8
   9static const u32 rtw8821a_mac[] = {
  10	0x421, 0x0000000F,
  11	0x428, 0x0000000A,
  12	0x429, 0x00000010,
  13	0x430, 0x00000000,
  14	0x431, 0x00000000,
  15	0x432, 0x00000000,
  16	0x433, 0x00000001,
  17	0x434, 0x00000004,
  18	0x435, 0x00000005,
  19	0x436, 0x00000007,
  20	0x437, 0x00000008,
  21	0x43C, 0x00000004,
  22	0x43D, 0x00000005,
  23	0x43E, 0x00000007,
  24	0x43F, 0x00000008,
  25	0x440, 0x0000005D,
  26	0x441, 0x00000001,
  27	0x442, 0x00000000,
  28	0x444, 0x00000010,
  29	0x445, 0x00000000,
  30	0x446, 0x00000000,
  31	0x447, 0x00000000,
  32	0x448, 0x00000000,
  33	0x449, 0x000000F0,
  34	0x44A, 0x0000000F,
  35	0x44B, 0x0000003E,
  36	0x44C, 0x00000010,
  37	0x44D, 0x00000000,
  38	0x44E, 0x00000000,
  39	0x44F, 0x00000000,
  40	0x450, 0x00000000,
  41	0x451, 0x000000F0,
  42	0x452, 0x0000000F,
  43	0x453, 0x00000000,
  44	0x456, 0x0000005E,
  45	0x460, 0x00000066,
  46	0x461, 0x00000066,
  47	0x4C8, 0x0000003F,
  48	0x4C9, 0x000000FF,
  49	0x4CC, 0x000000FF,
  50	0x4CD, 0x000000FF,
  51	0x4CE, 0x00000001,
  52	0x500, 0x00000026,
  53	0x501, 0x000000A2,
  54	0x502, 0x0000002F,
  55	0x503, 0x00000000,
  56	0x504, 0x00000028,
  57	0x505, 0x000000A3,
  58	0x506, 0x0000005E,
  59	0x507, 0x00000000,
  60	0x508, 0x0000002B,
  61	0x509, 0x000000A4,
  62	0x50A, 0x0000005E,
  63	0x50B, 0x00000000,
  64	0x50C, 0x0000004F,
  65	0x50D, 0x000000A4,
  66	0x50E, 0x00000000,
  67	0x50F, 0x00000000,
  68	0x512, 0x0000001C,
  69	0x514, 0x0000000A,
  70	0x516, 0x0000000A,
  71	0x525, 0x0000004F,
  72	0x550, 0x00000010,
  73	0x551, 0x00000010,
  74	0x559, 0x00000002,
  75	0x55C, 0x00000050,
  76	0x55D, 0x000000FF,
  77	0x605, 0x00000030,
  78	0x607, 0x00000007,
  79	0x608, 0x0000000E,
  80	0x609, 0x0000002A,
  81	0x620, 0x000000FF,
  82	0x621, 0x000000FF,
  83	0x622, 0x000000FF,
  84	0x623, 0x000000FF,
  85	0x624, 0x000000FF,
  86	0x625, 0x000000FF,
  87	0x626, 0x000000FF,
  88	0x627, 0x000000FF,
  89	0x638, 0x00000050,
  90	0x63C, 0x0000000A,
  91	0x63D, 0x0000000A,
  92	0x63E, 0x0000000E,
  93	0x63F, 0x0000000E,
  94	0x640, 0x00000040,
  95	0x642, 0x00000040,
  96	0x643, 0x00000000,
  97	0x652, 0x000000C8,
  98	0x66E, 0x00000005,
  99	0x700, 0x00000021,
 100	0x701, 0x00000043,
 101	0x702, 0x00000065,
 102	0x703, 0x00000087,
 103	0x708, 0x00000021,
 104	0x709, 0x00000043,
 105	0x70A, 0x00000065,
 106	0x70B, 0x00000087,
 107	0x718, 0x00000040,
 108};
 109
 110RTW_DECL_TABLE_PHY_COND(rtw8821a_mac, rtw_phy_cfg_mac);
 111
 112static const u32 rtw8821a_agc[] = {
 113	0x81C, 0xBF000001,
 114	0x81C, 0xBF020001,
 115	0x81C, 0xBF040001,
 116	0x81C, 0xBF060001,
 117	0x81C, 0xBE080001,
 118	0x81C, 0xBD0A0001,
 119	0x81C, 0xBC0C0001,
 120	0x81C, 0xBA0E0001,
 121	0x81C, 0xB9100001,
 122	0x81C, 0xB8120001,
 123	0x81C, 0xB7140001,
 124	0x81C, 0xB6160001,
 125	0x81C, 0xB5180001,
 126	0x81C, 0xB41A0001,
 127	0x81C, 0xB31C0001,
 128	0x81C, 0xB21E0001,
 129	0x81C, 0xB1200001,
 130	0x81C, 0xB0220001,
 131	0x81C, 0xAF240001,
 132	0x81C, 0xAE260001,
 133	0x81C, 0xAD280001,
 134	0x81C, 0xAC2A0001,
 135	0x81C, 0xAB2C0001,
 136	0x81C, 0xAA2E0001,
 137	0x81C, 0xA9300001,
 138	0x81C, 0xA8320001,
 139	0x81C, 0xA7340001,
 140	0x81C, 0xA6360001,
 141	0x81C, 0xA5380001,
 142	0x81C, 0xA43A0001,
 143	0x81C, 0x683C0001,
 144	0x81C, 0x673E0001,
 145	0x81C, 0x66400001,
 146	0x81C, 0x65420001,
 147	0x81C, 0x64440001,
 148	0x81C, 0x63460001,
 149	0x81C, 0x62480001,
 150	0x81C, 0x614A0001,
 151	0x81C, 0x474C0001,
 152	0x81C, 0x464E0001,
 153	0x81C, 0x45500001,
 154	0x81C, 0x44520001,
 155	0x81C, 0x43540001,
 156	0x81C, 0x42560001,
 157	0x81C, 0x41580001,
 158	0x81C, 0x285A0001,
 159	0x81C, 0x275C0001,
 160	0x81C, 0x265E0001,
 161	0x81C, 0x25600001,
 162	0x81C, 0x24620001,
 163	0x81C, 0x0A640001,
 164	0x81C, 0x09660001,
 165	0x81C, 0x08680001,
 166	0x81C, 0x076A0001,
 167	0x81C, 0x066C0001,
 168	0x81C, 0x056E0001,
 169	0x81C, 0x04700001,
 170	0x81C, 0x03720001,
 171	0x81C, 0x02740001,
 172	0x81C, 0x01760001,
 173	0x81C, 0x01780001,
 174	0x81C, 0x017A0001,
 175	0x81C, 0x017C0001,
 176	0x81C, 0x017E0001,
 177	0x8000020c,	0x00000000,	0x40000000,	0x00000000,
 178	0x81C, 0xFB000101,
 179	0x81C, 0xFA020101,
 180	0x81C, 0xF9040101,
 181	0x81C, 0xF8060101,
 182	0x81C, 0xF7080101,
 183	0x81C, 0xF60A0101,
 184	0x81C, 0xF50C0101,
 185	0x81C, 0xF40E0101,
 186	0x81C, 0xF3100101,
 187	0x81C, 0xF2120101,
 188	0x81C, 0xF1140101,
 189	0x81C, 0xF0160101,
 190	0x81C, 0xEF180101,
 191	0x81C, 0xEE1A0101,
 192	0x81C, 0xED1C0101,
 193	0x81C, 0xEC1E0101,
 194	0x81C, 0xEB200101,
 195	0x81C, 0xEA220101,
 196	0x81C, 0xE9240101,
 197	0x81C, 0xE8260101,
 198	0x81C, 0xE7280101,
 199	0x81C, 0xE62A0101,
 200	0x81C, 0xE52C0101,
 201	0x81C, 0xE42E0101,
 202	0x81C, 0xE3300101,
 203	0x81C, 0xA5320101,
 204	0x81C, 0xA4340101,
 205	0x81C, 0xA3360101,
 206	0x81C, 0x87380101,
 207	0x81C, 0x863A0101,
 208	0x81C, 0x853C0101,
 209	0x81C, 0x843E0101,
 210	0x81C, 0x69400101,
 211	0x81C, 0x68420101,
 212	0x81C, 0x67440101,
 213	0x81C, 0x66460101,
 214	0x81C, 0x49480101,
 215	0x81C, 0x484A0101,
 216	0x81C, 0x474C0101,
 217	0x81C, 0x2A4E0101,
 218	0x81C, 0x29500101,
 219	0x81C, 0x28520101,
 220	0x81C, 0x27540101,
 221	0x81C, 0x26560101,
 222	0x81C, 0x25580101,
 223	0x81C, 0x245A0101,
 224	0x81C, 0x235C0101,
 225	0x81C, 0x055E0101,
 226	0x81C, 0x04600101,
 227	0x81C, 0x03620101,
 228	0x81C, 0x02640101,
 229	0x81C, 0x01660101,
 230	0x81C, 0x01680101,
 231	0x81C, 0x016A0101,
 232	0x81C, 0x016C0101,
 233	0x81C, 0x016E0101,
 234	0x81C, 0x01700101,
 235	0x81C, 0x01720101,
 236	0x9000040c,	0x00000000,	0x40000000,	0x00000000,
 237	0x81C, 0xFB000101,
 238	0x81C, 0xFA020101,
 239	0x81C, 0xF9040101,
 240	0x81C, 0xF8060101,
 241	0x81C, 0xF7080101,
 242	0x81C, 0xF60A0101,
 243	0x81C, 0xF50C0101,
 244	0x81C, 0xF40E0101,
 245	0x81C, 0xF3100101,
 246	0x81C, 0xF2120101,
 247	0x81C, 0xF1140101,
 248	0x81C, 0xF0160101,
 249	0x81C, 0xEF180101,
 250	0x81C, 0xEE1A0101,
 251	0x81C, 0xED1C0101,
 252	0x81C, 0xEC1E0101,
 253	0x81C, 0xEB200101,
 254	0x81C, 0xEA220101,
 255	0x81C, 0xE9240101,
 256	0x81C, 0xE8260101,
 257	0x81C, 0xE7280101,
 258	0x81C, 0xE62A0101,
 259	0x81C, 0xE52C0101,
 260	0x81C, 0xE42E0101,
 261	0x81C, 0xE3300101,
 262	0x81C, 0xA5320101,
 263	0x81C, 0xA4340101,
 264	0x81C, 0xA3360101,
 265	0x81C, 0x87380101,
 266	0x81C, 0x863A0101,
 267	0x81C, 0x853C0101,
 268	0x81C, 0x843E0101,
 269	0x81C, 0x69400101,
 270	0x81C, 0x68420101,
 271	0x81C, 0x67440101,
 272	0x81C, 0x66460101,
 273	0x81C, 0x49480101,
 274	0x81C, 0x484A0101,
 275	0x81C, 0x474C0101,
 276	0x81C, 0x2A4E0101,
 277	0x81C, 0x29500101,
 278	0x81C, 0x28520101,
 279	0x81C, 0x27540101,
 280	0x81C, 0x26560101,
 281	0x81C, 0x25580101,
 282	0x81C, 0x245A0101,
 283	0x81C, 0x235C0101,
 284	0x81C, 0x055E0101,
 285	0x81C, 0x04600101,
 286	0x81C, 0x03620101,
 287	0x81C, 0x02640101,
 288	0x81C, 0x01660101,
 289	0x81C, 0x01680101,
 290	0x81C, 0x016A0101,
 291	0x81C, 0x016C0101,
 292	0x81C, 0x016E0101,
 293	0x81C, 0x01700101,
 294	0x81C, 0x01720101,
 295	0xA0000000,	0x00000000,
 296	0x81C, 0xFF000101,
 297	0x81C, 0xFF020101,
 298	0x81C, 0xFE040101,
 299	0x81C, 0xFD060101,
 300	0x81C, 0xFC080101,
 301	0x81C, 0xFD0A0101,
 302	0x81C, 0xFC0C0101,
 303	0x81C, 0xFB0E0101,
 304	0x81C, 0xFA100101,
 305	0x81C, 0xF9120101,
 306	0x81C, 0xF8140101,
 307	0x81C, 0xF7160101,
 308	0x81C, 0xF6180101,
 309	0x81C, 0xF51A0101,
 310	0x81C, 0xF41C0101,
 311	0x81C, 0xF31E0101,
 312	0x81C, 0xF2200101,
 313	0x81C, 0xF1220101,
 314	0x81C, 0xF0240101,
 315	0x81C, 0xEF260101,
 316	0x81C, 0xEE280101,
 317	0x81C, 0xED2A0101,
 318	0x81C, 0xEC2C0101,
 319	0x81C, 0xEB2E0101,
 320	0x81C, 0xEA300101,
 321	0x81C, 0xE9320101,
 322	0x81C, 0xE8340101,
 323	0x81C, 0xE7360101,
 324	0x81C, 0xE6380101,
 325	0x81C, 0xE53A0101,
 326	0x81C, 0xE43C0101,
 327	0x81C, 0xE33E0101,
 328	0x81C, 0xA5400101,
 329	0x81C, 0xA4420101,
 330	0x81C, 0xA3440101,
 331	0x81C, 0x87460101,
 332	0x81C, 0x86480101,
 333	0x81C, 0x854A0101,
 334	0x81C, 0x844C0101,
 335	0x81C, 0x694E0101,
 336	0x81C, 0x68500101,
 337	0x81C, 0x67520101,
 338	0x81C, 0x66540101,
 339	0x81C, 0x49560101,
 340	0x81C, 0x48580101,
 341	0x81C, 0x475A0101,
 342	0x81C, 0x2A5C0101,
 343	0x81C, 0x295E0101,
 344	0x81C, 0x28600101,
 345	0x81C, 0x27620101,
 346	0x81C, 0x26640101,
 347	0x81C, 0x25660101,
 348	0x81C, 0x24680101,
 349	0x81C, 0x236A0101,
 350	0x81C, 0x056C0101,
 351	0x81C, 0x046E0101,
 352	0x81C, 0x03700101,
 353	0x81C, 0x02720101,
 354	0xB0000000,	0x00000000,
 355	0x81C, 0x01740101,
 356	0x81C, 0x01760101,
 357	0x81C, 0x01780101,
 358	0x81C, 0x017A0101,
 359	0x81C, 0x017C0101,
 360	0x81C, 0x017E0101,
 361	0xC50, 0x00000022,
 362	0xC50, 0x00000020,
 363};
 364
 365RTW_DECL_TABLE_PHY_COND(rtw8821a_agc, rtw_phy_cfg_agc);
 366
 367static const u32 rtw8821a_bb[] = {
 368	0x800, 0x0020D090,
 369	0x804, 0x080112E0,
 370	0x808, 0x0E028211,
 371	0x80C, 0x92131111,
 372	0x810, 0x20101261,
 373	0x814, 0x020C3D10,
 374	0x818, 0x03A00385,
 375	0x820, 0x00000000,
 376	0x824, 0x00030FE0,
 377	0x828, 0x00000000,
 378	0x82C, 0x002081DD,
 379	0x830, 0x2AAAEEC8,
 380	0x834, 0x0037A706,
 381	0x838, 0x06489B44,
 382	0x83C, 0x0000095B,
 383	0x840, 0xC0000001,
 384	0x844, 0x40003CDE,
 385	0x848, 0x62103F8B,
 386	0x84C, 0x6CFDFFB8,
 387	0x850, 0x28874706,
 388	0x854, 0x0001520C,
 389	0x858, 0x8060E000,
 390	0x85C, 0x74210168,
 391	0x860, 0x6929C321,
 392	0x864, 0x79727432,
 393	0x868, 0x8CA7A314,
 394	0x86C, 0x888C2878,
 395	0x870, 0x08888888,
 396	0x874, 0x31612C2E,
 397	0x878, 0x00000152,
 398	0x87C, 0x000FD000,
 399	0x8A0, 0x00000013,
 400	0x8A4, 0x7F7F7F7F,
 401	0x8A8, 0xA2000338,
 402	0x8AC, 0x0FF0FA0A,
 403	0x8B4, 0x000FC080,
 404	0x8B8, 0x6C10D7FF,
 405	0x8BC, 0x0CA52090,
 406	0x8C0, 0x1BF00020,
 407	0x8C4, 0x00000000,
 408	0x8C8, 0x00013169,
 409	0x8CC, 0x08248492,
 410	0x8D4, 0x940008A0,
 411	0x8D8, 0x290B5612,
 412	0x8F8, 0x400002C0,
 413	0x8FC, 0x00000000,
 414	0x900, 0x00000700,
 415	0x90C, 0x00000000,
 416	0x910, 0x0000FC00,
 417	0x914, 0x00000404,
 418	0x918, 0x1C1028C0,
 419	0x91C, 0x64B11A1C,
 420	0x920, 0xE0767233,
 421	0x924, 0x055AA500,
 422	0x928, 0x00000004,
 423	0x92C, 0xFFFE0000,
 424	0x930, 0xFFFFFFFE,
 425	0x934, 0x001FFFFF,
 426	0x960, 0x00000000,
 427	0x964, 0x00000000,
 428	0x968, 0x00000000,
 429	0x96C, 0x00000000,
 430	0x970, 0x801FFFFF,
 431	0x974, 0x000003FF,
 432	0x978, 0x00000000,
 433	0x97C, 0x00000000,
 434	0x980, 0x00000000,
 435	0x984, 0x00000000,
 436	0x988, 0x00000000,
 437	0x990, 0x27100000,
 438	0x994, 0xFFFF0100,
 439	0x998, 0xFFFFFF5C,
 440	0x99C, 0xFFFFFFFF,
 441	0x9A0, 0x000000FF,
 442	0x9A4, 0x00480080,
 443	0x9A8, 0x00000000,
 444	0x9AC, 0x00000000,
 445	0x9B0, 0x81081008,
 446	0x9B4, 0x01081008,
 447	0x9B8, 0x01081008,
 448	0x9BC, 0x01081008,
 449	0x9D0, 0x00000000,
 450	0x9D4, 0x00000000,
 451	0x9D8, 0x00000000,
 452	0x9DC, 0x00000000,
 453	0x9E0, 0x00005D00,
 454	0x9E4, 0x00000003,
 455	0x9E8, 0x00000001,
 456	0xA00, 0x00D047C8,
 457	0xA04, 0x01FF800C,
 458	0xA08, 0x8C8A8300,
 459	0xA0C, 0x2E68000F,
 460	0xA10, 0x9500BB78,
 461	0xA14, 0x11144028,
 462	0xA18, 0x00881117,
 463	0xA1C, 0x89140F00,
 464	0xA20, 0x1A1B0000,
 465	0xA24, 0x090E1317,
 466	0xA28, 0x00000204,
 467	0xA2C, 0x00900000,
 468	0xA70, 0x101FFF00,
 469	0xA74, 0x00000008,
 470	0xA78, 0x00000900,
 471	0xA7C, 0x225B0606,
 472	0xA80, 0x21805490,
 473	0xA84, 0x001F0000,
 474	0XB00, 0x03100040,
 475	0XB04, 0x0000B000,
 476	0XB08, 0xAE0201EB,
 477	0XB0C, 0x01003207,
 478	0XB10, 0x00009807,
 479	0XB14, 0x01000000,
 480	0XB18, 0x00000002,
 481	0XB1C, 0x00000002,
 482	0XB20, 0x0000001F,
 483	0XB24, 0x03020100,
 484	0XB28, 0x07060504,
 485	0XB2C, 0x0B0A0908,
 486	0XB30, 0x0F0E0D0C,
 487	0XB34, 0x13121110,
 488	0XB38, 0x17161514,
 489	0XB3C, 0x0000003A,
 490	0XB40, 0x00000000,
 491	0XB44, 0x00000000,
 492	0XB48, 0x13000032,
 493	0XB4C, 0x48080000,
 494	0XB50, 0x00000000,
 495	0XB54, 0x00000000,
 496	0XB58, 0x00000000,
 497	0XB5C, 0x00000000,
 498	0xC00, 0x00000007,
 499	0xC04, 0x00042020,
 500	0xC08, 0x80410231,
 501	0xC0C, 0x00000000,
 502	0xC10, 0x00000100,
 503	0xC14, 0x01000000,
 504	0xC1C, 0x40000003,
 505	0xC20, 0x2C2C2C2C,
 506	0xC24, 0x30303030,
 507	0xC28, 0x30303030,
 508	0xC2C, 0x2C2C2C2C,
 509	0xC30, 0x2C2C2C2C,
 510	0xC34, 0x2C2C2C2C,
 511	0xC38, 0x2C2C2C2C,
 512	0xC3C, 0x2A2A2A2A,
 513	0xC40, 0x2A2A2A2A,
 514	0xC44, 0x2A2A2A2A,
 515	0xC48, 0x2A2A2A2A,
 516	0xC4C, 0x2A2A2A2A,
 517	0xC50, 0x00000020,
 518	0xC54, 0x001C1208,
 519	0xC58, 0x30000C1C,
 520	0xC5C, 0x00000058,
 521	0xC60, 0x34344443,
 522	0xC64, 0x07003333,
 523	0xC68, 0x19791979,
 524	0xC6C, 0x19791979,
 525	0xC70, 0x19791979,
 526	0xC74, 0x19791979,
 527	0xC78, 0x19791979,
 528	0xC7C, 0x19791979,
 529	0xC80, 0x19791979,
 530	0xC84, 0x19791979,
 531	0xC94, 0x0100005C,
 532	0xC98, 0x00000000,
 533	0xC9C, 0x00000000,
 534	0xCA0, 0x00000029,
 535	0xCA4, 0x08040201,
 536	0xCA8, 0x80402010,
 537	0xCB0, 0x77775747,
 538	0xCB4, 0x10000077,
 539	0xCB8, 0x00508240,
 540};
 541
 542RTW_DECL_TABLE_PHY_COND(rtw8821a_bb, rtw_phy_cfg_bb);
 543
 544static const struct rtw_phy_pg_cfg_pair rtw8821a_bb_pg[] = {
 545	{ 0, 0, 0, 0x00000c20, 0xffffffff, 0x32343638, },
 546	{ 0, 0, 0, 0x00000c24, 0xffffffff, 0x36363838, },
 547	{ 0, 0, 0, 0x00000c28, 0xffffffff, 0x28303234, },
 548	{ 0, 0, 0, 0x00000c2c, 0xffffffff, 0x34363838, },
 549	{ 0, 0, 0, 0x00000c30, 0xffffffff, 0x26283032, },
 550	{ 0, 0, 0, 0x00000c3c, 0xffffffff, 0x32343636, },
 551	{ 0, 0, 0, 0x00000c40, 0xffffffff, 0x24262830, },
 552	{ 0, 0, 0, 0x00000c44, 0x0000ffff, 0x00002022, },
 553	{ 1, 0, 0, 0x00000c24, 0xffffffff, 0x34343636, },
 554	{ 1, 0, 0, 0x00000c28, 0xffffffff, 0x26283032, },
 555	{ 1, 0, 0, 0x00000c2c, 0xffffffff, 0x32343636, },
 556	{ 1, 0, 0, 0x00000c30, 0xffffffff, 0x24262830, },
 557	{ 1, 0, 0, 0x00000c3c, 0xffffffff, 0x32343636, },
 558	{ 1, 0, 0, 0x00000c40, 0xffffffff, 0x24262830, },
 559	{ 1, 0, 0, 0x00000c44, 0x0000ffff, 0x00002022, },
 560};
 561
 562RTW_DECL_TABLE_BB_PG(rtw8821a_bb_pg);
 563
 564static const u32 rtw8821a_rf_a[] = {
 565	0x018, 0x0001712A,
 566	0x056, 0x00051CF2,
 567	0x066, 0x00040000,
 568	0x000, 0x00010000,
 569	0x01E, 0x00080000,
 570	0x082, 0x00000830,
 571	0x083, 0x00021800,
 572	0x084, 0x00028000,
 573	0x085, 0x00048000,
 574	0x80000111,	0x00000000,	0x40000000,	0x00000000,
 575	0x086, 0x0009483A,
 576	0xA0000000,	0x00000000,
 577	0x086, 0x00094838,
 578	0xB0000000,	0x00000000,
 579	0x087, 0x00044980,
 580	0x088, 0x00048000,
 581	0x089, 0x0000D480,
 582	0x08A, 0x00042240,
 583	0x08B, 0x000F0380,
 584	0x08C, 0x00090000,
 585	0x08D, 0x00022852,
 586	0x08E, 0x00065540,
 587	0x08F, 0x00088001,
 588	0x0EF, 0x00020000,
 589	0x03E, 0x00000380,
 590	0x03F, 0x00090018,
 591	0x03E, 0x00020380,
 592	0x03F, 0x000A0018,
 593	0x03E, 0x00040308,
 594	0x03F, 0x000A0018,
 595	0x03E, 0x00060018,
 596	0x03F, 0x000A0018,
 597	0x0EF, 0x00000000,
 598	0x018, 0x0001712A,
 599	0x089, 0x00000080,
 600	0x08B, 0x00080180,
 601	0x0EF, 0x00001000,
 602	0x03A, 0x00000244,
 603	0x03B, 0x00038027,
 604	0x03C, 0x00082000,
 605	0x03A, 0x00000244,
 606	0x03B, 0x00030113,
 607	0x03C, 0x00082000,
 608	0x03A, 0x0000014C,
 609	0x03B, 0x00028027,
 610	0x03C, 0x00082000,
 611	0x03A, 0x000000CC,
 612	0x03B, 0x00027027,
 613	0x03C, 0x00042000,
 614	0x03A, 0x0000014C,
 615	0x03B, 0x0001F913,
 616	0x03C, 0x00042000,
 617	0x03A, 0x0000010C,
 618	0x03B, 0x00017F10,
 619	0x03C, 0x00012000,
 620	0x03A, 0x000000D0,
 621	0x03B, 0x00008027,
 622	0x03C, 0x000CA000,
 623	0x03A, 0x00000244,
 624	0x03B, 0x00078027,
 625	0x03C, 0x00082000,
 626	0x03A, 0x00000244,
 627	0x03B, 0x00070113,
 628	0x03C, 0x00082000,
 629	0x03A, 0x0000014C,
 630	0x03B, 0x00068027,
 631	0x03C, 0x00082000,
 632	0x03A, 0x000000CC,
 633	0x03B, 0x00067027,
 634	0x03C, 0x00042000,
 635	0x03A, 0x0000014C,
 636	0x03B, 0x0005F913,
 637	0x03C, 0x00042000,
 638	0x03A, 0x0000010C,
 639	0x03B, 0x00057F10,
 640	0x03C, 0x00012000,
 641	0x03A, 0x000000D0,
 642	0x03B, 0x00048027,
 643	0x03C, 0x000CA000,
 644	0x03A, 0x00000244,
 645	0x03B, 0x000B8027,
 646	0x03C, 0x00082000,
 647	0x03A, 0x00000244,
 648	0x03B, 0x000B0113,
 649	0x03C, 0x00082000,
 650	0x03A, 0x0000014C,
 651	0x03B, 0x000A8027,
 652	0x03C, 0x00082000,
 653	0x03A, 0x000000CC,
 654	0x03B, 0x000A7027,
 655	0x03C, 0x00042000,
 656	0x03A, 0x0000014C,
 657	0x03B, 0x0009F913,
 658	0x03C, 0x00042000,
 659	0x03A, 0x0000010C,
 660	0x03B, 0x00097F10,
 661	0x03C, 0x00012000,
 662	0x03A, 0x000000D0,
 663	0x03B, 0x00088027,
 664	0x03C, 0x000CA000,
 665	0x0EF, 0x00000000,
 666	0x0EF, 0x00001100,
 667	0x80000111,	0x00000000,	0x40000000,	0x00000000,
 668	0x034, 0x0004ADF3,
 669	0x034, 0x00049DF0,
 670	0x90000110,	0x00000000,	0x40000000,	0x00000000,
 671	0x034, 0x0004ADF3,
 672	0x034, 0x00049DF0,
 673	0x90000210,	0x00000000,	0x40000000,	0x00000000,
 674	0x034, 0x0004ADF5,
 675	0x034, 0x00049DF2,
 676	0x9000020c,	0x00000000,	0x40000000,	0x00000000,
 677	0x034, 0x0004A0F3,
 678	0x034, 0x000490B1,
 679	0x9000040c,	0x00000000,	0x40000000,	0x00000000,
 680	0x034, 0x0004A0F3,
 681	0x034, 0x000490B1,
 682	0x90000200,	0x00000000,	0x40000000,	0x00000000,
 683	0x034, 0x0004ADF5,
 684	0x034, 0x00049DF2,
 685	0x90000410,	0x00000000,	0x40000000,	0x00000000,
 686	0x034, 0x0004ADF3,
 687	0x034, 0x00049DF0,
 688	0xA0000000,	0x00000000,
 689	0x034, 0x0004ADF7,
 690	0x034, 0x00049DF3,
 691	0xB0000000,	0x00000000,
 692	0x80000111,	0x00000000,	0x40000000,	0x00000000,
 693	0x034, 0x00048DED,
 694	0x034, 0x00047DEA,
 695	0x034, 0x00046DE7,
 696	0x034, 0x00045CE9,
 697	0x034, 0x00044CE6,
 698	0x034, 0x000438C6,
 699	0x034, 0x00042886,
 700	0x034, 0x00041486,
 701	0x034, 0x00040447,
 702	0x90000110,	0x00000000,	0x40000000,	0x00000000,
 703	0x034, 0x00048DED,
 704	0x034, 0x00047DEA,
 705	0x034, 0x00046DE7,
 706	0x034, 0x00045CE9,
 707	0x034, 0x00044CE6,
 708	0x034, 0x000438C6,
 709	0x034, 0x00042886,
 710	0x034, 0x00041486,
 711	0x034, 0x00040447,
 712	0x9000020c,	0x00000000,	0x40000000,	0x00000000,
 713	0x034, 0x000480AE,
 714	0x034, 0x000470AB,
 715	0x034, 0x0004608B,
 716	0x034, 0x00045069,
 717	0x034, 0x00044048,
 718	0x034, 0x00043045,
 719	0x034, 0x00042026,
 720	0x034, 0x00041023,
 721	0x034, 0x00040002,
 722	0x9000040c,	0x00000000,	0x40000000,	0x00000000,
 723	0x034, 0x000480AE,
 724	0x034, 0x000470AB,
 725	0x034, 0x0004608B,
 726	0x034, 0x00045069,
 727	0x034, 0x00044048,
 728	0x034, 0x00043045,
 729	0x034, 0x00042026,
 730	0x034, 0x00041023,
 731	0x034, 0x00040002,
 732	0x90000410,	0x00000000,	0x40000000,	0x00000000,
 733	0x034, 0x00048DED,
 734	0x034, 0x00047DEA,
 735	0x034, 0x00046DE7,
 736	0x034, 0x00045CE9,
 737	0x034, 0x00044CE6,
 738	0x034, 0x000438C6,
 739	0x034, 0x00042886,
 740	0x034, 0x00041486,
 741	0x034, 0x00040447,
 742	0xA0000000,	0x00000000,
 743	0x034, 0x00048DEF,
 744	0x034, 0x00047DEC,
 745	0x034, 0x00046DE9,
 746	0x034, 0x00045CCB,
 747	0x034, 0x0004488D,
 748	0x034, 0x0004348D,
 749	0x034, 0x0004248A,
 750	0x034, 0x0004108D,
 751	0x034, 0x0004008A,
 752	0xB0000000,	0x00000000,
 753	0x80000210,	0x00000000,	0x40000000,	0x00000000,
 754	0x034, 0x0002ADF4,
 755	0x9000020c,	0x00000000,	0x40000000,	0x00000000,
 756	0x034, 0x0002A0F3,
 757	0x9000040c,	0x00000000,	0x40000000,	0x00000000,
 758	0x034, 0x0002A0F3,
 759	0x90000200,	0x00000000,	0x40000000,	0x00000000,
 760	0x034, 0x0002ADF4,
 761	0xA0000000,	0x00000000,
 762	0x034, 0x0002ADF7,
 763	0xB0000000,	0x00000000,
 764	0x80000111,	0x00000000,	0x40000000,	0x00000000,
 765	0x034, 0x00029DF4,
 766	0x90000110,	0x00000000,	0x40000000,	0x00000000,
 767	0x034, 0x00029DF4,
 768	0x90000210,	0x00000000,	0x40000000,	0x00000000,
 769	0x034, 0x00029DF1,
 770	0x9000020c,	0x00000000,	0x40000000,	0x00000000,
 771	0x034, 0x000290F0,
 772	0x9000040c,	0x00000000,	0x40000000,	0x00000000,
 773	0x034, 0x000290F0,
 774	0x90000200,	0x00000000,	0x40000000,	0x00000000,
 775	0x034, 0x00029DF1,
 776	0x90000410,	0x00000000,	0x40000000,	0x00000000,
 777	0x034, 0x00029DF4,
 778	0xA0000000,	0x00000000,
 779	0x034, 0x00029DF2,
 780	0xB0000000,	0x00000000,
 781	0x80000111,	0x00000000,	0x40000000,	0x00000000,
 782	0x034, 0x00028DF1,
 783	0x034, 0x00027DEE,
 784	0x034, 0x00026DEB,
 785	0x034, 0x00025CEC,
 786	0x034, 0x00024CE9,
 787	0x034, 0x000238CA,
 788	0x034, 0x00022889,
 789	0x034, 0x00021489,
 790	0x034, 0x0002044A,
 791	0x90000110,	0x00000000,	0x40000000,	0x00000000,
 792	0x034, 0x00028DF1,
 793	0x034, 0x00027DEE,
 794	0x034, 0x00026DEB,
 795	0x034, 0x00025CEC,
 796	0x034, 0x00024CE9,
 797	0x034, 0x000238CA,
 798	0x034, 0x00022889,
 799	0x034, 0x00021489,
 800	0x034, 0x0002044A,
 801	0x9000020c,	0x00000000,	0x40000000,	0x00000000,
 802	0x034, 0x000280AF,
 803	0x034, 0x000270AC,
 804	0x034, 0x0002608B,
 805	0x034, 0x00025069,
 806	0x034, 0x00024048,
 807	0x034, 0x00023045,
 808	0x034, 0x00022026,
 809	0x034, 0x00021023,
 810	0x034, 0x00020002,
 811	0x9000040c,	0x00000000,	0x40000000,	0x00000000,
 812	0x034, 0x000280AF,
 813	0x034, 0x000270AC,
 814	0x034, 0x0002608B,
 815	0x034, 0x00025069,
 816	0x034, 0x00024048,
 817	0x034, 0x00023045,
 818	0x034, 0x00022026,
 819	0x034, 0x00021023,
 820	0x034, 0x00020002,
 821	0x90000410,	0x00000000,	0x40000000,	0x00000000,
 822	0x034, 0x00028DF1,
 823	0x034, 0x00027DEE,
 824	0x034, 0x00026DEB,
 825	0x034, 0x00025CEC,
 826	0x034, 0x00024CE9,
 827	0x034, 0x000238CA,
 828	0x034, 0x00022889,
 829	0x034, 0x00021489,
 830	0x034, 0x0002044A,
 831	0xA0000000,	0x00000000,
 832	0x034, 0x00028DEE,
 833	0x034, 0x00027DEB,
 834	0x034, 0x00026CCD,
 835	0x034, 0x00025CCA,
 836	0x034, 0x0002488C,
 837	0x034, 0x0002384C,
 838	0x034, 0x00022849,
 839	0x034, 0x00021449,
 840	0x034, 0x0002004D,
 841	0xB0000000,	0x00000000,
 842	0x8000020c,	0x00000000,	0x40000000,	0x00000000,
 843	0x034, 0x0000A0D7,
 844	0x034, 0x000090D3,
 845	0x034, 0x000080B1,
 846	0x034, 0x000070AE,
 847	0x9000040c,	0x00000000,	0x40000000,	0x00000000,
 848	0x034, 0x0000A0D7,
 849	0x034, 0x000090D3,
 850	0x034, 0x000080B1,
 851	0x034, 0x000070AE,
 852	0xA0000000,	0x00000000,
 853	0x034, 0x0000ADF7,
 854	0x034, 0x00009DF4,
 855	0x034, 0x00008DF1,
 856	0x034, 0x00007DEE,
 857	0xB0000000,	0x00000000,
 858	0x80000111,	0x00000000,	0x40000000,	0x00000000,
 859	0x034, 0x00006DEB,
 860	0x034, 0x00005CEC,
 861	0x034, 0x00004CE9,
 862	0x034, 0x000038CA,
 863	0x034, 0x00002889,
 864	0x034, 0x00001489,
 865	0x034, 0x0000044A,
 866	0x90000110,	0x00000000,	0x40000000,	0x00000000,
 867	0x034, 0x00006DEB,
 868	0x034, 0x00005CEC,
 869	0x034, 0x00004CE9,
 870	0x034, 0x000038CA,
 871	0x034, 0x00002889,
 872	0x034, 0x00001489,
 873	0x034, 0x0000044A,
 874	0x9000020c,	0x00000000,	0x40000000,	0x00000000,
 875	0x034, 0x0000608D,
 876	0x034, 0x0000506B,
 877	0x034, 0x0000404A,
 878	0x034, 0x00003047,
 879	0x034, 0x00002044,
 880	0x034, 0x00001025,
 881	0x034, 0x00000004,
 882	0x9000040c,	0x00000000,	0x40000000,	0x00000000,
 883	0x034, 0x0000608D,
 884	0x034, 0x0000506B,
 885	0x034, 0x0000404A,
 886	0x034, 0x00003047,
 887	0x034, 0x00002044,
 888	0x034, 0x00001025,
 889	0x034, 0x00000004,
 890	0x90000410,	0x00000000,	0x40000000,	0x00000000,
 891	0x034, 0x00006DEB,
 892	0x034, 0x00005CEC,
 893	0x034, 0x00004CE9,
 894	0x034, 0x000038CA,
 895	0x034, 0x00002889,
 896	0x034, 0x00001489,
 897	0x034, 0x0000044A,
 898	0xA0000000,	0x00000000,
 899	0x034, 0x00006DCD,
 900	0x034, 0x00005CCD,
 901	0x034, 0x00004CCA,
 902	0x034, 0x0000388C,
 903	0x034, 0x00002888,
 904	0x034, 0x00001488,
 905	0x034, 0x00000486,
 906	0xB0000000,	0x00000000,
 907	0x0EF, 0x00000000,
 908	0x018, 0x0001712A,
 909	0x0EF, 0x00000040,
 910	0x80000111,	0x00000000,	0x40000000,	0x00000000,
 911	0x035, 0x00000187,
 912	0x035, 0x00008187,
 913	0x035, 0x00010187,
 914	0x035, 0x00020188,
 915	0x035, 0x00028188,
 916	0x035, 0x00030188,
 917	0x035, 0x00040188,
 918	0x035, 0x00048188,
 919	0x035, 0x00050188,
 920	0x90000110,	0x00000000,	0x40000000,	0x00000000,
 921	0x035, 0x00000187,
 922	0x035, 0x00008187,
 923	0x035, 0x00010187,
 924	0x035, 0x00020188,
 925	0x035, 0x00028188,
 926	0x035, 0x00030188,
 927	0x035, 0x00040188,
 928	0x035, 0x00048188,
 929	0x035, 0x00050188,
 930	0x90000210,	0x00000000,	0x40000000,	0x00000000,
 931	0x035, 0x00000128,
 932	0x035, 0x00008128,
 933	0x035, 0x00010128,
 934	0x035, 0x000201C8,
 935	0x035, 0x000281C8,
 936	0x035, 0x000301C8,
 937	0x035, 0x000401C8,
 938	0x035, 0x000481C8,
 939	0x035, 0x000501C8,
 940	0x9000040c,	0x00000000,	0x40000000,	0x00000000,
 941	0x035, 0x00000145,
 942	0x035, 0x00008145,
 943	0x035, 0x00010145,
 944	0x035, 0x00020196,
 945	0x035, 0x00028196,
 946	0x035, 0x00030196,
 947	0x035, 0x000401C7,
 948	0x035, 0x000481C7,
 949	0x035, 0x000501C7,
 950	0x90000200,	0x00000000,	0x40000000,	0x00000000,
 951	0x035, 0x00000128,
 952	0x035, 0x00008128,
 953	0x035, 0x00010128,
 954	0x035, 0x000201C8,
 955	0x035, 0x000281C8,
 956	0x035, 0x000301C8,
 957	0x035, 0x000401C8,
 958	0x035, 0x000481C8,
 959	0x035, 0x000501C8,
 960	0x90000410,	0x00000000,	0x40000000,	0x00000000,
 961	0x035, 0x00000187,
 962	0x035, 0x00008187,
 963	0x035, 0x00010187,
 964	0x035, 0x00020188,
 965	0x035, 0x00028188,
 966	0x035, 0x00030188,
 967	0x035, 0x00040188,
 968	0x035, 0x00048188,
 969	0x035, 0x00050188,
 970	0xA0000000,	0x00000000,
 971	0x035, 0x00000145,
 972	0x035, 0x00008145,
 973	0x035, 0x00010145,
 974	0x035, 0x00020196,
 975	0x035, 0x00028196,
 976	0x035, 0x00030196,
 977	0x035, 0x000401C7,
 978	0x035, 0x000481C7,
 979	0x035, 0x000501C7,
 980	0xB0000000,	0x00000000,
 981	0x0EF, 0x00000000,
 982	0x018, 0x0001712A,
 983	0x0EF, 0x00000010,
 984	0x80000111,	0x00000000,	0x40000000,	0x00000000,
 985	0x036, 0x00085733,
 986	0x036, 0x0008D733,
 987	0x036, 0x00095733,
 988	0x036, 0x0009D733,
 989	0x036, 0x000A64B4,
 990	0x036, 0x000AE4B4,
 991	0x036, 0x000B64B4,
 992	0x036, 0x000BE4B4,
 993	0x036, 0x000C64B4,
 994	0x036, 0x000CE4B4,
 995	0x036, 0x000D64B4,
 996	0x036, 0x000DE4B4,
 997	0x90000110,	0x00000000,	0x40000000,	0x00000000,
 998	0x036, 0x00085733,
 999	0x036, 0x0008D733,
1000	0x036, 0x00095733,
1001	0x036, 0x0009D733,
1002	0x036, 0x000A64B4,
1003	0x036, 0x000AE4B4,
1004	0x036, 0x000B64B4,
1005	0x036, 0x000BE4B4,
1006	0x036, 0x000C64B4,
1007	0x036, 0x000CE4B4,
1008	0x036, 0x000D64B4,
1009	0x036, 0x000DE4B4,
1010	0x90000210,	0x00000000,	0x40000000,	0x00000000,
1011	0x036, 0x000063B5,
1012	0x036, 0x0000E3B5,
1013	0x036, 0x000163B5,
1014	0x036, 0x0001E3B5,
1015	0x036, 0x000263B5,
1016	0x036, 0x0002E3B5,
1017	0x036, 0x000363B5,
1018	0x036, 0x0003E3B5,
1019	0x036, 0x000463B5,
1020	0x036, 0x0004E3B5,
1021	0x036, 0x000563B5,
1022	0x036, 0x0005E3B5,
1023	0x9000040c,	0x00000000,	0x40000000,	0x00000000,
1024	0x036, 0x000056B3,
1025	0x036, 0x0000D6B3,
1026	0x036, 0x000156B3,
1027	0x036, 0x0001D6B3,
1028	0x036, 0x00026634,
1029	0x036, 0x0002E634,
1030	0x036, 0x00036634,
1031	0x036, 0x0003E634,
1032	0x036, 0x000467B4,
1033	0x036, 0x0004E7B4,
1034	0x036, 0x000567B4,
1035	0x036, 0x0005E7B4,
1036	0x90000200,	0x00000000,	0x40000000,	0x00000000,
1037	0x036, 0x000063B5,
1038	0x036, 0x0000E3B5,
1039	0x036, 0x000163B5,
1040	0x036, 0x0001E3B5,
1041	0x036, 0x000263B5,
1042	0x036, 0x0002E3B5,
1043	0x036, 0x000363B5,
1044	0x036, 0x0003E3B5,
1045	0x036, 0x000463B5,
1046	0x036, 0x0004E3B5,
1047	0x036, 0x000563B5,
1048	0x036, 0x0005E3B5,
1049	0x90000410,	0x00000000,	0x40000000,	0x00000000,
1050	0x036, 0x00085733,
1051	0x036, 0x0008D733,
1052	0x036, 0x00095733,
1053	0x036, 0x0009D733,
1054	0x036, 0x000A64B4,
1055	0x036, 0x000AE4B4,
1056	0x036, 0x000B64B4,
1057	0x036, 0x000BE4B4,
1058	0x036, 0x000C64B4,
1059	0x036, 0x000CE4B4,
1060	0x036, 0x000D64B4,
1061	0x036, 0x000DE4B4,
1062	0xA0000000,	0x00000000,
1063	0x036, 0x000056B3,
1064	0x036, 0x0000D6B3,
1065	0x036, 0x000156B3,
1066	0x036, 0x0001D6B3,
1067	0x036, 0x00026634,
1068	0x036, 0x0002E634,
1069	0x036, 0x00036634,
1070	0x036, 0x0003E634,
1071	0x036, 0x000467B4,
1072	0x036, 0x0004E7B4,
1073	0x036, 0x000567B4,
1074	0x036, 0x0005E7B4,
1075	0xB0000000,	0x00000000,
1076	0x0EF, 0x00000000,
1077	0x0EF, 0x00000008,
1078	0x80000111,	0x00000000,	0x40000000,	0x00000000,
1079	0x03C, 0x000001C8,
1080	0x03C, 0x00000492,
1081	0x90000110,	0x00000000,	0x40000000,	0x00000000,
1082	0x03C, 0x000001C8,
1083	0x03C, 0x00000492,
1084	0x90000210,	0x00000000,	0x40000000,	0x00000000,
1085	0x03C, 0x000001B6,
1086	0x03C, 0x00000492,
1087	0x9000040c,	0x00000000,	0x40000000,	0x00000000,
1088	0x03C, 0x0000022A,
1089	0x03C, 0x00000594,
1090	0x90000200,	0x00000000,	0x40000000,	0x00000000,
1091	0x03C, 0x000001B6,
1092	0x03C, 0x00000492,
1093	0x90000410,	0x00000000,	0x40000000,	0x00000000,
1094	0x03C, 0x000001C8,
1095	0x03C, 0x00000492,
1096	0xA0000000,	0x00000000,
1097	0x03C, 0x0000022A,
1098	0x03C, 0x00000594,
1099	0xB0000000,	0x00000000,
1100	0x80000111,	0x00000000,	0x40000000,	0x00000000,
1101	0x03C, 0x00000800,
1102	0x90000110,	0x00000000,	0x40000000,	0x00000000,
1103	0x03C, 0x00000800,
1104	0x90000210,	0x00000000,	0x40000000,	0x00000000,
1105	0x03C, 0x00000800,
1106	0x9000020c,	0x00000000,	0x40000000,	0x00000000,
1107	0x03C, 0x00000820,
1108	0x9000040c,	0x00000000,	0x40000000,	0x00000000,
1109	0x03C, 0x00000820,
1110	0x90000200,	0x00000000,	0x40000000,	0x00000000,
1111	0x03C, 0x00000800,
1112	0x90000410,	0x00000000,	0x40000000,	0x00000000,
1113	0x03C, 0x00000800,
1114	0xA0000000,	0x00000000,
1115	0x03C, 0x00000900,
1116	0xB0000000,	0x00000000,
1117	0x0EF, 0x00000000,
1118	0x018, 0x0001712A,
1119	0x0EF, 0x00000002,
1120	0x80000111,	0x00000000,	0x40000000,	0x00000000,
1121	0x008, 0x0004E400,
1122	0x90000110,	0x00000000,	0x40000000,	0x00000000,
1123	0x008, 0x0004E400,
1124	0x90000210,	0x00000000,	0x40000000,	0x00000000,
1125	0x008, 0x00002000,
1126	0x9000020c,	0x00000000,	0x40000000,	0x00000000,
1127	0x008, 0x00002000,
1128	0x9000040c,	0x00000000,	0x40000000,	0x00000000,
1129	0x008, 0x00002000,
1130	0x90000200,	0x00000000,	0x40000000,	0x00000000,
1131	0x008, 0x00002000,
1132	0x90000410,	0x00000000,	0x40000000,	0x00000000,
1133	0x008, 0x0004E400,
1134	0xA0000000,	0x00000000,
1135	0x008, 0x00002000,
1136	0xB0000000,	0x00000000,
1137	0x0EF, 0x00000000,
1138	0x0DF, 0x000000C0,
1139	0x01F, 0x00000064,
1140	0x80000111,	0x00000000,	0x40000000,	0x00000000,
1141	0x058, 0x000A7284,
1142	0x059, 0x000600EC,
1143	0x90000110,	0x00000000,	0x40000000,	0x00000000,
1144	0x058, 0x000A7284,
1145	0x059, 0x000600EC,
1146	0x9000020c,	0x00000000,	0x40000000,	0x00000000,
1147	0x058, 0x00081184,
1148	0x059, 0x0006016C,
1149	0x9000040c,	0x00000000,	0x40000000,	0x00000000,
1150	0x058, 0x00081184,
1151	0x059, 0x0006016C,
1152	0x90000200,	0x00000000,	0x40000000,	0x00000000,
1153	0x058, 0x00081184,
1154	0x059, 0x0006016C,
1155	0x90000410,	0x00000000,	0x40000000,	0x00000000,
1156	0x058, 0x000A7284,
1157	0x059, 0x000600EC,
1158	0xA0000000,	0x00000000,
1159	0x058, 0x00081184,
1160	0x059, 0x0006016C,
1161	0xB0000000,	0x00000000,
1162	0x80000111,	0x00000000,	0x40000000,	0x00000000,
1163	0x061, 0x000E8D73,
1164	0x062, 0x00093FC5,
1165	0x90000110,	0x00000000,	0x40000000,	0x00000000,
1166	0x061, 0x000E8D73,
1167	0x062, 0x00093FC5,
1168	0x90000210,	0x00000000,	0x40000000,	0x00000000,
1169	0x061, 0x000EFD83,
1170	0x062, 0x00093FCC,
1171	0x9000040c,	0x00000000,	0x40000000,	0x00000000,
1172	0x061, 0x000EAD53,
1173	0x062, 0x00093BC4,
1174	0x90000200,	0x00000000,	0x40000000,	0x00000000,
1175	0x061, 0x000EFD83,
1176	0x062, 0x00093FCC,
1177	0x90000410,	0x00000000,	0x40000000,	0x00000000,
1178	0x061, 0x000E8D73,
1179	0x062, 0x00093FC5,
1180	0xA0000000,	0x00000000,
1181	0x061, 0x000EAD53,
1182	0x062, 0x00093BC4,
1183	0xB0000000,	0x00000000,
1184	0x80000111,	0x00000000,	0x40000000,	0x00000000,
1185	0x063, 0x000110E9,
1186	0x90000110,	0x00000000,	0x40000000,	0x00000000,
1187	0x063, 0x000110E9,
1188	0x90000210,	0x00000000,	0x40000000,	0x00000000,
1189	0x063, 0x000110EB,
1190	0x9000020c,	0x00000000,	0x40000000,	0x00000000,
1191	0x063, 0x000110E9,
1192	0x9000040c,	0x00000000,	0x40000000,	0x00000000,
1193	0x063, 0x000110E9,
1194	0x90000200,	0x00000000,	0x40000000,	0x00000000,
1195	0x063, 0x000110EB,
1196	0x90000410,	0x00000000,	0x40000000,	0x00000000,
1197	0x063, 0x000110E9,
1198	0xA0000000,	0x00000000,
1199	0x063, 0x000714E9,
1200	0xB0000000,	0x00000000,
1201	0x80000111,	0x00000000,	0x40000000,	0x00000000,
1202	0x064, 0x0001C27C,
1203	0x90000110,	0x00000000,	0x40000000,	0x00000000,
1204	0x064, 0x0001C27C,
1205	0x90000210,	0x00000000,	0x40000000,	0x00000000,
1206	0x064, 0x0001C27C,
1207	0x9000040c,	0x00000000,	0x40000000,	0x00000000,
1208	0x064, 0x0001C67C,
1209	0x90000200,	0x00000000,	0x40000000,	0x00000000,
1210	0x064, 0x0001C27C,
1211	0x90000410,	0x00000000,	0x40000000,	0x00000000,
1212	0x064, 0x0001C27C,
1213	0xA0000000,	0x00000000,
1214	0x064, 0x0001C67C,
1215	0xB0000000,	0x00000000,
1216	0x80000111,	0x00000000,	0x40000000,	0x00000000,
1217	0x065, 0x00091016,
1218	0x90000110,	0x00000000,	0x40000000,	0x00000000,
1219	0x065, 0x00091016,
1220	0x90000210,	0x00000000,	0x40000000,	0x00000000,
1221	0x065, 0x00093016,
1222	0x9000020c,	0x00000000,	0x40000000,	0x00000000,
1223	0x065, 0x00093015,
1224	0x9000040c,	0x00000000,	0x40000000,	0x00000000,
1225	0x065, 0x00093015,
1226	0x90000200,	0x00000000,	0x40000000,	0x00000000,
1227	0x065, 0x00093016,
1228	0xA0000000,	0x00000000,
1229	0x065, 0x00091016,
1230	0xB0000000,	0x00000000,
1231	0x018, 0x00000006,
1232	0x0EF, 0x00002000,
1233	0x03B, 0x0003824B,
1234	0x03B, 0x0003024B,
1235	0x03B, 0x0002844B,
1236	0x03B, 0x00020F4B,
1237	0x03B, 0x00018F4B,
1238	0x03B, 0x000104B2,
1239	0x03B, 0x00008049,
1240	0x03B, 0x00000148,
1241	0x03B, 0x0007824B,
1242	0x03B, 0x0007024B,
1243	0x03B, 0x0006824B,
1244	0x03B, 0x00060F4B,
1245	0x03B, 0x00058F4B,
1246	0x03B, 0x000504B2,
1247	0x03B, 0x00048049,
1248	0x03B, 0x00040148,
1249	0x0EF, 0x00000000,
1250	0x0EF, 0x00000100,
1251	0x034, 0x0000ADF3,
1252	0x034, 0x00009DF0,
1253	0x034, 0x00008D70,
1254	0x034, 0x00007D6D,
1255	0x034, 0x00006CEE,
1256	0x034, 0x00005CCC,
1257	0x034, 0x000044EC,
1258	0x034, 0x000034AC,
1259	0x034, 0x0000246D,
1260	0x034, 0x0000106F,
1261	0x034, 0x0000006C,
1262	0x0EF, 0x00000000,
1263	0x0ED, 0x00000010,
1264	0x044, 0x0000ADF2,
1265	0x044, 0x00009DEF,
1266	0x044, 0x00008DEC,
1267	0x044, 0x00007DE9,
1268	0x044, 0x00006CEC,
1269	0x044, 0x00005CE9,
1270	0x044, 0x000044EC,
1271	0x044, 0x000034E9,
1272	0x044, 0x0000246C,
1273	0x044, 0x00001469,
1274	0x044, 0x0000006C,
1275	0x0ED, 0x00000000,
1276	0x0ED, 0x00000001,
1277	0x040, 0x00038DA7,
1278	0x040, 0x000300C2,
1279	0x040, 0x000288E2,
1280	0x040, 0x000200B8,
1281	0x040, 0x000188A5,
1282	0x040, 0x00010FBC,
1283	0x040, 0x00008F71,
1284	0x040, 0x00000240,
1285	0x0ED, 0x00000000,
1286	0x0EF, 0x000020A2,
1287	0x0DF, 0x00000080,
1288	0x035, 0x00000120,
1289	0x035, 0x00008120,
1290	0x035, 0x00010120,
1291	0x036, 0x00000085,
1292	0x036, 0x00008085,
1293	0x036, 0x00010085,
1294	0x036, 0x00018085,
1295	0x0EF, 0x00000000,
1296	0x051, 0x00000C31,
1297	0x052, 0x00000622,
1298	0x053, 0x000FC70B,
1299	0x054, 0x0000017E,
1300	0x056, 0x00051DF3,
1301	0x051, 0x00000C01,
1302	0x052, 0x000006D6,
1303	0x053, 0x000FC649,
1304	0x070, 0x00049661,
1305	0x071, 0x0007843E,
1306	0x072, 0x00000382,
1307	0x074, 0x00051400,
1308	0x035, 0x00000160,
1309	0x035, 0x00008160,
1310	0x035, 0x00010160,
1311	0x036, 0x00000124,
1312	0x036, 0x00008124,
1313	0x036, 0x00010124,
1314	0x036, 0x00018124,
1315	0x0ED, 0x0000000C,
1316	0x045, 0x00000140,
1317	0x045, 0x00008140,
1318	0x045, 0x00010140,
1319	0x046, 0x00000124,
1320	0x046, 0x00008124,
1321	0x046, 0x00010124,
1322	0x046, 0x00018124,
1323	0x0DF, 0x00000088,
1324	0x0B3, 0x000F0E18,
1325	0x0B4, 0x0001214C,
1326	0x0B7, 0x0003000C,
1327	0x01C, 0x000539D2,
1328	0x0C4, 0x000AFE00,
1329	0x018, 0x0001F12A,
1330	0xFFE, 0x00000000,
1331	0xFFE, 0x00000000,
1332	0x018, 0x0001712A,
1333};
1334
1335RTW_DECL_TABLE_RF_RADIO(rtw8821a_rf_a, A);
1336
1337static const struct rtw_txpwr_lmt_cfg_pair rtw8821a_txpwr_lmt[] = {
1338	{ 0, 0, 0, 0, 1, 32, },
1339	{ 2, 0, 0, 0, 1, 28, },
1340	{ 1, 0, 0, 0, 1, 32, },
1341	{ 0, 0, 0, 0, 2, 32, },
1342	{ 2, 0, 0, 0, 2, 28, },
1343	{ 1, 0, 0, 0, 2, 32, },
1344	{ 0, 0, 0, 0, 3, 36, },
1345	{ 2, 0, 0, 0, 3, 28, },
1346	{ 1, 0, 0, 0, 3, 32, },
1347	{ 0, 0, 0, 0, 4, 36, },
1348	{ 2, 0, 0, 0, 4, 28, },
1349	{ 1, 0, 0, 0, 4, 32, },
1350	{ 0, 0, 0, 0, 5, 36, },
1351	{ 2, 0, 0, 0, 5, 28, },
1352	{ 1, 0, 0, 0, 5, 32, },
1353	{ 0, 0, 0, 0, 6, 36, },
1354	{ 2, 0, 0, 0, 6, 28, },
1355	{ 1, 0, 0, 0, 6, 32, },
1356	{ 0, 0, 0, 0, 7, 36, },
1357	{ 2, 0, 0, 0, 7, 28, },
1358	{ 1, 0, 0, 0, 7, 32, },
1359	{ 0, 0, 0, 0, 8, 36, },
1360	{ 2, 0, 0, 0, 8, 28, },
1361	{ 1, 0, 0, 0, 8, 32, },
1362	{ 0, 0, 0, 0, 9, 32, },
1363	{ 2, 0, 0, 0, 9, 28, },
1364	{ 1, 0, 0, 0, 9, 32, },
1365	{ 0, 0, 0, 0, 10, 32, },
1366	{ 2, 0, 0, 0, 10, 28, },
1367	{ 1, 0, 0, 0, 10, 32, },
1368	{ 0, 0, 0, 0, 11, 32, },
1369	{ 2, 0, 0, 0, 11, 28, },
1370	{ 1, 0, 0, 0, 11, 32, },
1371	{ 0, 0, 0, 0, 12, 28, },
1372	{ 2, 0, 0, 0, 12, 28, },
1373	{ 1, 0, 0, 0, 12, 32, },
1374	{ 0, 0, 0, 0, 13, 26, },
1375	{ 2, 0, 0, 0, 13, 28, },
1376	{ 1, 0, 0, 0, 13, 32, },
1377	{ 0, 0, 0, 0, 14, 63, },
1378	{ 2, 0, 0, 0, 14, 63, },
1379	{ 1, 0, 0, 0, 14, 32, },
1380	{ 0, 0, 0, 1, 1, 30, },
1381	{ 2, 0, 0, 1, 1, 30, },
1382	{ 1, 0, 0, 1, 1, 32, },
1383	{ 0, 0, 0, 1, 2, 30, },
1384	{ 2, 0, 0, 1, 2, 32, },
1385	{ 1, 0, 0, 1, 2, 32, },
1386	{ 0, 0, 0, 1, 3, 32, },
1387	{ 2, 0, 0, 1, 3, 32, },
1388	{ 1, 0, 0, 1, 3, 32, },
1389	{ 0, 0, 0, 1, 4, 32, },
1390	{ 2, 0, 0, 1, 4, 32, },
1391	{ 1, 0, 0, 1, 4, 32, },
1392	{ 0, 0, 0, 1, 5, 32, },
1393	{ 2, 0, 0, 1, 5, 32, },
1394	{ 1, 0, 0, 1, 5, 32, },
1395	{ 0, 0, 0, 1, 6, 32, },
1396	{ 2, 0, 0, 1, 6, 32, },
1397	{ 1, 0, 0, 1, 6, 32, },
1398	{ 0, 0, 0, 1, 7, 32, },
1399	{ 2, 0, 0, 1, 7, 32, },
1400	{ 1, 0, 0, 1, 7, 32, },
1401	{ 0, 0, 0, 1, 8, 32, },
1402	{ 2, 0, 0, 1, 8, 32, },
1403	{ 1, 0, 0, 1, 8, 32, },
1404	{ 0, 0, 0, 1, 9, 30, },
1405	{ 2, 0, 0, 1, 9, 32, },
1406	{ 1, 0, 0, 1, 9, 32, },
1407	{ 0, 0, 0, 1, 10, 30, },
1408	{ 2, 0, 0, 1, 10, 32, },
1409	{ 1, 0, 0, 1, 10, 32, },
1410	{ 0, 0, 0, 1, 11, 30, },
1411	{ 2, 0, 0, 1, 11, 32, },
1412	{ 1, 0, 0, 1, 11, 32, },
1413	{ 0, 0, 0, 1, 12, 26, },
1414	{ 2, 0, 0, 1, 12, 32, },
1415	{ 1, 0, 0, 1, 12, 32, },
1416	{ 0, 0, 0, 1, 13, 24, },
1417	{ 2, 0, 0, 1, 13, 30, },
1418	{ 1, 0, 0, 1, 13, 32, },
1419	{ 0, 0, 0, 1, 14, 63, },
1420	{ 2, 0, 0, 1, 14, 63, },
1421	{ 1, 0, 0, 1, 14, 63, },
1422	{ 0, 0, 0, 2, 1, 26, },
1423	{ 2, 0, 0, 2, 1, 26, },
1424	{ 1, 0, 0, 2, 1, 32, },
1425	{ 0, 0, 0, 2, 2, 26, },
1426	{ 2, 0, 0, 2, 2, 32, },
1427	{ 1, 0, 0, 2, 2, 32, },
1428	{ 0, 0, 0, 2, 3, 32, },
1429	{ 2, 0, 0, 2, 3, 32, },
1430	{ 1, 0, 0, 2, 3, 32, },
1431	{ 0, 0, 0, 2, 4, 32, },
1432	{ 2, 0, 0, 2, 4, 32, },
1433	{ 1, 0, 0, 2, 4, 32, },
1434	{ 0, 0, 0, 2, 5, 32, },
1435	{ 2, 0, 0, 2, 5, 32, },
1436	{ 1, 0, 0, 2, 5, 32, },
1437	{ 0, 0, 0, 2, 6, 32, },
1438	{ 2, 0, 0, 2, 6, 32, },
1439	{ 1, 0, 0, 2, 6, 32, },
1440	{ 0, 0, 0, 2, 7, 32, },
1441	{ 2, 0, 0, 2, 7, 32, },
1442	{ 1, 0, 0, 2, 7, 32, },
1443	{ 0, 0, 0, 2, 8, 32, },
1444	{ 2, 0, 0, 2, 8, 32, },
1445	{ 1, 0, 0, 2, 8, 32, },
1446	{ 0, 0, 0, 2, 9, 26, },
1447	{ 2, 0, 0, 2, 9, 32, },
1448	{ 1, 0, 0, 2, 9, 32, },
1449	{ 0, 0, 0, 2, 10, 26, },
1450	{ 2, 0, 0, 2, 10, 32, },
1451	{ 1, 0, 0, 2, 10, 32, },
1452	{ 0, 0, 0, 2, 11, 26, },
1453	{ 2, 0, 0, 2, 11, 32, },
1454	{ 1, 0, 0, 2, 11, 32, },
1455	{ 0, 0, 0, 2, 12, 26, },
1456	{ 2, 0, 0, 2, 12, 32, },
1457	{ 1, 0, 0, 2, 12, 32, },
1458	{ 0, 0, 0, 2, 13, 24, },
1459	{ 2, 0, 0, 2, 13, 26, },
1460	{ 1, 0, 0, 2, 13, 32, },
1461	{ 0, 0, 0, 2, 14, 63, },
1462	{ 2, 0, 0, 2, 14, 63, },
1463	{ 1, 0, 0, 2, 14, 63, },
1464	{ 0, 0, 0, 3, 1, 30, },
1465	{ 2, 0, 0, 3, 1, 32, },
1466	{ 1, 0, 0, 3, 1, 32, },
1467	{ 0, 0, 0, 3, 2, 32, },
1468	{ 2, 0, 0, 3, 2, 32, },
1469	{ 1, 0, 0, 3, 2, 32, },
1470	{ 0, 0, 0, 3, 3, 32, },
1471	{ 2, 0, 0, 3, 3, 32, },
1472	{ 1, 0, 0, 3, 3, 32, },
1473	{ 0, 0, 0, 3, 4, 32, },
1474	{ 2, 0, 0, 3, 4, 32, },
1475	{ 1, 0, 0, 3, 4, 32, },
1476	{ 0, 0, 0, 3, 5, 32, },
1477	{ 2, 0, 0, 3, 5, 32, },
1478	{ 1, 0, 0, 3, 5, 32, },
1479	{ 0, 0, 0, 3, 6, 32, },
1480	{ 2, 0, 0, 3, 6, 32, },
1481	{ 1, 0, 0, 3, 6, 32, },
1482	{ 0, 0, 0, 3, 7, 32, },
1483	{ 2, 0, 0, 3, 7, 32, },
1484	{ 1, 0, 0, 3, 7, 32, },
1485	{ 0, 0, 0, 3, 8, 32, },
1486	{ 2, 0, 0, 3, 8, 32, },
1487	{ 1, 0, 0, 3, 8, 32, },
1488	{ 0, 0, 0, 3, 9, 32, },
1489	{ 2, 0, 0, 3, 9, 32, },
1490	{ 1, 0, 0, 3, 9, 32, },
1491	{ 0, 0, 0, 3, 10, 32, },
1492	{ 2, 0, 0, 3, 10, 32, },
1493	{ 1, 0, 0, 3, 10, 32, },
1494	{ 0, 0, 0, 3, 11, 30, },
1495	{ 2, 0, 0, 3, 11, 32, },
1496	{ 1, 0, 0, 3, 11, 32, },
1497	{ 0, 0, 0, 3, 12, 63, },
1498	{ 2, 0, 0, 3, 12, 32, },
1499	{ 1, 0, 0, 3, 12, 32, },
1500	{ 0, 0, 0, 3, 13, 63, },
1501	{ 2, 0, 0, 3, 13, 32, },
1502	{ 1, 0, 0, 3, 13, 32, },
1503	{ 0, 0, 0, 3, 14, 63, },
1504	{ 2, 0, 0, 3, 14, 63, },
1505	{ 1, 0, 0, 3, 14, 63, },
1506	{ 0, 0, 1, 2, 1, 63, },
1507	{ 2, 0, 1, 2, 1, 63, },
1508	{ 1, 0, 1, 2, 1, 63, },
1509	{ 0, 0, 1, 2, 2, 63, },
1510	{ 2, 0, 1, 2, 2, 63, },
1511	{ 1, 0, 1, 2, 2, 63, },
1512	{ 0, 0, 1, 2, 3, 26, },
1513	{ 2, 0, 1, 2, 3, 26, },
1514	{ 1, 0, 1, 2, 3, 32, },
1515	{ 0, 0, 1, 2, 4, 26, },
1516	{ 2, 0, 1, 2, 4, 32, },
1517	{ 1, 0, 1, 2, 4, 32, },
1518	{ 0, 0, 1, 2, 5, 26, },
1519	{ 2, 0, 1, 2, 5, 32, },
1520	{ 1, 0, 1, 2, 5, 32, },
1521	{ 0, 0, 1, 2, 6, 32, },
1522	{ 2, 0, 1, 2, 6, 32, },
1523	{ 1, 0, 1, 2, 6, 32, },
1524	{ 0, 0, 1, 2, 7, 32, },
1525	{ 2, 0, 1, 2, 7, 32, },
1526	{ 1, 0, 1, 2, 7, 32, },
1527	{ 0, 0, 1, 2, 8, 32, },
1528	{ 2, 0, 1, 2, 8, 32, },
1529	{ 1, 0, 1, 2, 8, 32, },
1530	{ 0, 0, 1, 2, 9, 26, },
1531	{ 2, 0, 1, 2, 9, 32, },
1532	{ 1, 0, 1, 2, 9, 32, },
1533	{ 0, 0, 1, 2, 10, 24, },
1534	{ 2, 0, 1, 2, 10, 32, },
1535	{ 1, 0, 1, 2, 10, 32, },
1536	{ 0, 0, 1, 2, 11, 22, },
1537	{ 2, 0, 1, 2, 11, 26, },
1538	{ 1, 0, 1, 2, 11, 32, },
1539	{ 0, 0, 1, 2, 12, 63, },
1540	{ 2, 0, 1, 2, 12, 63, },
1541	{ 1, 0, 1, 2, 12, 63, },
1542	{ 0, 0, 1, 2, 13, 63, },
1543	{ 2, 0, 1, 2, 13, 63, },
1544	{ 1, 0, 1, 2, 13, 63, },
1545	{ 0, 0, 1, 2, 14, 63, },
1546	{ 2, 0, 1, 2, 14, 63, },
1547	{ 1, 0, 1, 2, 14, 63, },
1548	{ 0, 0, 1, 3, 1, 63, },
1549	{ 2, 0, 1, 3, 1, 63, },
1550	{ 1, 0, 1, 3, 1, 63, },
1551	{ 0, 0, 1, 3, 2, 63, },
1552	{ 2, 0, 1, 3, 2, 63, },
1553	{ 1, 0, 1, 3, 2, 63, },
1554	{ 0, 0, 1, 3, 3, 30, },
1555	{ 2, 0, 1, 3, 3, 30, },
1556	{ 1, 0, 1, 3, 3, 30, },
1557	{ 0, 0, 1, 3, 4, 32, },
1558	{ 2, 0, 1, 3, 4, 30, },
1559	{ 1, 0, 1, 3, 4, 30, },
1560	{ 0, 0, 1, 3, 5, 32, },
1561	{ 2, 0, 1, 3, 5, 30, },
1562	{ 1, 0, 1, 3, 5, 30, },
1563	{ 0, 0, 1, 3, 6, 32, },
1564	{ 2, 0, 1, 3, 6, 30, },
1565	{ 1, 0, 1, 3, 6, 30, },
1566	{ 0, 0, 1, 3, 7, 32, },
1567	{ 2, 0, 1, 3, 7, 30, },
1568	{ 1, 0, 1, 3, 7, 30, },
1569	{ 0, 0, 1, 3, 8, 32, },
1570	{ 2, 0, 1, 3, 8, 30, },
1571	{ 1, 0, 1, 3, 8, 30, },
1572	{ 0, 0, 1, 3, 9, 32, },
1573	{ 2, 0, 1, 3, 9, 30, },
1574	{ 1, 0, 1, 3, 9, 30, },
1575	{ 0, 0, 1, 3, 10, 32, },
1576	{ 2, 0, 1, 3, 10, 30, },
1577	{ 1, 0, 1, 3, 10, 30, },
1578	{ 0, 0, 1, 3, 11, 30, },
1579	{ 2, 0, 1, 3, 11, 30, },
1580	{ 1, 0, 1, 3, 11, 30, },
1581	{ 0, 0, 1, 3, 12, 63, },
1582	{ 2, 0, 1, 3, 12, 32, },
1583	{ 1, 0, 1, 3, 12, 32, },
1584	{ 0, 0, 1, 3, 13, 63, },
1585	{ 2, 0, 1, 3, 13, 32, },
1586	{ 1, 0, 1, 3, 13, 32, },
1587	{ 0, 0, 1, 3, 14, 63, },
1588	{ 2, 0, 1, 3, 14, 63, },
1589	{ 1, 0, 1, 3, 14, 63, },
1590	{ 0, 1, 0, 1, 36, 32, },
1591	{ 2, 1, 0, 1, 36, 30, },
1592	{ 1, 1, 0, 1, 36, 30, },
1593	{ 0, 1, 0, 1, 40, 32, },
1594	{ 2, 1, 0, 1, 40, 30, },
1595	{ 1, 1, 0, 1, 40, 30, },
1596	{ 0, 1, 0, 1, 44, 32, },
1597	{ 2, 1, 0, 1, 44, 30, },
1598	{ 1, 1, 0, 1, 44, 30, },
1599	{ 0, 1, 0, 1, 48, 32, },
1600	{ 2, 1, 0, 1, 48, 30, },
1601	{ 1, 1, 0, 1, 48, 30, },
1602	{ 0, 1, 0, 1, 52, 32, },
1603	{ 2, 1, 0, 1, 52, 30, },
1604	{ 1, 1, 0, 1, 52, 30, },
1605	{ 0, 1, 0, 1, 56, 32, },
1606	{ 2, 1, 0, 1, 56, 30, },
1607	{ 1, 1, 0, 1, 56, 30, },
1608	{ 0, 1, 0, 1, 60, 32, },
1609	{ 2, 1, 0, 1, 60, 30, },
1610	{ 1, 1, 0, 1, 60, 30, },
1611	{ 0, 1, 0, 1, 64, 32, },
1612	{ 2, 1, 0, 1, 64, 30, },
1613	{ 1, 1, 0, 1, 64, 30, },
1614	{ 0, 1, 0, 1, 100, 32, },
1615	{ 2, 1, 0, 1, 100, 30, },
1616	{ 1, 1, 0, 1, 100, 30, },
1617	{ 0, 1, 0, 1, 104, 32, },
1618	{ 2, 1, 0, 1, 104, 30, },
1619	{ 1, 1, 0, 1, 104, 30, },
1620	{ 0, 1, 0, 1, 108, 32, },
1621	{ 2, 1, 0, 1, 108, 30, },
1622	{ 1, 1, 0, 1, 108, 30, },
1623	{ 0, 1, 0, 1, 112, 32, },
1624	{ 2, 1, 0, 1, 112, 30, },
1625	{ 1, 1, 0, 1, 112, 30, },
1626	{ 0, 1, 0, 1, 116, 32, },
1627	{ 2, 1, 0, 1, 116, 30, },
1628	{ 1, 1, 0, 1, 116, 30, },
1629	{ 0, 1, 0, 1, 120, 32, },
1630	{ 2, 1, 0, 1, 120, 30, },
1631	{ 1, 1, 0, 1, 120, 30, },
1632	{ 0, 1, 0, 1, 124, 32, },
1633	{ 2, 1, 0, 1, 124, 30, },
1634	{ 1, 1, 0, 1, 124, 30, },
1635	{ 0, 1, 0, 1, 128, 32, },
1636	{ 2, 1, 0, 1, 128, 30, },
1637	{ 1, 1, 0, 1, 128, 30, },
1638	{ 0, 1, 0, 1, 132, 32, },
1639	{ 2, 1, 0, 1, 132, 30, },
1640	{ 1, 1, 0, 1, 132, 30, },
1641	{ 0, 1, 0, 1, 136, 32, },
1642	{ 2, 1, 0, 1, 136, 30, },
1643	{ 1, 1, 0, 1, 136, 30, },
1644	{ 0, 1, 0, 1, 140, 32, },
1645	{ 2, 1, 0, 1, 140, 30, },
1646	{ 1, 1, 0, 1, 140, 30, },
1647	{ 0, 1, 0, 1, 149, 32, },
1648	{ 2, 1, 0, 1, 149, 30, },
1649	{ 1, 1, 0, 1, 149, 63, },
1650	{ 0, 1, 0, 1, 153, 32, },
1651	{ 2, 1, 0, 1, 153, 30, },
1652	{ 1, 1, 0, 1, 153, 63, },
1653	{ 0, 1, 0, 1, 157, 32, },
1654	{ 2, 1, 0, 1, 157, 30, },
1655	{ 1, 1, 0, 1, 157, 63, },
1656	{ 0, 1, 0, 1, 161, 32, },
1657	{ 2, 1, 0, 1, 161, 30, },
1658	{ 1, 1, 0, 1, 161, 63, },
1659	{ 0, 1, 0, 1, 165, 32, },
1660	{ 2, 1, 0, 1, 165, 30, },
1661	{ 1, 1, 0, 1, 165, 63, },
1662	{ 0, 1, 0, 2, 36, 32, },
1663	{ 2, 1, 0, 2, 36, 30, },
1664	{ 1, 1, 0, 2, 36, 30, },
1665	{ 0, 1, 0, 2, 40, 32, },
1666	{ 2, 1, 0, 2, 40, 30, },
1667	{ 1, 1, 0, 2, 40, 30, },
1668	{ 0, 1, 0, 2, 44, 32, },
1669	{ 2, 1, 0, 2, 44, 30, },
1670	{ 1, 1, 0, 2, 44, 30, },
1671	{ 0, 1, 0, 2, 48, 32, },
1672	{ 2, 1, 0, 2, 48, 30, },
1673	{ 1, 1, 0, 2, 48, 30, },
1674	{ 0, 1, 0, 2, 52, 32, },
1675	{ 2, 1, 0, 2, 52, 30, },
1676	{ 1, 1, 0, 2, 52, 30, },
1677	{ 0, 1, 0, 2, 56, 32, },
1678	{ 2, 1, 0, 2, 56, 30, },
1679	{ 1, 1, 0, 2, 56, 30, },
1680	{ 0, 1, 0, 2, 60, 32, },
1681	{ 2, 1, 0, 2, 60, 30, },
1682	{ 1, 1, 0, 2, 60, 30, },
1683	{ 0, 1, 0, 2, 64, 32, },
1684	{ 2, 1, 0, 2, 64, 30, },
1685	{ 1, 1, 0, 2, 64, 30, },
1686	{ 0, 1, 0, 2, 100, 32, },
1687	{ 2, 1, 0, 2, 100, 30, },
1688	{ 1, 1, 0, 2, 100, 30, },
1689	{ 0, 1, 0, 2, 104, 32, },
1690	{ 2, 1, 0, 2, 104, 30, },
1691	{ 1, 1, 0, 2, 104, 30, },
1692	{ 0, 1, 0, 2, 108, 32, },
1693	{ 2, 1, 0, 2, 108, 30, },
1694	{ 1, 1, 0, 2, 108, 30, },
1695	{ 0, 1, 0, 2, 112, 32, },
1696	{ 2, 1, 0, 2, 112, 30, },
1697	{ 1, 1, 0, 2, 112, 30, },
1698	{ 0, 1, 0, 2, 116, 32, },
1699	{ 2, 1, 0, 2, 116, 30, },
1700	{ 1, 1, 0, 2, 116, 30, },
1701	{ 0, 1, 0, 2, 120, 32, },
1702	{ 2, 1, 0, 2, 120, 30, },
1703	{ 1, 1, 0, 2, 120, 30, },
1704	{ 0, 1, 0, 2, 124, 32, },
1705	{ 2, 1, 0, 2, 124, 30, },
1706	{ 1, 1, 0, 2, 124, 30, },
1707	{ 0, 1, 0, 2, 128, 32, },
1708	{ 2, 1, 0, 2, 128, 30, },
1709	{ 1, 1, 0, 2, 128, 30, },
1710	{ 0, 1, 0, 2, 132, 32, },
1711	{ 2, 1, 0, 2, 132, 30, },
1712	{ 1, 1, 0, 2, 132, 30, },
1713	{ 0, 1, 0, 2, 136, 32, },
1714	{ 2, 1, 0, 2, 136, 30, },
1715	{ 1, 1, 0, 2, 136, 30, },
1716	{ 0, 1, 0, 2, 140, 32, },
1717	{ 2, 1, 0, 2, 140, 30, },
1718	{ 1, 1, 0, 2, 140, 30, },
1719	{ 0, 1, 0, 2, 149, 32, },
1720	{ 2, 1, 0, 2, 149, 30, },
1721	{ 1, 1, 0, 2, 149, 63, },
1722	{ 0, 1, 0, 2, 153, 32, },
1723	{ 2, 1, 0, 2, 153, 30, },
1724	{ 1, 1, 0, 2, 153, 63, },
1725	{ 0, 1, 0, 2, 157, 32, },
1726	{ 2, 1, 0, 2, 157, 30, },
1727	{ 1, 1, 0, 2, 157, 63, },
1728	{ 0, 1, 0, 2, 161, 32, },
1729	{ 2, 1, 0, 2, 161, 30, },
1730	{ 1, 1, 0, 2, 161, 63, },
1731	{ 0, 1, 0, 2, 165, 32, },
1732	{ 2, 1, 0, 2, 165, 30, },
1733	{ 1, 1, 0, 2, 165, 63, },
1734	{ 0, 1, 0, 3, 36, 28, },
1735	{ 2, 1, 0, 3, 36, 30, },
1736	{ 1, 1, 0, 3, 36, 30, },
1737	{ 0, 1, 0, 3, 40, 28, },
1738	{ 2, 1, 0, 3, 40, 30, },
1739	{ 1, 1, 0, 3, 40, 30, },
1740	{ 0, 1, 0, 3, 44, 28, },
1741	{ 2, 1, 0, 3, 44, 30, },
1742	{ 1, 1, 0, 3, 44, 30, },
1743	{ 0, 1, 0, 3, 48, 28, },
1744	{ 2, 1, 0, 3, 48, 30, },
1745	{ 1, 1, 0, 3, 48, 30, },
1746	{ 0, 1, 0, 3, 52, 34, },
1747	{ 2, 1, 0, 3, 52, 30, },
1748	{ 1, 1, 0, 3, 52, 30, },
1749	{ 0, 1, 0, 3, 56, 32, },
1750	{ 2, 1, 0, 3, 56, 30, },
1751	{ 1, 1, 0, 3, 56, 30, },
1752	{ 0, 1, 0, 3, 60, 30, },
1753	{ 2, 1, 0, 3, 60, 30, },
1754	{ 1, 1, 0, 3, 60, 30, },
1755	{ 0, 1, 0, 3, 64, 26, },
1756	{ 2, 1, 0, 3, 64, 30, },
1757	{ 1, 1, 0, 3, 64, 30, },
1758	{ 0, 1, 0, 3, 100, 28, },
1759	{ 2, 1, 0, 3, 100, 30, },
1760	{ 1, 1, 0, 3, 100, 30, },
1761	{ 0, 1, 0, 3, 104, 28, },
1762	{ 2, 1, 0, 3, 104, 30, },
1763	{ 1, 1, 0, 3, 104, 30, },
1764	{ 0, 1, 0, 3, 108, 30, },
1765	{ 2, 1, 0, 3, 108, 30, },
1766	{ 1, 1, 0, 3, 108, 30, },
1767	{ 0, 1, 0, 3, 112, 32, },
1768	{ 2, 1, 0, 3, 112, 30, },
1769	{ 1, 1, 0, 3, 112, 30, },
1770	{ 0, 1, 0, 3, 116, 32, },
1771	{ 2, 1, 0, 3, 116, 30, },
1772	{ 1, 1, 0, 3, 116, 30, },
1773	{ 0, 1, 0, 3, 120, 34, },
1774	{ 2, 1, 0, 3, 120, 30, },
1775	{ 1, 1, 0, 3, 120, 30, },
1776	{ 0, 1, 0, 3, 124, 32, },
1777	{ 2, 1, 0, 3, 124, 30, },
1778	{ 1, 1, 0, 3, 124, 30, },
1779	{ 0, 1, 0, 3, 128, 30, },
1780	{ 2, 1, 0, 3, 128, 30, },
1781	{ 1, 1, 0, 3, 128, 30, },
1782	{ 0, 1, 0, 3, 132, 28, },
1783	{ 2, 1, 0, 3, 132, 30, },
1784	{ 1, 1, 0, 3, 132, 30, },
1785	{ 0, 1, 0, 3, 136, 28, },
1786	{ 2, 1, 0, 3, 136, 30, },
1787	{ 1, 1, 0, 3, 136, 30, },
1788	{ 0, 1, 0, 3, 140, 26, },
1789	{ 2, 1, 0, 3, 140, 30, },
1790	{ 1, 1, 0, 3, 140, 30, },
1791	{ 0, 1, 0, 3, 149, 34, },
1792	{ 2, 1, 0, 3, 149, 30, },
1793	{ 1, 1, 0, 3, 149, 63, },
1794	{ 0, 1, 0, 3, 153, 34, },
1795	{ 2, 1, 0, 3, 153, 30, },
1796	{ 1, 1, 0, 3, 153, 63, },
1797	{ 0, 1, 0, 3, 157, 34, },
1798	{ 2, 1, 0, 3, 157, 30, },
1799	{ 1, 1, 0, 3, 157, 63, },
1800	{ 0, 1, 0, 3, 161, 34, },
1801	{ 2, 1, 0, 3, 161, 30, },
1802	{ 1, 1, 0, 3, 161, 63, },
1803	{ 0, 1, 0, 3, 165, 34, },
1804	{ 2, 1, 0, 3, 165, 30, },
1805	{ 1, 1, 0, 3, 165, 63, },
1806	{ 0, 1, 1, 2, 38, 26, },
1807	{ 2, 1, 1, 2, 38, 30, },
1808	{ 1, 1, 1, 2, 38, 30, },
1809	{ 0, 1, 1, 2, 46, 32, },
1810	{ 2, 1, 1, 2, 46, 30, },
1811	{ 1, 1, 1, 2, 46, 30, },
1812	{ 0, 1, 1, 2, 54, 32, },
1813	{ 2, 1, 1, 2, 54, 30, },
1814	{ 1, 1, 1, 2, 54, 30, },
1815	{ 0, 1, 1, 2, 62, 24, },
1816	{ 2, 1, 1, 2, 62, 30, },
1817	{ 1, 1, 1, 2, 62, 30, },
1818	{ 0, 1, 1, 2, 102, 24, },
1819	{ 2, 1, 1, 2, 102, 30, },
1820	{ 1, 1, 1, 2, 102, 30, },
1821	{ 0, 1, 1, 2, 110, 32, },
1822	{ 2, 1, 1, 2, 110, 30, },
1823	{ 1, 1, 1, 2, 110, 30, },
1824	{ 0, 1, 1, 2, 118, 32, },
1825	{ 2, 1, 1, 2, 118, 30, },
1826	{ 1, 1, 1, 2, 118, 30, },
1827	{ 0, 1, 1, 2, 126, 32, },
1828	{ 2, 1, 1, 2, 126, 30, },
1829	{ 1, 1, 1, 2, 126, 30, },
1830	{ 0, 1, 1, 2, 134, 32, },
1831	{ 2, 1, 1, 2, 134, 30, },
1832	{ 1, 1, 1, 2, 134, 30, },
1833	{ 0, 1, 1, 2, 151, 30, },
1834	{ 2, 1, 1, 2, 151, 30, },
1835	{ 1, 1, 1, 2, 151, 63, },
1836	{ 0, 1, 1, 2, 159, 32, },
1837	{ 2, 1, 1, 2, 159, 30, },
1838	{ 1, 1, 1, 2, 159, 63, },
1839	{ 0, 1, 1, 3, 38, 28, },
1840	{ 2, 1, 1, 3, 38, 30, },
1841	{ 1, 1, 1, 3, 38, 30, },
1842	{ 0, 1, 1, 3, 46, 28, },
1843	{ 2, 1, 1, 3, 46, 30, },
1844	{ 1, 1, 1, 3, 46, 30, },
1845	{ 0, 1, 1, 3, 54, 30, },
1846	{ 2, 1, 1, 3, 54, 30, },
1847	{ 1, 1, 1, 3, 54, 30, },
1848	{ 0, 1, 1, 3, 62, 30, },
1849	{ 2, 1, 1, 3, 62, 30, },
1850	{ 1, 1, 1, 3, 62, 30, },
1851	{ 0, 1, 1, 3, 102, 26, },
1852	{ 2, 1, 1, 3, 102, 30, },
1853	{ 1, 1, 1, 3, 102, 30, },
1854	{ 0, 1, 1, 3, 110, 30, },
1855	{ 2, 1, 1, 3, 110, 30, },
1856	{ 1, 1, 1, 3, 110, 30, },
1857	{ 0, 1, 1, 3, 118, 34, },
1858	{ 2, 1, 1, 3, 118, 30, },
1859	{ 1, 1, 1, 3, 118, 30, },
1860	{ 0, 1, 1, 3, 126, 32, },
1861	{ 2, 1, 1, 3, 126, 30, },
1862	{ 1, 1, 1, 3, 126, 30, },
1863	{ 0, 1, 1, 3, 134, 30, },
1864	{ 2, 1, 1, 3, 134, 30, },
1865	{ 1, 1, 1, 3, 134, 30, },
1866	{ 0, 1, 1, 3, 151, 34, },
1867	{ 2, 1, 1, 3, 151, 30, },
1868	{ 1, 1, 1, 3, 151, 63, },
1869	{ 0, 1, 1, 3, 159, 34, },
1870	{ 2, 1, 1, 3, 159, 30, },
1871	{ 1, 1, 1, 3, 159, 63, },
1872	{ 0, 1, 2, 4, 42, 22, },
1873	{ 2, 1, 2, 4, 42, 30, },
1874	{ 1, 1, 2, 4, 42, 30, },
1875	{ 0, 1, 2, 4, 58, 20, },
1876	{ 2, 1, 2, 4, 58, 30, },
1877	{ 1, 1, 2, 4, 58, 30, },
1878	{ 0, 1, 2, 4, 106, 20, },
1879	{ 2, 1, 2, 4, 106, 30, },
1880	{ 1, 1, 2, 4, 106, 30, },
1881	{ 0, 1, 2, 4, 122, 20, },
1882	{ 2, 1, 2, 4, 122, 30, },
1883	{ 1, 1, 2, 4, 122, 30, },
1884	{ 0, 1, 2, 4, 155, 28, },
1885	{ 2, 1, 2, 4, 155, 30, },
1886	{ 1, 1, 2, 4, 155, 63, },
1887	{ 0, 1, 2, 5, 42, 28, },
1888	{ 2, 1, 2, 5, 42, 30, },
1889	{ 1, 1, 2, 5, 42, 30, },
1890	{ 0, 1, 2, 5, 58, 26, },
1891	{ 2, 1, 2, 5, 58, 30, },
1892	{ 1, 1, 2, 5, 58, 30, },
1893	{ 0, 1, 2, 5, 106, 28, },
1894	{ 2, 1, 2, 5, 106, 30, },
1895	{ 1, 1, 2, 5, 106, 30, },
1896	{ 0, 1, 2, 5, 122, 32, },
1897	{ 2, 1, 2, 5, 122, 30, },
1898	{ 1, 1, 2, 5, 122, 30, },
1899	{ 0, 1, 2, 5, 155, 34, },
1900	{ 2, 1, 2, 5, 155, 30, },
1901	{ 1, 1, 2, 5, 155, 63, },
1902};
1903
1904RTW_DECL_TABLE_TXPWR_LMT(rtw8821a_txpwr_lmt);
1905
1906static const struct rtw_pwr_seq_cmd trans_carddis_to_cardemu_8821a[] = {
1907	{0x0005,
1908	 RTW_PWR_CUT_ALL_MSK,
1909	 RTW_PWR_INTF_ALL_MSK,
1910	 RTW_PWR_ADDR_MAC,
1911	 RTW_PWR_CMD_WRITE, BIT(3) | BIT(7), 0},
1912	{0x0086,
1913	 RTW_PWR_CUT_ALL_MSK,
1914	 RTW_PWR_INTF_SDIO_MSK,
1915	 RTW_PWR_ADDR_SDIO,
1916	 RTW_PWR_CMD_WRITE, BIT(0), 0},
1917	{0x0086,
1918	 RTW_PWR_CUT_ALL_MSK,
1919	 RTW_PWR_INTF_SDIO_MSK,
1920	 RTW_PWR_ADDR_SDIO,
1921	 RTW_PWR_CMD_POLLING, BIT(1), BIT(1)},
1922	{0x004A,
1923	 RTW_PWR_CUT_ALL_MSK,
1924	 RTW_PWR_INTF_USB_MSK,
1925	 RTW_PWR_ADDR_MAC,
1926	 RTW_PWR_CMD_WRITE, BIT(0), 0},
1927	{0x0005,
1928	 RTW_PWR_CUT_ALL_MSK,
1929	 RTW_PWR_INTF_ALL_MSK,
1930	 RTW_PWR_ADDR_MAC,
1931	 RTW_PWR_CMD_WRITE, BIT(3) | BIT(4), 0},
1932	{0x0023,
1933	 RTW_PWR_CUT_ALL_MSK,
1934	 RTW_PWR_INTF_SDIO_MSK,
1935	 RTW_PWR_ADDR_MAC,
1936	 RTW_PWR_CMD_WRITE, BIT(4), 0},
1937	{0x0301,
1938	 RTW_PWR_CUT_ALL_MSK,
1939	 RTW_PWR_INTF_PCI_MSK,
1940	 RTW_PWR_ADDR_MAC,
1941	 RTW_PWR_CMD_WRITE, 0xFF, 0},
1942	{0xFFFF,
1943	 RTW_PWR_CUT_ALL_MSK,
1944	 RTW_PWR_INTF_ALL_MSK,
1945	 0,
1946	 RTW_PWR_CMD_END, 0, 0},
1947};
1948
1949static const struct rtw_pwr_seq_cmd trans_cardemu_to_act_8821a[] = {
1950	{0x0020,
1951	 RTW_PWR_CUT_ALL_MSK,
1952	 RTW_PWR_INTF_USB_MSK | RTW_PWR_INTF_SDIO_MSK,
1953	 RTW_PWR_ADDR_MAC,
1954	 RTW_PWR_CMD_WRITE, BIT(0), BIT(0)},
1955	{0x0067,
1956	 RTW_PWR_CUT_ALL_MSK,
1957	 RTW_PWR_INTF_USB_MSK | RTW_PWR_INTF_SDIO_MSK,
1958	 RTW_PWR_ADDR_MAC,
1959	 RTW_PWR_CMD_WRITE, BIT(4), 0},
1960	{0x0001,
1961	 RTW_PWR_CUT_ALL_MSK,
1962	 RTW_PWR_INTF_USB_MSK | RTW_PWR_INTF_SDIO_MSK,
1963	 RTW_PWR_ADDR_MAC,
1964	 RTW_PWR_CMD_DELAY, 1, RTW_PWR_DELAY_MS},
1965	{0x0000,
1966	 RTW_PWR_CUT_ALL_MSK,
1967	 RTW_PWR_INTF_USB_MSK | RTW_PWR_INTF_SDIO_MSK,
1968	 RTW_PWR_ADDR_MAC,
1969	 RTW_PWR_CMD_WRITE, BIT(5), 0},
1970	{0x0005,
1971	 RTW_PWR_CUT_ALL_MSK,
1972	 RTW_PWR_INTF_ALL_MSK,
1973	 RTW_PWR_ADDR_MAC,
1974	 RTW_PWR_CMD_WRITE, BIT(4) | BIT(3) | BIT(2), 0},
1975	{0x0075,
1976	 RTW_PWR_CUT_ALL_MSK,
1977	 RTW_PWR_INTF_PCI_MSK,
1978	 RTW_PWR_ADDR_MAC,
1979	 RTW_PWR_CMD_WRITE, BIT(0), BIT(0)},
1980	{0x0006,
1981	 RTW_PWR_CUT_ALL_MSK,
1982	 RTW_PWR_INTF_ALL_MSK,
1983	 RTW_PWR_ADDR_MAC,
1984	 RTW_PWR_CMD_POLLING, BIT(1), BIT(1)},
1985	{0x0075,
1986	 RTW_PWR_CUT_ALL_MSK,
1987	 RTW_PWR_INTF_PCI_MSK,
1988	 RTW_PWR_ADDR_MAC,
1989	 RTW_PWR_CMD_WRITE, BIT(0), 0},
1990	{0x0006,
1991	 RTW_PWR_CUT_ALL_MSK,
1992	 RTW_PWR_INTF_ALL_MSK,
1993	 RTW_PWR_ADDR_MAC,
1994	 RTW_PWR_CMD_WRITE, BIT(0), BIT(0)},
1995	{0x0005,
1996	 RTW_PWR_CUT_ALL_MSK,
1997	 RTW_PWR_INTF_ALL_MSK,
1998	 RTW_PWR_ADDR_MAC,
1999	 RTW_PWR_CMD_WRITE, BIT(7), 0},
2000	{0x0005,
2001	 RTW_PWR_CUT_ALL_MSK,
2002	 RTW_PWR_INTF_ALL_MSK,
2003	 RTW_PWR_ADDR_MAC,
2004	 RTW_PWR_CMD_WRITE, BIT(4) | BIT(3), 0},
2005	{0x0005,
2006	 RTW_PWR_CUT_ALL_MSK,
2007	 RTW_PWR_INTF_ALL_MSK,
2008	 RTW_PWR_ADDR_MAC,
2009	 RTW_PWR_CMD_WRITE, BIT(0), BIT(0)},
2010	{0x0005,
2011	 RTW_PWR_CUT_ALL_MSK,
2012	 RTW_PWR_INTF_ALL_MSK,
2013	 RTW_PWR_ADDR_MAC,
2014	 RTW_PWR_CMD_POLLING, BIT(0), 0},
2015	{0x004F,
2016	 RTW_PWR_CUT_ALL_MSK,
2017	 RTW_PWR_INTF_ALL_MSK,
2018	 RTW_PWR_ADDR_MAC,
2019	 RTW_PWR_CMD_WRITE, BIT(0), BIT(0)},
2020	{0x0067,
2021	 RTW_PWR_CUT_ALL_MSK,
2022	 RTW_PWR_INTF_ALL_MSK,
2023	 RTW_PWR_ADDR_MAC,
2024	 RTW_PWR_CMD_WRITE, BIT(5) | BIT(4), BIT(5) | BIT(4)},
2025	{0x0025,
2026	 RTW_PWR_CUT_ALL_MSK,
2027	 RTW_PWR_INTF_ALL_MSK,
2028	 RTW_PWR_ADDR_MAC,
2029	 RTW_PWR_CMD_WRITE, BIT(6), 0},
2030	{0x0049,
2031	 RTW_PWR_CUT_ALL_MSK,
2032	 RTW_PWR_INTF_ALL_MSK,
2033	 RTW_PWR_ADDR_MAC,
2034	 RTW_PWR_CMD_WRITE, BIT(1), BIT(1)},
2035	{0x0063,
2036	 RTW_PWR_CUT_ALL_MSK,
2037	 RTW_PWR_INTF_ALL_MSK,
2038	 RTW_PWR_ADDR_MAC,
2039	 RTW_PWR_CMD_WRITE, BIT(1), BIT(1)},
2040	{0x0062,
2041	 RTW_PWR_CUT_ALL_MSK,
2042	 RTW_PWR_INTF_ALL_MSK,
2043	 RTW_PWR_ADDR_MAC,
2044	 RTW_PWR_CMD_WRITE, BIT(1), 0},
2045	{0x0058,
2046	 RTW_PWR_CUT_ALL_MSK,
2047	 RTW_PWR_INTF_ALL_MSK,
2048	 RTW_PWR_ADDR_MAC,
2049	 RTW_PWR_CMD_WRITE, BIT(0), BIT(0)},
2050	{0x005A,
2051	 RTW_PWR_CUT_ALL_MSK,
2052	 RTW_PWR_INTF_ALL_MSK,
2053	 RTW_PWR_ADDR_MAC,
2054	 RTW_PWR_CMD_WRITE, BIT(1), BIT(1)},
2055	{0x002E,
2056	 RTW_PWR_CUT_ALL_MSK,
2057	 RTW_PWR_INTF_ALL_MSK,
2058	 RTW_PWR_ADDR_MAC,
2059	 RTW_PWR_CMD_WRITE, 0xFF, 0x82},
2060	{0x0010,
2061	 RTW_PWR_CUT_ALL_MSK,
2062	 RTW_PWR_INTF_ALL_MSK,
2063	 RTW_PWR_ADDR_MAC,
2064	 RTW_PWR_CMD_WRITE, BIT(6), BIT(6)},
2065	{0xFFFF,
2066	 RTW_PWR_CUT_ALL_MSK,
2067	 RTW_PWR_INTF_ALL_MSK,
2068	 0,
2069	 RTW_PWR_CMD_END, 0, 0},
2070};
2071
2072static const struct rtw_pwr_seq_cmd trans_act_to_lps_8821a[] = {
2073	{0x0301,
2074	 RTW_PWR_CUT_ALL_MSK,
2075	 RTW_PWR_INTF_PCI_MSK,
2076	 RTW_PWR_ADDR_MAC,
2077	 RTW_PWR_CMD_WRITE, 0xFF, 0xFF},
2078	{0x0522,
2079	 RTW_PWR_CUT_ALL_MSK,
2080	 RTW_PWR_INTF_ALL_MSK,
2081	 RTW_PWR_ADDR_MAC,
2082	 RTW_PWR_CMD_WRITE, 0xFF, 0xFF},
2083	{0x05F8,
2084	 RTW_PWR_CUT_ALL_MSK,
2085	 RTW_PWR_INTF_ALL_MSK,
2086	 RTW_PWR_ADDR_MAC,
2087	 RTW_PWR_CMD_POLLING, 0xFF, 0},
2088	{0x05F9,
2089	 RTW_PWR_CUT_ALL_MSK,
2090	 RTW_PWR_INTF_ALL_MSK,
2091	 RTW_PWR_ADDR_MAC,
2092	 RTW_PWR_CMD_POLLING, 0xFF, 0},
2093	{0x05FA,
2094	 RTW_PWR_CUT_ALL_MSK,
2095	 RTW_PWR_INTF_ALL_MSK,
2096	 RTW_PWR_ADDR_MAC,
2097	 RTW_PWR_CMD_POLLING, 0xFF, 0},
2098	{0x05FB,
2099	 RTW_PWR_CUT_ALL_MSK,
2100	 RTW_PWR_INTF_ALL_MSK,
2101	 RTW_PWR_ADDR_MAC,
2102	 RTW_PWR_CMD_POLLING, 0xFF, 0},
2103	{0x0002,
2104	 RTW_PWR_CUT_ALL_MSK,
2105	 RTW_PWR_INTF_ALL_MSK,
2106	 RTW_PWR_ADDR_MAC,
2107	 RTW_PWR_CMD_WRITE, BIT(0), 0},
2108	{0x0002,
2109	 RTW_PWR_CUT_ALL_MSK,
2110	 RTW_PWR_INTF_ALL_MSK,
2111	 RTW_PWR_ADDR_MAC,
2112	 RTW_PWR_CMD_DELAY, 0, RTW_PWR_DELAY_US},
2113	{0x0002,
2114	 RTW_PWR_CUT_ALL_MSK,
2115	 RTW_PWR_INTF_ALL_MSK,
2116	 RTW_PWR_ADDR_MAC,
2117	 RTW_PWR_CMD_WRITE, BIT(1), 0},
2118	{0x0100,
2119	 RTW_PWR_CUT_ALL_MSK,
2120	 RTW_PWR_INTF_ALL_MSK,
2121	 RTW_PWR_ADDR_MAC,
2122	 RTW_PWR_CMD_WRITE, 0xFF, 0x03},
2123	{0x0101,
2124	 RTW_PWR_CUT_ALL_MSK,
2125	 RTW_PWR_INTF_ALL_MSK,
2126	 RTW_PWR_ADDR_MAC,
2127	 RTW_PWR_CMD_WRITE, BIT(1), 0},
2128	{0x0093,
2129	 RTW_PWR_CUT_ALL_MSK,
2130	 RTW_PWR_INTF_SDIO_MSK,
2131	 RTW_PWR_ADDR_MAC,
2132	 RTW_PWR_CMD_WRITE, 0xFF, 0x00},
2133	{0x0553,
2134	 RTW_PWR_CUT_ALL_MSK,
2135	 RTW_PWR_INTF_ALL_MSK,
2136	 RTW_PWR_ADDR_MAC,
2137	 RTW_PWR_CMD_WRITE, BIT(5), BIT(5)},
2138	{0xFFFF,
2139	 RTW_PWR_CUT_ALL_MSK,
2140	 RTW_PWR_INTF_ALL_MSK,
2141	 0,
2142	 RTW_PWR_CMD_END, 0, 0},
2143};
2144
2145static const struct rtw_pwr_seq_cmd trans_act_to_cardemu_8821a[] = {
2146	{0x001F,
2147	 RTW_PWR_CUT_ALL_MSK,
2148	 RTW_PWR_INTF_ALL_MSK,
2149	 RTW_PWR_ADDR_MAC,
2150	 RTW_PWR_CMD_WRITE, 0xFF, 0},
2151	{0x004F,
2152	 RTW_PWR_CUT_ALL_MSK,
2153	 RTW_PWR_INTF_ALL_MSK,
2154	 RTW_PWR_ADDR_MAC,
2155	 RTW_PWR_CMD_WRITE, BIT(0), 0},
2156	{0x0049,
2157	 RTW_PWR_CUT_ALL_MSK,
2158	 RTW_PWR_INTF_ALL_MSK,
2159	 RTW_PWR_ADDR_MAC,
2160	 RTW_PWR_CMD_WRITE, BIT(1), 0},
2161	{0x0006,
2162	 RTW_PWR_CUT_ALL_MSK,
2163	 RTW_PWR_INTF_USB_MSK,
2164	 RTW_PWR_ADDR_MAC,
2165	 RTW_PWR_CMD_WRITE, BIT(0), BIT(0)},
2166	{0x0005,
2167	 RTW_PWR_CUT_ALL_MSK,
2168	 RTW_PWR_INTF_ALL_MSK,
2169	 RTW_PWR_ADDR_MAC,
2170	 RTW_PWR_CMD_WRITE, BIT(1), BIT(1)},
2171	{0x0005,
2172	 RTW_PWR_CUT_ALL_MSK,
2173	 RTW_PWR_INTF_ALL_MSK,
2174	 RTW_PWR_ADDR_MAC,
2175	 RTW_PWR_CMD_POLLING, BIT(1), 0},
2176	{0x0000,
2177	 RTW_PWR_CUT_ALL_MSK,
2178	 RTW_PWR_INTF_USB_MSK | RTW_PWR_INTF_SDIO_MSK,
2179	 RTW_PWR_ADDR_MAC,
2180	 RTW_PWR_CMD_WRITE, BIT(5), BIT(5)},
2181	{0x0020,
2182	 RTW_PWR_CUT_ALL_MSK,
2183	 RTW_PWR_INTF_USB_MSK | RTW_PWR_INTF_SDIO_MSK,
2184	 RTW_PWR_ADDR_MAC,
2185	 RTW_PWR_CMD_WRITE, BIT(0), 0},
2186	{0xFFFF,
2187	 RTW_PWR_CUT_ALL_MSK,
2188	 RTW_PWR_INTF_ALL_MSK,
2189	 0,
2190	 RTW_PWR_CMD_END, 0, 0},
2191};
2192
2193static const struct rtw_pwr_seq_cmd trans_cardemu_to_carddis_8821a[] = {
2194	{0x0007,
2195	 RTW_PWR_CUT_ALL_MSK,
2196	 RTW_PWR_INTF_SDIO_MSK,
2197	 RTW_PWR_ADDR_MAC,
2198	 RTW_PWR_CMD_WRITE, 0xFF, 0x20},
2199	{0x0005,
2200	 RTW_PWR_CUT_ALL_MSK,
2201	 RTW_PWR_INTF_USB_MSK | RTW_PWR_INTF_SDIO_MSK,
2202	 RTW_PWR_ADDR_MAC,
2203	 RTW_PWR_CMD_WRITE, BIT(3) | BIT(4), BIT(3)},
2204	{0x0005,
2205	 RTW_PWR_CUT_ALL_MSK,
2206	 RTW_PWR_INTF_PCI_MSK,
2207	 RTW_PWR_ADDR_MAC,
2208	 RTW_PWR_CMD_WRITE, BIT(2), BIT(2)},
2209	{0x004A,
2210	 RTW_PWR_CUT_ALL_MSK,
2211	 RTW_PWR_INTF_USB_MSK,
2212	 RTW_PWR_ADDR_MAC,
2213	 RTW_PWR_CMD_WRITE, BIT(0), 1},
2214	{0x0023,
2215	 RTW_PWR_CUT_ALL_MSK,
2216	 RTW_PWR_INTF_SDIO_MSK,
2217	 RTW_PWR_ADDR_MAC,
2218	 RTW_PWR_CMD_WRITE, BIT(4), BIT(4)},
2219	{0x0086,
2220	 RTW_PWR_CUT_ALL_MSK,
2221	 RTW_PWR_INTF_SDIO_MSK,
2222	 RTW_PWR_ADDR_SDIO,
2223	 RTW_PWR_CMD_WRITE, BIT(0), BIT(0)},
2224	{0x0086,
2225	 RTW_PWR_CUT_ALL_MSK,
2226	 RTW_PWR_INTF_SDIO_MSK,
2227	 RTW_PWR_ADDR_SDIO,
2228	 RTW_PWR_CMD_POLLING, BIT(1), 0},
2229	{0xFFFF,
2230	 RTW_PWR_CUT_ALL_MSK,
2231	 RTW_PWR_INTF_ALL_MSK,
2232	 0,
2233	 RTW_PWR_CMD_END, 0, 0},
2234};
2235
2236const struct rtw_pwr_seq_cmd * const card_enable_flow_8821a[] = {
2237	trans_carddis_to_cardemu_8821a,
2238	trans_cardemu_to_act_8821a,
2239	NULL
2240};
2241
2242const struct rtw_pwr_seq_cmd * const enter_lps_flow_8821a[] = {
2243	trans_act_to_lps_8821a,
2244	NULL
2245};
2246
2247const struct rtw_pwr_seq_cmd * const card_disable_flow_8821a[] = {
2248	trans_act_to_cardemu_8821a,
2249	trans_cardemu_to_carddis_8821a,
2250	NULL
2251};
2252
2253static const u8 rtw8821a_pwrtrk_5gb_n[][RTW_PWR_TRK_TBL_SZ] = {
2254	{0, 0, 1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 9, 9, 10, 11, 12, 12, 13, 14, 15,
2255	 15, 16, 16, 16, 16, 16, 16, 16, 16},
2256	{0, 0, 1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 9, 9, 10, 11, 12, 12, 13, 14, 15,
2257	 15, 16, 16, 16, 16, 16, 16, 16, 16},
2258	{0, 0, 1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 9, 9, 10, 11, 12, 12, 13, 14, 15,
2259	 15, 16, 16, 16, 16, 16, 16, 16, 16},
2260};
2261
2262static const u8 rtw8821a_pwrtrk_5gb_p[][RTW_PWR_TRK_TBL_SZ] = {
2263	{0, 0, 1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 9, 9, 10, 11, 12, 12, 13, 14, 15,
2264	 15, 16, 16, 16, 16, 16, 16, 16, 16},
2265	{0, 0, 1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 9, 9, 10, 11, 12, 12, 13, 14, 15,
2266	 15, 16, 16, 16, 16, 16, 16, 16, 16},
2267	{0, 0, 1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 9, 9, 10, 11, 12, 12, 13, 14, 15,
2268	 15, 16, 16, 16, 16, 16, 16, 16, 16},
2269};
2270
2271static const u8 rtw8821a_pwrtrk_5ga_n[][RTW_PWR_TRK_TBL_SZ] = {
2272	{0, 0, 1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 9, 9, 10, 11, 12, 12, 13, 14, 15,
2273	 15, 16, 16, 16, 16, 16, 16, 16, 16},
2274	{0, 0, 1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 9, 9, 10, 11, 12, 12, 13, 14, 15,
2275	 15, 16, 16, 16, 16, 16, 16, 16, 16},
2276	{0, 0, 1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 9, 9, 10, 11, 12, 12, 13, 14, 15,
2277	 15, 16, 16, 16, 16, 16, 16, 16, 16},
2278};
2279
2280static const u8 rtw8821a_pwrtrk_5ga_p[][RTW_PWR_TRK_TBL_SZ] = {
2281	{0, 0, 1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 9, 9, 10, 11, 12, 12, 13, 14, 15,
2282	 15, 16, 16, 16, 16, 16, 16, 16, 16},
2283	{0, 0, 1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 9, 9, 10, 11, 12, 12, 13, 14, 15,
2284	 15, 16, 16, 16, 16, 16, 16, 16, 16},
2285	{0, 0, 1, 2, 3, 3, 4, 5, 6, 6, 7, 8, 9, 9, 10, 11, 12, 12, 13, 14, 15,
2286	 15, 16, 16, 16, 16, 16, 16, 16, 16},
2287};
2288
2289static const u8 rtw8821a_pwrtrk_2gb_n[] = {
2290	0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6,
2291	6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10
2292};
2293
2294static const u8 rtw8821a_pwrtrk_2gb_p[] = {
2295	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7,
2296	8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 12, 12, 12, 12
2297};
2298
2299static const u8 rtw8821a_pwrtrk_2ga_n[] = {
2300	0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6,
2301	6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10
2302};
2303
2304static const u8 rtw8821a_pwrtrk_2ga_p[] = {
2305	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7,
2306	8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 12, 12, 12, 12
2307};
2308
2309static const u8 rtw8821a_pwrtrk_2g_cck_b_n[] = {
2310	0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6,
2311	6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10
2312};
2313
2314static const u8 rtw8821a_pwrtrk_2g_cck_b_p[] = {
2315	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7,
2316	8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 12, 12, 12, 12
2317};
2318
2319static const u8 rtw8821a_pwrtrk_2g_cck_a_n[] = {
2320	0, 1, 1, 2, 2, 2, 3, 3, 3, 4, 4, 4, 5, 5, 5, 6,
2321	6, 6, 7, 7, 7, 8, 8, 8, 9, 9, 9, 10, 10, 10
2322};
2323
2324static const u8 rtw8821a_pwrtrk_2g_cck_a_p[] = {
2325	0, 0, 1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7,
2326	8, 8, 9, 9, 10, 10, 11, 11, 12, 12, 12, 12, 12, 12
2327};
2328
2329const struct rtw_pwr_track_tbl rtw8821a_rtw_pwr_track_tbl = {
2330	.pwrtrk_5gb_n[0] = rtw8821a_pwrtrk_5gb_n[0],
2331	.pwrtrk_5gb_n[1] = rtw8821a_pwrtrk_5gb_n[1],
2332	.pwrtrk_5gb_n[2] = rtw8821a_pwrtrk_5gb_n[2],
2333	.pwrtrk_5gb_p[0] = rtw8821a_pwrtrk_5gb_p[0],
2334	.pwrtrk_5gb_p[1] = rtw8821a_pwrtrk_5gb_p[1],
2335	.pwrtrk_5gb_p[2] = rtw8821a_pwrtrk_5gb_p[2],
2336	.pwrtrk_5ga_n[0] = rtw8821a_pwrtrk_5ga_n[0],
2337	.pwrtrk_5ga_n[1] = rtw8821a_pwrtrk_5ga_n[1],
2338	.pwrtrk_5ga_n[2] = rtw8821a_pwrtrk_5ga_n[2],
2339	.pwrtrk_5ga_p[0] = rtw8821a_pwrtrk_5ga_p[0],
2340	.pwrtrk_5ga_p[1] = rtw8821a_pwrtrk_5ga_p[1],
2341	.pwrtrk_5ga_p[2] = rtw8821a_pwrtrk_5ga_p[2],
2342	.pwrtrk_2gb_n = rtw8821a_pwrtrk_2gb_n,
2343	.pwrtrk_2gb_p = rtw8821a_pwrtrk_2gb_p,
2344	.pwrtrk_2ga_n = rtw8821a_pwrtrk_2ga_n,
2345	.pwrtrk_2ga_p = rtw8821a_pwrtrk_2ga_p,
2346	.pwrtrk_2g_cckb_n = rtw8821a_pwrtrk_2g_cck_b_n,
2347	.pwrtrk_2g_cckb_p = rtw8821a_pwrtrk_2g_cck_b_p,
2348	.pwrtrk_2g_ccka_n = rtw8821a_pwrtrk_2g_cck_a_n,
2349	.pwrtrk_2g_ccka_p = rtw8821a_pwrtrk_2g_cck_a_p,
2350};
~/ Read-only file preview.