1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
3483
3484
3485
3486
3487
3488
3489
3490
3491
3492
3493
3494
3495
3496
3497
3498
3499
3500
3501
3502
3503
3504
3505
3506
3507
3508
3509
3510
3511
3512
3513
3514
3515
3516
3517
3518
3519
3520
3521
3522
3523
3524
3525
3526
3527
3528
3529
3530
3531
3532
3533
3534
3535
3536
3537
3538
3539
3540
3541
3542
3543
3544
3545
3546
3547
3548
3549
3550
3551
3552
3553
3554
3555
3556
3557
3558
3559
3560
3561
3562
3563
3564
3565
3566
3567
3568
3569
3570
3571
3572
3573
3574
3575
3576
3577
3578
3579
3580
3581
3582
3583
3584
3585
3586
3587
3588
3589
3590
3591
3592
3593
3594
3595
3596
3597
3598
3599
3600
3601
3602
3603
3604
3605
3606
3607
3608
3609
3610
3611
3612
3613
3614
3615
3616
3617
3618
3619
3620
3621
3622
3623
3624
3625
3626
3627
3628
3629
3630
3631
3632
3633
3634
3635
3636
3637
3638
3639
3640
3641
3642
3643
3644
3645
3646
3647
3648
3649
3650
3651
3652
3653
3654
3655
3656
3657
3658
3659
3660
3661
3662
3663
3664
3665
3666
3667
3668
3669
3670
3671
3672
3673
3674
3675
3676
3677
3678
3679
3680
3681
3682
3683
3684
3685
3686
3687
3688
3689
3690
3691
3692
3693
3694
3695
3696
3697
3698
3699
3700
3701
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
3719
3720
3721
3722
3723
3724
3725
3726
3727
3728
3729
3730
3731
3732
3733
3734
3735
3736
3737
3738
3739
3740
3741
3742
3743
3744
3745
3746
3747
3748
3749
3750
3751
3752
3753
3754
3755
3756
3757
3758
3759
3760
3761
3762
3763
3764
3765
3766
3767
3768
3769
3770
3771
3772
3773
3774
3775
3776
3777
3778
3779
3780
3781
3782
3783
3784
3785
3786
3787
3788
3789
3790
3791
3792
3793
3794
3795
3796
3797
3798
3799
3800
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
3814
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
3842
3843
3844
3845
3846
3847
3848
3849
3850
3851
3852
3853
3854
3855
3856
3857
3858
3859
3860
3861
3862
3863
3864
3865
3866
3867
3868
3869
3870
3871
3872
3873
3874
3875
3876
3877
3878
3879
3880
3881
3882
3883
3884
3885
3886
3887
3888
3889
3890
3891
3892
3893
3894
3895
3896
3897
3898
3899
3900
3901
3902
3903
3904
3905
3906
3907
3908
3909
3910
3911
3912
3913
3914
3915
3916
3917
3918
3919
3920
3921
3922
3923
3924
3925
3926
3927
3928
3929
3930
3931
3932
3933
3934
3935
3936
3937
3938
3939
3940
3941
3942
3943
3944
3945
3946
3947
3948
3949
3950
3951
3952
3953
3954
3955
3956
3957
3958
3959
3960
3961
3962
3963
3964
3965
3966
3967
3968
3969
3970
3971
3972
3973
3974
3975
3976
3977
3978
3979
3980
3981
3982
3983
3984
3985
3986
3987
3988
3989
3990
3991
3992
3993
3994
3995
3996
3997
3998
3999
4000
4001
4002
4003
4004
4005
4006
4007
4008
4009
4010
4011
4012
4013
4014
4015
4016
4017
4018
4019
4020
4021
4022
4023
4024
4025
4026
4027
4028
4029
4030
4031
4032
4033
4034
4035
4036
4037
4038
4039
4040
4041
4042
4043
4044
4045
4046
4047
4048
4049
4050
4051
4052
4053
4054
4055
4056
4057
4058
4059
4060
4061
4062
4063
4064
4065
4066
4067
4068
4069
4070
4071
4072
4073
4074
4075
4076
4077
4078
4079
4080
4081
4082
4083
4084
4085
4086
4087
4088
4089
4090
4091
4092
4093
4094
4095
4096
4097
4098
4099
4100
4101
4102
4103
4104
4105
4106
4107
4108
4109
4110
4111
4112
4113
4114
4115
4116
4117
4118
4119
4120
4121
4122
4123
4124
4125
4126
4127
4128
4129
4130
4131
4132
4133
4134
4135
4136
4137
4138
4139
4140
4141
4142
4143
4144
4145
4146
4147
4148
4149
4150
4151
4152
4153
4154
4155
4156
4157
4158
4159
4160
4161
4162
4163
4164
4165
4166
4167
4168
4169
4170
4171
4172
4173
4174
4175
4176
4177
4178
4179
4180
4181
4182
4183
4184
4185
4186
4187
4188
4189
4190
4191
4192
4193
4194
4195
4196
4197
4198
4199
4200
4201
4202
4203
4204
4205
4206
4207
4208
4209
4210
4211
4212
4213
4214
4215
4216
4217
4218
4219
4220
4221
4222
4223
4224
4225
4226
4227
4228
4229
4230
4231
4232
4233
4234
4235
4236
4237
4238
4239
4240
4241
4242
4243
4244
4245
4246
4247
4248
4249
4250
4251
4252
4253
4254
4255
4256
4257
4258
4259
4260
4261
4262
4263
4264
4265
4266
4267
4268
4269
4270
4271
4272
4273
4274
4275
4276
4277
4278
4279
4280
4281
4282
4283
4284
4285
4286
4287
4288
4289
4290
4291
4292
4293
4294
4295
4296
4297
4298
4299
4300
4301
4302
4303
4304
4305
4306
4307
4308
4309
4310
4311
4312
4313
4314
4315
4316
4317
4318
4319
4320
4321
4322
4323
4324
4325
4326
4327
4328
4329
4330
4331
4332
4333
4334
4335
4336
4337
4338
4339
4340
4341
4342
4343
4344
4345
4346
4347
4348
4349
4350
4351
4352
4353
4354
4355
4356
4357
4358
4359
4360
4361
4362
4363
4364
4365
4366
4367
4368
4369
4370
4371
4372
4373
4374
4375
4376
|
/* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
/* Copyright(c) 2019-2020 Realtek Corporation
*/
#ifndef __RTW89_REG_H__
#define __RTW89_REG_H__
#define R_AX_SYS_WL_EFUSE_CTRL 0x000A
#define B_AX_AUTOLOAD_SUS BIT(5)
#define R_AX_SYS_ISO_CTRL 0x0000
#define B_AX_PWC_EV2EF_MASK GENMASK(15, 14)
#define B_AX_PWC_EV2EF_B15 BIT(15)
#define B_AX_PWC_EV2EF_B14 BIT(14)
#define B_AX_ISO_EB2CORE BIT(8)
#define R_AX_SYS_FUNC_EN 0x0002
#define B_AX_FEN_BB_GLB_RSTN BIT(1)
#define B_AX_FEN_BBRSTB BIT(0)
#define R_AX_SYS_PW_CTRL 0x0004
#define B_AX_XTAL_OFF_A_DIE BIT(22)
#define B_AX_DIS_WLBT_PDNSUSEN_SOPC BIT(18)
#define B_AX_RDY_SYSPWR BIT(17)
#define B_AX_EN_WLON BIT(16)
#define B_AX_APDM_HPDN BIT(15)
#define B_AX_PSUS_OFF_CAPC_EN BIT(14)
#define B_AX_AFSM_PCIE_SUS_EN BIT(12)
#define B_AX_AFSM_WLSUS_EN BIT(11)
#define B_AX_APFM_SWLPS BIT(10)
#define B_AX_APFM_OFFMAC BIT(9)
#define B_AX_APFN_ONMAC BIT(8)
#define R_AX_SYS_CLK_CTRL 0x0008
#define B_AX_CPU_CLK_EN BIT(14)
#define R_AX_SYS_ADIE_PAD_PWR_CTRL 0x0018
#define B_AX_SYM_PADPDN_WL_PTA_1P3 BIT(6)
#define B_AX_SYM_PADPDN_WL_RFC_1P3 BIT(5)
#define R_AX_RSV_CTRL 0x001C
#define B_AX_R_DIS_PRST BIT(6)
#define B_AX_WLOCK_1C_BIT6 BIT(5)
#define R_AX_EFUSE_CTRL_1 0x0038
#define B_AX_EF_PGPD_MASK GENMASK(30, 28)
#define B_AX_EF_RDT BIT(27)
#define B_AX_EF_VDDQST_MASK GENMASK(26, 24)
#define B_AX_EF_PGTS_MASK GENMASK(23, 20)
#define B_AX_EF_PD_DIS BIT(11)
#define B_AX_EF_POR BIT(10)
#define B_AX_EF_CELL_SEL_MASK GENMASK(9, 8)
#define R_AX_EFUSE_CTRL 0x0030
#define B_AX_EF_MODE_SEL_MASK GENMASK(31, 30)
#define B_AX_EF_RDY BIT(29)
#define B_AX_EF_COMP_RESULT BIT(28)
#define B_AX_EF_ADDR_MASK GENMASK(26, 16)
#define B_AX_EF_DATA_MASK GENMASK(15, 0)
#define R_AX_EFUSE_CTRL_1_V1 0x0038
#define B_AX_EF_ENT BIT(31)
#define B_AX_EF_BURST BIT(19)
#define B_AX_EF_TEST_SEL_MASK GENMASK(18, 16)
#define B_AX_EF_TROW_EN BIT(15)
#define B_AX_EF_ERR_FLAG BIT(14)
#define B_AX_EF_DSB_EN BIT(11)
#define B_AX_PCIE_CALIB_EN_V1 BIT(12)
#define B_AX_WDT_WAKE_PCIE_EN BIT(10)
#define B_AX_WDT_WAKE_USB_EN BIT(9)
#define R_AX_GPIO_MUXCFG 0x0040
#define B_AX_BOOT_MODE BIT(19)
#define B_AX_WL_EECS_EXT_32K_SEL BIT(18)
#define B_AX_WL_SEC_BONDING_OPT_STS BIT(17)
#define B_AX_SECSIC_SEL BIT(16)
#define B_AX_ENHTP BIT(14)
#define B_AX_BT_AOD_GPIO3 BIT(13)
#define B_AX_ENSIC BIT(12)
#define B_AX_SIC_SWRST BIT(11)
#define B_AX_PO_WIFI_PTA_PINS BIT(10)
#define B_AX_PO_BT_PTA_PINS BIT(9)
#define B_AX_ENUARTTX BIT(8)
#define B_AX_BTMODE_MASK GENMASK(7, 6)
#define MAC_AX_BT_MODE_0_3 0
#define MAC_AX_BT_MODE_2 2
#define MAC_AX_RTK_MODE 0
#define MAC_AX_CSR_MODE 1
#define B_AX_ENBT BIT(5)
#define B_AX_EROM_EN BIT(4)
#define B_AX_ENUARTRX BIT(2)
#define B_AX_GPIOSEL_MASK GENMASK(1, 0)
#define R_AX_DBG_CTRL 0x0058
#define B_AX_DBG_SEL1_4BIT GENMASK(31, 30)
#define B_AX_DBG_SEL1_16BIT BIT(27)
#define B_AX_DBG_SEL1 GENMASK(23, 16)
#define B_AX_DBG_SEL0_4BIT GENMASK(15, 14)
#define B_AX_DBG_SEL0_16BIT BIT(11)
#define B_AX_DBG_SEL0 GENMASK(7, 0)
#define R_AX_SYS_SDIO_CTRL 0x0070
#define B_AX_PCIE_DIS_L2_CTRL_LDO_HCI BIT(15)
#define B_AX_PCIE_DIS_WLSUS_AFT_PDN BIT(14)
#define B_AX_PCIE_FORCE_PWR_NGAT BIT(13)
#define B_AX_PCIE_CALIB_EN_V1 BIT(12)
#define B_AX_PCIE_AUXCLK_GATE BIT(11)
#define B_AX_LTE_MUX_CTRL_PATH BIT(26)
#define R_AX_HCI_OPT_CTRL 0x0074
#define BIT_WAKE_CTRL BIT(5)
#define R_AX_HCI_BG_CTRL 0x0078
#define B_AX_IBX_EN_VALUE BIT(15)
#define B_AX_IB_EN_VALUE BIT(14)
#define B_AX_FORCED_IB_EN BIT(4)
#define B_AX_EN_REGBG BIT(3)
#define B_AX_R_AX_BG_LPF BIT(2)
#define B_AX_R_AX_BG GENMASK(1, 0)
#define R_AX_PLATFORM_ENABLE 0x0088
#define B_AX_AXIDMA_EN BIT(3)
#define B_AX_WCPU_EN BIT(1)
#define B_AX_PLATFORM_EN BIT(0)
#define R_AX_WLLPS_CTRL 0x0090
#define B_AX_DIS_WLBT_LPSEN_LOPC BIT(1)
#define R_AX_SCOREBOARD 0x00AC
#define B_AX_TOGGLE BIT(31)
#define B_MAC_AX_SB_FW_MASK GENMASK(30, 24)
#define B_MAC_AX_SB_DRV_MASK GENMASK(23, 0)
#define B_MAC_AX_BTGS1_NOTIFY BIT(0)
#define MAC_AX_NOTIFY_TP_MAJOR 0x81
#define MAC_AX_NOTIFY_PWR_MAJOR 0x80
#define R_AX_DBG_PORT_SEL 0x00C0
#define B_AX_DEBUG_ST_MASK GENMASK(31, 0)
#define R_AX_PMC_DBG_CTRL2 0x00CC
#define B_AX_SYSON_DIS_PMCR_AX_WRMSK BIT(2)
#define R_AX_PCIE_MIO_INTF 0x00E4
#define B_AX_PCIE_MIO_ADDR_PAGE_V1_MASK GENMASK(20, 16)
#define B_AX_PCIE_MIO_BYIOREG BIT(13)
#define B_AX_PCIE_MIO_RE BIT(12)
#define B_AX_PCIE_MIO_WE_MASK GENMASK(11, 8)
#define MIO_WRITE_BYTE_ALL 0xF
#define B_AX_PCIE_MIO_ADDR_MASK GENMASK(7, 0)
#define MIO_ADDR_PAGE_MASK GENMASK(12, 8)
#define R_AX_PCIE_MIO_INTD 0x00E8
#define B_AX_PCIE_MIO_DATA_MASK GENMASK(31, 0)
#define R_AX_SYS_CFG1 0x00F0
#define B_AX_CHIP_VER_MASK GENMASK(15, 12)
#define R_AX_SYS_STATUS1 0x00F4
#define B_AX_SEL_0XC0_MASK GENMASK(17, 16)
#define B_AX_PAD_HCI_SEL_V2_MASK GENMASK(5, 3)
#define MAC_AX_HCI_SEL_SDIO_UART 0
#define MAC_AX_HCI_SEL_MULTI_USB 1
#define MAC_AX_HCI_SEL_PCIE_UART 2
#define MAC_AX_HCI_SEL_PCIE_USB 3
#define MAC_AX_HCI_SEL_MULTI_SDIO 4
#define R_AX_HALT_H2C_CTRL 0x0160
#define R_AX_HALT_H2C 0x0168
#define B_AX_HALT_H2C_TRIGGER BIT(0)
#define R_AX_HALT_C2H_CTRL 0x0164
#define R_AX_HALT_C2H 0x016C
#define R_AX_WCPU_FW_CTRL 0x01E0
#define B_AX_WCPU_FWDL_STS_MASK GENMASK(7, 5)
#define B_AX_FWDL_PATH_RDY BIT(2)
#define B_AX_H2C_PATH_RDY BIT(1)
#define B_AX_WCPU_FWDL_EN BIT(0)
#define R_AX_RPWM 0x01E4
#define R_AX_PCIE_HRPWM 0x10C0
#define PS_RPWM_TOGGLE BIT(15)
#define PS_RPWM_ACK BIT(14)
#define PS_RPWM_SEQ_NUM GENMASK(13, 12)
#define PS_RPWM_NOTIFY_WAKE BIT(8)
#define PS_RPWM_STATE 0x7
#define RPWM_SEQ_NUM_MAX 3
#define PS_CPWM_SEQ_NUM GENMASK(13, 12)
#define PS_CPWM_RSP_SEQ_NUM GENMASK(9, 8)
#define PS_CPWM_STATE GENMASK(2, 0)
#define CPWM_SEQ_NUM_MAX 3
#define R_AX_BOOT_REASON 0x01E6
#define B_AX_BOOT_REASON_MASK GENMASK(2, 0)
#define R_AX_LDM 0x01E8
#define B_AX_EN_32K BIT(31)
#define R_AX_UDM0 0x01F0
#define R_AX_UDM1 0x01F4
#define R_AX_UDM2 0x01F8
#define R_AX_UDM3 0x01FC
#define R_AX_SPS_DIG_ON_CTRL0 0x0200
#define B_AX_VREFPFM_L_MASK GENMASK(25, 22)
#define B_AX_REG_ZCDC_H_MASK GENMASK(18, 17)
#define B_AX_OCP_L1_MASK GENMASK(15, 13)
#define B_AX_VOL_L1_MASK GENMASK(3, 0)
#define R_AX_LDO_AON_CTRL0 0x0218
#define B_AX_PD_REGU_L BIT(16)
#define R_AX_WLAN_XTAL_SI_CTRL 0x0270
#define B_AX_WL_XTAL_SI_CMD_POLL BIT(31)
#define B_AX_BT_XTAL_SI_ERR_FLAG BIT(30)
#define B_AX_WL_XTAL_GNT BIT(29)
#define B_AX_BT_XTAL_GNT BIT(28)
#define B_AX_WL_XTAL_SI_MODE_MASK GENMASK(25, 24)
#define XTAL_SI_NORMAL_WRITE 0x00
#define XTAL_SI_NORMAL_READ 0x01
#define B_AX_WL_XTAL_SI_BITMASK_MASK GENMASK(23, 16)
#define B_AX_WL_XTAL_SI_DATA_MASK GENMASK(15, 8)
#define B_AX_WL_XTAL_SI_ADDR_MASK GENMASK(7, 0)
#define R_AX_XTAL_ON_CTRL0 0x0280
#define B_AX_XTAL_SC_LPS BIT(31)
#define B_AX_XTAL_SC_XO_MASK GENMASK(23, 17)
#define B_AX_XTAL_SC_XI_MASK GENMASK(16, 10)
#define B_AX_XTAL_SC_MASK GENMASK(6, 0)
#define R_AX_GPIO0_7_FUNC_SEL 0x02D0
#define R_AX_GPIO0_15_EECS_EESK_LED1_PULL_LOW_EN 0x02E4
#define B_AX_LED1_PULL_LOW_EN BIT(18)
#define B_AX_EESK_PULL_LOW_EN BIT(17)
#define B_AX_EECS_PULL_LOW_EN BIT(16)
#define R_AX_WLRF_CTRL 0x02F0
#define B_AX_AFC_AFEDIG BIT(17)
#define B_AX_WLRF1_CTRL_7 BIT(15)
#define B_AX_WLRF1_CTRL_1 BIT(9)
#define B_AX_WLRF_CTRL_7 BIT(7)
#define B_AX_WLRF_CTRL_1 BIT(1)
#define R_AX_IC_PWR_STATE 0x03F0
#define B_AX_WHOLE_SYS_PWR_STE_MASK GENMASK(25, 16)
#define B_AX_WLMAC_PWR_STE_MASK GENMASK(9, 8)
#define B_AX_UART_HCISYS_PWR_STE_MASK GENMASK(7, 6)
#define B_AX_SDIO_HCISYS_PWR_STE_MASK GENMASK(5, 4)
#define B_AX_USB_HCISYS_PWR_STE_MASK GENMASK(3, 2)
#define B_AX_PCIE_HCISYS_PWR_STE_MASK GENMASK(1, 0)
#define R_AX_AFE_OFF_CTRL1 0x0444
#define B_AX_S1_LDO_VSEL_F_MASK GENMASK(25, 24)
#define B_AX_S1_LDO2PWRCUT_F BIT(23)
#define B_AX_S0_LDO_VSEL_F_MASK GENMASK(22, 21)
#define R_AX_FILTER_MODEL_ADDR 0x0C04
#define R_AX_HAXI_INIT_CFG1 0x1000
#define B_AX_WD_ITVL_IDLE_V1_MASK GENMASK(31, 28)
#define B_AX_WD_ITVL_ACT_V1_MASK GENMASK(27, 24)
#define B_AX_DMA_MODE_MASK GENMASK(19, 18)
#define DMA_MOD_PCIE_1B 0x0
#define DMA_MOD_PCIE_4B 0x1
#define DMA_MOD_USB 0x2
#define DMA_MOD_SDIO 0x3
#define B_AX_STOP_AXI_MST BIT(17)
#define B_AX_HAXI_RST_KEEP_REG BIT(16)
#define B_AX_RXHCI_EN_V1 BIT(15)
#define B_AX_RXBD_MODE_V1 BIT(14)
#define B_AX_HAXI_MAX_RXDMA_MASK GENMASK(9, 8)
#define B_AX_TXHCI_EN_V1 BIT(7)
#define B_AX_FLUSH_AXI_MST BIT(4)
#define B_AX_RST_BDRAM BIT(3)
#define B_AX_HAXI_MAX_TXDMA_MASK GENMASK(1, 0)
#define R_AX_HAXI_DMA_STOP1 0x1010
#define B_AX_STOP_WPDMA BIT(19)
#define B_AX_STOP_CH12 BIT(18)
#define B_AX_STOP_CH9 BIT(17)
#define B_AX_STOP_CH8 BIT(16)
#define B_AX_STOP_ACH7 BIT(15)
#define B_AX_STOP_ACH6 BIT(14)
#define B_AX_STOP_ACH5 BIT(13)
#define B_AX_STOP_ACH4 BIT(12)
#define B_AX_STOP_ACH3 BIT(11)
#define B_AX_STOP_ACH2 BIT(10)
#define B_AX_STOP_ACH1 BIT(9)
#define B_AX_STOP_ACH0 BIT(8)
#define R_AX_HAXI_DMA_BUSY1 0x101C
#define B_AX_HAXIIO_BUSY BIT(20)
#define B_AX_WPDMA_BUSY BIT(19)
#define B_AX_CH12_BUSY BIT(18)
#define B_AX_CH9_BUSY BIT(17)
#define B_AX_CH8_BUSY BIT(16)
#define B_AX_ACH7_BUSY BIT(15)
#define B_AX_ACH6_BUSY BIT(14)
#define B_AX_ACH5_BUSY BIT(13)
#define B_AX_ACH4_BUSY BIT(12)
#define B_AX_ACH3_BUSY BIT(11)
#define B_AX_ACH2_BUSY BIT(10)
#define B_AX_ACH1_BUSY BIT(9)
#define B_AX_ACH0_BUSY BIT(8)
#define R_AX_PCIE_DBG_CTRL 0x11C0
#define B_AX_DBG_DUMMY_MASK GENMASK(23, 16)
#define B_AX_DBG_SEL_MASK GENMASK(15, 13)
#define B_AX_PCIE_DBG_SEL BIT(12)
#define B_AX_MRD_TIMEOUT_EN BIT(10)
#define B_AX_ASFF_FULL_NO_STK BIT(1)
#define B_AX_EN_STUCK_DBG BIT(0)
#define R_AX_HAXI_DMA_STOP2 0x11C0
#define B_AX_STOP_CH11 BIT(1)
#define B_AX_STOP_CH10 BIT(0)
#define R_AX_HAXI_DMA_BUSY2 0x11C8
#define B_AX_CH11_BUSY BIT(1)
#define B_AX_CH10_BUSY BIT(0)
#define R_AX_HAXI_DMA_BUSY3 0x1208
#define B_AX_RPQ_BUSY BIT(1)
#define B_AX_RXQ_BUSY BIT(0)
#define R_AX_LTR_DEC_CTRL 0x1600
#define B_AX_LTR_IDX_DRV_VLD BIT(16)
#define B_AX_LTR_CURR_IDX_DRV_MASK GENMASK(15, 14)
#define B_AX_LTR_IDX_FW_VLD BIT(13)
#define B_AX_LTR_CURR_IDX_FW_MASK GENMASK(12, 11)
#define B_AX_LTR_IDX_HW_VLD BIT(10)
#define B_AX_LTR_CURR_IDX_HW_MASK GENMASK(9, 8)
#define B_AX_LTR_REQ_DRV BIT(7)
#define B_AX_LTR_IDX_DRV_MASK GENMASK(6, 5)
#define PCIE_LTR_IDX_IDLE 3
#define B_AX_LTR_DRV_DEC_EN BIT(4)
#define B_AX_LTR_FW_DEC_EN BIT(3)
#define B_AX_LTR_HW_DEC_EN BIT(2)
#define B_AX_LTR_SPACE_IDX_V1_MASK GENMASK(1, 0)
#define LTR_EN_BITS (B_AX_LTR_HW_DEC_EN | B_AX_LTR_FW_DEC_EN | B_AX_LTR_DRV_DEC_EN)
#define R_AX_LTR_LATENCY_IDX0 0x1604
#define R_AX_LTR_LATENCY_IDX1 0x1608
#define R_AX_LTR_LATENCY_IDX2 0x160C
#define R_AX_LTR_LATENCY_IDX3 0x1610
#define R_AX_HCI_FC_CTRL_V1 0x1700
#define R_AX_CH_PAGE_CTRL_V1 0x1704
#define R_AX_ACH0_PAGE_CTRL_V1 0x1710
#define R_AX_ACH1_PAGE_CTRL_V1 0x1714
#define R_AX_ACH2_PAGE_CTRL_V1 0x1718
#define R_AX_ACH3_PAGE_CTRL_V1 0x171C
#define R_AX_ACH4_PAGE_CTRL_V1 0x1720
#define R_AX_ACH5_PAGE_CTRL_V1 0x1724
#define R_AX_ACH6_PAGE_CTRL_V1 0x1728
#define R_AX_ACH7_PAGE_CTRL_V1 0x172C
#define R_AX_CH8_PAGE_CTRL_V1 0x1730
#define R_AX_CH9_PAGE_CTRL_V1 0x1734
#define R_AX_CH10_PAGE_CTRL_V1 0x1738
#define R_AX_CH11_PAGE_CTRL_V1 0x173C
#define R_AX_ACH0_PAGE_INFO_V1 0x1750
#define R_AX_ACH1_PAGE_INFO_V1 0x1754
#define R_AX_ACH2_PAGE_INFO_V1 0x1758
#define R_AX_ACH3_PAGE_INFO_V1 0x175C
#define R_AX_ACH4_PAGE_INFO_V1 0x1760
#define R_AX_ACH5_PAGE_INFO_V1 0x1764
#define R_AX_ACH6_PAGE_INFO_V1 0x1768
#define R_AX_ACH7_PAGE_INFO_V1 0x176C
#define R_AX_CH8_PAGE_INFO_V1 0x1770
#define R_AX_CH9_PAGE_INFO_V1 0x1774
#define R_AX_CH10_PAGE_INFO_V1 0x1778
#define R_AX_CH11_PAGE_INFO_V1 0x177C
#define R_AX_CH12_PAGE_INFO_V1 0x1780
#define R_AX_PUB_PAGE_INFO3_V1 0x178C
#define R_AX_PUB_PAGE_CTRL1_V1 0x1790
#define R_AX_PUB_PAGE_CTRL2_V1 0x1794
#define R_AX_PUB_PAGE_INFO1_V1 0x1798
#define R_AX_PUB_PAGE_INFO2_V1 0x179C
#define R_AX_WP_PAGE_CTRL1_V1 0x17A0
#define R_AX_WP_PAGE_CTRL2_V1 0x17A4
#define R_AX_WP_PAGE_INFO1_V1 0x17A8
#define R_AX_H2CREG_DATA0_V1 0x7140
#define R_AX_H2CREG_DATA1_V1 0x7144
#define R_AX_H2CREG_DATA2_V1 0x7148
#define R_AX_H2CREG_DATA3_V1 0x714C
#define R_AX_C2HREG_DATA0_V1 0x7150
#define R_AX_C2HREG_DATA1_V1 0x7154
#define R_AX_C2HREG_DATA2_V1 0x7158
#define R_AX_C2HREG_DATA3_V1 0x715C
#define R_AX_H2CREG_CTRL_V1 0x7160
#define R_AX_C2HREG_CTRL_V1 0x7164
#define R_AX_HCI_FUNC_EN_V1 0x7880
#define R_AX_PHYREG_SET 0x8040
#define PHYREG_SET_ALL_CYCLE 0x8
#define PHYREG_SET_XYN_CYCLE 0xE
#define R_AX_HD0IMR 0x8110
#define B_AX_WDT_PTFM_INT_EN BIT(5)
#define B_AX_CPWM_INT_EN BIT(2)
#define B_AX_GT3_INT_EN BIT(1)
#define B_AX_C2H_INT_EN BIT(0)
#define R_AX_HD0ISR 0x8114
#define B_AX_C2H_INT BIT(0)
#define R_AX_H2CREG_DATA0 0x8140
#define R_AX_H2CREG_DATA1 0x8144
#define R_AX_H2CREG_DATA2 0x8148
#define R_AX_H2CREG_DATA3 0x814C
#define R_AX_C2HREG_DATA0 0x8150
#define R_AX_C2HREG_DATA1 0x8154
#define R_AX_C2HREG_DATA2 0x8158
#define R_AX_C2HREG_DATA3 0x815C
#define R_AX_H2CREG_CTRL 0x8160
#define B_AX_H2CREG_TRIGGER BIT(0)
#define R_AX_C2HREG_CTRL 0x8164
#define B_AX_C2HREG_TRIGGER BIT(0)
#define R_AX_CPWM 0x8170
#define R_AX_HCI_FUNC_EN 0x8380
#define B_AX_HCI_RXDMA_EN BIT(1)
#define B_AX_HCI_TXDMA_EN BIT(0)
#define R_AX_BOOT_DBG 0x83F0
#define R_AX_DMAC_FUNC_EN 0x8400
#define B_AX_DMAC_CRPRT BIT(31)
#define B_AX_MAC_FUNC_EN BIT(30)
#define B_AX_DMAC_FUNC_EN BIT(29)
#define B_AX_MPDU_PROC_EN BIT(28)
#define B_AX_WD_RLS_EN BIT(27)
#define B_AX_DLE_WDE_EN BIT(26)
#define B_AX_TXPKT_CTRL_EN BIT(25)
#define B_AX_STA_SCH_EN BIT(24)
#define B_AX_DLE_PLE_EN BIT(23)
#define B_AX_PKT_BUF_EN BIT(22)
#define B_AX_DMAC_TBL_EN BIT(21)
#define B_AX_PKT_IN_EN BIT(20)
#define B_AX_DLE_CPUIO_EN BIT(19)
#define B_AX_DISPATCHER_EN BIT(18)
#define B_AX_BBRPT_EN BIT(17)
#define B_AX_MAC_SEC_EN BIT(16)
#define B_AX_MAC_UN_EN BIT(15)
#define B_AX_H_AXIDMA_EN BIT(14)
#define R_AX_DMAC_CLK_EN 0x8404
#define B_AX_WD_RLS_CLK_EN BIT(27)
#define B_AX_DLE_WDE_CLK_EN BIT(26)
#define B_AX_TXPKT_CTRL_CLK_EN BIT(25)
#define B_AX_STA_SCH_CLK_EN BIT(24)
#define B_AX_DLE_PLE_CLK_EN BIT(23)
#define B_AX_PKT_IN_CLK_EN BIT(20)
#define B_AX_DLE_CPUIO_CLK_EN BIT(19)
#define B_AX_DISPATCHER_CLK_EN BIT(18)
#define B_AX_BBRPT_CLK_EN BIT(17)
#define B_AX_MAC_SEC_CLK_EN BIT(16)
#define PCI_LTR_IDLE_TIMER_1US 0
#define PCI_LTR_IDLE_TIMER_10US 1
#define PCI_LTR_IDLE_TIMER_100US 2
#define PCI_LTR_IDLE_TIMER_200US 3
#define PCI_LTR_IDLE_TIMER_400US 4
#define PCI_LTR_IDLE_TIMER_800US 5
#define PCI_LTR_IDLE_TIMER_1_6MS 6
#define PCI_LTR_IDLE_TIMER_3_2MS 7
#define PCI_LTR_IDLE_TIMER_R_ERR 0xFD
#define PCI_LTR_IDLE_TIMER_DEF 0xFE
#define PCI_LTR_IDLE_TIMER_IGNORE 0xFF
#define PCI_LTR_SPC_10US 0
#define PCI_LTR_SPC_100US 1
#define PCI_LTR_SPC_500US 2
#define PCI_LTR_SPC_1MS 3
#define PCI_LTR_SPC_R_ERR 0xFD
#define PCI_LTR_SPC_DEF 0xFE
#define PCI_LTR_SPC_IGNORE 0xFF
#define R_AX_LTR_CTRL_0 0x8410
#define B_AX_LTR_SPACE_IDX_MASK GENMASK(13, 12)
#define B_AX_LTR_IDLE_TIMER_IDX_MASK GENMASK(10, 8)
#define B_AX_LTR_WD_NOEMP_CHK BIT(6)
#define B_AX_APP_LTR_ACT BIT(5)
#define B_AX_APP_LTR_IDLE BIT(4)
#define B_AX_LTR_EN BIT(1)
#define B_AX_LTR_WD_NOEMP_CHK_V1 BIT(1)
#define B_AX_LTR_HW_EN BIT(0)
#define R_AX_LTR_CTRL_1 0x8414
#define B_AX_LTR_RX1_TH_MASK GENMASK(27, 16)
#define B_AX_LTR_RX0_TH_MASK GENMASK(11, 0)
#define R_AX_LTR_IDLE_LATENCY 0x8418
#define R_AX_LTR_ACTIVE_LATENCY 0x841C
#define R_AX_SER_DBG_INFO 0x8424
#define B_AX_L0_TO_L1_EVENT_MASK GENMASK(31, 28)
#define R_AX_DLE_EMPTY0 0x8430
#define B_AX_PLE_EMPTY_QTA_DMAC_CPUIO BIT(26)
#define B_AX_PLE_EMPTY_QTA_DMAC_MPDU_TX BIT(25)
#define B_AX_PLE_EMPTY_QTA_DMAC_WLAN_CPU BIT(24)
#define B_AX_PLE_EMPTY_QTA_DMAC_H2C BIT(23)
#define B_AX_PLE_EMPTY_QTA_DMAC_B1_TXPL BIT(22)
#define B_AX_PLE_EMPTY_QTA_DMAC_B0_TXPL BIT(21)
#define B_AX_WDE_EMPTY_QTA_DMAC_CPUIO BIT(20)
#define B_AX_WDE_EMPTY_QTA_DMAC_PKTIN BIT(19)
#define B_AX_WDE_EMPTY_QTA_DMAC_DATA_CPU BIT(18)
#define B_AX_WDE_EMPTY_QTA_DMAC_WLAN_CPU BIT(17)
#define B_AX_WDE_EMPTY_QTA_DMAC_HIF BIT(16)
#define B_AX_WDE_EMPTY_QUE_DMAC_PKTIN BIT(10)
#define B_AX_PLE_EMPTY_QUE_DMAC_SEC_TX BIT(9)
#define B_AX_PLE_EMPTY_QUE_DMAC_MPDU_TX BIT(8)
#define B_AX_WDE_EMPTY_QUE_OTHERS BIT(7)
#define B_AX_WDE_EMPTY_QUE_CMAC0_WMM1 BIT(4)
#define B_AX_WDE_EMPTY_QUE_CMAC0_WMM0 BIT(3)
#define B_AX_WDE_EMPTY_QUE_CMAC1_MBH BIT(2)
#define B_AX_WDE_EMPTY_QUE_CMAC0_MBH BIT(1)
#define B_AX_WDE_EMPTY_QUE_CMAC0_ALL_AC BIT(0)
#define R_AX_DMAC_ERR_IMR 0x8520
#define B_AX_DLE_CPUIO_ERR_INT_EN BIT(10)
#define B_AX_APB_BRIDGE_ERR_INT_EN BIT(9)
#define B_AX_DISPATCH_ERR_INT_EN BIT(8)
#define B_AX_PKTIN_ERR_INT_EN BIT(7)
#define B_AX_PLE_DLE_ERR_INT_EN BIT(6)
#define B_AX_TXPKTCTRL_ERR_INT_EN BIT(5)
#define B_AX_WDE_DLE_ERR_INT_EN BIT(4)
#define B_AX_STA_SCHEDULER_ERR_INT_EN BIT(3)
#define B_AX_MPDU_ERR_INT_EN BIT(2)
#define B_AX_WSEC_ERR_INT_EN BIT(1)
#define B_AX_WDRLS_ERR_INT_EN BIT(0)
#define DMAC_ERR_IMR_EN GENMASK(31, 0)
#define DMAC_ERR_IMR_DIS 0
#define R_AX_DMAC_ERR_ISR 0x8524
#define B_AX_DLE_CPUIO_ERR_FLAG BIT(10)
#define B_AX_APB_BRIDGE_ERR_FLAG BIT(9)
#define B_AX_DISPATCH_ERR_FLAG BIT(8)
#define B_AX_PKTIN_ERR_FLAG BIT(7)
#define B_AX_PLE_DLE_ERR_FLAG BIT(6)
#define B_AX_TXPKTCTRL_ERR_FLAG BIT(5)
#define B_AX_WDE_DLE_ERR_FLAG BIT(4)
#define B_AX_STA_SCHEDULER_ERR_FLAG BIT(3)
#define B_AX_MPDU_ERR_FLAG BIT(2)
#define B_AX_WSEC_ERR_FLAG BIT(1)
#define B_AX_WDRLS_ERR_FLAG BIT(0)
#define R_AX_DISPATCHER_GLOBAL_SETTING_0 0x8800
#define B_AX_PL_PAGE_128B_SEL BIT(9)
#define B_AX_WD_PAGE_64B_SEL BIT(8)
#define R_AX_OTHER_DISPATCHER_ERR_ISR 0x8804
#define R_AX_HOST_DISPATCHER_ERR_ISR 0x8808
#define R_AX_CPU_DISPATCHER_ERR_ISR 0x880C
#define R_AX_TX_ADDRESS_INFO_MODE_SETTING 0x8810
#define B_AX_HOST_ADDR_INFO_8B_SEL BIT(0)
#define R_AX_HOST_DISPATCHER_ERR_IMR 0x8850
#define B_AX_HDT_RX_WRITE_UNDERFLOW_INT_EN BIT(31)
#define B_AX_HDT_RX_WRITE_OVERFLOW_INT_EN BIT(30)
#define B_AX_HDT_CHKSUM_FSM_ERR_INT_EN BIT(29)
#define B_AX_HDT_SHIFT_DMA_CFG_ERR_INT_EN BIT(28)
#define B_AX_HDT_DMA_PROCESS_ERR_INT_EN BIT(27)
#define B_AX_HDT_TOTAL_LEN_ERR_INT_EN BIT(26)
#define B_AX_HDT_SHIFT_EN_ERR_INT_EN BIT(25)
#define B_AX_HDT_RXAGG_CFG_ERR_INT_EN BIT(24)
#define B_AX_HDT_OUTPUT_ERR_INT_EN BIT(21)
#define B_AX_HDT_RES_ERR_INT_EN BIT(20)
#define B_AX_HDT_BURST_NUM_ERR_INT_EN BIT(19)
#define B_AX_HDT_NULLPKT_ERR_INT_EN BIT(18)
#define B_AX_HDT_FLOW_CTRL_ERR_INT_EN BIT(17)
#define B_AX_HDT_PLD_CMD_UNDERFLOW_INT_EN BIT(16)
#define B_AX_HDT_PLD_CMD_OVERLOW_INT_EN BIT(15)
#define B_AX_HDT_TX_WRITE_UNDERFLOW_INT_EN BIT(14)
#define B_AX_HDT_TX_WRITE_OVERFLOW_INT_EN BIT(13)
#define B_AX_HDT_TCP_CHK_ERR_INT_EN BIT(12)
#define B_AX_HDT_TXPKTSIZE_ERR_INT_EN BIT(11)
#define B_AX_HDT_PRE_COST_ERR_INT_EN BIT(10)
#define B_AX_HDT_WD_CHK_ERR_INT_EN BIT(9)
#define B_AX_HDT_CHANNEL_DMA_ERR_INT_EN BIT(8)
#define B_AX_HDT_OFFSET_UNMATCH_INT_EN BIT(7)
#define B_AX_HDT_PAYLOAD_UNDERFLOW_INT_EN BIT(6)
#define B_AX_HDT_PAYLOAD_OVERFLOW_INT_EN BIT(5)
#define B_AX_HDT_PERMU_UNDERFLOW_INT_EN BIT(4)
#define B_AX_HDT_PERMU_OVERFLOW_INT_EN BIT(3)
#define B_AX_HDT_PKT_FAIL_DBG_INT_EN BIT(2)
#define B_AX_HDT_CHANNEL_ID_ERR_INT_EN BIT(1)
#define B_AX_HDT_CHANNEL_DIFF_ERR_INT_EN BIT(0)
#define B_AX_HOST_DISP_IMR_CLR (B_AX_HDT_CHANNEL_DIFF_ERR_INT_EN | \
B_AX_HDT_CHANNEL_ID_ERR_INT_EN | \
B_AX_HDT_PKT_FAIL_DBG_INT_EN | \
B_AX_HDT_PERMU_OVERFLOW_INT_EN | \
B_AX_HDT_PERMU_UNDERFLOW_INT_EN | \
B_AX_HDT_PAYLOAD_OVERFLOW_INT_EN | \
B_AX_HDT_PAYLOAD_UNDERFLOW_INT_EN | \
B_AX_HDT_OFFSET_UNMATCH_INT_EN | \
B_AX_HDT_CHANNEL_DMA_ERR_INT_EN | \
B_AX_HDT_WD_CHK_ERR_INT_EN | \
B_AX_HDT_PRE_COST_ERR_INT_EN | \
B_AX_HDT_TXPKTSIZE_ERR_INT_EN | \
B_AX_HDT_TCP_CHK_ERR_INT_EN | \
B_AX_HDT_TX_WRITE_OVERFLOW_INT_EN | \
B_AX_HDT_TX_WRITE_UNDERFLOW_INT_EN | \
B_AX_HDT_PLD_CMD_OVERLOW_INT_EN | \
B_AX_HDT_PLD_CMD_UNDERFLOW_INT_EN | \
B_AX_HDT_FLOW_CTRL_ERR_INT_EN | \
B_AX_HDT_NULLPKT_ERR_INT_EN | \
B_AX_HDT_BURST_NUM_ERR_INT_EN | \
B_AX_HDT_RXAGG_CFG_ERR_INT_EN | \
B_AX_HDT_SHIFT_EN_ERR_INT_EN | \
B_AX_HDT_TOTAL_LEN_ERR_INT_EN | \
B_AX_HDT_DMA_PROCESS_ERR_INT_EN | \
B_AX_HDT_SHIFT_DMA_CFG_ERR_INT_EN | \
B_AX_HDT_CHKSUM_FSM_ERR_INT_EN | \
B_AX_HDT_RX_WRITE_OVERFLOW_INT_EN | \
B_AX_HDT_RX_WRITE_UNDERFLOW_INT_EN)
#define B_AX_HOST_DISP_IMR_SET (B_AX_HDT_CHANNEL_DIFF_ERR_INT_EN | \
B_AX_HDT_PAYLOAD_OVERFLOW_INT_EN | \
B_AX_HDT_PAYLOAD_UNDERFLOW_INT_EN | \
B_AX_HDT_CHANNEL_DMA_ERR_INT_EN | \
B_AX_HDT_TOTAL_LEN_ERR_INT_EN | \
B_AX_HDT_DMA_PROCESS_ERR_INT_EN)
#define B_AX_HR_WRFF_UNDERFLOW_ERR_INT_EN BIT(31)
#define B_AX_HR_WRFF_OVERFLOW_ERR_INT_EN BIT(30)
#define B_AX_HR_CHKSUM_FSM_ERR_INT_EN BIT(29)
#define B_AX_HR_SHIFT_DMA_CFG_ERR_INT_EN BIT(28)
#define B_AX_HR_DMA_PROCESS_ERR_INT_EN BIT(27)
#define B_AX_HR_TOTAL_LEN_UNDER_ERR_INT_EN BIT(26)
#define B_AX_HR_SHIFT_EN_ERR_INT_EN BIT(25)
#define B_AX_HR_AGG_CFG_ERR_INT_EN BIT(24)
#define B_AX_HR_DMA_RD_CNT_DEQ_ERR_INT_EN BIT(23)
#define B_AX_HR_PLD_LEN_ZERO_ERR_INT_EN BIT(22)
#define B_AX_HT_ILL_CH_ERR_INT_EN BIT(20)
#define B_AX_HT_ADDR_INFO_LEN_ERR_INT_EN BIT(18)
#define B_AX_HT_WD_LEN_OVER_ERR_INT_EN BIT(17)
#define B_AX_HT_PLD_CMD_UNDERFLOW_ERR_INT_EN BIT(16)
#define B_AX_HT_PLD_CMD_OVERFLOW_ERR_INT_EN BIT(15)
#define B_AX_HT_WRFF_UNDERFLOW_ERR_INT_EN BIT(14)
#define B_AX_HT_WRFF_OVERFLOW_ERR_INT_EN BIT(13)
#define B_AX_HT_CHKSUM_FSM_ERR_INT_EN BIT(12)
#define B_AX_HT_TXPKTSIZE_ERR_INT_EN BIT(11)
#define B_AX_HT_PRE_SUB_ERR_INT_EN BIT(10)
#define B_AX_HT_WD_CHKSUM_ERR_INT_EN BIT(9)
#define B_AX_HT_CHANNEL_DMA_ERR_INT_EN BIT(8)
#define B_AX_HT_OFFSET_UNMATCH_ERR_INT_EN BIT(7)
#define B_AX_HT_PAYLOAD_UNDER_ERR_INT_EN BIT(6)
#define B_AX_HT_PAYLOAD_OVER_ERR_INT_EN BIT(5)
#define B_AX_HT_PERMU_FF_UNDERFLOW_ERR_INT_EN BIT(4)
#define B_AX_HT_PERMU_FF_OVERFLOW_ERR_INT_EN BIT(3)
#define B_AX_HT_PKT_FAIL_ERR_INT_EN BIT(2)
#define B_AX_HT_CH_ID_ERR_INT_EN BIT(1)
#define B_AX_HT_EP_CH_DIFF_ERR_INT_EN BIT(0)
#define B_AX_HOST_DISP_IMR_CLR_V1 (B_AX_HT_EP_CH_DIFF_ERR_INT_EN | \
B_AX_HT_CH_ID_ERR_INT_EN | \
B_AX_HT_PKT_FAIL_ERR_INT_EN | \
B_AX_HT_PERMU_FF_OVERFLOW_ERR_INT_EN | \
B_AX_HT_PERMU_FF_UNDERFLOW_ERR_INT_EN | \
B_AX_HT_PAYLOAD_OVER_ERR_INT_EN | \
B_AX_HT_PAYLOAD_UNDER_ERR_INT_EN | \
B_AX_HT_OFFSET_UNMATCH_ERR_INT_EN | \
B_AX_HT_CHANNEL_DMA_ERR_INT_EN | \
B_AX_HT_WD_CHKSUM_ERR_INT_EN | \
B_AX_HT_PRE_SUB_ERR_INT_EN | \
B_AX_HT_TXPKTSIZE_ERR_INT_EN | \
B_AX_HT_CHKSUM_FSM_ERR_INT_EN | \
B_AX_HT_WRFF_OVERFLOW_ERR_INT_EN | \
B_AX_HT_WRFF_UNDERFLOW_ERR_INT_EN | \
B_AX_HT_PLD_CMD_OVERFLOW_ERR_INT_EN | \
B_AX_HT_PLD_CMD_UNDERFLOW_ERR_INT_EN | \
B_AX_HT_WD_LEN_OVER_ERR_INT_EN | \
B_AX_HT_ADDR_INFO_LEN_ERR_INT_EN | \
B_AX_HT_ILL_CH_ERR_INT_EN | \
B_AX_HR_PLD_LEN_ZERO_ERR_INT_EN | \
B_AX_HR_DMA_RD_CNT_DEQ_ERR_INT_EN | \
B_AX_HR_AGG_CFG_ERR_INT_EN | \
B_AX_HR_SHIFT_EN_ERR_INT_EN | \
B_AX_HR_TOTAL_LEN_UNDER_ERR_INT_EN | \
B_AX_HR_DMA_PROCESS_ERR_INT_EN | \
B_AX_HR_SHIFT_DMA_CFG_ERR_INT_EN | \
B_AX_HR_CHKSUM_FSM_ERR_INT_EN | \
B_AX_HR_WRFF_OVERFLOW_ERR_INT_EN | \
B_AX_HR_WRFF_UNDERFLOW_ERR_INT_EN)
#define B_AX_HOST_DISP_IMR_SET_V1 (B_AX_HT_PAYLOAD_OVER_ERR_INT_EN | \
B_AX_HT_PAYLOAD_UNDER_ERR_INT_EN | \
B_AX_HT_ILL_CH_ERR_INT_EN | \
B_AX_HR_TOTAL_LEN_UNDER_ERR_INT_EN | \
B_AX_HR_DMA_PROCESS_ERR_INT_EN)
#define R_AX_CPU_DISPATCHER_ERR_IMR 0x8854
#define B_AX_CPU_RX_WRITE_UNDERFLOW_INT_EN BIT(31)
#define B_AX_CPU_RX_WRITE_OVERFLOW_INT_EN BIT(30)
#define B_AX_CPU_CHKSUM_FSM_ERR_INT_EN BIT(29)
#define B_AX_CPU_SHIFT_DMA_CFG_ERR_INT_EN BIT(28)
#define B_AX_CPU_DMA_PROCESS_ERR_INT_EN BIT(27)
#define B_AX_CPU_TOTAL_LEN_ERR_INT_EN BIT(26)
#define B_AX_CPU_SHIFT_EN_ERR_INT_EN BIT(25)
#define B_AX_CPU_RXAGG_CFG_ERR_INT_EN BIT(24)
#define B_AX_CPU_OUTPUT_ERR_INT_EN BIT(20)
#define B_AX_CPU_RESP_ERR_INT_EN BIT(19)
#define B_AX_CPU_BURST_NUM_ERR_INT_EN BIT(18)
#define B_AX_CPU_NULLPKT_ERR_INT_EN BIT(17)
#define B_AX_CPU_FLOW_CTRL_ERR_INT_EN BIT(16)
#define B_AX_CPU_F2P_SEQ_ERR_INT_EN BIT(15)
#define B_AX_CPU_F2P_QSEL_ERR_INT_EN BIT(14)
#define B_AX_CPU_PLD_CMD_UNDERFLOW_INT_EN BIT(13)
#define B_AX_CPU_PLD_CMD_OVERLOW_INT_EN BIT(12)
#define B_AX_CPU_PRE_COST_ERR_INT_EN BIT(11)
#define B_AX_CPU_WD_CHK_ERR_INT_EN BIT(10)
#define B_AX_CPU_CHANNEL_DMA_ERR_INT_EN BIT(9)
#define B_AX_CPU_OFFSET_UNMATCH_INT_EN BIT(8)
#define B_AX_CPU_PAYLOAD_CHKSUM_ERR_INT_EN BIT(7)
#define B_AX_CPU_PAYLOAD_UNDERFLOW_INT_EN BIT(6)
#define B_AX_CPU_PAYLOAD_OVERFLOW_INT_EN BIT(5)
#define B_AX_CPU_PERMU_UNDERFLOW_INT_EN BIT(4)
#define B_AX_CPU_PERMU_OVERFLOW_INT_EN BIT(3)
#define B_AX_CPU_CHANNEL_ID_ERR_INT_EN BIT(2)
#define B_AX_CPU_PKT_FAIL_DBG_INT_EN BIT(1)
#define B_AX_CPU_CHANNEL_DIFF_ERR_INT_EN BIT(0)
#define B_AX_CPU_DISP_IMR_CLR (B_AX_CPU_CHANNEL_DIFF_ERR_INT_EN | \
B_AX_CPU_PKT_FAIL_DBG_INT_EN | \
B_AX_CPU_CHANNEL_ID_ERR_INT_EN | \
B_AX_CPU_PERMU_OVERFLOW_INT_EN | \
B_AX_CPU_PERMU_UNDERFLOW_INT_EN | \
B_AX_CPU_PAYLOAD_OVERFLOW_INT_EN | \
B_AX_CPU_PAYLOAD_UNDERFLOW_INT_EN | \
B_AX_CPU_PAYLOAD_CHKSUM_ERR_INT_EN | \
B_AX_CPU_OFFSET_UNMATCH_INT_EN | \
B_AX_CPU_CHANNEL_DMA_ERR_INT_EN | \
B_AX_CPU_WD_CHK_ERR_INT_EN | \
B_AX_CPU_PRE_COST_ERR_INT_EN | \
B_AX_CPU_PLD_CMD_OVERLOW_INT_EN | \
B_AX_CPU_PLD_CMD_UNDERFLOW_INT_EN | \
B_AX_CPU_F2P_QSEL_ERR_INT_EN | \
B_AX_CPU_F2P_SEQ_ERR_INT_EN | \
B_AX_CPU_FLOW_CTRL_ERR_INT_EN | \
B_AX_CPU_NULLPKT_ERR_INT_EN | \
B_AX_CPU_BURST_NUM_ERR_INT_EN | \
B_AX_CPU_RXAGG_CFG_ERR_INT_EN | \
B_AX_CPU_SHIFT_EN_ERR_INT_EN | \
B_AX_CPU_TOTAL_LEN_ERR_INT_EN | \
B_AX_CPU_DMA_PROCESS_ERR_INT_EN | \
B_AX_CPU_SHIFT_DMA_CFG_ERR_INT_EN | \
B_AX_CPU_CHKSUM_FSM_ERR_INT_EN | \
B_AX_CPU_RX_WRITE_OVERFLOW_INT_EN | \
B_AX_CPU_RX_WRITE_UNDERFLOW_INT_EN)
#define B_AX_CPU_DISP_IMR_SET (B_AX_CPU_PKT_FAIL_DBG_INT_EN | \
B_AX_CPU_PAYLOAD_OVERFLOW_INT_EN | \
B_AX_CPU_PAYLOAD_UNDERFLOW_INT_EN | \
B_AX_CPU_TOTAL_LEN_ERR_INT_EN)
#define B_AX_CR_PLD_LEN_ERR_INT_EN BIT(30)
#define B_AX_CR_WRFF_UNDERFLOW_ERR_INT_EN BIT(29)
#define B_AX_CR_WRFF_OVERFLOW_ERR_INT_EN BIT(28)
#define B_AX_CR_SHIFT_DMA_CFG_ERR_INT_EN BIT(27)
#define B_AX_CR_DMA_PROCESS_ERR_INT_EN BIT(26)
#define B_AX_CR_TOTAL_LEN_UNDER_ERR_INT_EN BIT(25)
#define B_AX_CR_SHIFT_EN_ERR_INT_EN BIT(24)
#define B_AX_REUSE_FIFO_B_UNDER_ERR_INT_EN BIT(22)
#define B_AX_REUSE_FIFO_B_OVER_ERR_INT_EN BIT(21)
#define B_AX_REUSE_FIFO_A_UNDER_ERR_INT_EN BIT(20)
#define B_AX_REUSE_FIFO_A_OVER_ERR_INT_EN BIT(19)
#define B_AX_CT_ADDR_INFO_LEN_MISS_ERR_INT_EN BIT(17)
#define B_AX_CT_WD_LEN_OVER_ERR_INT_EN BIT(16)
#define B_AX_CT_F2P_SEQ_ERR_INT_EN BIT(15)
#define B_AX_CT_F2P_QSEL_ERR_INT_EN BIT(14)
#define B_AX_CT_PLD_CMD_UNDERFLOW_ERR_INT_EN BIT(13)
#define B_AX_CT_PLD_CMD_OVERFLOW_ERR_INT_EN BIT(12)
#define B_AX_CT_PRE_SUB_ERR_INT_EN BIT(11)
#define B_AX_CT_WD_CHKSUM_ERR_INT_EN BIT(10)
#define B_AX_CT_CHANNEL_DMA_ERR_INT_EN BIT(9)
#define B_AX_CT_OFFSET_UNMATCH_ERR_INT_EN BIT(8)
#define B_AX_CT_PAYLOAD_CHKSUM_ERR_INT_EN BIT(7)
#define B_AX_CT_PAYLOAD_UNDER_ERR_INT_EN BIT(6)
#define B_AX_CT_PAYLOAD_OVER_ERR_INT_EN BIT(5)
#define B_AX_CT_PERMU_FF_UNDERFLOW_ERR_INT_EN BIT(4)
#define B_AX_CT_PERMU_FF_OVERFLOW_ERR_INT_EN BIT(3)
#define B_AX_CT_CH_ID_ERR_INT_EN BIT(2)
#define B_AX_CT_EP_CH_DIFF_ERR_INT_EN BIT(0)
#define B_AX_CPU_DISP_IMR_CLR_V1 (B_AX_CT_EP_CH_DIFF_ERR_INT_EN | \
B_AX_CT_CH_ID_ERR_INT_EN | \
B_AX_CT_PERMU_FF_OVERFLOW_ERR_INT_EN | \
B_AX_CT_PERMU_FF_UNDERFLOW_ERR_INT_EN | \
B_AX_CT_PAYLOAD_OVER_ERR_INT_EN | \
B_AX_CT_PAYLOAD_UNDER_ERR_INT_EN | \
B_AX_CT_PAYLOAD_CHKSUM_ERR_INT_EN | \
B_AX_CT_OFFSET_UNMATCH_ERR_INT_EN | \
B_AX_CT_CHANNEL_DMA_ERR_INT_EN | \
B_AX_CT_WD_CHKSUM_ERR_INT_EN | \
B_AX_CT_PRE_SUB_ERR_INT_EN | \
B_AX_CT_PLD_CMD_OVERFLOW_ERR_INT_EN | \
B_AX_CT_PLD_CMD_UNDERFLOW_ERR_INT_EN | \
B_AX_CT_F2P_QSEL_ERR_INT_EN | \
B_AX_CT_F2P_SEQ_ERR_INT_EN | \
B_AX_CT_WD_LEN_OVER_ERR_INT_EN | \
B_AX_CT_ADDR_INFO_LEN_MISS_ERR_INT_EN | \
B_AX_REUSE_FIFO_A_OVER_ERR_INT_EN | \
B_AX_REUSE_FIFO_A_UNDER_ERR_INT_EN | \
B_AX_REUSE_FIFO_B_OVER_ERR_INT_EN | \
B_AX_REUSE_FIFO_B_UNDER_ERR_INT_EN | \
B_AX_CR_SHIFT_EN_ERR_INT_EN | \
B_AX_CR_TOTAL_LEN_UNDER_ERR_INT_EN | \
B_AX_CR_DMA_PROCESS_ERR_INT_EN | \
B_AX_CR_SHIFT_DMA_CFG_ERR_INT_EN | \
B_AX_CR_WRFF_OVERFLOW_ERR_INT_EN | \
B_AX_CR_WRFF_UNDERFLOW_ERR_INT_EN | \
B_AX_CR_PLD_LEN_ERR_INT_EN)
#define B_AX_CPU_DISP_IMR_SET_V1 (B_AX_CT_PAYLOAD_OVER_ERR_INT_EN | \
B_AX_CT_PAYLOAD_UNDER_ERR_INT_EN | \
B_AX_CR_TOTAL_LEN_UNDER_ERR_INT_EN | \
B_AX_CR_DMA_PROCESS_ERR_INT_EN | \
B_AX_CR_WRFF_OVERFLOW_ERR_INT_EN | \
B_AX_CR_WRFF_UNDERFLOW_ERR_INT_EN)
#define R_AX_OTHER_DISPATCHER_ERR_IMR 0x8858
#define B_AX_OTHER_STF_WROQT_UNDERFLOW_INT_EN BIT(29)
#define B_AX_OTHER_STF_WROQT_OVERFLOW_INT_EN BIT(28)
#define B_AX_OTHER_STF_WRFF_UNDERFLOW_INT_EN BIT(27)
#define B_AX_OTHER_STF_WRFF_OVERFLOW_INT_EN BIT(26)
#define B_AX_OTHER_STF_CMD_UNDERFLOW_INT_EN BIT(25)
#define B_AX_OTHER_STF_CMD_OVERFLOW_INT_EN BIT(24)
#define B_AX_HOST_ADDR_INFO_LEN_ZERO_ERR_INT_EN BIT(17)
#define B_AX_CPU_ADDR_INFO_LEN_ZERO_ERR_INT_EN BIT(16)
#define B_AX_PLE_OUTPUT_ERR_INT_EN BIT(12)
#define B_AX_PLE_RESP_ERR_INT_EN BIT(11)
#define B_AX_PLE_BURST_NUM_ERR_INT_EN BIT(10)
#define B_AX_PLE_NULL_PKT_ERR_INT_EN BIT(9)
#define B_AX_PLE_FLOW_CTRL_ERR_INT_EN BIT(8)
#define B_AX_WDE_OUTPUT_ERR_INT_EN BIT(4)
#define B_AX_WDE_RESP_ERR_INT_EN BIT(3)
#define B_AX_WDE_BURST_NUM_ERR_INT_EN BIT(2)
#define B_AX_WDE_NULL_PKT_ERR_INT_EN BIT(1)
#define B_AX_WDE_FLOW_CTRL_ERR_INT_EN BIT(0)
#define B_AX_OTHER_DISP_IMR_CLR (B_AX_OTHER_STF_WROQT_UNDERFLOW_INT_EN | \
B_AX_OTHER_STF_WROQT_OVERFLOW_INT_EN | \
B_AX_OTHER_STF_WRFF_UNDERFLOW_INT_EN | \
B_AX_OTHER_STF_WRFF_OVERFLOW_INT_EN | \
B_AX_OTHER_STF_CMD_UNDERFLOW_INT_EN | \
B_AX_OTHER_STF_CMD_OVERFLOW_INT_EN | \
B_AX_HOST_ADDR_INFO_LEN_ZERO_ERR_INT_EN | \
B_AX_CPU_ADDR_INFO_LEN_ZERO_ERR_INT_EN | \
B_AX_PLE_OUTPUT_ERR_INT_EN | \
B_AX_PLE_RESP_ERR_INT_EN | \
B_AX_PLE_BURST_NUM_ERR_INT_EN | \
B_AX_PLE_NULL_PKT_ERR_INT_EN | \
B_AX_PLE_FLOW_CTRL_ERR_INT_EN | \
B_AX_WDE_OUTPUT_ERR_INT_EN | \
B_AX_WDE_RESP_ERR_INT_EN | \
B_AX_WDE_BURST_NUM_ERR_INT_EN | \
B_AX_WDE_NULL_PKT_ERR_INT_EN | \
B_AX_WDE_FLOW_CTRL_ERR_INT_EN)
#define B_AX_REUSE_SIZE_ERR_INT_EN BIT(31)
#define B_AX_REUSE_EN_ERR_INT_EN BIT(30)
#define B_AX_STF_OQT_UNDERFLOW_ERR_INT_EN BIT(29)
#define B_AX_STF_OQT_OVERFLOW_ERR_INT_EN BIT(28)
#define B_AX_STF_WRFF_UNDERFLOW_ERR_INT_EN BIT(27)
#define B_AX_STF_WRFF_OVERFLOW_ERR_INT_EN BIT(26)
#define B_AX_STF_CMD_UNDERFLOW_ERR_INT_EN BIT(25)
#define B_AX_STF_CMD_OVERFLOW_ERR_INT_EN BIT(24)
#define B_AX_REUSE_SIZE_ZERO_ERR_INT_EN BIT(23)
#define B_AX_REUSE_PKT_CNT_ERR_INT_EN BIT(22)
#define B_AX_CDT_PTR_TIMEOUT_ERR_INT_EN BIT(21)
#define B_AX_CDT_HCI_TIMEOUT_ERR_INT_EN BIT(20)
#define B_AX_HDT_PTR_TIMEOUT_ERR_INT_EN BIT(19)
#define B_AX_HDT_HCI_TIMEOUT_ERR_INT_EN BIT(18)
#define B_AX_CDT_ADDR_INFO_LEN_ERR_INT_EN BIT(17)
#define B_AX_HDT_ADDR_INFO_LEN_ERR_INT_EN BIT(16)
#define B_AX_CDR_DMA_TIMEOUT_ERR_INT_EN BIT(15)
#define B_AX_CDR_RX_TIMEOUT_ERR_INT_EN BIT(14)
#define B_AX_PLE_RESPOSE_ERR_INT_EN BIT(11)
#define B_AX_HDR_DMA_TIMEOUT_ERR_INT_EN BIT(7)
#define B_AX_HDR_RX_TIMEOUT_ERR_INT_EN BIT(6)
#define B_AX_WDE_RESPONSE_ERR_INT_EN BIT(3)
#define B_AX_OTHER_DISP_IMR_CLR_V1 (B_AX_CT_EP_CH_DIFF_ERR_INT_EN | \
B_AX_WDE_FLOW_CTRL_ERR_INT_EN | \
B_AX_WDE_NULL_PKT_ERR_INT_EN | \
B_AX_WDE_BURST_NUM_ERR_INT_EN | \
B_AX_WDE_RESPONSE_ERR_INT_EN | \
B_AX_WDE_OUTPUT_ERR_INT_EN | \
B_AX_HDR_RX_TIMEOUT_ERR_INT_EN | \
B_AX_HDR_DMA_TIMEOUT_ERR_INT_EN | \
B_AX_PLE_FLOW_CTRL_ERR_INT_EN | \
B_AX_PLE_NULL_PKT_ERR_INT_EN | \
B_AX_PLE_BURST_NUM_ERR_INT_EN | \
B_AX_PLE_RESPOSE_ERR_INT_EN | \
B_AX_PLE_OUTPUT_ERR_INT_EN | \
B_AX_CDR_RX_TIMEOUT_ERR_INT_EN | \
B_AX_CDR_DMA_TIMEOUT_ERR_INT_EN | \
B_AX_HDT_ADDR_INFO_LEN_ERR_INT_EN | \
B_AX_CDT_ADDR_INFO_LEN_ERR_INT_EN | \
B_AX_HDT_HCI_TIMEOUT_ERR_INT_EN | \
B_AX_HDT_PTR_TIMEOUT_ERR_INT_EN | \
B_AX_CDT_HCI_TIMEOUT_ERR_INT_EN | \
B_AX_CDT_PTR_TIMEOUT_ERR_INT_EN | \
B_AX_REUSE_PKT_CNT_ERR_INT_EN | \
B_AX_REUSE_SIZE_ZERO_ERR_INT_EN | \
B_AX_STF_CMD_OVERFLOW_ERR_INT_EN | \
B_AX_STF_CMD_UNDERFLOW_ERR_INT_EN | \
B_AX_STF_WRFF_OVERFLOW_ERR_INT_EN | \
B_AX_STF_WRFF_UNDERFLOW_ERR_INT_EN | \
B_AX_STF_OQT_OVERFLOW_ERR_INT_EN | \
B_AX_STF_OQT_UNDERFLOW_ERR_INT_EN | \
B_AX_REUSE_EN_ERR_INT_EN | \
B_AX_REUSE_SIZE_ERR_INT_EN)
#define B_AX_OTHER_DISP_IMR_SET_V1 (B_AX_CDR_RX_TIMEOUT_ERR_INT_EN | \
B_AX_CDR_DMA_TIMEOUT_ERR_INT_EN | \
B_AX_HDT_HCI_TIMEOUT_ERR_INT_EN | \
B_AX_HDT_PTR_TIMEOUT_ERR_INT_EN | \
B_AX_CDT_HCI_TIMEOUT_ERR_INT_EN | \
B_AX_CDT_PTR_TIMEOUT_ERR_INT_EN | \
B_AX_STF_OQT_OVERFLOW_ERR_INT_EN | \
B_AX_STF_OQT_UNDERFLOW_ERR_INT_EN)
#define R_AX_HCI_FC_CTRL 0x8A00
#define B_AX_HCI_FC_CH12_FULL_COND_MASK GENMASK(11, 10)
#define B_AX_HCI_FC_WP_CH811_FULL_COND_MASK GENMASK(9, 8)
#define B_AX_HCI_FC_WP_CH07_FULL_COND_MASK GENMASK(7, 6)
#define B_AX_HCI_FC_WD_FULL_COND_MASK GENMASK(5, 4)
#define B_AX_HCI_FC_CH12_EN BIT(3)
#define B_AX_HCI_FC_MODE_MASK GENMASK(2, 1)
#define B_AX_HCI_FC_EN BIT(0)
#define R_AX_CH_PAGE_CTRL 0x8A04
#define B_AX_PREC_PAGE_CH12_MASK GENMASK(24, 16)
#define B_AX_PREC_PAGE_CH011_MASK GENMASK(8, 0)
#define B_AX_MAX_PG_MASK GENMASK(28, 16)
#define B_AX_MIN_PG_MASK GENMASK(12, 0)
#define B_AX_GRP BIT(31)
#define R_AX_ACH0_PAGE_CTRL 0x8A10
#define R_AX_ACH1_PAGE_CTRL 0x8A14
#define R_AX_ACH2_PAGE_CTRL 0x8A18
#define R_AX_ACH3_PAGE_CTRL 0x8A1C
#define R_AX_ACH4_PAGE_CTRL 0x8A20
#define R_AX_ACH5_PAGE_CTRL 0x8A24
#define R_AX_ACH6_PAGE_CTRL 0x8A28
#define R_AX_ACH7_PAGE_CTRL 0x8A2C
#define R_AX_CH8_PAGE_CTRL 0x8A30
#define R_AX_CH9_PAGE_CTRL 0x8A34
#define R_AX_CH10_PAGE_CTRL 0x8A38
#define R_AX_CH11_PAGE_CTRL 0x8A3C
#define B_AX_AVAL_PG_MASK GENMASK(27, 16)
#define B_AX_USE_PG_MASK GENMASK(12, 0)
#define R_AX_ACH0_PAGE_INFO 0x8A50
#define R_AX_ACH1_PAGE_INFO 0x8A54
#define R_AX_ACH2_PAGE_INFO 0x8A58
#define R_AX_ACH3_PAGE_INFO 0x8A5C
#define R_AX_ACH4_PAGE_INFO 0x8A60
#define R_AX_ACH5_PAGE_INFO 0x8A64
#define R_AX_ACH6_PAGE_INFO 0x8A68
#define R_AX_ACH7_PAGE_INFO 0x8A6C
#define R_AX_CH8_PAGE_INFO 0x8A70
#define R_AX_CH9_PAGE_INFO 0x8A74
#define R_AX_CH10_PAGE_INFO 0x8A78
#define R_AX_CH11_PAGE_INFO 0x8A7C
#define R_AX_CH12_PAGE_INFO 0x8A80
#define R_AX_PUB_PAGE_INFO3 0x8A8C
#define B_AX_G1_AVAL_PG_MASK GENMASK(28, 16)
#define B_AX_G0_AVAL_PG_MASK GENMASK(12, 0)
#define R_AX_PUB_PAGE_CTRL1 0x8A90
#define B_AX_PUBPG_G1_MASK GENMASK(28, 16)
#define B_AX_PUBPG_G0_MASK GENMASK(12, 0)
#define R_AX_PUB_PAGE_CTRL2 0x8A94
#define B_AX_PUBPG_ALL_MASK GENMASK(12, 0)
#define R_AX_PUB_PAGE_INFO1 0x8A98
#define B_AX_G1_USE_PG_MASK GENMASK(28, 16)
#define B_AX_G0_USE_PG_MASK GENMASK(12, 0)
#define R_AX_PUB_PAGE_INFO2 0x8A9C
#define B_AX_PUB_AVAL_PG_MASK GENMASK(12, 0)
#define R_AX_WP_PAGE_CTRL1 0x8AA0
#define B_AX_PREC_PAGE_WP_CH811_MASK GENMASK(24, 16)
#define B_AX_PREC_PAGE_WP_CH07_MASK GENMASK(8, 0)
#define R_AX_WP_PAGE_CTRL2 0x8AA4
#define B_AX_WP_THRD_MASK GENMASK(12, 0)
#define R_AX_WP_PAGE_INFO1 0x8AA8
#define B_AX_WP_AVAL_PG_MASK GENMASK(28, 16)
#define R_AX_WDE_PKTBUF_CFG 0x8C08
#define B_AX_WDE_START_BOUND_MASK GENMASK(13, 8)
#define B_AX_WDE_PAGE_SEL_MASK GENMASK(1, 0)
#define B_AX_WDE_FREE_PAGE_NUM_MASK GENMASK(28, 16)
#define R_AX_WDE_ERRFLAG_MSG 0x8C30
#define B_AX_WDE_ERR_FLAG_MSG_MASK GENMASK(31, 0)
#define R_AX_WDE_ERR_FLAG_CFG 0x8C34
#define R_AX_WDE_ERR_IMR 0x8C38
#define B_AX_WDE_DATCHN_RRDY_ERR_INT_EN BIT(27)
#define B_AX_WDE_DATCHN_FRZTO_ERR_INT_EN BIT(26)
#define B_AX_WDE_DATCHN_NULLPG_ERR_INT_EN BIT(25)
#define B_AX_WDE_DATCHN_ARBT_ERR_INT_EN BIT(24)
#define B_AX_WDE_QUEMGN_FRZTO_ERR_INT_EN BIT(19)
#define B_AX_WDE_NXTPKTLL_AD_ERR_INT_EN BIT(18)
#define B_AX_WDE_PREPKTLLT_AD_ERR_INT_EN BIT(17)
#define B_AX_WDE_ENQ_PKTCNT_NVAL_ERR_INT_EN BIT(16)
#define B_AX_WDE_ENQ_PKTCNT_OVRF_ERR_INT_EN BIT(15)
#define B_AX_WDE_QUE_SRCQUEID_ERR_INT_EN BIT(14)
#define B_AX_WDE_QUE_DSTQUEID_ERR_INT_EN BIT(13)
#define B_AX_WDE_QUE_CMDTYPE_ERR_INT_EN BIT(12)
#define B_AX_WDE_BUFMGN_FRZTO_ERR_INT_EN BIT(7)
#define B_AX_WDE_GETNPG_PGOFST_ERR_INT_EN BIT(6)
#define B_AX_WDE_GETNPG_STRPG_ERR_INT_EN BIT(5)
#define B_AX_WDE_BUFREQ_SRCHTAILPG_ERR_INT_EN BIT(4)
#define B_AX_WDE_BUFRTN_SIZE_ERR_INT_EN BIT(3)
#define B_AX_WDE_BUFRTN_INVLD_PKTID_ERR_INT_EN BIT(2)
#define B_AX_WDE_BUFREQ_UNAVAL_ERR_INT_EN BIT(1)
#define B_AX_WDE_BUFREQ_QTAID_ERR_INT_EN BIT(0)
#define B_AX_WDE_IMR_CLR (B_AX_WDE_BUFREQ_QTAID_ERR_INT_EN | \
B_AX_WDE_BUFREQ_UNAVAL_ERR_INT_EN | \
B_AX_WDE_BUFRTN_INVLD_PKTID_ERR_INT_EN | \
B_AX_WDE_BUFRTN_SIZE_ERR_INT_EN | \
B_AX_WDE_BUFREQ_SRCHTAILPG_ERR_INT_EN | \
B_AX_WDE_GETNPG_STRPG_ERR_INT_EN | \
B_AX_WDE_GETNPG_PGOFST_ERR_INT_EN | \
B_AX_WDE_BUFMGN_FRZTO_ERR_INT_EN | \
B_AX_WDE_QUE_CMDTYPE_ERR_INT_EN | \
B_AX_WDE_QUE_DSTQUEID_ERR_INT_EN | \
B_AX_WDE_QUE_SRCQUEID_ERR_INT_EN | \
B_AX_WDE_ENQ_PKTCNT_OVRF_ERR_INT_EN | \
B_AX_WDE_ENQ_PKTCNT_NVAL_ERR_INT_EN | \
B_AX_WDE_PREPKTLLT_AD_ERR_INT_EN | \
B_AX_WDE_NXTPKTLL_AD_ERR_INT_EN | \
B_AX_WDE_QUEMGN_FRZTO_ERR_INT_EN | \
B_AX_WDE_DATCHN_ARBT_ERR_INT_EN | \
B_AX_WDE_DATCHN_NULLPG_ERR_INT_EN | \
B_AX_WDE_DATCHN_FRZTO_ERR_INT_EN)
#define B_AX_WDE_IMR_SET (B_AX_WDE_BUFREQ_QTAID_ERR_INT_EN | \
B_AX_WDE_BUFREQ_UNAVAL_ERR_INT_EN | \
B_AX_WDE_BUFRTN_INVLD_PKTID_ERR_INT_EN | \
B_AX_WDE_BUFRTN_SIZE_ERR_INT_EN | \
B_AX_WDE_BUFREQ_SRCHTAILPG_ERR_INT_EN | \
B_AX_WDE_GETNPG_STRPG_ERR_INT_EN | \
B_AX_WDE_GETNPG_PGOFST_ERR_INT_EN | \
B_AX_WDE_BUFMGN_FRZTO_ERR_INT_EN | \
B_AX_WDE_QUE_CMDTYPE_ERR_INT_EN | \
B_AX_WDE_QUE_DSTQUEID_ERR_INT_EN | \
B_AX_WDE_QUE_SRCQUEID_ERR_INT_EN | \
B_AX_WDE_ENQ_PKTCNT_OVRF_ERR_INT_EN | \
B_AX_WDE_ENQ_PKTCNT_NVAL_ERR_INT_EN | \
B_AX_WDE_PREPKTLLT_AD_ERR_INT_EN | \
B_AX_WDE_NXTPKTLL_AD_ERR_INT_EN | \
B_AX_WDE_QUEMGN_FRZTO_ERR_INT_EN | \
B_AX_WDE_DATCHN_ARBT_ERR_INT_EN | \
B_AX_WDE_DATCHN_NULLPG_ERR_INT_EN | \
B_AX_WDE_DATCHN_FRZTO_ERR_INT_EN)
#define B_AX_WDE_DATCHN_CAMREQ_ERR_INT_EN BIT(29)
#define B_AX_WDE_DATCHN_ADRERR_ERR_INT_EN BIT(28)
#define B_AX_WDE_DATCHN_RRDY_ERR_INT_EN BIT(27)
#define B_AX_WDE_DATCHN_FRZTO_ERR_INT_EN BIT(26)
#define B_AX_WDE_DATCHN_NULLPG_ERR_INT_EN BIT(25)
#define B_AX_WDE_DATCHN_ARBT_ERR_INT_EN BIT(24)
#define B_AX_WDE_QUEMGN_FRZTO_ERR_INT_EN BIT(19)
#define B_AX_WDE_NXTPKTLL_AD_ERR_INT_EN BIT(18)
#define B_AX_WDE_PREPKTLLT_AD_ERR_INT_EN BIT(17)
#define B_AX_WDE_ENQ_PKTCNT_NVAL_ERR_INT_EN BIT(16)
#define B_AX_WDE_ENQ_PKTCNT_OVRF_ERR_INT_EN BIT(15)
#define B_AX_WDE_QUE_SRCQUEID_ERR_INT_EN BIT(14)
#define B_AX_WDE_BUFMGN_FRZTO_ERR_INT_EN_V1 BIT(9)
#define B_AX_WDE_GETNPG_PGOFST_ERR_INT_EN_V1 BIT(8)
#define B_AX_WDE_GETNPG_STRPG_ERR_INT_EN_V1 BIT(7)
#define B_AX_WDE_BUFREQ_SRCHTAILPG_ERR_INT_EN_V1 BIT(6)
#define B_AX_WDE_BUFRTN_SIZE_ERR_INT_EN_V1 BIT(5)
#define B_AX_WDE_BUFRTN_INVLD_PKTID_ERR_INT_EN_V1 BIT(4)
#define B_AX_WDE_BUFREQ_UNAVAL_ERR_INT_EN_V1 BIT(3)
#define B_AX_WDE_BUFREQ_SIZELMT_INT_EN BIT(2)
#define B_AX_WDE_BUFREQ_SIZE0_INT_EN BIT(1)
#define B_AX_WDE_IMR_CLR_V1 (B_AX_WDE_BUFREQ_QTAID_ERR_INT_EN | \
B_AX_WDE_BUFREQ_SIZE0_INT_EN | \
B_AX_WDE_BUFREQ_SIZELMT_INT_EN | \
B_AX_WDE_BUFREQ_UNAVAL_ERR_INT_EN_V1 | \
B_AX_WDE_BUFRTN_INVLD_PKTID_ERR_INT_EN_V1 | \
B_AX_WDE_BUFRTN_SIZE_ERR_INT_EN_V1 | \
B_AX_WDE_BUFREQ_SRCHTAILPG_ERR_INT_EN_V1 | \
B_AX_WDE_GETNPG_STRPG_ERR_INT_EN_V1 | \
B_AX_WDE_GETNPG_PGOFST_ERR_INT_EN_V1 | \
B_AX_WDE_BUFMGN_FRZTO_ERR_INT_EN_V1 | \
B_AX_WDE_QUE_CMDTYPE_ERR_INT_EN | \
B_AX_WDE_QUE_DSTQUEID_ERR_INT_EN | \
B_AX_WDE_QUE_SRCQUEID_ERR_INT_EN | \
B_AX_WDE_ENQ_PKTCNT_OVRF_ERR_INT_EN | \
B_AX_WDE_ENQ_PKTCNT_NVAL_ERR_INT_EN | \
B_AX_WDE_PREPKTLLT_AD_ERR_INT_EN | \
B_AX_WDE_NXTPKTLL_AD_ERR_INT_EN | \
B_AX_WDE_QUEMGN_FRZTO_ERR_INT_EN | \
B_AX_WDE_DATCHN_ARBT_ERR_INT_EN | \
B_AX_WDE_DATCHN_NULLPG_ERR_INT_EN | \
B_AX_WDE_DATCHN_FRZTO_ERR_INT_EN | \
B_AX_WDE_DATCHN_RRDY_ERR_INT_EN | \
B_AX_WDE_DATCHN_ADRERR_ERR_INT_EN | \
B_AX_WDE_DATCHN_CAMREQ_ERR_INT_EN)
#define B_AX_WDE_IMR_SET_V1 (B_AX_WDE_BUFREQ_QTAID_ERR_INT_EN | \
B_AX_WDE_BUFREQ_SIZE0_INT_EN | \
B_AX_WDE_BUFREQ_SIZELMT_INT_EN | \
B_AX_WDE_BUFREQ_UNAVAL_ERR_INT_EN_V1 | \
B_AX_WDE_BUFRTN_INVLD_PKTID_ERR_INT_EN_V1 | \
B_AX_WDE_BUFRTN_SIZE_ERR_INT_EN_V1 | \
B_AX_WDE_BUFREQ_SRCHTAILPG_ERR_INT_EN_V1 | \
B_AX_WDE_GETNPG_STRPG_ERR_INT_EN_V1 | \
B_AX_WDE_GETNPG_PGOFST_ERR_INT_EN_V1 | \
B_AX_WDE_BUFMGN_FRZTO_ERR_INT_EN_V1 | \
B_AX_WDE_QUE_CMDTYPE_ERR_INT_EN | \
B_AX_WDE_QUE_DSTQUEID_ERR_INT_EN | \
B_AX_WDE_QUE_SRCQUEID_ERR_INT_EN | \
B_AX_WDE_ENQ_PKTCNT_OVRF_ERR_INT_EN | \
B_AX_WDE_ENQ_PKTCNT_NVAL_ERR_INT_EN | \
B_AX_WDE_PREPKTLLT_AD_ERR_INT_EN | \
B_AX_WDE_NXTPKTLL_AD_ERR_INT_EN | \
B_AX_WDE_QUEMGN_FRZTO_ERR_INT_EN | \
B_AX_WDE_DATCHN_ARBT_ERR_INT_EN | \
B_AX_WDE_DATCHN_NULLPG_ERR_INT_EN | \
B_AX_WDE_DATCHN_FRZTO_ERR_INT_EN | \
B_AX_WDE_DATCHN_RRDY_ERR_INT_EN | \
B_AX_WDE_DATCHN_ADRERR_ERR_INT_EN | \
B_AX_WDE_DATCHN_CAMREQ_ERR_INT_EN)
#define R_AX_WDE_ERR_ISR 0x8C3C
#define B_AX_WDE_DATCHN_RRDY_ERR BIT(27)
#define B_AX_WDE_DATCHN_FRZTO_ERR BIT(26)
#define B_AX_WDE_DATCHN_NULLPG_ERR BIT(25)
#define B_AX_WDE_DATCHN_ARBT_ERR BIT(24)
#define B_AX_WDE_QUEMGN_FRZTO_ERR BIT(19)
#define B_AX_WDE_NXTPKTLL_AD_ERR BIT(18)
#define B_AX_WDE_PREPKTLLT_AD_ERR BIT(17)
#define B_AX_WDE_ENQ_PKTCNT_NVAL_ERR BIT(16)
#define B_AX_WDE_ENQ_PKTCNT_OVRF_ERR BIT(15)
#define B_AX_WDE_QUE_SRCQUEID_ERR BIT(14)
#define B_AX_WDE_QUE_DSTQUEID_ERR BIT(13)
#define B_AX_WDE_QUE_CMDTYPE_ERR BIT(12)
#define B_AX_WDE_BUFMGN_FRZTO_ERR BIT(7)
#define B_AX_WDE_GETNPG_PGOFST_ERR BIT(6)
#define B_AX_WDE_GETNPG_STRPG_ERR BIT(5)
#define B_AX_WDE_BUFREQ_SRCHTAILPG_ERR BIT(4)
#define B_AX_WDE_BUFRTN_SIZE_ERR BIT(3)
#define B_AX_WDE_BUFRTN_INVLD_PKTID_ERR BIT(2)
#define B_AX_WDE_BUFREQ_UNAVAL_ERR BIT(1)
#define B_AX_WDE_BUFREQ_QTAID_ERR BIT(0)
#define B_AX_WDE_MAX_SIZE_MASK GENMASK(27, 16)
#define B_AX_WDE_MIN_SIZE_MASK GENMASK(11, 0)
#define R_AX_WDE_QTA0_CFG 0x8C40
#define R_AX_WDE_QTA1_CFG 0x8C44
#define R_AX_WDE_QTA2_CFG 0x8C48
#define R_AX_WDE_QTA3_CFG 0x8C4C
#define R_AX_WDE_QTA4_CFG 0x8C50
#define B_AX_DLE_PUB_PGNUM GENMASK(12, 0)
#define B_AX_DLE_FREE_HEADPG GENMASK(11, 0)
#define B_AX_DLE_FREE_TAILPG GENMASK(27, 16)
#define B_AX_DLE_USE_PGNUM GENMASK(27, 16)
#define B_AX_DLE_RSV_PGNUM GENMASK(11, 0)
#define B_AX_DLE_QEMPTY_GRP GENMASK(31, 0)
#define R_AX_WDE_INI_STATUS 0x8D00
#define B_AX_WDE_Q_MGN_INI_RDY BIT(1)
#define B_AX_WDE_BUF_MGN_INI_RDY BIT(0)
#define WDE_MGN_INI_RDY (B_AX_WDE_Q_MGN_INI_RDY | B_AX_WDE_BUF_MGN_INI_RDY)
#define R_AX_WDE_DBG_FUN_INTF_CTL 0x8D10
#define B_AX_WDE_DFI_ACTIVE BIT(31)
#define B_AX_WDE_DFI_TRGSEL_MASK GENMASK(19, 16)
#define B_AX_WDE_DFI_ADDR_MASK GENMASK(15, 0)
#define R_AX_WDE_DBG_FUN_INTF_DATA 0x8D14
#define B_AX_WDE_DFI_DATA_MASK GENMASK(31, 0)
#define R_AX_PLE_PKTBUF_CFG 0x9008
#define B_AX_PLE_START_BOUND_MASK GENMASK(13, 8)
#define B_AX_PLE_PAGE_SEL_MASK GENMASK(1, 0)
#define B_AX_PLE_FREE_PAGE_NUM_MASK GENMASK(28, 16)
#define R_AX_PLE_ERR_FLAG_CFG 0x9034
#define R_AX_PLE_ERR_IMR 0x9038
#define B_AX_PLE_DATCHN_RRDY_ERR_INT_EN BIT(27)
#define B_AX_PLE_DATCHN_FRZTO_ERR_INT_EN BIT(26)
#define B_AX_PLE_DATCHN_NULLPG_ERR_INT_EN BIT(25)
#define B_AX_PLE_DATCHN_ARBT_ERR_INT_EN BIT(24)
#define B_AX_PLE_QUEMGN_FRZTO_ERR_INT_EN BIT(19)
#define B_AX_PLE_NXTPKTLL_AD_ERR_INT_EN BIT(18)
#define B_AX_PLE_PREPKTLLT_AD_ERR_INT_EN BIT(17)
#define B_AX_PLE_ENQ_PKTCNT_NVAL_ERR_INT_EN BIT(16)
#define B_AX_PLE_ENQ_PKTCNT_OVRF_ERR_INT_EN BIT(15)
#define B_AX_PLE_QUE_SRCQUEID_ERR_INT_EN BIT(14)
#define B_AX_PLE_QUE_DSTQUEID_ERR_INT_EN BIT(13)
#define B_AX_PLE_QUE_CMDTYPE_ERR_INT_EN BIT(12)
#define B_AX_PLE_BUFMGN_FRZTO_ERR_INT_EN BIT(7)
#define B_AX_PLE_GETNPG_PGOFST_ERR_INT_EN BIT(6)
#define B_AX_PLE_GETNPG_STRPG_ERR_INT_EN BIT(5)
#define B_AX_PLE_BUFREQ_SRCHTAILPG_ERR_INT_EN BIT(4)
#define B_AX_PLE_BUFRTN_SIZE_ERR_INT_EN BIT(3)
#define B_AX_PLE_BUFRTN_INVLD_PKTID_ERR_INT_EN BIT(2)
#define B_AX_PLE_BUFREQ_UNAVAL_ERR_INT_EN BIT(1)
#define B_AX_PLE_BUFREQ_QTAID_ERR_INT_EN BIT(0)
#define B_AX_PLE_IMR_CLR (B_AX_PLE_BUFREQ_QTAID_ERR_INT_EN | \
B_AX_PLE_BUFREQ_UNAVAL_ERR_INT_EN | \
B_AX_PLE_BUFRTN_INVLD_PKTID_ERR_INT_EN | \
B_AX_PLE_BUFRTN_SIZE_ERR_INT_EN | \
B_AX_PLE_BUFREQ_SRCHTAILPG_ERR_INT_EN | \
B_AX_PLE_GETNPG_STRPG_ERR_INT_EN | \
B_AX_PLE_GETNPG_PGOFST_ERR_INT_EN | \
B_AX_PLE_BUFMGN_FRZTO_ERR_INT_EN | \
B_AX_PLE_QUE_CMDTYPE_ERR_INT_EN | \
B_AX_PLE_QUE_DSTQUEID_ERR_INT_EN | \
B_AX_PLE_QUE_SRCQUEID_ERR_INT_EN | \
B_AX_PLE_ENQ_PKTCNT_OVRF_ERR_INT_EN | \
B_AX_PLE_ENQ_PKTCNT_NVAL_ERR_INT_EN | \
B_AX_PLE_PREPKTLLT_AD_ERR_INT_EN | \
B_AX_PLE_NXTPKTLL_AD_ERR_INT_EN | \
B_AX_PLE_QUEMGN_FRZTO_ERR_INT_EN | \
B_AX_PLE_DATCHN_ARBT_ERR_INT_EN | \
B_AX_PLE_DATCHN_NULLPG_ERR_INT_EN | \
B_AX_PLE_DATCHN_FRZTO_ERR_INT_EN)
#define B_AX_PLE_IMR_SET (B_AX_PLE_BUFREQ_QTAID_ERR_INT_EN | \
B_AX_PLE_BUFREQ_UNAVAL_ERR_INT_EN | \
B_AX_PLE_BUFRTN_INVLD_PKTID_ERR_INT_EN | \
B_AX_PLE_BUFRTN_SIZE_ERR_INT_EN | \
B_AX_PLE_BUFREQ_SRCHTAILPG_ERR_INT_EN | \
B_AX_PLE_GETNPG_PGOFST_ERR_INT_EN | \
B_AX_PLE_BUFMGN_FRZTO_ERR_INT_EN | \
B_AX_PLE_QUE_CMDTYPE_ERR_INT_EN | \
B_AX_PLE_QUE_DSTQUEID_ERR_INT_EN | \
B_AX_PLE_QUE_SRCQUEID_ERR_INT_EN | \
B_AX_PLE_ENQ_PKTCNT_OVRF_ERR_INT_EN | \
B_AX_PLE_ENQ_PKTCNT_NVAL_ERR_INT_EN | \
B_AX_PLE_PREPKTLLT_AD_ERR_INT_EN | \
B_AX_PLE_NXTPKTLL_AD_ERR_INT_EN | \
B_AX_PLE_QUEMGN_FRZTO_ERR_INT_EN | \
B_AX_PLE_DATCHN_ARBT_ERR_INT_EN | \
B_AX_PLE_DATCHN_NULLPG_ERR_INT_EN | \
B_AX_PLE_DATCHN_FRZTO_ERR_INT_EN)
#define B_AX_PLE_DATCHN_CAMREQ_ERR_INT_EN BIT(29)
#define B_AX_PLE_DATCHN_ADRERR_ERR_INT_EN BIT(28)
#define B_AX_PLE_BUFMGN_FRZTO_ERR_INT_EN_V1 BIT(9)
#define B_AX_PLE_GETNPG_PGOFST_ERR_INT_EN_V1 BIT(8)
#define B_AX_PLE_GETNPG_STRPG_ERR_INT_EN_V1 BIT(7)
#define B_AX_PLE_BUFREQ_SRCHTAILPG_ERR_INT_EN_V1 BIT(6)
#define B_AX_PLE_BUFRTN_SIZE_ERR_INT_EN_V1 BIT(5)
#define B_AX_PLE_BUFRTN_INVLD_PKTID_ERR_INT_EN_V1 BIT(4)
#define B_AX_PLE_BUFREQ_UNAVAL_ERR_INT_EN_V1 BIT(3)
#define B_AX_PLE_BUFREQ_SIZELMT_INT_EN BIT(2)
#define B_AX_PLE_BUFREQ_SIZE0_INT_EN BIT(1)
#define B_AX_PLE_IMR_CLR_V1 (B_AX_PLE_BUFREQ_QTAID_ERR_INT_EN | \
B_AX_PLE_BUFREQ_SIZE0_INT_EN | \
B_AX_PLE_BUFREQ_SIZELMT_INT_EN | \
B_AX_PLE_BUFREQ_UNAVAL_ERR_INT_EN_V1 | \
B_AX_PLE_BUFRTN_INVLD_PKTID_ERR_INT_EN_V1 | \
B_AX_PLE_BUFRTN_SIZE_ERR_INT_EN_V1 | \
B_AX_PLE_BUFREQ_SRCHTAILPG_ERR_INT_EN_V1 | \
B_AX_PLE_GETNPG_STRPG_ERR_INT_EN_V1 | \
B_AX_PLE_GETNPG_PGOFST_ERR_INT_EN_V1 | \
B_AX_PLE_BUFMGN_FRZTO_ERR_INT_EN_V1 | \
B_AX_PLE_QUE_CMDTYPE_ERR_INT_EN | \
B_AX_PLE_QUE_DSTQUEID_ERR_INT_EN | \
B_AX_PLE_QUE_SRCQUEID_ERR_INT_EN | \
B_AX_PLE_ENQ_PKTCNT_OVRF_ERR_INT_EN | \
B_AX_PLE_ENQ_PKTCNT_NVAL_ERR_INT_EN | \
B_AX_PLE_PREPKTLLT_AD_ERR_INT_EN | \
B_AX_PLE_NXTPKTLL_AD_ERR_INT_EN | \
B_AX_PLE_QUEMGN_FRZTO_ERR_INT_EN | \
B_AX_PLE_DATCHN_ARBT_ERR_INT_EN | \
B_AX_PLE_DATCHN_NULLPG_ERR_INT_EN | \
B_AX_PLE_DATCHN_FRZTO_ERR_INT_EN | \
B_AX_PLE_DATCHN_RRDY_ERR_INT_EN | \
B_AX_PLE_DATCHN_ADRERR_ERR_INT_EN | \
B_AX_PLE_DATCHN_CAMREQ_ERR_INT_EN)
#define B_AX_PLE_IMR_SET_V1 (B_AX_PLE_BUFREQ_QTAID_ERR_INT_EN | \
B_AX_PLE_BUFREQ_SIZE0_INT_EN | \
B_AX_PLE_BUFREQ_SIZELMT_INT_EN | \
B_AX_PLE_BUFREQ_UNAVAL_ERR_INT_EN_V1 | \
B_AX_PLE_BUFRTN_INVLD_PKTID_ERR_INT_EN_V1 | \
B_AX_PLE_BUFRTN_SIZE_ERR_INT_EN_V1 | \
B_AX_PLE_BUFREQ_SRCHTAILPG_ERR_INT_EN_V1 | \
B_AX_PLE_GETNPG_STRPG_ERR_INT_EN_V1 | \
B_AX_PLE_GETNPG_PGOFST_ERR_INT_EN_V1 | \
B_AX_PLE_BUFMGN_FRZTO_ERR_INT_EN_V1 | \
B_AX_PLE_QUE_CMDTYPE_ERR_INT_EN | \
B_AX_PLE_QUE_DSTQUEID_ERR_INT_EN | \
B_AX_PLE_QUE_SRCQUEID_ERR_INT_EN | \
B_AX_PLE_ENQ_PKTCNT_OVRF_ERR_INT_EN | \
B_AX_PLE_ENQ_PKTCNT_NVAL_ERR_INT_EN | \
B_AX_PLE_PREPKTLLT_AD_ERR_INT_EN | \
B_AX_PLE_NXTPKTLL_AD_ERR_INT_EN | \
B_AX_PLE_QUEMGN_FRZTO_ERR_INT_EN | \
B_AX_PLE_DATCHN_ARBT_ERR_INT_EN | \
B_AX_PLE_DATCHN_NULLPG_ERR_INT_EN | \
B_AX_PLE_DATCHN_FRZTO_ERR_INT_EN | \
B_AX_PLE_DATCHN_RRDY_ERR_INT_EN | \
B_AX_PLE_DATCHN_ADRERR_ERR_INT_EN | \
B_AX_PLE_DATCHN_CAMREQ_ERR_INT_EN)
#define R_AX_PLE_ERR_FLAG_ISR 0x903C
#define B_AX_PLE_MAX_SIZE_MASK GENMASK(27, 16)
#define B_AX_PLE_MIN_SIZE_MASK GENMASK(11, 0)
#define R_AX_PLE_QTA0_CFG 0x9040
#define R_AX_PLE_QTA1_CFG 0x9044
#define R_AX_PLE_QTA2_CFG 0x9048
#define R_AX_PLE_QTA3_CFG 0x904C
#define R_AX_PLE_QTA4_CFG 0x9050
#define R_AX_PLE_QTA5_CFG 0x9054
#define R_AX_PLE_QTA6_CFG 0x9058
#define B_AX_PLE_Q6_MAX_SIZE_MASK GENMASK(27, 16)
#define B_AX_PLE_Q6_MIN_SIZE_MASK GENMASK(11, 0)
#define R_AX_PLE_QTA7_CFG 0x905C
#define R_AX_PLE_QTA8_CFG 0x9060
#define R_AX_PLE_QTA9_CFG 0x9064
#define R_AX_PLE_QTA10_CFG 0x9068
#define R_AX_PLE_QTA11_CFG 0x906C
#define R_AX_PLE_INI_STATUS 0x9100
#define B_AX_PLE_Q_MGN_INI_RDY BIT(1)
#define B_AX_PLE_BUF_MGN_INI_RDY BIT(0)
#define PLE_MGN_INI_RDY (B_AX_PLE_Q_MGN_INI_RDY | B_AX_PLE_BUF_MGN_INI_RDY)
#define R_AX_PLE_DBG_FUN_INTF_CTL 0x9110
#define B_AX_PLE_DFI_ACTIVE BIT(31)
#define B_AX_PLE_DFI_TRGSEL_MASK GENMASK(19, 16)
#define B_AX_PLE_DFI_ADDR_MASK GENMASK(15, 0)
#define R_AX_PLE_DBG_FUN_INTF_DATA 0x9114
#define B_AX_PLE_DFI_DATA_MASK GENMASK(31, 0)
#define R_AX_WDRLS_CFG 0x9408
#define B_AX_RLSRPT_BUFREQ_TO_MASK GENMASK(15, 8)
#define B_AX_WDRLS_MODE_MASK GENMASK(1, 0)
#define R_AX_RLSRPT0_CFG0 0x9410
#define B_AX_RLSRPT0_FLTR_MAP_MASK GENMASK(27, 24)
#define B_AX_RLSRPT0_PKTTYPE_MASK GENMASK(19, 16)
#define B_AX_RLSRPT0_PID_MASK GENMASK(10, 8)
#define B_AX_RLSRPT0_QID_MASK GENMASK(5, 0)
#define R_AX_RLSRPT0_CFG1 0x9414
#define B_AX_RLSRPT0_TO_MASK GENMASK(23, 16)
#define B_AX_RLSRPT0_AGGNUM_MASK GENMASK(7, 0)
#define R_AX_WDRLS_ERR_IMR 0x9430
#define B_AX_WDRLS_RPT1_FRZTO_ERR_INT_EN BIT(13)
#define B_AX_WDRLS_RPT1_AGGNUM0_ERR_INT_EN BIT(12)
#define B_AX_WDRLS_RPT0_FRZTO_ERR_INT_EN BIT(9)
#define B_AX_WDRLS_RPT0_AGGNUM0_ERR_INT_EN BIT(8)
#define B_AX_WDRLS_PLEBREQ_PKTID_ISNULL_ERR_INT_EN BIT(5)
#define B_AX_WDRLS_PLEBREQ_TO_ERR_INT_EN BIT(4)
#define B_AX_WDRLS_CTL_FRZTO_ERR_INT_EN BIT(2)
#define B_AX_WDRLS_CTL_PLPKTID_ISNULL_ERR_INT_EN BIT(1)
#define B_AX_WDRLS_CTL_WDPKTID_ISNULL_ERR_INT_EN BIT(0)
#define B_AX_WDRLS_IMR_EN_CLR (B_AX_WDRLS_CTL_WDPKTID_ISNULL_ERR_INT_EN | \
B_AX_WDRLS_CTL_PLPKTID_ISNULL_ERR_INT_EN | \
B_AX_WDRLS_CTL_FRZTO_ERR_INT_EN | \
B_AX_WDRLS_PLEBREQ_TO_ERR_INT_EN | \
B_AX_WDRLS_PLEBREQ_PKTID_ISNULL_ERR_INT_EN | \
B_AX_WDRLS_RPT0_AGGNUM0_ERR_INT_EN | \
B_AX_WDRLS_RPT0_FRZTO_ERR_INT_EN | \
B_AX_WDRLS_RPT1_AGGNUM0_ERR_INT_EN | \
B_AX_WDRLS_RPT1_FRZTO_ERR_INT_EN)
#define B_AX_WDRLS_IMR_SET (B_AX_WDRLS_CTL_WDPKTID_ISNULL_ERR_INT_EN | \
B_AX_WDRLS_CTL_PLPKTID_ISNULL_ERR_INT_EN | \
B_AX_WDRLS_CTL_FRZTO_ERR_INT_EN | \
B_AX_WDRLS_PLEBREQ_PKTID_ISNULL_ERR_INT_EN | \
B_AX_WDRLS_RPT0_AGGNUM0_ERR_INT_EN | \
B_AX_WDRLS_RPT0_FRZTO_ERR_INT_EN | \
B_AX_WDRLS_RPT1_AGGNUM0_ERR_INT_EN | \
B_AX_WDRLS_RPT1_FRZTO_ERR_INT_EN)
#define B_AX_WDRLS_IMR_SET_V1 (B_AX_WDRLS_CTL_WDPKTID_ISNULL_ERR_INT_EN | \
B_AX_WDRLS_CTL_PLPKTID_ISNULL_ERR_INT_EN | \
B_AX_WDRLS_CTL_FRZTO_ERR_INT_EN | \
B_AX_WDRLS_PLEBREQ_TO_ERR_INT_EN | \
B_AX_WDRLS_PLEBREQ_PKTID_ISNULL_ERR_INT_EN | \
B_AX_WDRLS_RPT0_AGGNUM0_ERR_INT_EN | \
B_AX_WDRLS_RPT0_FRZTO_ERR_INT_EN | \
B_AX_WDRLS_RPT1_AGGNUM0_ERR_INT_EN | \
B_AX_WDRLS_RPT1_FRZTO_ERR_INT_EN)
#define R_AX_WDRLS_ERR_ISR 0x9434
#define R_AX_BBRPT_COM_ERR_IMR 0x9608
#define B_AX_BBRPT_COM_HANG_EN BIT(1)
#define B_AX_BBRPT_COM_NULL_PLPKTID_ERR_INT_EN BIT(0)
#define R_AX_BBRPT_COM_ERR_IMR_ISR 0x960C
#define B_AX_BBRPT_COM_NULL_PLPKTID_ERR BIT(16)
#define B_AX_BBRPT_COM_NULL_PLPKTID_ERR_INT_EN BIT(0)
#define R_AX_BBRPT_CHINFO_ERR_IMR 0x9628
#define B_AX_BBPRT_CHIF_TO_ERR_INT_EN BIT(7)
#define B_AX_BBPRT_CHIF_NULL_ERR_INT_EN BIT(6)
#define B_AX_BBPRT_CHIF_LEFT2_ERR_INT_EN BIT(5)
#define B_AX_BBPRT_CHIF_LEFT1_ERR_INT_EN BIT(4)
#define B_AX_BBPRT_CHIF_HDRL_ERR_INT_EN BIT(3)
#define B_AX_BBPRT_CHIF_BOVF_ERR_INT_EN BIT(2)
#define B_AX_BBPRT_CHIF_OVF_ERR_INT_EN BIT(1)
#define B_AX_BBPRT_CHIF_BB_TO_ERR_INT_EN BIT(0)
#define R_AX_BBRPT_CHINFO_IMR_SET_V1 (B_AX_BBPRT_CHIF_BB_TO_ERR_INT_EN | \
B_AX_BBPRT_CHIF_OVF_ERR_INT_EN | \
B_AX_BBPRT_CHIF_BOVF_ERR_INT_EN | \
B_AX_BBPRT_CHIF_HDRL_ERR_INT_EN | \
B_AX_BBPRT_CHIF_LEFT1_ERR_INT_EN | \
B_AX_BBPRT_CHIF_LEFT2_ERR_INT_EN | \
B_AX_BBPRT_CHIF_NULL_ERR_INT_EN | \
B_AX_BBPRT_CHIF_TO_ERR_INT_EN)
#define R_AX_BBRPT_CHINFO_ERR_IMR_ISR 0x962C
#define B_AX_BBPRT_CHIF_TO_ERR BIT(23)
#define B_AX_BBPRT_CHIF_NULL_ERR BIT(22)
#define B_AX_BBPRT_CHIF_LEFT2_ERR BIT(21)
#define B_AX_BBPRT_CHIF_LEFT1_ERR BIT(20)
#define B_AX_BBPRT_CHIF_HDRL_ERR BIT(19)
#define B_AX_BBPRT_CHIF_BOVF_ERR BIT(18)
#define B_AX_BBPRT_CHIF_OVF_ERR BIT(17)
#define B_AX_BBPRT_CHIF_BB_TO_ERR BIT(16)
#define B_AX_BBPRT_CHIF_TO_ERR_INT_EN BIT(7)
#define B_AX_BBPRT_CHIF_NULL_ERR_INT_EN BIT(6)
#define B_AX_BBPRT_CHIF_LEFT2_ERR_INT_EN BIT(5)
#define B_AX_BBPRT_CHIF_LEFT1_ERR_INT_EN BIT(4)
#define B_AX_BBPRT_CHIF_HDRL_ERR_INT_EN BIT(3)
#define B_AX_BBPRT_CHIF_BOVF_ERR_INT_EN BIT(2)
#define B_AX_BBPRT_CHIF_OVF_ERR_INT_EN BIT(1)
#define B_AX_BBPRT_CHIF_BB_TO_ERR_INT_EN BIT(0)
#define B_AX_BBRPT_CHINFO_IMR_CLR (B_AX_BBPRT_CHIF_BB_TO_ERR_INT_EN | \
B_AX_BBPRT_CHIF_OVF_ERR_INT_EN | \
B_AX_BBPRT_CHIF_BOVF_ERR_INT_EN | \
B_AX_BBPRT_CHIF_HDRL_ERR_INT_EN | \
B_AX_BBPRT_CHIF_LEFT1_ERR_INT_EN | \
B_AX_BBPRT_CHIF_LEFT2_ERR_INT_EN | \
B_AX_BBPRT_CHIF_NULL_ERR_INT_EN | \
B_AX_BBPRT_CHIF_TO_ERR_INT_EN)
#define R_AX_BBRPT_DFS_ERR_IMR 0x9638
#define B_AX_BBRPT_DFS_TO_ERR_INT_EN BIT(0)
#define R_AX_BBRPT_DFS_ERR_IMR_ISR 0x963C
#define B_AX_BBRPT_DFS_TO_ERR BIT(16)
#define B_AX_BBRPT_DFS_TO_ERR_INT_EN BIT(0)
#define R_AX_LA_ERRFLAG 0x966C
#define B_AX_LA_ISR_DATA_LOSS_ERR BIT(16)
#define B_AX_LA_IMR_DATA_LOSS_ERR BIT(0)
#define R_AX_WD_BUF_REQ 0x9800
#define R_AX_PL_BUF_REQ 0x9820
#define B_AX_WD_BUF_REQ_EXEC BIT(31)
#define B_AX_WD_BUF_REQ_QUOTA_ID_MASK GENMASK(23, 16)
#define B_AX_WD_BUF_REQ_LEN_MASK GENMASK(15, 0)
#define R_AX_WD_BUF_STATUS 0x9804
#define R_AX_PL_BUF_STATUS 0x9824
#define B_AX_WD_BUF_STAT_DONE BIT(31)
#define B_AX_WD_BUF_STAT_PKTID_MASK GENMASK(11, 0)
#define R_AX_WD_CPUQ_OP_0 0x9810
#define R_AX_PL_CPUQ_OP_0 0x9830
#define B_AX_WD_CPUQ_OP_EXEC BIT(31)
#define B_AX_CPUQ_OP_CMD_TYPE_MASK GENMASK(27, 24)
#define B_AX_CPUQ_OP_MACID_MASK GENMASK(23, 16)
#define B_AX_CPUQ_OP_PKTNUM_MASK GENMASK(7, 0)
#define R_AX_WD_CPUQ_OP_1 0x9814
#define R_AX_PL_CPUQ_OP_1 0x9834
#define B_AX_CPUQ_OP_SRC_PID_MASK GENMASK(24, 22)
#define B_AX_CPUQ_OP_SRC_QID_MASK GENMASK(21, 16)
#define B_AX_CPUQ_OP_DST_PID_MASK GENMASK(8, 6)
#define B_AX_CPUQ_OP_DST_QID_MASK GENMASK(5, 0)
#define R_AX_WD_CPUQ_OP_2 0x9818
#define R_AX_PL_CPUQ_OP_2 0x9838
#define B_AX_WD_CPUQ_OP_STRT_PKTID_MASK GENMASK(27, 16)
#define B_AX_WD_CPUQ_OP_END_PKTID_MASK GENMASK(11, 0)
#define R_AX_WD_CPUQ_OP_STATUS 0x981C
#define R_AX_PL_CPUQ_OP_STATUS 0x983C
#define B_AX_WD_CPUQ_OP_STAT_DONE BIT(31)
#define B_AX_WD_CPUQ_OP_PKTID_MASK GENMASK(11, 0)
#define R_AX_CPUIO_ERR_IMR 0x9840
#define B_AX_PLEQUE_OP_ERR_INT_EN BIT(12)
#define B_AX_PLEBUF_OP_ERR_INT_EN BIT(8)
#define B_AX_WDEQUE_OP_ERR_INT_EN BIT(4)
#define B_AX_WDEBUF_OP_ERR_INT_EN BIT(0)
#define B_AX_CPUIO_IMR_CLR (B_AX_WDEBUF_OP_ERR_INT_EN | \
B_AX_WDEQUE_OP_ERR_INT_EN | \
B_AX_PLEBUF_OP_ERR_INT_EN | \
B_AX_PLEQUE_OP_ERR_INT_EN)
#define B_AX_CPUIO_IMR_SET (B_AX_WDEBUF_OP_ERR_INT_EN | \
B_AX_WDEQUE_OP_ERR_INT_EN | \
B_AX_PLEBUF_OP_ERR_INT_EN | \
B_AX_PLEQUE_OP_ERR_INT_EN)
#define R_AX_CPUIO_ERR_ISR 0x9844
#define R_AX_SEC_ERR_IMR_ISR 0x991C
#define R_AX_PKTIN_SETTING 0x9A00
#define B_AX_WD_ADDR_INFO_LENGTH BIT(1)
#define R_AX_PKTIN_ERR_IMR 0x9A20
#define B_AX_PKTIN_GETPKTID_ERR_INT_EN BIT(0)
#define R_AX_PKTIN_ERR_ISR 0x9A24
#define R_AX_MPDU_TX_ERR_ISR 0x9BF0
#define R_AX_MPDU_TX_ERR_IMR 0x9BF4
#define B_AX_TX_KSRCH_ERR_EN BIT(9)
#define B_AX_TX_NW_TYPE_ERR_EN BIT(8)
#define B_AX_TX_LLC_PRE_ERR_EN BIT(7)
#define B_AX_TX_ETH_TYPE_ERR_EN BIT(6)
#define B_AX_TX_HDR3_SIZE_ERR_INT_EN BIT(5)
#define B_AX_TX_OFFSET_ERR_INT_EN BIT(4)
#define B_AX_TX_MPDU_SIZE_ZERO_INT_EN BIT(3)
#define B_AX_TX_NXT_ERRPKTID_INT_EN BIT(2)
#define B_AX_TX_GET_ERRPKTID_INT_EN BIT(1)
#define B_AX_MPDU_TX_IMR_SET_V1 (B_AX_TX_GET_ERRPKTID_INT_EN | \
B_AX_TX_NXT_ERRPKTID_INT_EN | \
B_AX_TX_MPDU_SIZE_ZERO_INT_EN | \
B_AX_TX_HDR3_SIZE_ERR_INT_EN | \
B_AX_TX_ETH_TYPE_ERR_EN | \
B_AX_TX_NW_TYPE_ERR_EN | \
B_AX_TX_KSRCH_ERR_EN)
#define R_AX_MPDU_PROC 0x9C00
#define B_AX_A_ICV_ERR BIT(1)
#define B_AX_APPEND_FCS BIT(0)
#define R_AX_ACTION_FWD0 0x9C04
#define TRXCFG_MPDU_PROC_ACT_FRWD 0x02A95A95
#define R_AX_TF_FWD 0x9C14
#define TRXCFG_MPDU_PROC_TF_FRWD 0x0000AA55
#define R_AX_HW_RPT_FWD 0x9C18
#define B_AX_FWD_PPDU_STAT_MASK GENMASK(1, 0)
#define RTW89_PRPT_DEST_HOST 1
#define RTW89_PRPT_DEST_WLCPU 2
#define R_AX_CUT_AMSDU_CTRL 0x9C40
#define TRXCFG_MPDU_PROC_CUT_CTRL 0x010E05F0
#define R_AX_MPDU_RX_ERR_ISR 0x9CF0
#define R_AX_MPDU_RX_ERR_IMR 0x9CF4
#define B_AX_RPT_ERR_INT_EN BIT(3)
#define B_AX_MHDRLEN_ERR_INT_EN BIT(1)
#define B_AX_GETPKTID_ERR_INT_EN BIT(0)
#define B_AX_MPDU_RX_IMR_SET_V1 B_AX_RPT_ERR_INT_EN
#define R_AX_SEC_ENG_CTRL 0x9D00
#define B_AX_TX_PARTIAL_MODE BIT(11)
#define B_AX_CLK_EN_CGCMP BIT(10)
#define B_AX_CLK_EN_WAPI BIT(9)
#define B_AX_CLK_EN_WEP_TKIP BIT(8)
#define B_AX_BMC_MGNT_DEC BIT(5)
#define B_AX_UC_MGNT_DEC BIT(4)
#define B_AX_MC_DEC BIT(3)
#define B_AX_BC_DEC BIT(2)
#define B_AX_SEC_RX_DEC BIT(1)
#define B_AX_SEC_TX_ENC BIT(0)
#define R_AX_SEC_MPDU_PROC 0x9D04
#define B_AX_APPEND_ICV BIT(1)
#define B_AX_APPEND_MIC BIT(0)
#define R_AX_SEC_CAM_ACCESS 0x9D10
#define R_AX_SEC_CAM_RDATA 0x9D14
#define R_AX_SEC_CAM_WDATA 0x9D18
#define R_AX_SEC_DEBUG 0x9D1C
#define B_AX_IMR_ERROR BIT(3)
#define R_AX_SEC_DEBUG1 0x9D1C
#define B_AX_TX_TIMEOUT_SEL_MASK GENMASK(31, 30)
#define AX_TX_TO_VAL 0x2
#define R_AX_SEC_TX_DEBUG 0x9D20
#define R_AX_SEC_RX_DEBUG 0x9D24
#define R_AX_SEC_TRX_PKT_CNT 0x9D28
#define R_AX_SEC_TRX_BLK_CNT 0x9D2C
#define R_AX_SEC_ERROR_FLAG_IMR 0x9D2C
#define B_AX_RX_HANG_IMR BIT(1)
#define B_AX_TX_HANG_IMR BIT(0)
#define R_AX_SS_CTRL 0x9E10
#define B_AX_SS_INIT_DONE_1 BIT(31)
#define B_AX_SS_WARM_INIT_FLG BIT(29)
#define B_AX_SS_NONEMPTY_SS2FINFO_EN BIT(28)
#define B_AX_SS_EN BIT(0)
#define R_AX_SS2FINFO_PATH 0x9E50
#define B_AX_SS_UL_REL BIT(31)
#define B_AX_SS_REL_QUEUE_MASK GENMASK(29, 24)
#define B_AX_SS_REL_PORT_MASK GENMASK(18, 16)
#define B_AX_SS_DEST_QUEUE_MASK GENMASK(13, 8)
#define SS2F_PATH_WLCPU 0x0A
#define B_AX_SS_DEST_PORT_MASK GENMASK(2, 0)
#define R_AX_SS_MACID_PAUSE_0 0x9EB0
#define B_AX_SS_MACID31_0_PAUSE_SH 0
#define B_AX_SS_MACID31_0_PAUSE_MASK GENMASK(31, 0)
#define R_AX_SS_MACID_PAUSE_1 0x9EB4
#define B_AX_SS_MACID63_32_PAUSE_SH 0
#define B_AX_SS_MACID63_32_PAUSE_MASK GENMASK(31, 0)
#define R_AX_SS_MACID_PAUSE_2 0x9EB8
#define B_AX_SS_MACID95_64_PAUSE_SH 0
#define B_AX_SS_MACID95_64_PAUSE_MASK GENMASK(31, 0)
#define R_AX_SS_MACID_PAUSE_3 0x9EBC
#define B_AX_SS_MACID127_96_PAUSE_SH 0
#define B_AX_SS_MACID127_96_PAUSE_MASK GENMASK(31, 0)
#define R_AX_STA_SCHEDULER_ERR_IMR 0x9EF0
#define B_AX_PLE_B_PKTID_ERR_INT_EN BIT(2)
#define B_AX_RPT_HANG_TIMEOUT_INT_EN BIT(1)
#define B_AX_SEARCH_HANG_TIMEOUT_INT_EN BIT(0)
#define B_AX_STA_SCHEDULER_IMR_SET (B_AX_SEARCH_HANG_TIMEOUT_INT_EN | \
B_AX_RPT_HANG_TIMEOUT_INT_EN | \
B_AX_PLE_B_PKTID_ERR_INT_EN)
#define R_AX_STA_SCHEDULER_ERR_ISR 0x9EF4
#define R_AX_TXPKTCTL_ERR_IMR_ISR 0x9F1C
#define B_AX_TXPKTCTL_CMDPSR_FRZTO_ERR BIT(25)
#define B_AX_TXPKTCTL_CMDPSR_CMDTYPE_ERR BIT(24)
#define B_AX_TXPKTCTL_USRCTL_RLSBMPLEN_ERR BIT(19)
#define B_AX_TXPKTCTL_USRCTL_RDNRLSCMD_ERR BIT(18)
#define B_AX_TXPKTCTL_USRCTL_NOINIT_ERR BIT(17)
#define B_AX_TXPKTCTL_USRCTL_REINIT_ERR BIT(16)
#define B_AX_TXPKTCTL_CMDPSR_FRZTO_ERR_INT_EN BIT(9)
#define B_AX_TXPKTCTL_CMDPSR_CMDTYPE_ERR_INT_EN BIT(8)
#define B_AX_TXPKTCTL_USRCTL_RLSBMPLEN_ERR_INT_EN BIT(3)
#define B_AX_TXPKTCTL_USRCTL_RDNRLSCMD_ERR_INT_EN BIT(2)
#define B_AX_TXPKTCTL_USRCTL_NOINIT_ERR_INT_EN BIT(1)
#define B_AX_TXPKTCTL_USRCTL_REINIT_ERR_INT_EN BIT(0)
#define B_AX_TXPKTCTL_IMR_B0_CLR (B_AX_TXPKTCTL_USRCTL_REINIT_ERR_INT_EN | \
B_AX_TXPKTCTL_USRCTL_NOINIT_ERR_INT_EN | \
B_AX_TXPKTCTL_USRCTL_RDNRLSCMD_ERR_INT_EN | \
B_AX_TXPKTCTL_USRCTL_RLSBMPLEN_ERR_INT_EN | \
B_AX_TXPKTCTL_CMDPSR_CMDTYPE_ERR_INT_EN | \
B_AX_TXPKTCTL_CMDPSR_FRZTO_ERR_INT_EN)
#define B_AX_TXPKTCTL_IMR_B1_CLR (B_AX_TXPKTCTL_USRCTL_REINIT_ERR_INT_EN | \
B_AX_TXPKTCTL_USRCTL_NOINIT_ERR_INT_EN | \
B_AX_TXPKTCTL_USRCTL_RDNRLSCMD_ERR_INT_EN | \
B_AX_TXPKTCTL_USRCTL_RLSBMPLEN_ERR_INT_EN | \
B_AX_TXPKTCTL_CMDPSR_CMDTYPE_ERR_INT_EN | \
B_AX_TXPKTCTL_CMDPSR_FRZTO_ERR_INT_EN)
#define B_AX_TXPKTCTL_IMR_B0_SET (B_AX_TXPKTCTL_USRCTL_REINIT_ERR_INT_EN | \
B_AX_TXPKTCTL_CMDPSR_CMDTYPE_ERR_INT_EN)
#define B_AX_TXPKTCTL_IMR_B1_SET (B_AX_TXPKTCTL_USRCTL_REINIT_ERR_INT_EN | \
B_AX_TXPKTCTL_USRCTL_NOINIT_ERR_INT_EN | \
B_AX_TXPKTCTL_CMDPSR_CMDTYPE_ERR_INT_EN | \
B_AX_TXPKTCTL_CMDPSR_FRZTO_ERR_INT_EN)
#define R_AX_TXPKTCTL_ERR_IMR_ISR_B1 0x9F2C
#define B_AX_TXPKTCTL_CMDPSR_FRZTO_ERR_INT_EN BIT(9)
#define B_AX_TXPKTCTL_USRCTL_RLSBMPLEN_ERR_INT_EN BIT(3)
#define B_AX_TXPKTCTL_USRCTL_RDNRLSCMD_ERR_INT_EN BIT(2)
#define B_AX_TXPKTCTL_USRCTL_NOINIT_ERR_INT_EN BIT(1)
#define R_AX_DBG_FUN_INTF_CTL 0x9F30
#define B_AX_DFI_ACTIVE BIT(31)
#define B_AX_DFI_TRGSEL_MASK GENMASK(19, 16)
#define B_AX_DFI_ADDR_MASK GENMASK(15, 0)
#define R_AX_DBG_FUN_INTF_DATA 0x9F34
#define B_AX_DFI_DATA_MASK GENMASK(31, 0)
#define R_AX_TXPKTCTL_B0_PRELD_CFG0 0x9F48
#define B_AX_B0_PRELD_FEN BIT(31)
#define B_AX_B0_PRELD_USEMAXSZ_MASK GENMASK(25, 16)
#define PRELD_B0_ENT_NUM 10
#define PRELD_AMSDU_SIZE 52
#define B_AX_B0_PRELD_CAM_G1ENTNUM_MASK GENMASK(12, 8)
#define B_AX_B0_PRELD_CAM_G0ENTNUM_MASK GENMASK(4, 0)
#define R_AX_TXPKTCTL_B0_PRELD_CFG1 0x9F4C
#define B_AX_B0_PRELD_NXT_TXENDWIN_MASK GENMASK(11, 8)
#define PRELD_NEXT_WND 1
#define B_AX_B0_PRELD_NXT_RSVMINSZ_MASK GENMASK(7, 0)
#define R_AX_TXPKTCTL_B0_ERRFLAG_IMR 0x9F78
#define B_AX_B0_IMR_ERR_PRELD_ENTNUMCFG BIT(21)
#define B_AX_B0_IMR_ERR_PRELD_RLSPKTSZERR BIT(20)
#define B_AX_B0_IMR_ERR_MPDUIF_DATAERR BIT(18)
#define B_AX_B0_IMR_ERR_MPDUINFO_RECFG BIT(16)
#define B_AX_B0_IMR_ERR_CMDPSR_TBLSZ BIT(11)
#define B_AX_B0_IMR_ERR_CMDPSR_FRZTO BIT(10)
#define B_AX_B0_IMR_ERR_CMDPSR_CMDTYPE BIT(9)
#define B_AX_B0_IMR_ERR_CMDPSR_1STCMDERR BIT(8)
#define B_AX_B0_IMR_ERR_USRCTL_RLSBMPLEN BIT(3)
#define B_AX_B0_IMR_ERR_USRCTL_RDNRLSCMD BIT(2)
#define B_AX_B0_IMR_ERR_USRCTL_NOINIT BIT(1)
#define B_AX_B0_IMR_ERR_USRCTL_REINIT BIT(0)
#define B_AX_TXPKTCTL_IMR_B0_CLR_V1 (B_AX_B0_IMR_ERR_USRCTL_REINIT | \
B_AX_B0_IMR_ERR_USRCTL_NOINIT | \
B_AX_B0_IMR_ERR_USRCTL_RDNRLSCMD | \
B_AX_B0_IMR_ERR_USRCTL_RLSBMPLEN | \
B_AX_B0_IMR_ERR_CMDPSR_1STCMDERR | \
B_AX_B0_IMR_ERR_CMDPSR_CMDTYPE | \
B_AX_B0_IMR_ERR_CMDPSR_FRZTO | \
B_AX_B0_IMR_ERR_CMDPSR_TBLSZ | \
B_AX_B0_IMR_ERR_MPDUINFO_RECFG | \
B_AX_B0_IMR_ERR_MPDUIF_DATAERR | \
B_AX_B0_IMR_ERR_PRELD_RLSPKTSZERR | \
B_AX_B0_IMR_ERR_PRELD_ENTNUMCFG)
#define B_AX_TXPKTCTL_IMR_B0_SET_V1 (B_AX_B0_IMR_ERR_USRCTL_REINIT | \
B_AX_B0_IMR_ERR_USRCTL_NOINIT | \
B_AX_B0_IMR_ERR_CMDPSR_1STCMDERR | \
B_AX_B0_IMR_ERR_CMDPSR_CMDTYPE | \
B_AX_B0_IMR_ERR_CMDPSR_FRZTO | \
B_AX_B0_IMR_ERR_CMDPSR_TBLSZ | \
B_AX_B0_IMR_ERR_MPDUINFO_RECFG | \
B_AX_B0_IMR_ERR_MPDUIF_DATAERR | \
B_AX_B0_IMR_ERR_PRELD_RLSPKTSZERR | \
B_AX_B0_IMR_ERR_PRELD_ENTNUMCFG)
#define R_AX_TXPKTCTL_B1_PRELD_CFG0 0x9F88
#define B_AX_B1_PRELD_FEN BIT(31)
#define B_AX_B1_PRELD_USEMAXSZ_MASK GENMASK(25, 16)
#define PRELD_B1_ENT_NUM 4
#define B_AX_B1_PRELD_CAM_G1ENTNUM_MASK GENMASK(12, 8)
#define B_AX_B1_PRELD_CAM_G0ENTNUM_MASK GENMASK(4, 0)
#define R_AX_TXPKTCTL_B1_PRELD_CFG1 0x9F8C
#define B_AX_B1_PRELD_NXT_TXENDWIN_MASK GENMASK(11, 8)
#define B_AX_B1_PRELD_NXT_RSVMINSZ_MASK GENMASK(7, 0)
#define R_AX_TXPKTCTL_B1_ERRFLAG_IMR 0x9FB8
#define B_AX_B1_IMR_ERR_PRELD_ENTNUMCFG BIT(21)
#define B_AX_B1_IMR_ERR_PRELD_RLSPKTSZERR BIT(20)
#define B_AX_B1_IMR_ERR_MPDUIF_DATAERR BIT(18)
#define B_AX_B1_IMR_ERR_MPDUINFO_RECFG BIT(16)
#define B_AX_B1_IMR_ERR_CMDPSR_TBLSZ BIT(11)
#define B_AX_B1_IMR_ERR_CMDPSR_FRZTO BIT(10)
#define B_AX_B1_IMR_ERR_CMDPSR_CMDTYPE BIT(9)
#define B_AX_B1_IMR_ERR_CMDPSR_1STCMDERR BIT(8)
#define B_AX_B1_IMR_ERR_USRCTL_RLSBMPLEN BIT(3)
#define B_AX_B1_IMR_ERR_USRCTL_RDNRLSCMD BIT(2)
#define B_AX_B1_IMR_ERR_USRCTL_NOINIT BIT(1)
#define B_AX_B1_IMR_ERR_USRCTL_REINIT BIT(0)
#define B_AX_TXPKTCTL_IMR_B1_CLR_V1 (B_AX_B1_IMR_ERR_USRCTL_REINIT | \
B_AX_B1_IMR_ERR_USRCTL_NOINIT | \
B_AX_B1_IMR_ERR_USRCTL_RDNRLSCMD | \
B_AX_B1_IMR_ERR_USRCTL_RLSBMPLEN | \
B_AX_B1_IMR_ERR_CMDPSR_1STCMDERR | \
B_AX_B1_IMR_ERR_CMDPSR_CMDTYPE | \
B_AX_B1_IMR_ERR_CMDPSR_FRZTO | \
B_AX_B1_IMR_ERR_CMDPSR_TBLSZ | \
B_AX_B1_IMR_ERR_MPDUINFO_RECFG | \
B_AX_B1_IMR_ERR_MPDUIF_DATAERR | \
B_AX_B1_IMR_ERR_PRELD_RLSPKTSZERR | \
B_AX_B1_IMR_ERR_PRELD_ENTNUMCFG)
#define B_AX_TXPKTCTL_IMR_B1_SET_V1 (B_AX_B1_IMR_ERR_USRCTL_REINIT | \
B_AX_B1_IMR_ERR_USRCTL_NOINIT | \
B_AX_B1_IMR_ERR_CMDPSR_1STCMDERR | \
B_AX_B1_IMR_ERR_CMDPSR_CMDTYPE | \
B_AX_B1_IMR_ERR_CMDPSR_FRZTO | \
B_AX_B1_IMR_ERR_CMDPSR_TBLSZ | \
B_AX_B1_IMR_ERR_MPDUINFO_RECFG | \
B_AX_B1_IMR_ERR_MPDUIF_DATAERR | \
B_AX_B1_IMR_ERR_PRELD_RLSPKTSZERR | \
B_AX_B1_IMR_ERR_PRELD_ENTNUMCFG)
#define R_AX_AFE_CTRL1 0x0024
#define B_AX_R_SYM_WLCMAC1_P4_PC_EN BIT(4)
#define B_AX_R_SYM_WLCMAC1_P3_PC_EN BIT(3)
#define B_AX_R_SYM_WLCMAC1_P2_PC_EN BIT(2)
#define B_AX_R_SYM_WLCMAC1_P1_PC_EN BIT(1)
#define B_AX_R_SYM_WLCMAC1_PC_EN BIT(0)
#define R_AX_SYS_ISO_CTRL_EXTEND 0x0080
#define B_AX_CMAC1_FEN BIT(30)
#define B_AX_R_SYM_FEN_WLBBGLB_1 BIT(17)
#define B_AX_R_SYM_FEN_WLBBFUN_1 BIT(16)
#define B_AX_R_SYM_ISO_CMAC12PP BIT(5)
#define R_AX_CMAC_REG_START 0xC000
#define R_AX_CMAC_FUNC_EN 0xC000
#define R_AX_CMAC_FUNC_EN_C1 0xE000
#define B_AX_CMAC_CRPRT BIT(31)
#define B_AX_CMAC_EN BIT(30)
#define B_AX_CMAC_TXEN BIT(29)
#define B_AX_CMAC_RXEN BIT(28)
#define B_AX_FORCE_CMACREG_GCKEN BIT(15)
#define B_AX_PHYINTF_EN BIT(5)
#define B_AX_CMAC_DMA_EN BIT(4)
#define B_AX_PTCLTOP_EN BIT(3)
#define B_AX_SCHEDULER_EN BIT(2)
#define B_AX_TMAC_EN BIT(1)
#define B_AX_RMAC_EN BIT(0)
#define R_AX_CK_EN 0xC004
#define R_AX_CK_EN_C1 0xE004
#define B_AX_CMAC_ALLCKEN GENMASK(31, 0)
#define B_AX_CMAC_CKEN BIT(30)
#define B_AX_PHYINTF_CKEN BIT(5)
#define B_AX_CMAC_DMA_CKEN BIT(4)
#define B_AX_PTCLTOP_CKEN BIT(3)
#define B_AX_SCHEDULER_CKEN BIT(2)
#define B_AX_TMAC_CKEN BIT(1)
#define B_AX_RMAC_CKEN BIT(0)
#define R_AX_WMAC_RFMOD 0xC010
#define R_AX_WMAC_RFMOD_C1 0xE010
#define B_AX_WMAC_RFMOD_MASK GENMASK(1, 0)
#define AX_WMAC_RFMOD_20M 0
#define AX_WMAC_RFMOD_40M 1
#define AX_WMAC_RFMOD_80M 2
#define AX_WMAC_RFMOD_160M 3
#define R_AX_GID_POSITION0 0xC070
#define R_AX_GID_POSITION0_C1 0xE070
#define R_AX_GID_POSITION1 0xC074
#define R_AX_GID_POSITION1_C1 0xE074
#define R_AX_GID_POSITION2 0xC078
#define R_AX_GID_POSITION2_C1 0xE078
#define R_AX_GID_POSITION3 0xC07C
#define R_AX_GID_POSITION3_C1 0xE07C
#define R_AX_GID_POSITION_EN0 0xC080
#define R_AX_GID_POSITION_EN0_C1 0xE080
#define R_AX_GID_POSITION_EN1 0xC084
#define R_AX_GID_POSITION_EN1_C1 0xE084
#define R_AX_TX_SUB_CARRIER_VALUE 0xC088
#define R_AX_TX_SUB_CARRIER_VALUE_C1 0xE088
#define B_AX_TXSC_80M_MASK GENMASK(11, 8)
#define B_AX_TXSC_40M_MASK GENMASK(7, 4)
#define B_AX_TXSC_20M_MASK GENMASK(3, 0)
#define R_AX_PTCL_RRSR1 0xC090
#define R_AX_PTCL_RRSR1_C1 0xE090
#define B_AX_RRSR_RATE_EN_MASK GENMASK(11, 8)
#define RRSR_OFDM_CCK_EN 3
#define B_AX_RSC_MASK GENMASK(7, 6)
#define B_AX_RRSR_CCK_MASK GENMASK(3, 0)
#define R_AX_CMAC_ERR_IMR 0xC160
#define R_AX_CMAC_ERR_IMR_C1 0xE160
#define B_AX_WMAC_TX_ERR_IND_EN BIT(7)
#define B_AX_WMAC_RX_ERR_IND_EN BIT(6)
#define B_AX_TXPWR_CTRL_ERR_IND_EN BIT(5)
#define B_AX_PHYINTF_ERR_IND_EN BIT(4)
#define B_AX_DMA_TOP_ERR_IND_EN BIT(3)
#define B_AX_PTCL_TOP_ERR_IND_EN BIT(1)
#define B_AX_SCHEDULE_TOP_ERR_IND_EN BIT(0)
#define CMAC0_ERR_IMR_EN GENMASK(31, 0)
#define CMAC1_ERR_IMR_EN GENMASK(31, 0)
#define CMAC0_ERR_IMR_DIS 0
#define CMAC1_ERR_IMR_DIS 0
#define R_AX_CMAC_ERR_ISR 0xC164
#define R_AX_CMAC_ERR_ISR_C1 0xE164
#define B_AX_WMAC_TX_ERR_IND BIT(7)
#define B_AX_WMAC_RX_ERR_IND BIT(6)
#define B_AX_TXPWR_CTRL_ERR_IND BIT(5)
#define B_AX_PHYINTF_ERR_IND BIT(4)
#define B_AX_DMA_TOP_ERR_IND BIT(3)
#define B_AX_PTCL_TOP_ERR_IND BIT(1)
#define B_AX_SCHEDULE_TOP_ERR_IND BIT(0)
#define R_AX_MACID_SLEEP_0 0xC2C0
#define R_AX_MACID_SLEEP_0_C1 0xE2C0
#define B_AX_MACID31_0_SLEEP_SH 0
#define B_AX_MACID31_0_SLEEP_MASK GENMASK(31, 0)
#define R_AX_MACID_SLEEP_1 0xC2C4
#define R_AX_MACID_SLEEP_1_C1 0xE2C4
#define B_AX_MACID63_32_SLEEP_SH 0
#define B_AX_MACID63_32_SLEEP_MASK GENMASK(31, 0)
#define R_AX_MACID_SLEEP_2 0xC2C8
#define R_AX_MACID_SLEEP_2_C1 0xE2C8
#define B_AX_MACID95_64_SLEEP_SH 0
#define B_AX_MACID95_64_SLEEP_MASK GENMASK(31, 0)
#define R_AX_MACID_SLEEP_3 0xC2CC
#define R_AX_MACID_SLEEP_3_C1 0xE2CC
#define B_AX_MACID127_96_SLEEP_SH 0
#define B_AX_MACID127_96_SLEEP_MASK GENMASK(31, 0)
#define SCH_PREBKF_24US 0x18
#define R_AX_PREBKF_CFG_0 0xC338
#define R_AX_PREBKF_CFG_0_C1 0xE338
#define B_AX_PREBKF_TIME_MASK GENMASK(4, 0)
#define R_AX_PREBKF_CFG_1 0xC33C
#define R_AX_PREBKF_CFG_1_C1 0xE33C
#define B_AX_SIFS_TIMEOUT_TB_AGGR_MASK GENMASK(30, 24)
#define B_AX_SIFS_PREBKF_MASK GENMASK(23, 16)
#define B_AX_SIFS_TIMEOUT_T2_MASK GENMASK(14, 8)
#define B_AX_SIFS_MACTXEN_T1_MASK GENMASK(6, 0)
#define SIFS_MACTXEN_T1 0x47
#define SIFS_MACTXEN_T1_V1 0x41
#define R_AX_CCA_CFG_0 0xC340
#define R_AX_CCA_CFG_0_C1 0xE340
#define B_AX_BTCCA_BRK_TXOP_EN BIT(9)
#define B_AX_BTCCA_EN BIT(5)
#define B_AX_EDCCA_EN BIT(4)
#define B_AX_SEC80_EN BIT(3)
#define B_AX_SEC40_EN BIT(2)
#define B_AX_SEC20_EN BIT(1)
#define B_AX_CCA_EN BIT(0)
#define R_AX_CTN_TXEN 0xC348
#define R_AX_CTN_TXEN_C1 0xE348
#define B_AX_CTN_TXEN_TWT_1 BIT(15)
#define B_AX_CTN_TXEN_TWT_0 BIT(14)
#define B_AX_CTN_TXEN_ULQ BIT(13)
#define B_AX_CTN_TXEN_BCNQ BIT(12)
#define B_AX_CTN_TXEN_HGQ BIT(11)
#define B_AX_CTN_TXEN_CPUMGQ BIT(10)
#define B_AX_CTN_TXEN_MGQ1 BIT(9)
#define B_AX_CTN_TXEN_MGQ BIT(8)
#define B_AX_CTN_TXEN_VO_1 BIT(7)
#define B_AX_CTN_TXEN_VI_1 BIT(6)
#define B_AX_CTN_TXEN_BK_1 BIT(5)
#define B_AX_CTN_TXEN_BE_1 BIT(4)
#define B_AX_CTN_TXEN_VO_0 BIT(3)
#define B_AX_CTN_TXEN_VI_0 BIT(2)
#define B_AX_CTN_TXEN_BK_0 BIT(1)
#define B_AX_CTN_TXEN_BE_0 BIT(0)
#define B_AX_CTN_TXEN_ALL_MASK GENMASK(15, 0)
#define R_AX_MUEDCA_BE_PARAM_0 0xC350
#define R_AX_MUEDCA_BE_PARAM_0_C1 0xE350
#define B_AX_MUEDCA_BE_PARAM_0_TIMER_MASK GENMASK(31, 16)
#define B_AX_MUEDCA_BE_PARAM_0_CW_MASK GENMASK(15, 8)
#define B_AX_MUEDCA_BE_PARAM_0_AIFS_MASK GENMASK(7, 0)
#define R_AX_MUEDCA_BK_PARAM_0 0xC354
#define R_AX_MUEDCA_BK_PARAM_0_C1 0xE354
#define R_AX_MUEDCA_VI_PARAM_0 0xC358
#define R_AX_MUEDCA_VI_PARAM_0_C1 0xE358
#define R_AX_MUEDCA_VO_PARAM_0 0xC35C
#define R_AX_MUEDCA_VO_PARAM_0_C1 0xE35C
#define R_AX_MUEDCA_EN 0xC370
#define R_AX_MUEDCA_EN_C1 0xE370
#define B_AX_MUEDCA_WMM_SEL BIT(8)
#define B_AX_SET_MUEDCATIMER_TF_0 BIT(4)
#define B_AX_MUEDCA_EN_0 BIT(0)
#define R_AX_CCA_CONTROL 0xC390
#define R_AX_CCA_CONTROL_C1 0xE390
#define B_AX_TB_CHK_TX_NAV BIT(31)
#define B_AX_TB_CHK_BASIC_NAV BIT(30)
#define B_AX_TB_CHK_BTCCA BIT(29)
#define B_AX_TB_CHK_EDCCA BIT(28)
#define B_AX_TB_CHK_CCA_S80 BIT(27)
#define B_AX_TB_CHK_CCA_S40 BIT(26)
#define B_AX_TB_CHK_CCA_S20 BIT(25)
#define B_AX_TB_CHK_CCA_P20 BIT(24)
#define B_AX_SIFS_CHK_BTCCA BIT(21)
#define B_AX_SIFS_CHK_EDCCA BIT(20)
#define B_AX_SIFS_CHK_CCA_S80 BIT(19)
#define B_AX_SIFS_CHK_CCA_S40 BIT(18)
#define B_AX_SIFS_CHK_CCA_S20 BIT(17)
#define B_AX_SIFS_CHK_CCA_P20 BIT(16)
#define B_AX_CTN_CHK_TXNAV BIT(8)
#define B_AX_CTN_CHK_INTRA_NAV BIT(7)
#define B_AX_CTN_CHK_BASIC_NAV BIT(6)
#define B_AX_CTN_CHK_BTCCA BIT(5)
#define B_AX_CTN_CHK_EDCCA BIT(4)
#define B_AX_CTN_CHK_CCA_S80 BIT(3)
#define B_AX_CTN_CHK_CCA_S40 BIT(2)
#define B_AX_CTN_CHK_CCA_S20 BIT(1)
#define B_AX_CTN_CHK_CCA_P20 BIT(0)
#define R_AX_CTN_DRV_TXEN 0xC398
#define R_AX_CTN_DRV_TXEN_C1 0xE398
#define B_AX_CTN_TXEN_TWT_3 BIT(17)
#define B_AX_CTN_TXEN_TWT_2 BIT(16)
#define B_AX_CTN_TXEN_ALL_MASK_V1 GENMASK(17, 0)
#define R_AX_SCHEDULE_ERR_IMR 0xC3E8
#define R_AX_SCHEDULE_ERR_IMR_C1 0xE3E8
#define B_AX_SORT_NON_IDLE_ERR_INT_EN BIT(1)
#define R_AX_SCHEDULE_ERR_ISR 0xC3EC
#define R_AX_SCHEDULE_ERR_ISR_C1 0xE3EC
#define R_AX_SCH_DBG_SEL 0xC3F4
#define R_AX_SCH_DBG_SEL_C1 0xE3F4
#define B_AX_SCH_DBG_EN BIT(16)
#define B_AX_SCH_CFG_CMD_SEL GENMASK(15, 8)
#define B_AX_SCH_DBG_SEL_MASK GENMASK(7, 0)
#define R_AX_SCH_DBG 0xC3F8
#define R_AX_SCH_DBG_C1 0xE3F8
#define B_AX_SCHEDULER_DBG_MASK GENMASK(31, 0)
#define R_AX_SCH_EXT_CTRL 0xC3FC
#define R_AX_SCH_EXT_CTRL_C1 0xE3FC
#define B_AX_PORT_RST_TSF_ADV BIT(1)
#define R_AX_PORT_CFG_P0 0xC400
#define R_AX_PORT_CFG_P1 0xC440
#define R_AX_PORT_CFG_P2 0xC480
#define R_AX_PORT_CFG_P3 0xC4C0
#define R_AX_PORT_CFG_P4 0xC500
#define B_AX_BRK_SETUP BIT(16)
#define B_AX_TBTT_UPD_SHIFT_SEL BIT(15)
#define B_AX_BCN_DROP_ALLOW BIT(14)
#define B_AX_TBTT_PROHIB_EN BIT(13)
#define B_AX_BCNTX_EN BIT(12)
#define B_AX_NET_TYPE_MASK GENMASK(11, 10)
#define B_AX_BCN_FORCETX_EN BIT(9)
#define B_AX_TXBCN_BTCCA_EN BIT(8)
#define B_AX_BCNERR_CNT_EN BIT(7)
#define B_AX_BCN_AGRES BIT(6)
#define B_AX_TSFTR_RST BIT(5)
#define B_AX_RX_BSSID_FIT_EN BIT(4)
#define B_AX_TSF_UDT_EN BIT(3)
#define B_AX_PORT_FUNC_EN BIT(2)
#define B_AX_TXBCN_RPT_EN BIT(1)
#define B_AX_RXBCN_RPT_EN BIT(0)
#define R_AX_TBTT_PROHIB_P0 0xC404
#define R_AX_TBTT_PROHIB_P1 0xC444
#define R_AX_TBTT_PROHIB_P2 0xC484
#define R_AX_TBTT_PROHIB_P3 0xC4C4
#define R_AX_TBTT_PROHIB_P4 0xC504
#define B_AX_TBTT_HOLD_MASK GENMASK(27, 16)
#define B_AX_TBTT_SETUP_MASK GENMASK(7, 0)
#define R_AX_BCN_AREA_P0 0xC408
#define R_AX_BCN_AREA_P1 0xC448
#define R_AX_BCN_AREA_P2 0xC488
#define R_AX_BCN_AREA_P3 0xC4C8
#define R_AX_BCN_AREA_P4 0xC508
#define B_AX_BCN_MSK_AREA_MASK GENMASK(27, 16)
#define B_AX_BCN_CTN_AREA_MASK GENMASK(11, 0)
#define R_AX_BCNERLYINT_CFG_P0 0xC40C
#define R_AX_BCNERLYINT_CFG_P1 0xC44C
#define R_AX_BCNERLYINT_CFG_P2 0xC48C
#define R_AX_BCNERLYINT_CFG_P3 0xC4CC
#define R_AX_BCNERLYINT_CFG_P4 0xC50C
#define B_AX_BCNERLY_MASK GENMASK(11, 0)
#define R_AX_TBTTERLYINT_CFG_P0 0xC40E
#define R_AX_TBTTERLYINT_CFG_P1 0xC44E
#define R_AX_TBTTERLYINT_CFG_P2 0xC48E
#define R_AX_TBTTERLYINT_CFG_P3 0xC4CE
#define R_AX_TBTTERLYINT_CFG_P4 0xC50E
#define B_AX_TBTTERLY_MASK GENMASK(11, 0)
#define R_AX_TBTT_AGG_P0 0xC412
#define R_AX_TBTT_AGG_P1 0xC452
#define R_AX_TBTT_AGG_P2 0xC492
#define R_AX_TBTT_AGG_P3 0xC4D2
#define R_AX_TBTT_AGG_P4 0xC512
#define B_AX_TBTT_AGG_NUM_MASK GENMASK(15, 8)
#define R_AX_BCN_SPACE_CFG_P0 0xC414
#define R_AX_BCN_SPACE_CFG_P1 0xC454
#define R_AX_BCN_SPACE_CFG_P2 0xC494
#define R_AX_BCN_SPACE_CFG_P3 0xC4D4
#define R_AX_BCN_SPACE_CFG_P4 0xC514
#define B_AX_SUB_BCN_SPACE_MASK GENMASK(23, 16)
#define B_AX_BCN_SPACE_MASK GENMASK(15, 0)
#define R_AX_BCN_FORCETX_P0 0xC418
#define R_AX_BCN_FORCETX_P1 0xC458
#define R_AX_BCN_FORCETX_P2 0xC498
#define R_AX_BCN_FORCETX_P3 0xC4D8
#define R_AX_BCN_FORCETX_P4 0xC518
#define B_AX_FORCE_BCN_CURRCNT_MASK GENMASK(23, 16)
#define B_AX_FORCE_BCN_NUM_MASK GENMASK(15, 0)
#define B_AX_BCN_MAX_ERR_MASK GENMASK(7, 0)
#define R_AX_BCN_ERR_CNT_P0 0xC420
#define R_AX_BCN_ERR_CNT_P1 0xC460
#define R_AX_BCN_ERR_CNT_P2 0xC4A0
#define R_AX_BCN_ERR_CNT_P3 0xC4E0
#define R_AX_BCN_ERR_CNT_P4 0xC520
#define B_AX_BCN_ERR_CNT_SUM_MASK GENMASK(31, 24)
#define B_AX_BCN_ERR_CNT_NAV_MASK GENMASK(23, 16)
#define B_AX_BCN_ERR_CNT_EDCCA_MASK GENMASK(15, 0)
#define B_AX_BCN_ERR_CNT_CCA_MASK GENMASK(7, 0)
#define R_AX_BCN_ERR_FLAG_P0 0xC424
#define R_AX_BCN_ERR_FLAG_P1 0xC464
#define R_AX_BCN_ERR_FLAG_P2 0xC4A4
#define R_AX_BCN_ERR_FLAG_P3 0xC4E4
#define R_AX_BCN_ERR_FLAG_P4 0xC524
#define B_AX_BCN_ERR_FLAG_OTHERS BIT(6)
#define B_AX_BCN_ERR_FLAG_MAC BIT(5)
#define B_AX_BCN_ERR_FLAG_TXON BIT(4)
#define B_AX_BCN_ERR_FLAG_SRCHEND BIT(3)
#define B_AX_BCN_ERR_FLAG_INVALID BIT(2)
#define B_AX_BCN_ERR_FLAG_CMP BIT(1)
#define B_AX_BCN_ERR_FLAG_LOCK BIT(0)
#define R_AX_DTIM_CTRL_P0 0xC426
#define R_AX_DTIM_CTRL_P1 0xC466
#define R_AX_DTIM_CTRL_P2 0xC4A6
#define R_AX_DTIM_CTRL_P3 0xC4E6
#define R_AX_DTIM_CTRL_P4 0xC526
#define B_AX_DTIM_NUM_MASK GENMASK(15, 8)
#define B_AX_DTIM_CURRCNT_MASK GENMASK(7, 0)
#define R_AX_TBTT_SHIFT_P0 0xC428
#define R_AX_TBTT_SHIFT_P1 0xC468
#define R_AX_TBTT_SHIFT_P2 0xC4A8
#define R_AX_TBTT_SHIFT_P3 0xC4E8
#define R_AX_TBTT_SHIFT_P4 0xC528
#define B_AX_TBTT_SHIFT_OFST_MASK GENMASK(11, 0)
#define B_AX_TBTT_SHIFT_OFST_SIGN BIT(11)
#define B_AX_TBTT_SHIFT_OFST_MAG GENMASK(10, 0)
#define R_AX_BCN_CNT_TMR_P0 0xC434
#define R_AX_BCN_CNT_TMR_P1 0xC474
#define R_AX_BCN_CNT_TMR_P2 0xC4B4
#define R_AX_BCN_CNT_TMR_P3 0xC4F4
#define R_AX_BCN_CNT_TMR_P4 0xC534
#define B_AX_BCN_CNT_TMR_MASK GENMASK(31, 0)
#define R_AX_TSFTR_LOW_P0 0xC438
#define R_AX_TSFTR_LOW_P1 0xC478
#define R_AX_TSFTR_LOW_P2 0xC4B8
#define R_AX_TSFTR_LOW_P3 0xC4F8
#define R_AX_TSFTR_LOW_P4 0xC538
#define B_AX_TSFTR_LOW_MASK GENMASK(31, 0)
#define R_AX_TSFTR_HIGH_P0 0xC43C
#define R_AX_TSFTR_HIGH_P1 0xC47C
#define R_AX_TSFTR_HIGH_P2 0xC4BC
#define R_AX_TSFTR_HIGH_P3 0xC4FC
#define R_AX_TSFTR_HIGH_P4 0xC53C
#define B_AX_TSFTR_HIGH_MASK GENMASK(31, 0)
#define R_AX_MBSSID_CTRL 0xC568
#define R_AX_MBSSID_CTRL_C1 0xE568
#define B_AX_P0MB_ALL_MASK GENMASK(23, 1)
#define B_AX_P0MB_NUM_MASK GENMASK(19, 16)
#define B_AX_P0MB15_EN BIT(15)
#define B_AX_P0MB14_EN BIT(14)
#define B_AX_P0MB13_EN BIT(13)
#define B_AX_P0MB12_EN BIT(12)
#define B_AX_P0MB11_EN BIT(11)
#define B_AX_P0MB10_EN BIT(10)
#define B_AX_P0MB9_EN BIT(9)
#define B_AX_P0MB8_EN BIT(8)
#define B_AX_P0MB7_EN BIT(7)
#define B_AX_P0MB6_EN BIT(6)
#define B_AX_P0MB5_EN BIT(5)
#define B_AX_P0MB4_EN BIT(4)
#define B_AX_P0MB3_EN BIT(3)
#define B_AX_P0MB2_EN BIT(2)
#define B_AX_P0MB1_EN BIT(1)
#define R_AX_P0MB_HGQ_WINDOW_CFG_0 0xC590
#define R_AX_P0MB_HGQ_WINDOW_CFG_0_C1 0xE590
#define R_AX_PORT_HGQ_WINDOW_CFG 0xC5A0
#define R_AX_PORT_HGQ_WINDOW_CFG_C1 0xE5A0
#define R_AX_PTCL_COMMON_SETTING_0 0xC600
#define R_AX_PTCL_COMMON_SETTING_0_C1 0xE600
#define B_AX_PCIE_MODE_MASK GENMASK(15, 14)
#define B_AX_CPUMGQ_LIFETIME_EN BIT(8)
#define B_AX_MGQ_LIFETIME_EN BIT(7)
#define B_AX_LIFETIME_EN BIT(6)
#define B_AX_PTCL_TRIGGER_SS_EN_UL BIT(4)
#define B_AX_PTCL_TRIGGER_SS_EN_1 BIT(3)
#define B_AX_PTCL_TRIGGER_SS_EN_0 BIT(2)
#define B_AX_CMAC_TX_MODE_1 BIT(1)
#define B_AX_CMAC_TX_MODE_0 BIT(0)
#define R_AX_AMPDU_AGG_LIMIT 0xC610
#define B_AX_AMPDU_MAX_TIME_MASK GENMASK(31, 24)
#define B_AX_RA_TRY_RATE_AGG_LMT_MASK GENMASK(23, 16)
#define B_AX_RTS_MAX_AGG_NUM_MASK GENMASK(15, 8)
#define B_AX_MAX_AGG_NUM_MASK GENMASK(7, 0)
#define R_AX_AGG_LEN_HT_0 0xC614
#define R_AX_AGG_LEN_HT_0_C1 0xE614
#define B_AX_AMPDU_MAX_LEN_HT_MASK GENMASK(31, 16)
#define B_AX_RTS_TXTIME_TH_MASK GENMASK(15, 8)
#define B_AX_RTS_LEN_TH_MASK GENMASK(7, 0)
#define S_AX_CTS2S_TH_SEC_256B 1
#define R_AX_SIFS_SETTING 0xC624
#define R_AX_SIFS_SETTING_C1 0xE624
#define B_AX_HW_CTS2SELF_PKT_LEN_TH_MASK GENMASK(31, 24)
#define B_AX_HW_CTS2SELF_PKT_LEN_TH_TWW_MASK GENMASK(23, 18)
#define B_AX_HW_CTS2SELF_EN BIT(16)
#define B_AX_SPEC_SIFS_OFDM_PTCL_SH 8
#define B_AX_SPEC_SIFS_OFDM_PTCL_MASK GENMASK(15, 8)
#define B_AX_SPEC_SIFS_CCK_PTCL_MASK GENMASK(7, 0)
#define S_AX_CTS2S_TH_1K 4
#define R_AX_TXRATE_CHK 0xC628
#define R_AX_TXRATE_CHK_C1 0xE628
#define B_AX_DEFT_RATE_MASK GENMASK(15, 7)
#define B_AX_BAND_MODE BIT(4)
#define B_AX_MAX_TXNSS_MASK GENMASK(3, 2)
#define B_AX_RTS_LIMIT_IN_OFDM6 BIT(1)
#define B_AX_CHECK_CCK_EN BIT(0)
#define R_AX_TXCNT 0xC62C
#define R_AX_TXCNT_C1 0xE62C
#define B_AX_ADD_TXCNT_BY BIT(31)
#define B_AX_S_TXCNT_LMT_MASK GENMASK(29, 24)
#define B_AX_L_TXCNT_LMT_MASK GENMASK(21, 16)
#define R_AX_MBSSID_DROP_0 0xC63C
#define R_AX_MBSSID_DROP_0_C1 0xE63C
#define B_AX_GI_LTF_FB_SEL BIT(30)
#define B_AX_RATE_SEL_MASK GENMASK(29, 24)
#define B_AX_PORT_DROP_4_0_MASK GENMASK(20, 16)
#define B_AX_MBSSID_DROP_15_0_MASK GENMASK(15, 0)
#define R_AX_PTCLRPT_FULL_HDL 0xC660
#define R_AX_PTCLRPT_FULL_HDL_C1 0xE660
#define B_AX_RPT_LATCH_PHY_TIME_MASK GENMASK(15, 12)
#define B_AX_F2PCMD_FWWD_RLS_MODE BIT(9)
#define B_AX_F2PCMD_RPT_EN BIT(8)
#define B_AX_BCN_RPT_PATH_MASK GENMASK(7, 6)
#define B_AX_SPE_RPT_PATH_MASK GENMASK(5, 4)
#define FWD_TO_WLCPU 1
#define B_AX_TX_RPT_PATH_MASK GENMASK(3, 2)
#define B_AX_F2PCMDRPT_FULL_DROP BIT(1)
#define B_AX_NON_F2PCMDRPT_FULL_DROP BIT(0)
#define R_AX_BT_PLT 0xC67C
#define R_AX_BT_PLT_C1 0xE67C
#define B_AX_BT_PLT_PKT_CNT_MASK GENMASK(31, 16)
#define B_AX_BT_PLT_RST BIT(9)
#define B_AX_PLT_EN BIT(8)
#define B_AX_RX_PLT_GNT_LTE_RX BIT(7)
#define B_AX_RX_PLT_GNT_BT_RX BIT(6)
#define B_AX_RX_PLT_GNT_BT_TX BIT(5)
#define B_AX_RX_PLT_GNT_WL BIT(4)
#define B_AX_TX_PLT_GNT_LTE_RX BIT(3)
#define B_AX_TX_PLT_GNT_BT_RX BIT(2)
#define B_AX_TX_PLT_GNT_BT_TX BIT(1)
#define B_AX_TX_PLT_GNT_WL BIT(0)
#define R_AX_PTCL_BSS_COLOR_0 0xC6A0
#define R_AX_PTCL_BSS_COLOR_0_C1 0xE6A0
#define B_AX_BSS_COLOB_AX_PORT_3_MASK GENMASK(29, 24)
#define B_AX_BSS_COLOB_AX_PORT_2_MASK GENMASK(21, 16)
#define B_AX_BSS_COLOB_AX_PORT_1_MASK GENMASK(13, 8)
#define B_AX_BSS_COLOB_AX_PORT_0_MASK GENMASK(5, 0)
#define R_AX_PTCL_BSS_COLOR_1 0xC6A4
#define R_AX_PTCL_BSS_COLOR_1_C1 0xE6A4
#define B_AX_BSS_COLOB_AX_PORT_4_MASK GENMASK(5, 0)
#define R_AX_PTCL_IMR0 0xC6C0
#define R_AX_PTCL_IMR0_C1 0xE6C0
#define B_AX_F2PCMD_PKTID_ERR_INT_EN BIT(31)
#define B_AX_F2PCMD_RD_PKTID_ERR_INT_EN BIT(30)
#define B_AX_F2PCMD_ASSIGN_PKTID_ERR_INT_EN BIT(29)
#define B_AX_F2PCMD_USER_ALLC_ERR_INT_EN BIT(28)
#define B_AX_RX_SPF_U0_PKTID_ERR_INT_EN BIT(27)
#define B_AX_TX_SPF_U1_PKTID_ERR_INT_EN BIT(26)
#define B_AX_TX_SPF_U2_PKTID_ERR_INT_EN BIT(25)
#define B_AX_TX_SPF_U3_PKTID_ERR_INT_EN BIT(24)
#define B_AX_TX_RECORD_PKTID_ERR_INT_EN BIT(23)
#define B_AX_F2PCMD_EMPTY_ERR_INT_EN BIT(15)
#define B_AX_TWTSP_QSEL_ERR_INT_EN BIT(14)
#define B_AX_BCNQ_ORDER_ERR_INT_EN BIT(12)
#define B_AX_Q_PKTID_ERR_INT_EN BIT(11)
#define B_AX_D_PKTID_ERR_INT_EN BIT(10)
#define B_AX_TXPRT_FULL_DROP_ERR_INT_EN BIT(9)
#define B_AX_F2PCMDRPT_FULL_DROP_ERR_INT_EN BIT(8)
#define B_AX_FSM1_TIMEOUT_ERR_INT_EN BIT(1)
#define B_AX_FSM_TIMEOUT_ERR_INT_EN BIT(0)
#define B_AX_PTCL_IMR_CLR_ALL GENMASK(31, 0)
#define B_AX_PTCL_IMR_CLR (B_AX_FSM_TIMEOUT_ERR_INT_EN | \
B_AX_F2PCMDRPT_FULL_DROP_ERR_INT_EN | \
B_AX_TXPRT_FULL_DROP_ERR_INT_EN | \
B_AX_D_PKTID_ERR_INT_EN | \
B_AX_Q_PKTID_ERR_INT_EN | \
B_AX_BCNQ_ORDER_ERR_INT_EN | \
B_AX_TWTSP_QSEL_ERR_INT_EN | \
B_AX_F2PCMD_EMPTY_ERR_INT_EN | \
B_AX_TX_RECORD_PKTID_ERR_INT_EN | \
B_AX_TX_SPF_U3_PKTID_ERR_INT_EN | \
B_AX_TX_SPF_U2_PKTID_ERR_INT_EN | \
B_AX_TX_SPF_U1_PKTID_ERR_INT_EN | \
B_AX_RX_SPF_U0_PKTID_ERR_INT_EN | \
B_AX_F2PCMD_USER_ALLC_ERR_INT_EN | \
B_AX_F2PCMD_ASSIGN_PKTID_ERR_INT_EN | \
B_AX_F2PCMD_RD_PKTID_ERR_INT_EN | \
B_AX_F2PCMD_PKTID_ERR_INT_EN)
#define B_AX_PTCL_IMR_SET (B_AX_FSM_TIMEOUT_ERR_INT_EN | \
B_AX_TX_RECORD_PKTID_ERR_INT_EN | \
B_AX_F2PCMD_USER_ALLC_ERR_INT_EN)
#define B_AX_PTCL_IMR_CLR_V1 (B_AX_FSM1_TIMEOUT_ERR_INT_EN | \
B_AX_FSM_TIMEOUT_ERR_INT_EN)
#define B_AX_PTCL_IMR_SET_V1 (B_AX_FSM1_TIMEOUT_ERR_INT_EN | \
B_AX_FSM_TIMEOUT_ERR_INT_EN)
#define R_AX_PTCL_ISR0 0xC6C4
#define R_AX_PTCL_ISR0_C1 0xE6C4
#define S_AX_PTCL_TO_2MS 0x3F
#define R_AX_PTCL_FSM_MON 0xC6E8
#define R_AX_PTCL_FSM_MON_C1 0xE6E8
#define B_AX_PTCL_TX_ARB_TO_MODE BIT(6)
#define B_AX_PTCL_TX_ARB_TO_THR_MASK GENMASK(5, 0)
#define R_AX_PTCL_TX_CTN_SEL 0xC6EC
#define R_AX_PTCL_TX_CTN_SEL_C1 0xE6EC
#define B_AX_PTCL_TX_ON_STAT BIT(7)
#define R_AX_PTCL_DBG_INFO 0xC6F0
#define R_AX_PTCL_DBG_INFO_C1 0xE6F0
#define B_AX_PTCL_DBG_INFO_MASK GENMASK(31, 0)
#define R_AX_PTCL_DBG 0xC6F4
#define R_AX_PTCL_DBG_C1 0xE6F4
#define B_AX_PTCL_DBG_EN BIT(8)
#define B_AX_PTCL_DBG_SEL_MASK GENMASK(7, 0)
#define R_AX_DLE_CTRL 0xC800
#define R_AX_DLE_CTRL_C1 0xE800
#define B_AX_NO_RESERVE_PAGE_ERR_IMR BIT(23)
#define B_AX_RXDATA_FSM_HANG_ERROR_IMR BIT(15)
#define B_AX_RXSTS_FSM_HANG_ERROR_IMR BIT(14)
#define B_AX_DLE_IMR_CLR (B_AX_RXSTS_FSM_HANG_ERROR_IMR | \
B_AX_RXDATA_FSM_HANG_ERROR_IMR | \
B_AX_NO_RESERVE_PAGE_ERR_IMR)
#define B_AX_DLE_IMR_SET (B_AX_RXSTS_FSM_HANG_ERROR_IMR | \
B_AX_RXDATA_FSM_HANG_ERROR_IMR)
#define R_AX_RXDMA_CTRL_0 0xC804
#define R_AX_RXDMA_CTRL_0_C1 0xE804
#define B_AX_RXDMA_DBGOUT_EN BIT(31)
#define B_AX_RXDMA_DBG_SEL_MASK GENMASK(30, 29)
#define B_AX_RXDMA_FIFO_DBG_SEL_MASK GENMASK(28, 25)
#define B_AX_RXDMA_DEFAULT_PAGE_MASK GENMASK(22, 21)
#define B_AX_RXDMA_BUFF_REQ_PRI_MASK GENMASK(20, 19)
#define B_AX_RXDMA_TGT_QUEID_MASK GENMASK(18, 13)
#define B_AX_RXDMA_TGT_PRID_MASK GENMASK(12, 10)
#define B_AX_RXDMA_DIS_CSI_RELEASE BIT(9)
#define B_AX_RXDMA_DIS_RXSTS_WAIT_PTR_CLR BIT(7)
#define B_AX_RXDMA_DIS_CSI_WAIT_PTR_CLR BIT(6)
#define B_AX_RXSTS_PTR_FULL_MODE BIT(5)
#define B_AX_CSI_PTR_FULL_MODE BIT(4)
#define B_AX_RU3_PTR_FULL_MODE BIT(3)
#define B_AX_RU2_PTR_FULL_MODE BIT(2)
#define B_AX_RU1_PTR_FULL_MODE BIT(1)
#define B_AX_RU0_PTR_FULL_MODE BIT(0)
#define RX_FULL_MODE (B_AX_RU0_PTR_FULL_MODE | B_AX_RU1_PTR_FULL_MODE | \
B_AX_RU2_PTR_FULL_MODE | B_AX_RU3_PTR_FULL_MODE | \
B_AX_CSI_PTR_FULL_MODE | B_AX_RXSTS_PTR_FULL_MODE)
#define R_AX_RXDMA_PKT_INFO_0 0xC814
#define R_AX_RXDMA_PKT_INFO_1 0xC818
#define R_AX_RXDMA_PKT_INFO_2 0xC81C
#define R_AX_RX_ERR_FLAG_IMR 0xC804
#define R_AX_RX_ERR_FLAG_IMR_C1 0xE804
#define B_AX_RX_GET_NULL_PKT_ERR_MSK BIT(30)
#define B_AX_RX_RU0_FSM_HANG_MSK_ERR_MSK BIT(29)
#define B_AX_RX_RU1_FSM_HANG_MSK_ERR_MSK BIT(28)
#define B_AX_RX_RU2_FSM_HANG_MSK_ERR_MSK BIT(27)
#define B_AX_RX_RU3_FSM_HANG_MSK_ERR_MSK BIT(26)
#define B_AX_RX_RU4_FSM_HANG_MSK_ERR_MSK BIT(25)
#define B_AX_RX_RU5_FSM_HANG_MSK_ERR_MSK BIT(24)
#define B_AX_RX_RU6_FSM_HANG_MSK_ERR_MSK BIT(23)
#define B_AX_RX_RU7_FSM_HANG_MSK_ERR_MSK BIT(22)
#define B_AX_RX_RXSTS_FSM_HANG_MSK_ERR_MSK BIT(21)
#define B_AX_RX_CSI_FSM_HANG_MSK_ERR_MSK BIT(20)
#define B_AX_RX_TXRPT_FSM_HANG_MSK_ERR_MSK BIT(19)
#define B_AX_RX_F2PCMD_FSM_HANG_MSK_ERR_MSK BIT(18)
#define B_AX_RX_RU0_ZERO_LEN_ERR_MSK BIT(17)
#define B_AX_RX_RU1_ZERO_LEN_ERR_MSK BIT(16)
#define B_AX_RX_RU2_ZERO_LEN_ERR_MSK BIT(15)
#define B_AX_RX_RU3_ZERO_LEN_ERR_MSK BIT(14)
#define B_AX_RX_RU4_ZERO_LEN_ERR_MSK BIT(13)
#define B_AX_RX_RU5_ZERO_LEN_ERR_MSK BIT(12)
#define B_AX_RX_RU6_ZERO_LEN_ERR_MSK BIT(11)
#define B_AX_RX_RU7_ZERO_LEN_ERR_MSK BIT(10)
#define B_AX_RX_RXSTS_ZERO_LEN_ERR_MSK BIT(9)
#define B_AX_RX_CSI_ZERO_LEN_ERR_MSK BIT(8)
#define B_AX_PLE_DATA_OPT_FSM_HANG_MSK BIT(7)
#define B_AX_PLE_RXDATA_REQ_BUF_FSM_HANG_MSK BIT(6)
#define B_AX_PLE_TXRPT_REQ_BUF_FSM_HANG_MSK BIT(5)
#define B_AX_PLE_WD_OPT_FSM_HANG_MSK BIT(4)
#define B_AX_PLE_ENQ_FSM_HANG_MSK BIT(3)
#define B_AX_RXDATA_ENQUE_ORDER_ERR_MSK BIT(2)
#define B_AX_RXSTS_ENQUE_ORDER_ERR_MSK BIT(1)
#define B_AX_RX_CSI_PKT_NUM_ERR_MSK BIT(0)
#define B_AX_RX_ERR_IMR_CLR_V1 (B_AX_RXSTS_ENQUE_ORDER_ERR_MSK | \
B_AX_RXDATA_ENQUE_ORDER_ERR_MSK | \
B_AX_RX_CSI_ZERO_LEN_ERR_MSK | \
B_AX_RX_RXSTS_ZERO_LEN_ERR_MSK | \
B_AX_RX_RU7_ZERO_LEN_ERR_MSK | \
B_AX_RX_RU6_ZERO_LEN_ERR_MSK | \
B_AX_RX_RU5_ZERO_LEN_ERR_MSK | \
B_AX_RX_RU4_ZERO_LEN_ERR_MSK | \
B_AX_RX_RU3_ZERO_LEN_ERR_MSK | \
B_AX_RX_RU2_ZERO_LEN_ERR_MSK | \
B_AX_RX_RU1_ZERO_LEN_ERR_MSK | \
B_AX_RX_RU0_ZERO_LEN_ERR_MSK | \
B_AX_RX_F2PCMD_FSM_HANG_MSK_ERR_MSK | \
B_AX_RX_TXRPT_FSM_HANG_MSK_ERR_MSK | \
B_AX_RX_CSI_FSM_HANG_MSK_ERR_MSK | \
B_AX_RX_RXSTS_FSM_HANG_MSK_ERR_MSK | \
B_AX_RX_RU7_FSM_HANG_MSK_ERR_MSK | \
B_AX_RX_RU6_FSM_HANG_MSK_ERR_MSK | \
B_AX_RX_RU5_FSM_HANG_MSK_ERR_MSK | \
B_AX_RX_RU4_FSM_HANG_MSK_ERR_MSK | \
B_AX_RX_RU3_FSM_HANG_MSK_ERR_MSK | \
B_AX_RX_RU2_FSM_HANG_MSK_ERR_MSK | \
B_AX_RX_RU1_FSM_HANG_MSK_ERR_MSK | \
B_AX_RX_RU0_FSM_HANG_MSK_ERR_MSK | \
B_AX_RX_GET_NULL_PKT_ERR_MSK)
#define B_AX_RX_ERR_IMR_SET_V1 (B_AX_RXSTS_ENQUE_ORDER_ERR_MSK | \
B_AX_RXDATA_ENQUE_ORDER_ERR_MSK | \
B_AX_RX_CSI_ZERO_LEN_ERR_MSK | \
B_AX_RX_RXSTS_ZERO_LEN_ERR_MSK | \
B_AX_RX_RU7_ZERO_LEN_ERR_MSK | \
B_AX_RX_RU6_ZERO_LEN_ERR_MSK | \
B_AX_RX_RU5_ZERO_LEN_ERR_MSK | \
B_AX_RX_RU4_ZERO_LEN_ERR_MSK | \
B_AX_RX_RU3_ZERO_LEN_ERR_MSK | \
B_AX_RX_RU2_ZERO_LEN_ERR_MSK | \
B_AX_RX_RU1_ZERO_LEN_ERR_MSK | \
B_AX_RX_RU0_ZERO_LEN_ERR_MSK | \
B_AX_RX_F2PCMD_FSM_HANG_MSK_ERR_MSK | \
B_AX_RX_TXRPT_FSM_HANG_MSK_ERR_MSK | \
B_AX_RX_CSI_FSM_HANG_MSK_ERR_MSK | \
B_AX_RX_RXSTS_FSM_HANG_MSK_ERR_MSK | \
B_AX_RX_RU7_FSM_HANG_MSK_ERR_MSK | \
B_AX_RX_RU6_FSM_HANG_MSK_ERR_MSK | \
B_AX_RX_RU5_FSM_HANG_MSK_ERR_MSK | \
B_AX_RX_RU4_FSM_HANG_MSK_ERR_MSK | \
B_AX_RX_RU3_FSM_HANG_MSK_ERR_MSK | \
B_AX_RX_RU2_FSM_HANG_MSK_ERR_MSK | \
B_AX_RX_RU1_FSM_HANG_MSK_ERR_MSK | \
B_AX_RX_RU0_FSM_HANG_MSK_ERR_MSK | \
B_AX_RX_GET_NULL_PKT_ERR_MSK)
#define R_AX_TX_ERR_FLAG_IMR 0xC870
#define R_AX_TX_ERR_FLAG_IMR_C1 0xE870
#define B_AX_TX_RU0_FSM_HANG_ERR_MSK BIT(31)
#define B_AX_TX_RU1_FSM_HANG_ERR_MSK BIT(30)
#define B_AX_TX_RU2_FSM_HANG_ERR_MSK BIT(29)
#define B_AX_TX_RU3_FSM_HANG_ERR_MSK BIT(28)
#define B_AX_TX_RU4_FSM_HANG_ERR_MSK BIT(27)
#define B_AX_TX_RU5_FSM_HANG_ERR_MSK BIT(26)
#define B_AX_TX_RU6_FSM_HANG_ERR_MSK BIT(25)
#define B_AX_TX_RU7_FSM_HANG_ERR_MSK BIT(24)
#define B_AX_TX_RU8_FSM_HANG_ERR_MSK BIT(23)
#define B_AX_TX_RU9_FSM_HANG_ERR_MSK BIT(22)
#define B_AX_TX_RU10_FSM_HANG_ERR_MSK BIT(21)
#define B_AX_TX_RU11_FSM_HANG_ERR_MSK BIT(20)
#define B_AX_TX_RU12_FSM_HANG_ERR_MSK BIT(19)
#define B_AX_TX_RU13_FSM_HANG_ERR_MSK BIT(18)
#define B_AX_TX_RU14_FSM_HANG_ERR_MSK BIT(17)
#define B_AX_TX_RU15_FSM_HANG_ERR_MSK BIT(16)
#define B_AX_TX_CSI_FSM_HANG_ERR_MSK BIT(15)
#define B_AX_TX_WD_PLD_ID_FSM_HANG_ERR_MSK BIT(14)
#define B_AX_TX_ERR_IMR_CLR_V1 (B_AX_TX_WD_PLD_ID_FSM_HANG_ERR_MSK | \
B_AX_TX_CSI_FSM_HANG_ERR_MSK | \
B_AX_TX_RU7_FSM_HANG_ERR_MSK | \
B_AX_TX_RU6_FSM_HANG_ERR_MSK | \
B_AX_TX_RU5_FSM_HANG_ERR_MSK | \
B_AX_TX_RU4_FSM_HANG_ERR_MSK | \
B_AX_TX_RU3_FSM_HANG_ERR_MSK | \
B_AX_TX_RU2_FSM_HANG_ERR_MSK | \
B_AX_TX_RU1_FSM_HANG_ERR_MSK | \
B_AX_TX_RU0_FSM_HANG_ERR_MSK)
#define B_AX_TX_ERR_IMR_SET_V1 (B_AX_TX_WD_PLD_ID_FSM_HANG_ERR_MSK | \
B_AX_TX_CSI_FSM_HANG_ERR_MSK | \
B_AX_TX_RU7_FSM_HANG_ERR_MSK | \
B_AX_TX_RU6_FSM_HANG_ERR_MSK | \
B_AX_TX_RU5_FSM_HANG_ERR_MSK | \
B_AX_TX_RU4_FSM_HANG_ERR_MSK | \
B_AX_TX_RU3_FSM_HANG_ERR_MSK | \
B_AX_TX_RU2_FSM_HANG_ERR_MSK | \
B_AX_TX_RU1_FSM_HANG_ERR_MSK | \
B_AX_TX_RU0_FSM_HANG_ERR_MSK)
#define R_AX_TCR0 0xCA00
#define R_AX_TCR0_C1 0xEA00
#define B_AX_TCR_ZLD_NUM_MASK GENMASK(31, 24)
#define B_AX_TCR_UDF_EN BIT(23)
#define B_AX_TCR_UDF_THSD_MASK GENMASK(22, 16)
#define TCR_UDF_THSD 0x6
#define B_AX_TCR_ERRSTEN_MASK GENMASK(15, 10)
#define B_AX_TCR_VHTSIGA1_TXPS BIT(9)
#define B_AX_TCR_PLCP_ERRHDL_EN BIT(8)
#define B_AX_TCR_PADSEL BIT(7)
#define B_AX_TCR_MASK_SIGBCRC BIT(6)
#define B_AX_TCR_SR_VAL15_ALLOW BIT(5)
#define B_AX_TCR_EN_EOF BIT(4)
#define B_AX_TCR_EN_SCRAM_INC BIT(3)
#define B_AX_TCR_EN_20MST BIT(2)
#define B_AX_TCR_CRC BIT(1)
#define B_AX_TCR_DISGCLK BIT(0)
#define R_AX_TCR1 0xCA04
#define R_AX_TCR1_C1 0xEA04
#define B_AX_TXDFIFO_THRESHOLD GENMASK(31, 28)
#define B_AX_TCR_CCK_LOCK_CLK BIT(27)
#define B_AX_TCR_FORCE_READ_TXDFIFO BIT(26)
#define B_AX_TCR_USTIME GENMASK(23, 16)
#define B_AX_TCR_SMOOTH_VAL BIT(15)
#define B_AX_TCR_SMOOTH_CTRL BIT(14)
#define B_AX_CS_REQ_VAL BIT(13)
#define B_AX_CS_REQ_SEL BIT(12)
#define B_AX_TCR_ZLD_USTIME_AFTERPHYTXON GENMASK(11, 8)
#define B_AX_TCR_TXTIMEOUT GENMASK(7, 0)
#define R_AX_MD_TSFT_STMP_CTL 0xCA08
#define R_AX_MD_TSFT_STMP_CTL_C1 0xEA08
#define B_AX_TSFT_OFS_MASK GENMASK(31, 16)
#define B_AX_STMP_THSD_MASK GENMASK(15, 8)
#define B_AX_UPD_HGQMD BIT(1)
#define B_AX_UPD_TIMIE BIT(0)
#define R_AX_PPWRBIT_SETTING 0xCA0C
#define R_AX_PPWRBIT_SETTING_C1 0xEA0C
#define R_AX_TXD_FIFO_CTRL 0xCA1C
#define R_AX_TXD_FIFO_CTRL_C1 0xEA1C
#define B_AX_NON_LEGACY_PPDU_ZLD_USTIMER_MASK GENMASK(28, 24)
#define B_AX_LEGACY_PPDU_ZLD_USTIMER_MASK GENMASK(20, 16)
#define B_AX_TXDFIFO_HIGH_MCS_THRE_MASK GENMASK(15, 12)
#define TXDFIFO_HIGH_MCS_THRE 0x7
#define B_AX_TXDFIFO_LOW_MCS_THRE_MASK GENMASK(11, 8)
#define TXDFIFO_LOW_MCS_THRE 0x7
#define B_AX_HIGH_MCS_PHY_RATE_MASK GENMASK(7, 4)
#define B_AX_BW_PHY_RATE_MASK GENMASK(1, 0)
#define R_AX_MACTX_DBG_SEL_CNT 0xCA20
#define R_AX_MACTX_DBG_SEL_CNT_C1 0xEA20
#define B_AX_MACTX_MPDU_CNT GENMASK(31, 24)
#define B_AX_MACTX_DMA_CNT GENMASK(23, 16)
#define B_AX_LENGTH_ERR_FLAG_U3 BIT(11)
#define B_AX_LENGTH_ERR_FLAG_U2 BIT(10)
#define B_AX_LENGTH_ERR_FLAG_U1 BIT(9)
#define B_AX_LENGTH_ERR_FLAG_U0 BIT(8)
#define B_AX_DBGSEL_MACTX_MASK GENMASK(5, 0)
#define R_AX_WMAC_TX_CTRL_DEBUG 0xCAE4
#define R_AX_WMAC_TX_CTRL_DEBUG_C1 0xEAE4
#define B_AX_TX_CTRL_DEBUG_SEL_MASK GENMASK(3, 0)
#define R_AX_WMAC_TX_INFO0_DEBUG 0xCAE8
#define R_AX_WMAC_TX_INFO0_DEBUG_C1 0xEAE8
#define B_AX_TX_CTRL_INFO_P0_MASK GENMASK(31, 0)
#define R_AX_WMAC_TX_INFO1_DEBUG 0xCAEC
#define R_AX_WMAC_TX_INFO1_DEBUG_C1 0xEAEC
#define B_AX_TX_CTRL_INFO_P1_MASK GENMASK(31, 0)
#define R_AX_RSP_CHK_SIG 0xCC00
#define R_AX_RSP_CHK_SIG_C1 0xEC00
#define B_AX_RSP_STATIC_RTS_CHK_SERV_BW_EN BIT(30)
#define B_AX_RSP_TBPPDU_CHK_PWR BIT(29)
#define B_AX_RSP_CHK_BASIC_NAV BIT(21)
#define B_AX_RSP_CHK_INTRA_NAV BIT(20)
#define B_AX_RSP_CHK_TXNAV BIT(19)
#define B_AX_TXDATA_END_PS_OPT BIT(18)
#define B_AX_CHECK_SOUNDING_SEQ BIT(17)
#define B_AX_RXBA_IGNOREA2 BIT(16)
#define B_AX_ACKTO_CCK_MASK GENMASK(15, 8)
#define B_AX_ACKTO_MASK GENMASK(7, 0)
#define R_AX_TRXPTCL_RESP_0 0xCC04
#define R_AX_TRXPTCL_RESP_0_C1 0xEC04
#define B_AX_WMAC_RESP_STBC_EN BIT(31)
#define B_AX_WMAC_RXFTM_TXACK_SC BIT(30)
#define B_AX_WMAC_RXFTM_TXACKBWEQ BIT(29)
#define B_AX_RSP_CHK_SEC_CCA_80 BIT(28)
#define B_AX_RSP_CHK_SEC_CCA_40 BIT(27)
#define B_AX_RSP_CHK_SEC_CCA_20 BIT(26)
#define B_AX_RSP_CHK_BTCCA BIT(25)
#define B_AX_RSP_CHK_EDCCA BIT(24)
#define B_AX_RSP_CHK_CCA BIT(23)
#define B_AX_WMAC_LDPC_EN BIT(22)
#define B_AX_WMAC_SGIEN BIT(21)
#define B_AX_WMAC_SPLCPEN BIT(20)
#define B_AX_WMAC_BESP_EARLY_TXBA BIT(17)
#define B_AX_WMAC_SPEC_SIFS_OFDM_MASK GENMASK(15, 8)
#define B_AX_WMAC_SPEC_SIFS_CCK_MASK GENMASK(7, 0)
#define WMAC_SPEC_SIFS_OFDM_52A 0x15
#define WMAC_SPEC_SIFS_OFDM_52B 0x11
#define WMAC_SPEC_SIFS_OFDM_52C 0x11
#define WMAC_SPEC_SIFS_CCK 0xA
#define R_AX_TRXPTCL_RRSR_CTL_0 0xCC08
#define R_AX_TRXPTCL_RRSR_CTL_0_C1 0xEC08
#define B_AX_RESP_TX_MACID_CCA_TH_EN BIT(31)
#define B_AX_RESP_TX_PWRMODE_MASK GENMASK(30, 28)
#define B_AX_FTM_RRSR_RATE_EN_MASK GENMASK(27, 24)
#define B_AX_NESS_MASK GENMASK(23, 22)
#define B_AX_WMAC_RESP_DOPPLEB_AX_EN BIT(21)
#define B_AX_WMAC_RESP_DCM_EN BIT(20)
#define B_AX_WMAC_RRSB_AX_CCK_MASK GENMASK(19, 16)
#define B_AX_WMAC_RESP_RATE_EN_MASK GENMASK(15, 12)
#define B_AX_WMAC_RESP_RSC_MASK GENMASK(11, 10)
#define B_AX_WMAC_RESP_REF_RATE_SEL BIT(9)
#define B_AX_WMAC_RESP_REF_RATE_MASK GENMASK(8, 0)
#define R_AX_MAC_LOOPBACK 0xCC20
#define R_AX_MAC_LOOPBACK_C1 0xEC20
#define B_AX_MACLBK_EN BIT(0)
#define R_AX_WMAC_NAV_CTL 0xCC80
#define R_AX_WMAC_NAV_CTL_C1 0xEC80
#define B_AX_WMAC_NAV_UPPER_EN BIT(26)
#define B_AX_WMAC_0P125US_TIMER_MASK GENMASK(25, 18)
#define B_AX_WMAC_PLCP_UP_NAV_EN BIT(17)
#define B_AX_WMAC_TF_UP_NAV_EN BIT(16)
#define B_AX_WMAC_NAV_UPPER_MASK GENMASK(15, 8)
#define NAV_12MS 0xBC
#define NAV_25MS 0xC4
#define B_AX_WMAC_RTS_RST_DUR_MASK GENMASK(7, 0)
#define R_AX_RXTRIG_TEST_USER_2 0xCCB0
#define R_AX_RXTRIG_TEST_USER_2_C1 0xECB0
#define B_AX_RXTRIG_MACID_MASK GENMASK(31, 24)
#define B_AX_RXTRIG_RU26_DIS BIT(21)
#define B_AX_RXTRIG_FCSCHK_EN BIT(20)
#define B_AX_RXTRIG_PORT_SEL_MASK GENMASK(19, 17)
#define B_AX_RXTRIG_EN BIT(16)
#define B_AX_RXTRIG_USERINFO_2_MASK GENMASK(15, 0)
#define R_AX_TRXPTCL_ERROR_INDICA_MASK 0xCCBC
#define R_AX_TRXPTCL_ERROR_INDICA_MASK_C1 0xECBC
#define B_AX_WMAC_MODE BIT(22)
#define B_AX_WMAC_TIMETOUT_THR_MASK GENMASK(21, 16)
#define B_AX_RMAC_FTM BIT(8)
#define B_AX_RMAC_CSI BIT(7)
#define B_AX_TMAC_MIMO_CTRL BIT(6)
#define B_AX_TMAC_RXTB BIT(5)
#define B_AX_TMAC_HWSIGB_GEN BIT(4)
#define B_AX_TMAC_TXPLCP BIT(3)
#define B_AX_TMAC_RESP BIT(2)
#define B_AX_TMAC_TXCTL BIT(1)
#define B_AX_TMAC_MACTX BIT(0)
#define B_AX_TMAC_IMR_CLR_V1 (B_AX_TMAC_MACTX | \
B_AX_TMAC_TXCTL | \
B_AX_TMAC_RESP | \
B_AX_TMAC_TXPLCP | \
B_AX_TMAC_HWSIGB_GEN | \
B_AX_TMAC_RXTB | \
B_AX_TMAC_MIMO_CTRL | \
B_AX_RMAC_CSI | \
B_AX_RMAC_FTM)
#define B_AX_TMAC_IMR_SET_V1 (B_AX_TMAC_MACTX | \
B_AX_TMAC_TXCTL | \
B_AX_TMAC_RESP | \
B_AX_TMAC_TXPLCP | \
B_AX_TMAC_HWSIGB_GEN | \
B_AX_TMAC_RXTB | \
B_AX_TMAC_MIMO_CTRL | \
B_AX_RMAC_FTM)
#define R_AX_WMAC_TX_TF_INFO_0 0xCCD0
#define R_AX_WMAC_TX_TF_INFO_0_C1 0xECD0
#define B_AX_WMAC_TX_TF_INFO_SEL_MASK GENMASK(2, 0)
#define R_AX_WMAC_TX_TF_INFO_1 0xCCD4
#define R_AX_WMAC_TX_TF_INFO_1_C1 0xECD4
#define B_AX_WMAC_TX_TF_INFO_P0_MASK GENMASK(31, 0)
#define R_AX_WMAC_TX_TF_INFO_2 0xCCD8
#define R_AX_WMAC_TX_TF_INFO_2_C1 0xECD8
#define B_AX_WMAC_TX_TF_INFO_P1_MASK GENMASK(31, 0)
#define R_AX_TMAC_ERR_IMR_ISR 0xCCEC
#define R_AX_TMAC_ERR_IMR_ISR_C1 0xECEC
#define B_AX_TMAC_TXPLCP_ERR_CLR BIT(19)
#define B_AX_TMAC_RESP_ERR_CLR BIT(18)
#define B_AX_TMAC_TXCTL_ERR_CLR BIT(17)
#define B_AX_TMAC_MACTX_ERR_CLR BIT(16)
#define B_AX_TMAC_TXPLCP_ERR BIT(14)
#define B_AX_TMAC_RESP_ERR BIT(13)
#define B_AX_TMAC_TXCTL_ERR BIT(12)
#define B_AX_TMAC_MACTX_ERR BIT(11)
#define B_AX_TMAC_TXPLCP_INT_EN BIT(10)
#define B_AX_TMAC_RESP_INT_EN BIT(9)
#define B_AX_TMAC_TXCTL_INT_EN BIT(8)
#define B_AX_TMAC_MACTX_INT_EN BIT(7)
#define B_AX_WMAC_INT_MODE BIT(6)
#define B_AX_TMAC_TIMETOUT_THR_MASK GENMASK(5, 0)
#define B_AX_TMAC_IMR_CLR (B_AX_TMAC_MACTX_INT_EN | \
B_AX_TMAC_TXCTL_INT_EN | \
B_AX_TMAC_RESP_INT_EN | \
B_AX_TMAC_TXPLCP_INT_EN)
#define B_AX_TMAC_IMR_SET (B_AX_TMAC_MACTX_INT_EN | \
B_AX_TMAC_TXCTL_INT_EN | \
B_AX_TMAC_RESP_INT_EN | \
B_AX_TMAC_TXPLCP_INT_EN)
#define R_AX_DBGSEL_TRXPTCL 0xCCF4
#define R_AX_DBGSEL_TRXPTCL_C1 0xECF4
#define B_AX_DBGSEL_TRXPTCL_MASK GENMASK(7, 0)
#define R_AX_PHYINFO_ERR_IMR_V1 0xCCF8
#define R_AX_PHYINFO_ERR_IMR_V1_C1 0xECF8
#define B_AX_PHYINTF_TIMEOUT_THR_MSAK_V1 GENMASK(21, 16)
#define B_AX_CSI_ON_TIMEOUT_EN BIT(5)
#define B_AX_STS_ON_TIMEOUT_EN BIT(4)
#define B_AX_DATA_ON_TIMEOUT_EN BIT(3)
#define B_AX_OFDM_CCA_TIMEOUT_EN BIT(2)
#define B_AX_CCK_CCA_TIMEOUT_EN BIT(1)
#define B_AX_PHY_TXON_TIMEOUT_EN BIT(0)
#define B_AX_PHYINFO_IMR_CLR_V1 (B_AX_PHY_TXON_TIMEOUT_EN | \
B_AX_CCK_CCA_TIMEOUT_EN | \
B_AX_OFDM_CCA_TIMEOUT_EN | \
B_AX_DATA_ON_TIMEOUT_EN | \
B_AX_STS_ON_TIMEOUT_EN | \
B_AX_CSI_ON_TIMEOUT_EN)
#define B_AX_PHYINFO_IMR_SET_V1 (B_AX_PHY_TXON_TIMEOUT_EN | \
B_AX_CCK_CCA_TIMEOUT_EN | \
B_AX_OFDM_CCA_TIMEOUT_EN | \
B_AX_DATA_ON_TIMEOUT_EN | \
B_AX_STS_ON_TIMEOUT_EN | \
B_AX_CSI_ON_TIMEOUT_EN)
#define R_AX_PHYINFO_ERR_IMR 0xCCFC
#define R_AX_PHYINFO_ERR_IMR_C1 0xECFC
#define B_AX_CSI_ON_TIMEOUT BIT(29)
#define B_AX_STS_ON_TIMEOUT BIT(28)
#define B_AX_DATA_ON_TIMEOUT BIT(27)
#define B_AX_OFDM_CCA_TIMEOUT BIT(26)
#define B_AX_CCK_CCA_TIMEOUT BIT(25)
#define B_AXC_PHY_TXON_TIMEOUT BIT(24)
#define B_AX_CSI_ON_TIMEOUT_INT_EN BIT(21)
#define B_AX_STS_ON_TIMEOUT_INT_EN BIT(20)
#define B_AX_DATA_ON_TIMEOUT_INT_EN BIT(19)
#define B_AX_OFDM_CCA_TIMEOUT_INT_EN BIT(18)
#define B_AX_CCK_CCA_TIMEOUT_INT_EN BIT(17)
#define B_AX_PHY_TXON_TIMEOUT_INT_EN BIT(16)
#define B_AX_PHYINTF_TIMEOUT_THR_MSAK GENMASK(5, 0)
#define B_AX_PHYINFO_IMR_EN_ALL (B_AX_PHY_TXON_TIMEOUT_INT_EN | \
B_AX_CCK_CCA_TIMEOUT_INT_EN | \
B_AX_OFDM_CCA_TIMEOUT_INT_EN | \
B_AX_DATA_ON_TIMEOUT_INT_EN | \
B_AX_STS_ON_TIMEOUT_INT_EN | \
B_AX_CSI_ON_TIMEOUT_INT_EN)
#define R_AX_PHYINFO_ERR_ISR 0xCCFC
#define R_AX_PHYINFO_ERR_ISR_C1 0xECFC
#define R_AX_BFMER_CTRL_0 0xCD78
#define R_AX_BFMER_CTRL_0_C1 0xED78
#define B_AX_BFMER_HE_CSI_OFFSET_MASK GENMASK(31, 24)
#define B_AX_BFMER_VHT_CSI_OFFSET_MASK GENMASK(23, 16)
#define B_AX_BFMER_HT_CSI_OFFSET_MASK GENMASK(15, 8)
#define B_AX_BFMER_NDP_BFEN BIT(2)
#define B_AX_BFMER_VHT_BFPRT_CHK BIT(0)
#define R_AX_BFMEE_RESP_OPTION 0xCD80
#define R_AX_BFMEE_RESP_OPTION_C1 0xED80
#define B_AX_BFMEE_NDP_RX_STANDBY_TIMER_MASK GENMASK(31, 24)
#define B_AX_BFMEE_BFRP_RX_STANDBY_TIMER_MASK GENMASK(23, 20)
#define B_AX_MU_BFRPTSEG_SEL_MASK GENMASK(18, 17)
#define B_AX_BFMEE_NDP_RXSTDBY_SEL BIT(16)
#define BFRP_RX_STANDBY_TIMER 0x0
#define NDP_RX_STANDBY_TIMER 0xFF
#define B_AX_BFMEE_HE_NDPA_EN BIT(2)
#define B_AX_BFMEE_VHT_NDPA_EN BIT(1)
#define B_AX_BFMEE_HT_NDPA_EN BIT(0)
#define R_AX_TRXPTCL_RESP_CSI_CTRL_0 0xCD88
#define R_AX_TRXPTCL_RESP_CSI_CTRL_0_C1 0xED88
#define R_AX_TRXPTCL_RESP_CSI_CTRL_1 0xCD94
#define R_AX_TRXPTCL_RESP_CSI_CTRL_1_C1 0xED94
#define B_AX_BFMEE_CSISEQ_SEL BIT(29)
#define B_AX_BFMEE_BFPARAM_SEL BIT(28)
#define B_AX_BFMEE_OFDM_LEN_TH_MASK GENMASK(27, 24)
#define B_AX_BFMEE_BF_PORT_SEL BIT(23)
#define B_AX_BFMEE_USE_NSTS BIT(22)
#define B_AX_BFMEE_CSI_RATE_FB_EN BIT(21)
#define B_AX_BFMEE_CSI_GID_SEL BIT(20)
#define B_AX_BFMEE_CSI_RSC_MASK GENMASK(19, 18)
#define B_AX_BFMEE_CSI_FORCE_RETE_EN BIT(17)
#define B_AX_BFMEE_CSI_USE_NDPARATE BIT(16)
#define B_AX_BFMEE_CSI_WITHHTC_EN BIT(15)
#define B_AX_BFMEE_CSIINFO0_BF_EN BIT(14)
#define B_AX_BFMEE_CSIINFO0_STBC_EN BIT(13)
#define B_AX_BFMEE_CSIINFO0_LDPC_EN BIT(12)
#define B_AX_BFMEE_CSIINFO0_CS_MASK GENMASK(11, 10)
#define B_AX_BFMEE_CSIINFO0_CB_MASK GENMASK(9, 8)
#define B_AX_BFMEE_CSIINFO0_NG_MASK GENMASK(7, 6)
#define B_AX_BFMEE_CSIINFO0_NR_MASK GENMASK(5, 3)
#define B_AX_BFMEE_CSIINFO0_NC_MASK GENMASK(2, 0)
#define R_AX_TRXPTCL_RESP_CSI_RRSC 0xCD8C
#define R_AX_TRXPTCL_RESP_CSI_RRSC_C1 0xED8C
#define CSI_RRSC_BMAP 0x29292911
#define R_AX_TRXPTCL_RESP_CSI_RATE 0xCD90
#define R_AX_TRXPTCL_RESP_CSI_RATE_C1 0xED90
#define B_AX_BFMEE_HE_CSI_RATE_MASK GENMASK(22, 16)
#define B_AX_BFMEE_VHT_CSI_RATE_MASK GENMASK(14, 8)
#define B_AX_BFMEE_HT_CSI_RATE_MASK GENMASK(6, 0)
#define CSI_INIT_RATE_HE 0x3
#define CSI_INIT_RATE_VHT 0x3
#define CSI_INIT_RATE_HT 0x3
#define R_AX_RCR 0xCE00
#define R_AX_RCR_C1 0xEE00
#define B_AX_STOP_RX_IN BIT(11)
#define B_AX_DRV_INFO_SIZE_MASK GENMASK(10, 8)
#define B_AX_CH_EN_MASK GENMASK(3, 0)
#define R_AX_DLK_PROTECT_CTL 0xCE02
#define R_AX_DLK_PROTECT_CTL_C1 0xEE02
#define B_AX_RX_DLK_CCA_TIME_MASK GENMASK(15, 8)
#define B_AX_RX_DLK_DATA_TIME_MASK GENMASK(7, 4)
#define R_AX_PLCP_HDR_FLTR 0xCE04
#define R_AX_PLCP_HDR_FLTR_C1 0xEE04
#define B_AX_DIS_CHK_MIN_LEN BIT(8)
#define B_AX_HE_SIGB_CRC_CHK BIT(6)
#define B_AX_VHT_MU_SIGB_CRC_CHK BIT(5)
#define B_AX_VHT_SU_SIGB_CRC_CHK BIT(4)
#define B_AX_SIGA_CRC_CHK BIT(3)
#define B_AX_LSIG_PARITY_CHK_EN BIT(2)
#define B_AX_CCK_SIG_CHK BIT(1)
#define B_AX_CCK_CRC_CHK BIT(0)
#define R_AX_RX_FLTR_OPT 0xCE20
#define R_AX_RX_FLTR_OPT_C1 0xEE20
#define B_AX_UID_FILTER_MASK GENMASK(31, 24)
#define B_AX_UNSPT_FILTER_SH 22
#define B_AX_UNSPT_FILTER_MASK GENMASK(23, 22)
#define B_AX_RX_MPDU_MAX_LEN_MASK GENMASK(21, 16)
#define B_AX_RX_MPDU_MAX_LEN_SIZE 0x3f
#define B_AX_A_FTM_REQ BIT(14)
#define B_AX_A_ERR_PKT BIT(13)
#define B_AX_A_UNSUP_PKT BIT(12)
#define B_AX_A_CRC32_ERR BIT(11)
#define B_AX_A_PWR_MGNT BIT(10)
#define B_AX_A_BCN_CHK_RULE_MASK GENMASK(9, 8)
#define B_AX_A_BCN_CHK_EN BIT(7)
#define B_AX_A_MC_LIST_CAM_MATCH BIT(6)
#define B_AX_A_BC_CAM_MATCH BIT(5)
#define B_AX_A_UC_CAM_MATCH BIT(4)
#define B_AX_A_MC BIT(3)
#define B_AX_A_BC BIT(2)
#define B_AX_A_A1_MATCH BIT(1)
#define B_AX_SNIFFER_MODE BIT(0)
#define DEFAULT_AX_RX_FLTR (B_AX_A_A1_MATCH | B_AX_A_BC | B_AX_A_MC | \
B_AX_A_UC_CAM_MATCH | B_AX_A_BC_CAM_MATCH | \
B_AX_A_PWR_MGNT | B_AX_A_FTM_REQ | \
u32_encode_bits(3, B_AX_UID_FILTER_MASK) | \
B_AX_A_BCN_CHK_EN)
#define B_AX_RX_FLTR_CFG_MASK ((u32)~B_AX_RX_MPDU_MAX_LEN_MASK)
#define R_AX_CTRL_FLTR 0xCE24
#define R_AX_CTRL_FLTR_C1 0xEE24
#define R_AX_MGNT_FLTR 0xCE28
#define R_AX_MGNT_FLTR_C1 0xEE28
#define R_AX_DATA_FLTR 0xCE2C
#define R_AX_DATA_FLTR_C1 0xEE2C
#define RX_FLTR_FRAME_DROP 0x00000000
#define RX_FLTR_FRAME_TO_HOST 0x55555555
#define RX_FLTR_FRAME_TO_WLCPU 0xAAAAAAAA
#define R_AX_ADDR_CAM_CTRL 0xCE34
#define R_AX_ADDR_CAM_CTRL_C1 0xEE34
#define B_AX_ADDR_CAM_RANGE_MASK GENMASK(23, 16)
#define B_AX_ADDR_CAM_CMPLIMT_MASK GENMASK(15, 12)
#define B_AX_ADDR_CAM_CLR BIT(8)
#define B_AX_ADDR_CAM_A2_B0_CHK BIT(2)
#define B_AX_ADDR_CAM_SRCH_PERPKT BIT(1)
#define B_AX_ADDR_CAM_EN BIT(0)
#define R_AX_RESPBA_CAM_CTRL 0xCE3C
#define R_AX_RESPBA_CAM_CTRL_C1 0xEE3C
#define B_AX_SSN_SEL BIT(2)
#define B_AX_BACAM_RST_MASK GENMASK(1, 0)
#define S_AX_BACAM_RST_ALL 2
#define R_AX_PPDU_STAT 0xCE40
#define R_AX_PPDU_STAT_C1 0xEE40
#define B_AX_PPDU_STAT_RPT_TRIG BIT(8)
#define B_AX_PPDU_STAT_RPT_CRC32 BIT(5)
#define B_AX_PPDU_STAT_RPT_A1M BIT(4)
#define B_AX_APP_PLCP_HDR_RPT BIT(3)
#define B_AX_APP_RX_CNT_RPT BIT(2)
#define B_AX_APP_MAC_INFO_RPT BIT(1)
#define B_AX_PPDU_STAT_RPT_EN BIT(0)
#define R_AX_RX_SR_CTRL 0xCE4A
#define R_AX_RX_SR_CTRL_C1 0xEE4A
#define B_AX_SR_EN BIT(0)
#define R_AX_CSIRPT_OPTION 0xCE64
#define R_AX_CSIRPT_OPTION_C1 0xEE64
#define B_AX_CSIPRT_HESU_AID_EN BIT(25)
#define B_AX_CSIPRT_VHTSU_AID_EN BIT(24)
#define R_AX_RX_STATE_MONITOR 0xCEF0
#define R_AX_RX_STATE_MONITOR_C1 0xEEF0
#define B_AX_RX_STATE_MONITOR_MASK GENMASK(31, 0)
#define B_AX_STATE_CUR_MASK GENMASK(31, 16)
#define B_AX_STATE_NXT_MASK GENMASK(13, 8)
#define B_AX_STATE_UPD BIT(7)
#define B_AX_STATE_SEL_MASK GENMASK(4, 0)
#define R_AX_RMAC_ERR_ISR 0xCEF4
#define R_AX_RMAC_ERR_ISR_C1 0xEEF4
#define B_AX_RXERR_INTPS_EN BIT(31)
#define B_AX_RMAC_RX_CSI_TIMEOUT_INT_EN BIT(19)
#define B_AX_RMAC_RX_TIMEOUT_INT_EN BIT(18)
#define B_AX_RMAC_CSI_TIMEOUT_INT_EN BIT(17)
#define B_AX_RMAC_DATA_ON_TIMEOUT_INT_EN BIT(16)
#define B_AX_RMAC_CCA_TIMEOUT_INT_EN BIT(15)
#define B_AX_RMAC_DMA_TIMEOUT_INT_EN BIT(14)
#define B_AX_RMAC_DATA_ON_TO_IDLE_TIMEOUT_INT_EN BIT(13)
#define B_AX_RMAC_CCA_TO_IDLE_TIMEOUT_INT_EN BIT(12)
#define B_AX_RMAC_RX_CSI_TIMEOUT_FLAG BIT(7)
#define B_AX_RMAC_RX_TIMEOUT_FLAG BIT(6)
#define B_AX_BMAC_CSI_TIMEOUT_FLAG BIT(5)
#define B_AX_BMAC_DATA_ON_TIMEOUT_FLAG BIT(4)
#define B_AX_BMAC_CCA_TIMEOUT_FLAG BIT(3)
#define B_AX_BMAC_DMA_TIMEOUT_FLAG BIT(2)
#define B_AX_BMAC_DATA_ON_TO_IDLE_TIMEOUT_FLAG BIT(1)
#define B_AX_BMAC_CCA_TO_IDLE_TIMEOUT_FLAG BIT(0)
#define B_AX_RMAC_IMR_CLR (B_AX_RMAC_CCA_TO_IDLE_TIMEOUT_INT_EN | \
B_AX_RMAC_DATA_ON_TO_IDLE_TIMEOUT_INT_EN | \
B_AX_RMAC_DMA_TIMEOUT_INT_EN | \
B_AX_RMAC_CCA_TIMEOUT_INT_EN | \
B_AX_RMAC_DATA_ON_TIMEOUT_INT_EN | \
B_AX_RMAC_CSI_TIMEOUT_INT_EN | \
B_AX_RMAC_RX_TIMEOUT_INT_EN | \
B_AX_RMAC_RX_CSI_TIMEOUT_INT_EN)
#define B_AX_RMAC_IMR_SET (B_AX_RMAC_DMA_TIMEOUT_INT_EN | \
B_AX_RMAC_CSI_TIMEOUT_INT_EN | \
B_AX_RMAC_RX_TIMEOUT_INT_EN | \
B_AX_RMAC_RX_CSI_TIMEOUT_INT_EN)
#define R_AX_RX_ERR_IMR 0xCEF8
#define R_AX_RX_ERR_IMR_C1 0xEEF8
#define B_AX_RX_ERR_TRIG_ACT_TO_MSK BIT(9)
#define B_AX_RX_ERR_STS_ACT_TO_MSK BIT(8)
#define B_AX_RX_ERR_CSI_ACT_TO_MSK BIT(7)
#define B_AX_RX_ERR_ACT_TO_MSK BIT(6)
#define B_AX_CSI_DATAON_ASSERT_TO_MSK BIT(5)
#define B_AX_DATAON_ASSERT_TO_MSK BIT(4)
#define B_AX_CCA_ASSERT_TO_MSK BIT(3)
#define B_AX_RX_ERR_DMA_TO_MSK BIT(2)
#define B_AX_RX_ERR_DATA_TO_MSK BIT(1)
#define B_AX_RX_ERR_CCA_TO_MSK BIT(0)
#define B_AX_RMAC_IMR_CLR_V1 (B_AX_RX_ERR_CCA_TO_MSK | \
B_AX_RX_ERR_DATA_TO_MSK | \
B_AX_RX_ERR_DMA_TO_MSK | \
B_AX_CCA_ASSERT_TO_MSK | \
B_AX_DATAON_ASSERT_TO_MSK | \
B_AX_CSI_DATAON_ASSERT_TO_MSK | \
B_AX_RX_ERR_ACT_TO_MSK | \
B_AX_RX_ERR_CSI_ACT_TO_MSK | \
B_AX_RX_ERR_STS_ACT_TO_MSK | \
B_AX_RX_ERR_TRIG_ACT_TO_MSK)
#define B_AX_RMAC_IMR_SET_V1 (B_AX_RX_ERR_CCA_TO_MSK | \
B_AX_RX_ERR_DATA_TO_MSK | \
B_AX_RX_ERR_DMA_TO_MSK | \
B_AX_CCA_ASSERT_TO_MSK | \
B_AX_DATAON_ASSERT_TO_MSK | \
B_AX_CSI_DATAON_ASSERT_TO_MSK | \
B_AX_RX_ERR_ACT_TO_MSK | \
B_AX_RX_ERR_CSI_ACT_TO_MSK | \
B_AX_RX_ERR_STS_ACT_TO_MSK | \
B_AX_RX_ERR_TRIG_ACT_TO_MSK)
#define R_AX_RMAC_PLCP_MON 0xCEF8
#define R_AX_RMAC_PLCP_MON_C1 0xEEF8
#define B_AX_RMAC_PLCP_MON_MASK GENMASK(31, 0)
#define B_AX_PCLP_MON_SEL_MASK GENMASK(31, 28)
#define B_AX_PCLP_MON_CONT_MASK GENMASK(27, 0)
#define R_AX_RX_DEBUG_SELECT 0xCEFC
#define R_AX_RX_DEBUG_SELECT_C1 0xEEFC
#define B_AX_DEBUG_SEL_MASK GENMASK(7, 0)
#define R_AX_PWR_RATE_CTRL 0xD200
#define R_AX_PWR_RATE_CTRL_C1 0xF200
#define B_AX_FORCE_PWR_BY_RATE_EN BIT(9)
#define B_AX_FORCE_PWR_BY_RATE_VALUE_MASK GENMASK(8, 0)
#define R_AX_PWR_RATE_OFST_CTRL 0xD204
#define R_AX_PWR_COEXT_CTRL 0xD220
#define B_AX_TXAGC_BT_EN BIT(1)
#define B_AX_TXAGC_BT_MASK GENMASK(11, 3)
#define R_AX_PWR_UL_CTRL0 0xD240
#define R_AX_PWR_UL_CTRL2 0xD248
#define B_AX_PWR_UL_CFO_MASK GENMASK(2, 0)
#define B_AX_PWR_UL_CTRL2_MASK 0x07700007
#define R_AX_PWR_UL_TB_CTRL 0xD288
#define B_AX_PWR_UL_TB_CTRL_EN BIT(31)
#define R_AX_PWR_UL_TB_1T 0xD28C
#define B_AX_PWR_UL_TB_1T_MASK GENMASK(4, 0)
#define B_AX_PWR_UL_TB_1T_V1_MASK GENMASK(7, 0)
#define R_AX_PWR_UL_TB_2T 0xD290
#define B_AX_PWR_UL_TB_2T_MASK GENMASK(4, 0)
#define B_AX_PWR_UL_TB_2T_V1_MASK GENMASK(7, 0)
#define R_AX_PWR_BY_RATE_TABLE0 0xD2C0
#define R_AX_PWR_BY_RATE_TABLE10 0xD2E8
#define R_AX_PWR_BY_RATE R_AX_PWR_BY_RATE_TABLE0
#define R_AX_PWR_BY_RATE_MAX R_AX_PWR_BY_RATE_TABLE10
#define R_AX_PWR_LMT_TABLE0 0xD2EC
#define R_AX_PWR_LMT_TABLE19 0xD338
#define R_AX_PWR_LMT R_AX_PWR_LMT_TABLE0
#define R_AX_PWR_LMT_MAX R_AX_PWR_LMT_TABLE19
#define R_AX_PWR_RU_LMT_TABLE0 0xD33C
#define R_AX_PWR_RU_LMT_TABLE11 0xD368
#define R_AX_PWR_RU_LMT R_AX_PWR_RU_LMT_TABLE0
#define R_AX_PWR_RU_LMT_MAX R_AX_PWR_RU_LMT_TABLE11
#define R_AX_PWR_MACID_LMT_TABLE0 0xD36C
#define R_AX_PWR_MACID_LMT_TABLE127 0xD568
#define R_AX_PATH_COM0 0xD800
#define AX_PATH_COM0_DFVAL 0x00000000
#define AX_PATH_COM0_PATHA 0x08889880
#define AX_PATH_COM0_PATHB 0x11111900
#define AX_PATH_COM0_PATHAB 0x19999980
#define R_AX_PATH_COM1 0xD804
#define AX_PATH_COM1_DFVAL 0x00000000
#define AX_PATH_COM1_PATHA 0x13111111
#define AX_PATH_COM1_PATHB 0x23222222
#define AX_PATH_COM1_PATHAB 0x33333333
#define R_AX_PATH_COM2 0xD808
#define AX_PATH_COM2_DFVAL 0x00000000
#define AX_PATH_COM2_PATHA 0x01209313
#define AX_PATH_COM2_PATHB 0x01209323
#define AX_PATH_COM2_PATHAB 0x01209333
#define R_AX_PATH_COM3 0xD80C
#define AX_PATH_COM3_DFVAL 0x49249249
#define R_AX_PATH_COM4 0xD810
#define AX_PATH_COM4_DFVAL 0x1C9C9C49
#define R_AX_PATH_COM5 0xD814
#define AX_PATH_COM5_DFVAL 0x39393939
#define R_AX_PATH_COM6 0xD818
#define AX_PATH_COM6_DFVAL 0x39393939
#define R_AX_PATH_COM7 0xD81C
#define AX_PATH_COM7_DFVAL 0x39393939
#define AX_PATH_COM7_PATHA 0x39393939
#define AX_PATH_COM7_PATHB 0x39383939
#define AX_PATH_COM7_PATHAB 0x39393939
#define R_AX_PATH_COM8 0xD820
#define AX_PATH_COM8_DFVAL 0x00000000
#define AX_PATH_COM8_PATHA 0x00003939
#define AX_PATH_COM8_PATHB 0x00003938
#define AX_PATH_COM8_PATHAB 0x00003939
#define R_AX_PATH_COM9 0xD824
#define AX_PATH_COM9_DFVAL 0x000007C0
#define R_AX_PATH_COM10 0xD828
#define AX_PATH_COM10_DFVAL 0xE0000000
#define R_AX_PATH_COM11 0xD82C
#define AX_PATH_COM11_DFVAL 0x00000000
#define R_P80_AT_HIGH_FREQ_BB_WRP 0xD848
#define B_P80_AT_HIGH_FREQ_BB_WRP BIT(28)
#define R_AX_TSSI_CTRL_HEAD 0xD908
#define R_AX_BANDEDGE_CFG 0xD94C
#define B_AX_BANDEDGE_CFG_IDX_MASK GENMASK(31, 30)
#define R_AX_TSSI_CTRL_TAIL 0xD95C
#define R_AX_TXPWR_IMR 0xD9E0
#define R_AX_TXPWR_IMR_C1 0xF9E0
#define R_AX_TXPWR_ISR 0xD9E4
#define R_AX_TXPWR_ISR_C1 0xF9E4
#define R_AX_BTC_CFG 0xDA00
#define B_AX_BTC_EN BIT(31)
#define B_AX_EN_EXT_BT_PINMUX BIT(29)
#define B_AX_BTC_RST BIT(28)
#define B_AX_BTC_DBG_SRC_SEL BIT(27)
#define B_AX_BTC_MODE_MASK GENMASK(25, 24)
#define B_AX_INV_WL_ACT2 BIT(17)
#define B_AX_BTG_LNA1_GAIN_SEL BIT(16)
#define B_AX_COEX_DLY_CLK_MASK GENMASK(15, 8)
#define B_AX_IGN_GNT_BT2_RX BIT(7)
#define B_AX_IGN_GNT_BT2_TX BIT(6)
#define B_AX_IGN_GNT_BT2 BIT(5)
#define B_AX_BTC_DBG_SEL_MASK GENMASK(4, 3)
#define B_AX_DIS_BTC_CLK_G BIT(2)
#define B_AX_GNT_WL_RX_CTRL BIT(1)
#define B_AX_WL_SRC BIT(0)
#define R_AX_RTK_MODE_CFG_V1 0xDA04
#define R_AX_RTK_MODE_CFG_V1_C1 0xFA04
#define B_AX_BT_BLE_EN_V1 BIT(24)
#define B_AX_BT_ULTRA_EN BIT(16)
#define B_AX_BT_L_RX_ULTRA_MASK GENMASK(15, 14)
#define B_AX_BT_L_TX_ULTRA_MASK GENMASK(13, 12)
#define B_AX_BT_H_RX_ULTRA_MASK GENMASK(11, 10)
#define B_AX_BT_H_TX_ULTRA_MASK GENMASK(9, 8)
#define B_AX_SAMPLE_CLK_MASK GENMASK(7, 0)
#define R_AX_WL_PRI_MSK 0xDA10
#define B_AX_PTA_WL_PRI_MASK_BCNQ BIT(8)
#define R_AX_BT_CNT_CFG 0xDA10
#define R_AX_BT_CNT_CFG_C1 0xFA10
#define B_AX_BT_CNT_RST_V1 BIT(1)
#define B_AX_BT_CNT_EN BIT(0)
#define R_BTC_BT_CNT_HIGH 0xDA14
#define R_BTC_BT_CNT_LOW 0xDA18
#define R_AX_BTC_FUNC_EN 0xDA20
#define R_AX_BTC_FUNC_EN_C1 0xFA20
#define B_AX_PTA_WL_TX_EN BIT(1)
#define B_AX_PTA_EDCCA_EN BIT(0)
#define R_BTC_COEX_WL_REQ 0xDA24
#define B_BTC_TX_BCN_HI BIT(22)
#define B_BTC_RSP_ACK_HI BIT(10)
#define R_BTC_BREAK_TABLE 0xDA2C
#define BTC_BREAK_PARAM 0xf0ffffff
#define R_BTC_BT_COEX_MSK_TABLE 0xDA30
#define B_BTC_PRI_MASK_TX_RESP_V1 BIT(3)
#define R_AX_BT_COEX_CFG_2 0xDA34
#define R_AX_BT_COEX_CFG_2_C1 0xFA34
#define B_AX_GNT_BT_BYPASS_PRIORITY BIT(12)
#define B_AX_GNT_BT_POLARITY BIT(8)
#define B_AX_TIMER_MASK GENMASK(7, 0)
#define MAC_AX_CSR_RATE 80
#define R_AX_CSR_MODE 0xDA40
#define R_AX_CSR_MODE_C1 0xFA40
#define B_AX_BT_CNT_RST BIT(16)
#define B_AX_BT_STAT_DELAY_MASK GENMASK(15, 12)
#define MAC_AX_CSR_DELAY 0
#define B_AX_BT_TRX_INIT_DETECT_MASK GENMASK(11, 8)
#define MAC_AX_CSR_TRX_TO 4
#define B_AX_BT_PRI_DETECT_TO_MASK GENMASK(7, 4)
#define MAC_AX_CSR_PRI_TO 5
#define B_AX_WL_ACT_MSK BIT(3)
#define B_AX_STATIS_BT_EN BIT(2)
#define B_AX_WL_ACT_MASK_ENABLE BIT(1)
#define B_AX_ENHANCED_BT BIT(0)
#define R_AX_BT_BREAK_TABLE 0xDA44
#define R_AX_BT_STAST_HIGH 0xDA44
#define B_AX_STATIS_BT_HI_RX_MASK GENMASK(31, 16)
#define B_AX_STATIS_BT_HI_TX_MASK GENMASK(15, 0)
#define R_AX_BT_STAST_LOW 0xDA48
#define B_AX_STATIS_BT_LO_TX_1_MASK GENMASK(15, 0)
#define B_AX_STATIS_BT_LO_RX_1_MASK GENMASK(31, 16)
#define R_AX_GNT_SW_CTRL 0xDA48
#define R_AX_GNT_SW_CTRL_C1 0xFA48
#define B_AX_WL_ACT2_VAL BIT(21)
#define B_AX_WL_ACT2_SWCTRL BIT(20)
#define B_AX_WL_ACT_VAL BIT(19)
#define B_AX_WL_ACT_SWCTRL BIT(18)
#define B_AX_GNT_BT_RX_VAL BIT(17)
#define B_AX_GNT_BT_RX_SWCTRL BIT(16)
#define B_AX_GNT_BT_TX_VAL BIT(15)
#define B_AX_GNT_BT_TX_SWCTRL BIT(14)
#define B_AX_GNT_WL_RX_VAL BIT(13)
#define B_AX_GNT_WL_RX_SWCTRL BIT(12)
#define B_AX_GNT_WL_TX_VAL BIT(11)
#define B_AX_GNT_WL_TX_SWCTRL BIT(10)
#define B_AX_GNT_BT_RFC_S1_VAL BIT(9)
#define B_AX_GNT_BT_RFC_S1_SWCTRL BIT(8)
#define B_AX_GNT_WL_RFC_S1_VAL BIT(7)
#define B_AX_GNT_WL_RFC_S1_SWCTRL BIT(6)
#define B_AX_GNT_BT_RFC_S0_VAL BIT(5)
#define B_AX_GNT_BT_RFC_S0_SWCTRL BIT(4)
#define B_AX_GNT_WL_RFC_S0_VAL BIT(3)
#define B_AX_GNT_WL_RFC_S0_SWCTRL BIT(2)
#define B_AX_GNT_WL_BB_VAL BIT(1)
#define B_AX_GNT_WL_BB_SWCTRL BIT(0)
#define R_AX_GNT_VAL 0x0054
#define B_AX_GNT_BT_RFC_S1_STA BIT(5)
#define B_AX_GNT_WL_RFC_S1_STA BIT(4)
#define B_AX_GNT_BT_RFC_S0_STA BIT(3)
#define B_AX_GNT_WL_RFC_S0_STA BIT(2)
#define R_AX_GNT_VAL_V1 0xDA4C
#define B_AX_GNT_BT_RFC_S1 BIT(4)
#define B_AX_GNT_BT_RFC_S0 BIT(3)
#define B_AX_GNT_WL_RFC_S1 BIT(2)
#define B_AX_GNT_WL_RFC_S0 BIT(1)
#define R_AX_TDMA_MODE 0xDA4C
#define R_AX_TDMA_MODE_C1 0xFA4C
#define B_AX_R_BT_CMD_RPT_MASK GENMASK(31, 16)
#define B_AX_R_RPT_FROM_BT_MASK GENMASK(15, 8)
#define B_AX_BT_HID_ISR_SET_MASK GENMASK(7, 6)
#define B_AX_TDMA_BT_START_NOTIFY BIT(5)
#define B_AX_ENABLE_TDMA_FW_MODE BIT(4)
#define B_AX_ENABLE_PTA_TDMA_MODE BIT(3)
#define B_AX_ENABLE_COEXIST_TAB_IN_TDMA BIT(2)
#define B_AX_GPIO2_GPIO3_EXANGE_OR_NO_BT_CCA BIT(1)
#define B_AX_RTK_BT_ENABLE BIT(0)
#define R_AX_BT_COEX_CFG_5 0xDA6C
#define R_AX_BT_COEX_CFG_5_C1 0xFA6C
#define B_AX_BT_TIME_MASK GENMASK(31, 6)
#define B_AX_BT_RPT_SAMPLE_RATE_MASK GENMASK(5, 0)
#define MAC_AX_RTK_RATE 5
#define R_AX_LTE_CTRL 0xDAF0
#define R_AX_LTE_WDATA 0xDAF4
#define R_AX_LTE_RDATA 0xDAF8
#define R_AX_MACID_ANT_TABLE 0xDC00
#define R_AX_MACID_ANT_TABLE_LAST 0xDDFC
#define CMAC1_START_ADDR 0xE000
#define CMAC1_END_ADDR 0xFFFF
#define R_AX_CMAC_REG_END 0xFFFF
#define R_AX_LTE_SW_CFG_1 0x0038
#define R_AX_LTE_SW_CFG_1_C1 0x2038
#define B_AX_GNT_BT_RFC_S1_SW_VAL BIT(31)
#define B_AX_GNT_BT_RFC_S1_SW_CTRL BIT(30)
#define B_AX_GNT_WL_RFC_S1_SW_VAL BIT(29)
#define B_AX_GNT_WL_RFC_S1_SW_CTRL BIT(28)
#define B_AX_GNT_BT_BB_S1_SW_VAL BIT(27)
#define B_AX_GNT_BT_BB_S1_SW_CTRL BIT(26)
#define B_AX_GNT_WL_BB_S1_SW_VAL BIT(25)
#define B_AX_GNT_WL_BB_S1_SW_CTRL BIT(24)
#define B_AX_BT_SW_CTRL_WL_PRIORITY BIT(19)
#define B_AX_WL_SW_CTRL_WL_PRIORITY BIT(18)
#define B_AX_LTE_PATTERN_2_EN BIT(17)
#define B_AX_LTE_PATTERN_1_EN BIT(16)
#define B_AX_GNT_BT_RFC_S0_SW_VAL BIT(15)
#define B_AX_GNT_BT_RFC_S0_SW_CTRL BIT(14)
#define B_AX_GNT_WL_RFC_S0_SW_VAL BIT(13)
#define B_AX_GNT_WL_RFC_S0_SW_CTRL BIT(12)
#define B_AX_GNT_BT_BB_S0_SW_VAL BIT(11)
#define B_AX_GNT_BT_BB_S0_SW_CTRL BIT(10)
#define B_AX_GNT_WL_BB_S0_SW_VAL BIT(9)
#define B_AX_GNT_WL_BB_S0_SW_CTRL BIT(8)
#define B_AX_LTECOEX_FUN_EN BIT(7)
#define B_AX_LTECOEX_3WIRE_CTRL_MUX BIT(6)
#define B_AX_LTECOEX_OP_MODE_SEL_MASK GENMASK(5, 4)
#define B_AX_LTECOEX_UART_MUX BIT(3)
#define B_AX_LTECOEX_UART_MODE_SEL_MASK GENMASK(2, 0)
#define R_AX_LTE_SW_CFG_2 0x003C
#define R_AX_LTE_SW_CFG_2_C1 0x203C
#define B_AX_WL_RX_CTRL BIT(8)
#define B_AX_GNT_WL_RX_SW_VAL BIT(7)
#define B_AX_GNT_WL_RX_SW_CTRL BIT(6)
#define B_AX_GNT_WL_TX_SW_VAL BIT(5)
#define B_AX_GNT_WL_TX_SW_CTRL BIT(4)
#define B_AX_GNT_BT_RX_SW_VAL BIT(3)
#define B_AX_GNT_BT_RX_SW_CTRL BIT(2)
#define B_AX_GNT_BT_TX_SW_VAL BIT(1)
#define B_AX_GNT_BT_TX_SW_CTRL BIT(0)
#define RR_MOD 0x00
#define RR_MOD_V1 0x10000
#define RR_MOD_IQK GENMASK(19, 4)
#define RR_MOD_DPK GENMASK(19, 5)
#define RR_MOD_MASK GENMASK(19, 16)
#define RR_MOD_V_DOWN 0x0
#define RR_MOD_V_STANDBY 0x1
#define RR_MOD_V_TX 0x2
#define RR_MOD_V_RX 0x3
#define RR_MOD_V_TXIQK 0x4
#define RR_MOD_V_DPK 0x5
#define RR_MOD_V_RXK1 0x6
#define RR_MOD_V_RXK2 0x7
#define RR_MOD_NBW GENMASK(15, 14)
#define RR_MOD_M_RXG GENMASK(13, 4)
#define RR_MOD_M_RXBB GENMASK(9, 5)
#define RR_MODOPT 0x01
#define RR_MODOPT_M_TXPWR GENMASK(5, 0)
#define RR_WLSEL 0x02
#define RR_WLSEL_AG GENMASK(18, 16)
#define RR_RSV1 0x05
#define RR_RSV1_RST BIT(0)
#define RR_BBDC 0x10005
#define RR_BBDC_SEL BIT(0)
#define RR_DTXLOK 0x08
#define RR_RSV2 0x09
#define RR_LOKVB 0x0a
#define RR_LOKVB_COI GENMASK(19, 14)
#define RR_LOKVB_COQ GENMASK(9, 4)
#define RR_TXIG 0x11
#define RR_TXIG_TG GENMASK(16, 12)
#define RR_TXIG_GR1 GENMASK(6, 4)
#define RR_TXIG_GR0 GENMASK(1, 0)
#define RR_CHTR 0x17
#define RR_CHTR_MOD GENMASK(11, 10)
#define RR_CHTR_TXRX GENMASK(9, 0)
#define RR_CFGCH 0x18
#define RR_CFGCH_V1 0x10018
#define RR_CFGCH_BAND1 GENMASK(17, 16)
#define CFGCH_BAND1_2G 0
#define CFGCH_BAND1_5G 1
#define CFGCH_BAND1_6G 3
#define RR_CFGCH_BAND0 GENMASK(9, 8)
#define CFGCH_BAND0_2G 0
#define CFGCH_BAND0_5G 1
#define CFGCH_BAND0_6G 0
#define RR_CFGCH_BW GENMASK(11, 10)
#define RR_CFGCH_CH GENMASK(7, 0)
#define CFGCH_BW_20M 3
#define CFGCH_BW_40M 2
#define CFGCH_BW_80M 1
#define CFGCH_BW_160M 0
#define RR_APK 0x19
#define RR_APK_MOD GENMASK(5, 4)
#define RR_BTC 0x1a
#define RR_BTC_TXBB GENMASK(14, 12)
#define RR_BTC_RXBB GENMASK(11, 10)
#define RR_RCKC 0x1b
#define RR_RCKC_CA GENMASK(14, 10)
#define RR_RCKS 0x1c
#define RR_RCKO 0x1d
#define RR_RCKO_OFF GENMASK(13, 9)
#define RR_RXKPLL 0x1e
#define RR_RXKPLL_OFF GENMASK(5, 0)
#define RR_RXKPLL_POW BIT(19)
#define RR_RSV4 0x1f
#define RR_RSV4_AGH GENMASK(17, 16)
#define RR_RSV4_PLLCH GENMASK(9, 0)
#define RR_RXK 0x20
#define RR_RXK_SEL2G BIT(8)
#define RR_RXK_SEL5G BIT(7)
#define RR_RXK_PLLEN BIT(5)
#define RR_LUTWA 0x33
#define RR_LUTWA_MASK GENMASK(9, 0)
#define RR_LUTWA_M2 GENMASK(4, 0)
#define RR_LUTWD1 0x3e
#define RR_LUTWD0 0x3f
#define RR_LUTWD0_LB GENMASK(5, 0)
#define RR_TM 0x42
#define RR_TM_TRI BIT(19)
#define RR_TM_VAL GENMASK(6, 1)
#define RR_TM2 0x43
#define RR_TM2_OFF GENMASK(19, 16)
#define RR_TXG1 0x51
#define RR_TXG1_ATT2 BIT(19)
#define RR_TXG1_ATT1 BIT(11)
#define RR_TXG2 0x52
#define RR_TXG2_ATT0 BIT(11)
#define RR_BSPAD 0x54
#define RR_TXGA 0x55
#define RR_TXGA_TRK_EN BIT(7)
#define RR_TXGA_LOK_EXT GENMASK(4, 0)
#define RR_TXGA_LOK_EN BIT(0)
#define RR_GAINTX 0x56
#define RR_GAINTX_ALL GENMASK(15, 0)
#define RR_GAINTX_PAD GENMASK(9, 5)
#define RR_GAINTX_BB GENMASK(4, 0)
#define RR_TXMO 0x58
#define RR_TXMO_COI GENMASK(19, 15)
#define RR_TXMO_COQ GENMASK(14, 10)
#define RR_TXMO_FII GENMASK(9, 6)
#define RR_TXMO_FIQ GENMASK(5, 2)
#define RR_TXA 0x5d
#define RR_TXA_TRK GENMASK(19, 14)
#define RR_TXRSV 0x5c
#define RR_TXRSV_GAPK BIT(19)
#define RR_BIAS 0x5e
#define RR_BIAS_GAPK BIT(19)
#define RR_TXAC 0x5f
#define RR_TXAC_IQG GENMASK(3, 0)
#define RR_BIASA 0x60
#define RR_BIASA_TXG GENMASK(15, 12)
#define RR_BIASA_TXA GENMASK(19, 16)
#define RR_BIASA_A GENMASK(2, 0)
#define RR_BIASA2 0x63
#define RR_BIASA2_LB GENMASK(4, 2)
#define RR_TXATANK 0x64
#define RR_TXATANK_LBSW2 GENMASK(17, 15)
#define RR_TXATANK_LBSW GENMASK(16, 15)
#define RR_TXA2 0x65
#define RR_TXA2_LDO GENMASK(19, 16)
#define RR_TRXIQ 0x66
#define RR_RSV6 0x6d
#define RR_TXPOW 0x7f
#define RR_TXPOW_TXA BIT(8)
#define RR_TXPOW_TXAS BIT(7)
#define RR_TXPOW_TXG BIT(1)
#define RR_RXPOW 0x80
#define RR_RXPOW_IQK GENMASK(17, 16)
#define RR_RXBB 0x83
#define RR_RXBB_VOBUF GENMASK(15, 12)
#define RR_RXBB_C2G GENMASK(16, 10)
#define RR_RXBB_C1G GENMASK(9, 8)
#define RR_RXBB_ATTR GENMASK(7, 4)
#define RR_RXBB_ATTC GENMASK(2, 0)
#define RR_RXG 0x84
#define RR_RXG_IQKMOD GENMASK(19, 16)
#define RR_XGLNA2 0x85
#define RR_XGLNA2_SW GENMASK(1, 0)
#define RR_RXAE 0x89
#define RR_RXAE_IQKMOD GENMASK(3, 0)
#define RR_RXA 0x8a
#define RR_RXA_DPK GENMASK(9, 8)
#define RR_RXA2 0x8c
#define RR_RXA2_C1 GENMASK(12, 10)
#define RR_RXA2_C2 GENMASK(9, 3)
#define RR_RXA2_IATT GENMASK(7, 4)
#define RR_RXA2_ATT GENMASK(3, 0)
#define RR_RXIQGEN 0x8d
#define RR_RXIQGEN_ATTL GENMASK(12, 8)
#define RR_RXIQGEN_ATTH GENMASK(14, 13)
#define RR_RXBB2 0x8f
#define RR_RXBB2_DAC_EN BIT(13)
#define RR_RXBB2_CKT BIT(12)
#define RR_EN_TIA_IDA GENMASK(11, 10)
#define RR_RXBB2_IDAC GENMASK(11, 9)
#define RR_RXBB2_EBW GENMASK(6, 5)
#define RR_XALNA2 0x90
#define RR_XALNA2_SW GENMASK(1, 0)
#define RR_DCK 0x92
#define RR_DCK_DONE GENMASK(7, 5)
#define RR_DCK_FINE BIT(1)
#define RR_DCK_LV BIT(0)
#define RR_DCK1 0x93
#define RR_DCK1_DONE BIT(5)
#define RR_DCK1_CLR GENMASK(3, 0)
#define RR_DCK1_SEL BIT(3)
#define RR_DCK2 0x94
#define RR_DCK2_CYCLE GENMASK(7, 2)
#define RR_DCKC 0x95
#define RR_DCKC_CHK BIT(3)
#define RR_IQGEN 0x97
#define RR_IQGEN_BIAS GENMASK(11, 8)
#define RR_TXIQK 0x98
#define RR_TXIQK_ATT2 GENMASK(15, 12)
#define RR_TIA 0x9e
#define RR_TIA_N6 BIT(8)
#define RR_MIXER 0x9f
#define RR_MIXER_GN GENMASK(4, 3)
#define RR_LOGEN 0xa3
#define RR_LOGEN_RPT GENMASK(19, 16)
#define RR_XTALX2 0xb8
#define RR_MALSEL 0xbe
#define RR_LCK_TRG 0xd3
#define RR_LCK_TRGSEL BIT(8)
#define RR_IQKPLL 0xdc
#define RR_IQKPLL_MOD GENMASK(9, 8)
#define RR_RCKD 0xde
#define RR_RCKD_POW GENMASK(19, 13)
#define RR_RCKD_BW BIT(2)
#define RR_TXADBG 0xde
#define RR_LUTDBG 0xdf
#define RR_LUTDBG_TIA BIT(12)
#define RR_LUTDBG_LOK BIT(2)
#define RR_LUTWE2 0xee
#define RR_LUTWE2_RTXBW BIT(2)
#define RR_LUTWE 0xef
#define RR_LUTWE_LOK BIT(2)
#define RR_RFC 0xf0
#define RR_RFC_CKEN BIT(1)
#define R_UPD_P0 0x0000
#define R_RSTB_WATCH_DOG 0x000C
#define B_P0_RSTB_WATCH_DOG BIT(0)
#define B_P1_RSTB_WATCH_DOG BIT(1)
#define B_UPD_P0_EN BIT(31)
#define R_ANAPAR_PW15 0x030C
#define B_ANAPAR_PW15 GENMASK(31, 24)
#define B_ANAPAR_PW15_H GENMASK(27, 24)
#define B_ANAPAR_PW15_H2 GENMASK(27, 26)
#define R_ANAPAR 0x032C
#define B_ANAPAR_15 GENMASK(31, 16)
#define B_ANAPAR_ADCCLK BIT(30)
#define B_ANAPAR_FLTRST BIT(22)
#define B_ANAPAR_CRXBB GENMASK(18, 16)
#define B_ANAPAR_14 GENMASK(15, 0)
#define R_RFE_E_A2 0x0334
#define R_RFE_O_SEL_A2 0x0338
#define R_RFE_SEL0_A2 0x033C
#define R_RFE_SEL32_A2 0x0340
#define R_SWSI_DATA_V1 0x0370
#define B_SWSI_DATA_VAL_V1 GENMASK(19, 0)
#define B_SWSI_DATA_ADDR_V1 GENMASK(27, 20)
#define B_SWSI_DATA_PATH_V1 GENMASK(30, 28)
#define B_SWSI_DATA_BIT_MASK_EN_V1 BIT(31)
#define R_SWSI_BIT_MASK_V1 0x0374
#define B_SWSI_BIT_MASK_V1 GENMASK(19, 0)
#define R_SWSI_READ_ADDR_V1 0x0378
#define B_SWSI_READ_ADDR_ADDR_V1 GENMASK(7, 0)
#define B_SWSI_READ_ADDR_PATH_V1 GENMASK(10, 8)
#define B_SWSI_READ_ADDR_V1 GENMASK(10, 0)
#define R_UPD_CLK_ADC 0x0700
#define B_UPD_CLK_ADC_VAL GENMASK(26, 25)
#define B_UPD_CLK_ADC_ON BIT(24)
#define B_ENABLE_CCK BIT(5)
#define R_RSTB_ASYNC 0x0704
#define B_RSTB_ASYNC_ALL BIT(1)
#define R_MAC_PIN_SEL 0x0734
#define B_CH_IDX_SEG0 GENMASK(23, 16)
#define R_PLCP_HISTOGRAM 0x0738
#define B_STS_PARSING_TIME GENMASK(19, 16)
#define B_STS_DIS_TRIG_BY_FAIL BIT(3)
#define B_STS_DIS_TRIG_BY_BRK BIT(2)
#define R_PHY_STS_BITMAP_ADDR_START R_PHY_STS_BITMAP_SEARCH_FAIL
#define B_PHY_STS_BITMAP_ADDR_MASK GENMASK(6, 2)
#define R_PHY_STS_BITMAP_SEARCH_FAIL 0x073C
#define B_PHY_STS_BITMAP_MSK_52A 0x337cff3f
#define R_PHY_STS_BITMAP_R2T 0x0740
#define R_PHY_STS_BITMAP_CCA_SPOOF 0x0744
#define R_PHY_STS_BITMAP_OFDM_BRK 0x0748
#define R_PHY_STS_BITMAP_CCK_BRK 0x074C
#define R_PHY_STS_BITMAP_DL_MU_SPOOF 0x0750
#define R_PHY_STS_BITMAP_HE_MU 0x0754
#define R_PHY_STS_BITMAP_VHT_MU 0x0758
#define R_PHY_STS_BITMAP_UL_TB_SPOOF 0x075C
#define R_PHY_STS_BITMAP_TRIGBASE 0x0760
#define R_PHY_STS_BITMAP_CCK 0x0764
#define R_PHY_STS_BITMAP_LEGACY 0x0768
#define R_PHY_STS_BITMAP_HT 0x076C
#define R_PHY_STS_BITMAP_VHT 0x0770
#define R_PHY_STS_BITMAP_HE 0x0774
#define R_PMAC_GNT 0x0980
#define B_PMAC_GNT_TXEN BIT(0)
#define B_PMAC_GNT_RXEN BIT(16)
#define B_PMAC_GNT_P1 GENMASK(20, 17)
#define B_PMAC_GNT_P2 GENMASK(29, 26)
#define R_PMAC_RX_CFG1 0x0988
#define B_PMAC_OPT1_MSK GENMASK(11, 0)
#define R_PMAC_RXMOD 0x0994
#define B_PMAC_RXMOD_MSK GENMASK(7, 4)
#define R_MAC_SEL 0x09A4
#define B_MAC_SEL_OFDM_TRI_FILTER BIT(31)
#define B_MAC_SEL_PWR_EN BIT(16)
#define B_MAC_SEL_DPD_EN BIT(10)
#define B_MAC_SEL_MOD GENMASK(4, 2)
#define R_PMAC_TX_CTRL 0x09C0
#define B_PMAC_TXEN_DIS BIT(0)
#define R_PMAC_TX_PRD 0x09C4
#define B_PMAC_TX_PRD_MSK GENMASK(31, 8)
#define B_PMAC_CTX_EN BIT(0)
#define B_PMAC_PTX_EN BIT(4)
#define R_PMAC_TX_CNT 0x09C8
#define B_PMAC_TX_CNT_MSK GENMASK(31, 0)
#define R_P80_AT_HIGH_FREQ 0x09D8
#define B_P80_AT_HIGH_FREQ BIT(26)
#define R_DBCC_80P80_SEL_EVM_RPT 0x0A10
#define B_DBCC_80P80_SEL_EVM_RPT_EN BIT(0)
#define R_CCX 0x0C00
#define B_CCX_EDCCA_OPT_MSK GENMASK(6, 4)
#define B_MEASUREMENT_TRIG_MSK BIT(2)
#define B_CCX_TRIG_OPT_MSK BIT(1)
#define B_CCX_EN_MSK BIT(0)
#define R_IFS_COUNTER 0x0C28
#define B_IFS_CLM_PERIOD_MSK GENMASK(31, 16)
#define B_IFS_CLM_COUNTER_UNIT_MSK GENMASK(15, 14)
#define B_IFS_COUNTER_CLR_MSK BIT(13)
#define B_IFS_COLLECT_EN BIT(12)
#define R_IFS_T1 0x0C2C
#define B_IFS_T1_TH_HIGH_MSK GENMASK(31, 16)
#define B_IFS_T1_EN_MSK BIT(15)
#define B_IFS_T1_TH_LOW_MSK GENMASK(14, 0)
#define R_IFS_T2 0x0C30
#define B_IFS_T2_TH_HIGH_MSK GENMASK(31, 16)
#define B_IFS_T2_EN_MSK BIT(15)
#define B_IFS_T2_TH_LOW_MSK GENMASK(14, 0)
#define R_IFS_T3 0x0C34
#define B_IFS_T3_TH_HIGH_MSK GENMASK(31, 16)
#define B_IFS_T3_EN_MSK BIT(15)
#define B_IFS_T3_TH_LOW_MSK GENMASK(14, 0)
#define R_IFS_T4 0x0C38
#define B_IFS_T4_TH_HIGH_MSK GENMASK(31, 16)
#define B_IFS_T4_EN_MSK BIT(15)
#define B_IFS_T4_TH_LOW_MSK GENMASK(14, 0)
#define R_PD_CTRL 0x0C3C
#define B_PD_HIT_DIS BIT(9)
#define R_IOQ_IQK_DPK 0x0C60
#define B_IOQ_IQK_DPK_EN BIT(1)
#define R_GNT_BT_WGT_EN 0x0C6C
#define B_GNT_BT_WGT_EN BIT(21)
#define R_PD_ARBITER_OFF 0x0C80
#define B_PD_ARBITER_OFF BIT(31)
#define R_SNDCCA_A1 0x0C9C
#define B_SNDCCA_A1_EN GENMASK(19, 12)
#define R_SNDCCA_A2 0x0CA0
#define B_SNDCCA_A2_VAL GENMASK(19, 12)
#define R_RXHT_MCS_LIMIT 0x0D18
#define B_RXHT_MCS_LIMIT GENMASK(9, 8)
#define R_RXVHT_MCS_LIMIT 0x0D18
#define B_RXVHT_MCS_LIMIT GENMASK(22, 21)
#define R_P0_EN_SOUND_WO_NDP 0x0D7C
#define B_P0_EN_SOUND_WO_NDP BIT(1)
#define R_RXHE 0x0D80
#define B_RXHETB_MAX_NSS GENMASK(25, 23)
#define B_RXHE_MAX_NSS GENMASK(16, 14)
#define B_RXHE_USER_MAX GENMASK(13, 6)
#define R_SPOOF_ASYNC_RST 0x0D84
#define B_SPOOF_ASYNC_RST BIT(15)
#define R_NDP_BRK0 0xDA0
#define R_NDP_BRK1 0xDA4
#define B_NDP_RU_BRK BIT(0)
#define R_BRK_ASYNC_RST_EN_1 0x0DC0
#define R_BRK_ASYNC_RST_EN_2 0x0DC4
#define R_BRK_ASYNC_RST_EN_3 0x0DC8
#define R_S0_HW_SI_DIS 0x1200
#define B_S0_HW_SI_DIS_W_R_TRIG GENMASK(30, 28)
#define R_P0_RXCK 0x12A0
#define B_P0_RXCK_BW3 BIT(30)
#define B_P0_TXCK_ALL GENMASK(19, 12)
#define B_P0_RXCK_ON BIT(19)
#define B_P0_RXCK_VAL GENMASK(18, 16)
#define B_P0_TXCK_ON BIT(15)
#define B_P0_TXCK_VAL GENMASK(14, 12)
#define R_P0_RFMODE 0x12AC
#define B_P0_RFMODE_ORI_TXRX_FTM_TX GENMASK(31, 4)
#define B_P0_RFMODE_MUX GENMASK(11, 4)
#define R_P0_NRBW 0x12B8
#define B_P0_NRBW_DBG BIT(30)
#define R_S0_RXDC 0x12D4
#define B_S0_RXDC_I GENMASK(25, 16)
#define B_S0_RXDC_Q GENMASK(31, 26)
#define R_S0_RXDC2 0x12D8
#define B_S0_RXDC2_SEL GENMASK(9, 8)
#define B_S0_RXDC2_AVG GENMASK(7, 6)
#define B_S0_RXDC2_MEN GENMASK(5, 4)
#define B_S0_RXDC2_Q2 GENMASK(3, 0)
#define R_CFO_COMP_SEG0_L 0x1384
#define R_CFO_COMP_SEG0_H 0x1388
#define R_CFO_COMP_SEG0_CTRL 0x138C
#define R_DBG32_D 0x1730
#define R_SWSI_V1 0x174C
#define B_SWSI_W_BUSY_V1 BIT(24)
#define B_SWSI_R_BUSY_V1 BIT(25)
#define B_SWSI_R_DATA_DONE_V1 BIT(26)
#define R_TX_COUNTER 0x1A40
#define R_IFS_CLM_TX_CNT 0x1ACC
#define B_IFS_CLM_EDCCA_EXCLUDE_CCA_FA_MSK GENMASK(31, 16)
#define B_IFS_CLM_TX_CNT_MSK GENMASK(15, 0)
#define R_IFS_CLM_CCA 0x1AD0
#define B_IFS_CLM_OFDMCCA_EXCLUDE_FA_MSK GENMASK(31, 16)
#define B_IFS_CLM_CCKCCA_EXCLUDE_FA_MSK GENMASK(15, 0)
#define R_IFS_CLM_FA 0x1AD4
#define B_IFS_CLM_OFDM_FA_MSK GENMASK(31, 16)
#define B_IFS_CLM_CCK_FA_MSK GENMASK(15, 0)
#define R_IFS_HIS 0x1AD8
#define B_IFS_T4_HIS_MSK GENMASK(31, 24)
#define B_IFS_T3_HIS_MSK GENMASK(23, 16)
#define B_IFS_T2_HIS_MSK GENMASK(15, 8)
#define B_IFS_T1_HIS_MSK GENMASK(7, 0)
#define R_IFS_AVG_L 0x1ADC
#define B_IFS_T2_AVG_MSK GENMASK(31, 16)
#define B_IFS_T1_AVG_MSK GENMASK(15, 0)
#define R_IFS_AVG_H 0x1AE0
#define B_IFS_T4_AVG_MSK GENMASK(31, 16)
#define B_IFS_T3_AVG_MSK GENMASK(15, 0)
#define R_IFS_CCA_L 0x1AE4
#define B_IFS_T2_CCA_MSK GENMASK(31, 16)
#define B_IFS_T1_CCA_MSK GENMASK(15, 0)
#define R_IFS_CCA_H 0x1AE8
#define B_IFS_T4_CCA_MSK GENMASK(31, 16)
#define B_IFS_T3_CCA_MSK GENMASK(15, 0)
#define R_IFSCNT 0x1AEC
#define B_IFSCNT_DONE_MSK BIT(16)
#define B_IFSCNT_TOTAL_CNT_MSK GENMASK(15, 0)
#define R_TXAGC_TP 0x1C04
#define B_TXAGC_TP GENMASK(2, 0)
#define R_TSSI_THER 0x1C10
#define B_TSSI_THER GENMASK(29, 24)
#define R_TXAGC_BTP 0x1CA0
#define B_TXAGC_BTP GENMASK(31, 24)
#define R_TXAGC_BB 0x1C60
#define B_TXAGC_BB_OFT GENMASK(31, 16)
#define B_TXAGC_BB GENMASK(31, 24)
#define R_S0_ADDCK 0x1E00
#define B_S0_ADDCK_I GENMASK(9, 0)
#define B_S0_ADDCK_Q GENMASK(19, 10)
#define R_ADC_FIFO 0x20fc
#define B_ADC_FIFO_RST GENMASK(31, 24)
#define B_ADC_FIFO_RXK GENMASK(31, 16)
#define B_ADC_FIFO_A3 BIT(28)
#define B_ADC_FIFO_A2 BIT(24)
#define B_ADC_FIFO_A1 BIT(20)
#define B_ADC_FIFO_A0 BIT(16)
#define R_TXFIR0 0x2300
#define B_TXFIR_C01 GENMASK(23, 0)
#define R_TXFIR2 0x2304
#define B_TXFIR_C23 GENMASK(23, 0)
#define R_TXFIR4 0x2308
#define B_TXFIR_C45 GENMASK(23, 0)
#define R_TXFIR6 0x230c
#define B_TXFIR_C67 GENMASK(23, 0)
#define R_TXFIR8 0x2310
#define B_TXFIR_C89 GENMASK(23, 0)
#define R_TXFIRA 0x2314
#define B_TXFIR_CAB GENMASK(23, 0)
#define R_TXFIRC 0x2318
#define B_TXFIR_CCD GENMASK(23, 0)
#define R_TXFIRE 0x231c
#define B_TXFIR_CEF GENMASK(23, 0)
#define R_11B_RX_V1 0x2320
#define B_11B_RXCCA_DIS_V1 BIT(0)
#define R_RPL_OFST 0x2340
#define B_RPL_OFST_MASK GENMASK(14, 8)
#define R_RXCCA 0x2344
#define B_RXCCA_DIS BIT(31)
#define R_RXCCA_V1 0x2320
#define B_RXCCA_DIS_V1 BIT(0)
#define R_RXSC 0x237C
#define B_RXSC_EN BIT(0)
#define R_RXSCOBC 0x23B0
#define B_RXSCOBC_TH GENMASK(18, 0)
#define R_RXSCOCCK 0x23B4
#define B_RXSCOCCK_TH GENMASK(18, 0)
#define R_P80_AT_HIGH_FREQ_RU_ALLOC 0x2410
#define B_P80_AT_HIGH_FREQ_RU_ALLOC_PHY1 BIT(14)
#define B_P80_AT_HIGH_FREQ_RU_ALLOC_PHY0 BIT(13)
#define R_DBCC_80P80_SEL_EVM_RPT2 0x2A10
#define B_DBCC_80P80_SEL_EVM_RPT2_EN BIT(0)
#define R_P1_EN_SOUND_WO_NDP 0x2D7C
#define B_P1_EN_SOUND_WO_NDP BIT(1)
#define R_S1_HW_SI_DIS 0x3200
#define B_S1_HW_SI_DIS_W_R_TRIG GENMASK(30, 28)
#define R_P1_RFMODE 0x32AC
#define B_P1_RFMODE_ORI_TXRX_FTM_TX GENMASK(31, 4)
#define B_P1_RFMODE_MUX GENMASK(11, 4)
#define R_P1_DBGMOD 0x32B8
#define B_P1_DBGMOD_ON BIT(30)
#define R_S1_RXDC 0x32D4
#define B_S1_RXDC_I GENMASK(25, 16)
#define B_S1_RXDC_Q GENMASK(31, 26)
#define R_S1_RXDC2 0x32D8
#define B_S1_RXDC2_EN GENMASK(5, 4)
#define B_S1_RXDC2_SEL GENMASK(9, 8)
#define B_S1_RXDC2_Q2 GENMASK(3, 0)
#define R_TXAGC_BB_S1 0x3C60
#define B_TXAGC_BB_S1_OFT GENMASK(31, 16)
#define B_TXAGC_BB_S1 GENMASK(31, 24)
#define R_S1_ADDCK 0x3E00
#define B_S1_ADDCK_I GENMASK(9, 0)
#define B_S1_ADDCK_Q GENMASK(19, 10)
#define R_MUIC 0x40F8
#define B_MUIC_EN BIT(0)
#define R_DCFO 0x4264
#define B_DCFO GENMASK(1, 0)
#define R_SEG0CSI 0x42AC
#define B_SEG0CSI_IDX GENMASK(11, 0)
#define R_SEG0CSI_EN 0x42C4
#define B_SEG0CSI_EN BIT(23)
#define R_BSS_CLR_MAP 0x43ac
#define B_BSS_CLR_MAP_VLD0 BIT(28)
#define B_BSS_CLR_MAP_TGT GENMASK(27, 22)
#define B_BSS_CLR_MAP_STAID GENMASK(21, 11)
#define R_CFO_TRK0 0x4404
#define R_CFO_TRK1 0x440C
#define B_CFO_TRK_MSK GENMASK(14, 10)
#define R_T2F_GI_COMB 0x4424
#define B_T2F_GI_COMB_EN BIT(2)
#define R_BT_DYN_DC_EST_EN 0x441C
#define B_BT_DYN_DC_EST_EN_MSK BIT(31)
#define R_ASSIGN_SBD_OPT 0x4450
#define B_ASSIGN_SBD_OPT_EN BIT(24)
#define R_DCFO_COMP_S0 0x448C
#define B_DCFO_COMP_S0_MSK GENMASK(11, 0)
#define R_DCFO_WEIGHT 0x4490
#define B_DCFO_WEIGHT_MSK GENMASK(27, 24)
#define R_DCFO_OPT 0x4494
#define B_DCFO_OPT_EN BIT(29)
#define R_BANDEDGE 0x4498
#define B_BANDEDGE_EN BIT(30)
#define R_TXPATH_SEL 0x458C
#define B_TXPATH_SEL_MSK GENMASK(31, 28)
#define R_TXPWR 0x4594
#define B_TXPWR_MSK GENMASK(30, 22)
#define R_TXNSS_MAP 0x45B4
#define B_TXNSS_MAP_MSK GENMASK(20, 17)
#define R_PCOEFF0_V1 0x45BC
#define B_PCOEFF01_MSK_V1 GENMASK(23, 0)
#define R_PCOEFF2_V1 0x45CC
#define B_PCOEFF23_MSK_V1 GENMASK(23, 0)
#define R_PCOEFF4_V1 0x45D0
#define B_PCOEFF45_MSK_V1 GENMASK(23, 0)
#define R_PCOEFF6_V1 0x45D4
#define B_PCOEFF67_MSK_V1 GENMASK(23, 0)
#define R_PCOEFF8_V1 0x45D8
#define B_PCOEFF89_MSK_V1 GENMASK(23, 0)
#define R_PCOEFFA_V1 0x45C0
#define B_PCOEFFAB_MSK_V1 GENMASK(23, 0)
#define R_PCOEFFC_V1 0x45C4
#define B_PCOEFFCD_MSK_V1 GENMASK(23, 0)
#define R_PCOEFFE_V1 0x45C8
#define B_PCOEFFEF_MSK_V1 GENMASK(23, 0)
#define R_PATH0_IB_PKPW 0x4628
#define B_PATH0_IB_PKPW_MSK GENMASK(11, 6)
#define R_PATH0_LNA_ERR1 0x462C
#define B_PATH0_LNA_ERR_G1_A_MSK GENMASK(29, 24)
#define B_PATH0_LNA_ERR_G0_G_MSK GENMASK(17, 12)
#define B_PATH0_LNA_ERR_G0_A_MSK GENMASK(11, 6)
#define R_PATH0_LNA_ERR2 0x4630
#define B_PATH0_LNA_ERR_G2_G_MSK GENMASK(23, 18)
#define B_PATH0_LNA_ERR_G2_A_MSK GENMASK(17, 12)
#define B_PATH0_LNA_ERR_G1_G_MSK GENMASK(5, 0)
#define R_PATH0_LNA_ERR3 0x4634
#define B_PATH0_LNA_ERR_G4_G_MSK GENMASK(29, 24)
#define B_PATH0_LNA_ERR_G4_A_MSK GENMASK(23, 18)
#define B_PATH0_LNA_ERR_G3_G_MSK GENMASK(11, 6)
#define B_PATH0_LNA_ERR_G3_A_MSK GENMASK(5, 0)
#define R_PATH0_LNA_ERR4 0x4638
#define B_PATH0_LNA_ERR_G6_A_MSK GENMASK(29, 24)
#define B_PATH0_LNA_ERR_G5_G_MSK GENMASK(17, 12)
#define B_PATH0_LNA_ERR_G5_A_MSK GENMASK(11, 6)
#define R_PATH0_LNA_ERR5 0x463C
#define B_PATH0_LNA_ERR_G6_G_MSK GENMASK(5, 0)
#define R_PATH0_TIA_ERR_G0 0x4640
#define B_PATH0_TIA_ERR_G0_G_MSK GENMASK(23, 18)
#define B_PATH0_TIA_ERR_G0_A_MSK GENMASK(17, 12)
#define R_PATH0_TIA_ERR_G1 0x4644
#define B_PATH0_TIA_ERR_G1_SEL GENMASK(31, 30)
#define B_PATH0_TIA_ERR_G1_G_MSK GENMASK(11, 6)
#define B_PATH0_TIA_ERR_G1_A_MSK GENMASK(5, 0)
#define R_PATH0_IB_PBK 0x4650
#define B_PATH0_IB_PBK_MSK GENMASK(14, 10)
#define R_PATH0_RXB_INIT 0x4658
#define B_PATH0_RXB_INIT_IDX_MSK GENMASK(9, 5)
#define R_PATH0_LNA_INIT 0x4668
#define R_PATH0_LNA_INIT_V1 0x472C
#define B_PATH0_LNA_INIT_IDX_MSK GENMASK(26, 24)
#define R_PATH0_BTG 0x466C
#define B_PATH0_BTG_SHEN GENMASK(18, 17)
#define R_PATH0_TIA_INIT 0x4674
#define B_PATH0_TIA_INIT_IDX_MSK BIT(17)
#define R_PATH0_P20_FOLLOW_BY_PAGCUGC 0x46A0
#define R_PATH0_P20_FOLLOW_BY_PAGCUGC_V1 0x4C24
#define R_PATH0_P20_FOLLOW_BY_PAGCUGC_V2 0x46E8
#define B_PATH0_P20_FOLLOW_BY_PAGCUGC_EN_MSK BIT(5)
#define R_PATH0_S20_FOLLOW_BY_PAGCUGC 0x46A4
#define R_PATH0_S20_FOLLOW_BY_PAGCUGC_V1 0x4C28
#define R_PATH0_S20_FOLLOW_BY_PAGCUGC_V2 0x46EC
#define B_PATH0_S20_FOLLOW_BY_PAGCUGC_EN_MSK BIT(5)
#define R_PATH0_RXB_INIT_V1 0x46A8
#define B_PATH0_RXB_INIT_IDX_MSK_V1 GENMASK(14, 10)
#define R_PATH0_G_LNA6_OP1DB_V1 0x4688
#define B_PATH0_G_LNA6_OP1DB_V1 GENMASK(31, 24)
#define R_PATH0_G_TIA0_LNA6_OP1DB_V1 0x4694
#define B_PATH0_G_TIA0_LNA6_OP1DB_V1 GENMASK(7, 0)
#define R_PATH0_G_TIA1_LNA6_OP1DB_V1 0x4694
#define B_PATH0_R_G_OFST_MASK GENMASK(23, 16)
#define B_PATH0_G_TIA1_LNA6_OP1DB_V1 GENMASK(15, 8)
#define R_CDD_EVM_CHK_EN 0x46C0
#define B_CDD_EVM_CHK_EN BIT(0)
#define R_PATH0_BAND_SEL_V1 0x4738
#define B_PATH0_BAND_SEL_MSK_V1 BIT(17)
#define R_PATH0_BT_SHARE_V1 0x4738
#define B_PATH0_BT_SHARE_V1 BIT(19)
#define R_PATH0_BTG_PATH_V1 0x4738
#define B_PATH0_BTG_PATH_V1 BIT(22)
#define R_P0_NBIIDX 0x469C
#define B_P0_NBIIDX_VAL GENMASK(11, 0)
#define B_P0_NBIIDX_NOTCH_EN BIT(12)
#define R_P0_BACKOFF_IBADC_V1 0x469C
#define B_P0_BACKOFF_IBADC_V1 GENMASK(31, 26)
#define B_P0_NBIIDX_NOTCH_EN_V1 BIT(12)
#define R_P1_MODE 0x4718
#define B_P1_MODE_SEL GENMASK(31, 30)
#define R_P0_AGC_CTL 0x4730
#define B_P0_AGC_EN BIT(31)
#define R_PATH1_LNA_INIT 0x473C
#define R_PATH1_LNA_INIT_V1 0x4A80
#define B_PATH1_LNA_INIT_IDX_MSK GENMASK(26, 24)
#define R_PATH0_TIA_INIT_V1 0x473C
#define B_PATH0_TIA_INIT_IDX_MSK_V1 BIT(9)
#define R_PATH1_TIA_INIT 0x4748
#define B_PATH1_TIA_INIT_IDX_MSK BIT(17)
#define R_PATH1_BTG 0x4740
#define B_PATH1_BTG_SHEN GENMASK(18, 17)
#define R_PATH1_RXB_INIT 0x472C
#define B_PATH1_RXB_INIT_IDX_MSK GENMASK(9, 5)
#define R_PATH1_G_LNA6_OP1DB_V1 0x476C
#define B_PATH1_G_LNA6_OP1DB_V1 GENMASK(31, 24)
#define R_PATH1_P20_FOLLOW_BY_PAGCUGC 0x4774
#define R_PATH1_P20_FOLLOW_BY_PAGCUGC_V1 0x4CE8
#define R_PATH1_P20_FOLLOW_BY_PAGCUGC_V2 0x47A8
#define B_PATH1_P20_FOLLOW_BY_PAGCUGC_EN_MSK BIT(5)
#define R_PATH1_S20_FOLLOW_BY_PAGCUGC 0x4778
#define R_PATH1_S20_FOLLOW_BY_PAGCUGC_V1 0x4CEC
#define R_PATH1_S20_FOLLOW_BY_PAGCUGC_V2 0x47AC
#define B_PATH1_S20_FOLLOW_BY_PAGCUGC_EN_MSK BIT(5)
#define R_PATH1_G_TIA0_LNA6_OP1DB_V1 0x4778
#define B_PATH1_G_TIA0_LNA6_OP1DB_V1 GENMASK(7, 0)
#define R_PATH1_G_TIA1_LNA6_OP1DB_V1 0x4778
#define B_PATH1_G_TIA1_LNA6_OP1DB_V1 GENMASK(15, 8)
#define R_PATH1_BAND_SEL_V1 0x4AA4
#define B_PATH1_BAND_SEL_MSK_V1 BIT(17)
#define R_PATH1_BT_SHARE_V1 0x4AA4
#define B_PATH1_BT_SHARE_V1 BIT(19)
#define R_PATH1_BTG_PATH_V1 0x4AA4
#define B_PATH1_BTG_PATH_V1 BIT(22)
#define R_P1_NBIIDX 0x4770
#define B_P1_NBIIDX_VAL GENMASK(11, 0)
#define B_P1_NBIIDX_NOTCH_EN BIT(12)
#define R_SEG0R_PD 0x481C
#define R_SEG0R_PD_V1 0x4860
#define B_SEG0R_PD_SPATIAL_REUSE_EN_MSK_V1 BIT(30)
#define B_SEG0R_PD_SPATIAL_REUSE_EN_MSK BIT(29)
#define B_SEG0R_PD_LOWER_BOUND_MSK GENMASK(10, 6)
#define R_2P4G_BAND 0x4970
#define B_2P4G_BAND_SEL BIT(1)
#define R_FC0_BW 0x4974
#define B_FC0_BW_INV GENMASK(6, 0)
#define B_FC0_BW_SET GENMASK(31, 30)
#define B_ANT_RX_BT_SEG0 GENMASK(25, 22)
#define B_ANT_RX_1RCCA_SEG1 GENMASK(21, 18)
#define B_ANT_RX_1RCCA_SEG0 GENMASK(17, 14)
#define R_CHBW_MOD 0x4978
#define B_BT_SHARE BIT(14)
#define B_CHBW_MOD_SBW GENMASK(13, 12)
#define B_CHBW_MOD_PRICH GENMASK(11, 8)
#define B_ANT_RX_SEG0 GENMASK(3, 0)
#define R_PD_BOOST_EN 0x49E8
#define B_PD_BOOST_EN BIT(7)
#define R_P1_BACKOFF_IBADC_V1 0x49F0
#define B_P1_BACKOFF_IBADC_V1 GENMASK(31, 26)
#define R_BK_FC0_INV_V1 0x4A1C
#define B_BK_FC0_INV_MSK_V1 GENMASK(18, 0)
#define R_CCK_FC0_INV_V1 0x4A20
#define B_CCK_FC0_INV_MSK_V1 GENMASK(18, 0)
#define R_PATH1_RXB_INIT_V1 0x4A5C
#define B_PATH1_RXB_INIT_IDX_MSK_V1 GENMASK(14, 10)
#define R_P1_AGC_CTL 0x4A9C
#define B_P1_AGC_EN BIT(31)
#define R_PATH1_TIA_INIT_V1 0x4AA8
#define B_PATH1_TIA_INIT_IDX_MSK_V1 BIT(9)
#define R_PATH0_RXBB_V1 0x4AD4
#define B_PATH0_RXBB_MSK_V1 GENMASK(31, 0)
#define R_PATH1_RXBB_V1 0x4AE0
#define B_PATH1_RXBB_MSK_V1 GENMASK(31, 0)
#define R_PATH0_BT_BACKOFF_V1 0x4AE4
#define B_PATH0_BT_BACKOFF_V1 GENMASK(23, 0)
#define R_PATH1_BT_BACKOFF_V1 0x4AEC
#define B_PATH1_BT_BACKOFF_V1 GENMASK(23, 0)
#define R_PATH0_FRC_FIR_TYPE_V1 0x4C00
#define B_PATH0_FRC_FIR_TYPE_MSK_V1 GENMASK(1, 0)
#define R_PATH0_NOTCH 0x4C14
#define B_PATH0_NOTCH_EN BIT(12)
#define B_PATH0_NOTCH_VAL GENMASK(11, 0)
#define R_PATH0_NOTCH2 0x4C20
#define B_PATH0_NOTCH2_EN BIT(12)
#define B_PATH0_NOTCH2_VAL GENMASK(11, 0)
#define R_PATH0_5MDET 0x4C4C
#define B_PATH0_5MDET_EN BIT(12)
#define B_PATH0_5MDET_SB2 BIT(8)
#define B_PATH0_5MDET_SB0 BIT(6)
#define B_PATH0_5MDET_TH GENMASK(5, 0)
#define R_PATH1_FRC_FIR_TYPE_V1 0x4CC4
#define B_PATH1_FRC_FIR_TYPE_MSK_V1 GENMASK(1, 0)
#define R_PATH1_NOTCH 0x4CD8
#define B_PATH1_NOTCH_EN BIT(12)
#define B_PATH1_NOTCH_VAL GENMASK(11, 0)
#define R_PATH1_NOTCH2 0x4CE4
#define B_PATH1_NOTCH2_EN BIT(12)
#define B_PATH1_NOTCH2_VAL GENMASK(11, 0)
#define R_PATH1_5MDET 0x4D10
#define B_PATH1_5MDET_EN BIT(12)
#define B_PATH1_5MDET_SB2 BIT(8)
#define B_PATH1_5MDET_SB0 BIT(6)
#define B_PATH1_5MDET_TH GENMASK(5, 0)
#define R_RPL_BIAS_COMP 0x4DF0
#define B_RPL_BIAS_COMP_MASK GENMASK(7, 0)
#define R_RPL_PATHAB 0x4E0C
#define B_RPL_PATHB_MASK GENMASK(23, 16)
#define B_RPL_PATHA_MASK GENMASK(15, 8)
#define R_RSSI_M_PATHAB 0x4E2C
#define B_RSSI_M_PATHB_MASK GENMASK(15, 8)
#define B_RSSI_M_PATHA_MASK GENMASK(7, 0)
#define R_FC0_V1 0x4E30
#define B_FC0_MSK_V1 GENMASK(12, 0)
#define R_RX_BW40_2XFFT_EN_V1 0x4E30
#define B_RX_BW40_2XFFT_EN_MSK_V1 BIT(26)
#define R_DCFO_COMP_S0_V1 0x4A40
#define B_DCFO_COMP_S0_V1_MSK GENMASK(13, 0)
#define R_BMODE_PDTH_V1 0x4B64
#define B_BMODE_PDTH_LOWER_BOUND_MSK_V1 GENMASK(31, 24)
#define R_BMODE_PDTH_EN_V1 0x4B74
#define B_BMODE_PDTH_LIMIT_EN_MSK_V1 BIT(30)
#define R_CFO_COMP_SEG1_L 0x5384
#define R_CFO_COMP_SEG1_H 0x5388
#define R_CFO_COMP_SEG1_CTRL 0x538C
#define B_CFO_COMP_VALID_BIT BIT(29)
#define B_CFO_COMP_WEIGHT_MSK GENMASK(27, 24)
#define B_CFO_COMP_VAL_MSK GENMASK(11, 0)
#define R_UPD_CLK 0x5670
#define B_DAC_VAL BIT(31)
#define B_ACK_VAL GENMASK(30, 29)
#define B_DPD_DIS BIT(14)
#define B_DPD_GDIS BIT(13)
#define B_IQK_RFC_ON BIT(1)
#define R_TXPWRB 0x56CC
#define B_TXPWRB_ON BIT(28)
#define B_TXPWRB_VAL GENMASK(27, 19)
#define R_DPD_OFT_EN 0x5800
#define B_DPD_OFT_EN BIT(28)
#define R_DPD_OFT_ADDR 0x5804
#define B_DPD_OFT_ADDR GENMASK(31, 27)
#define R_TXPWRB_H 0x580c
#define B_TXPWRB_RDY BIT(15)
#define R_P0_TMETER 0x5810
#define B_P0_TMETER GENMASK(15, 10)
#define B_P0_TMETER_DIS BIT(16)
#define B_P0_TMETER_TRK BIT(24)
#define R_P0_TSSI_TRK 0x5818
#define B_P0_TSSI_TRK_EN BIT(30)
#define B_P0_TSSI_OFT_EN BIT(28)
#define B_P0_TSSI_OFT GENMASK(7, 0)
#define R_P0_TSSI_AVG 0x5820
#define B_P0_TSSI_AVG GENMASK(15, 12)
#define R_P0_RFCTM 0x5864
#define B_P0_RFCTM_VAL GENMASK(25, 20)
#define R_P0_RFCTM_RDY BIT(26)
#define R_P0_TRSW 0x5868
#define B_P0_TRSW_B BIT(0)
#define B_P0_TRSW_A BIT(1)
#define B_P0_TRSW_X BIT(2)
#define B_P0_TRSW_SO_A2 GENMASK(7, 5)
#define R_P0_RFM 0x5894
#define B_P0_RFM_DIS_WL BIT(7)
#define B_P0_RFM_TX_OPT BIT(6)
#define B_P0_RFM_BT_EN BIT(5)
#define B_P0_RFM_OUT GENMASK(4, 0)
#define R_P0_TXDPD 0x58D4
#define B_P0_TXDPD GENMASK(31, 28)
#define R_P0_TXPW_RSTB 0x58DC
#define B_P0_TXPW_RSTB_MANON BIT(30)
#define B_P0_TXPW_RSTB_TSSI BIT(31)
#define R_P0_TSSI_MV_AVG 0x58E4
#define B_P0_TSSI_MV_AVG GENMASK(13, 11)
#define R_TXGAIN_SCALE 0x58F0
#define B_TXGAIN_SCALE_EN BIT(19)
#define B_TXGAIN_SCALE_OFT GENMASK(31, 24)
#define R_P0_TSSI_BASE 0x5C00
#define R_S0_DACKI 0x5E00
#define B_S0_DACKI_AR GENMASK(31, 28)
#define B_S0_DACKI_EN BIT(3)
#define R_S0_DACKI2 0x5E30
#define B_S0_DACKI2_K GENMASK(21, 12)
#define R_S0_DACKI7 0x5E44
#define B_S0_DACKI7_K GENMASK(15, 8)
#define R_S0_DACKI8 0x5E48
#define B_S0_DACKI8_K GENMASK(15, 8)
#define R_S0_DACKQ 0x5E50
#define B_S0_DACKQ_AR GENMASK(31, 28)
#define B_S0_DACKQ_EN BIT(3)
#define R_S0_DACKQ2 0x5E80
#define B_S0_DACKQ2_K GENMASK(21, 12)
#define R_S0_DACKQ7 0x5E94
#define B_S0_DACKQ7_K GENMASK(15, 8)
#define R_S0_DACKQ8 0x5E98
#define B_S0_DACKQ8_K GENMASK(15, 8)
#define R_RPL_BIAS_COMP1 0x6DF0
#define B_RPL_BIAS_COMP1_MASK GENMASK(7, 0)
#define R_P1_TMETER 0x7810
#define B_P1_TMETER GENMASK(15, 10)
#define B_P1_TMETER_DIS BIT(16)
#define B_P1_TMETER_TRK BIT(24)
#define R_P1_TSSI_TRK 0x7818
#define B_P1_TSSI_TRK_EN BIT(30)
#define B_P1_TSSI_OFT_EN BIT(28)
#define B_P1_TSSI_OFT GENMASK(7, 0)
#define R_P1_TSSI_AVG 0x7820
#define B_P1_TSSI_AVG GENMASK(15, 12)
#define R_P1_RFCTM 0x7864
#define R_P1_RFCTM_RDY BIT(26)
#define B_P1_RFCTM_VAL GENMASK(25, 20)
#define R_P1_TXPW_RSTB 0x78DC
#define B_P1_TXPW_RSTB_MANON BIT(30)
#define B_P1_TXPW_RSTB_TSSI BIT(31)
#define R_P1_TSSI_MV_AVG 0x78E4
#define B_P1_TSSI_MV_AVG GENMASK(13, 11)
#define R_TSSI_THOF 0x7C00
#define R_S1_DACKI 0x7E00
#define B_S1_DACKI_AR GENMASK(31, 28)
#define B_S1_DACKI_EN BIT(3)
#define R_S1_DACKI2 0x7E30
#define B_S1_DACKI2_K GENMASK(21, 12)
#define R_S1_DACKI7 0x7E44
#define B_S1_DACKI_K GENMASK(15, 8)
#define R_S1_DACKI8 0x7E48
#define B_S1_DACKI8_K GENMASK(15, 8)
#define R_S1_DACKQ 0x7E50
#define B_S1_DACKQ_AR GENMASK(31, 28)
#define B_S1_DACKQ_EN BIT(3)
#define R_S1_DACKQ2 0x7E80
#define B_S1_DACKQ2_K GENMASK(21, 12)
#define R_S1_DACKQ7 0x7E94
#define B_S1_DACKQ7_K GENMASK(15, 8)
#define R_S1_DACKQ8 0x7E98
#define B_S1_DACKQ8_K GENMASK(15, 8)
#define R_NCTL_CFG 0x8000
#define B_NCTL_CFG_SPAGE GENMASK(2, 1)
#define R_NCTL_RPT 0x8008
#define B_NCTL_RPT_FLG BIT(26)
#define R_NCTL_N1 0x8010
#define B_NCTL_N1_CIP GENMASK(7, 0)
#define R_NCTL_N2 0x8014
#define R_IQK_COM 0x8018
#define R_IQK_DIF 0x801C
#define B_IQK_DIF_TRX GENMASK(1, 0)
#define R_IQK_DIF1 0x8020
#define B_IQK_DIF1_TXPI GENMASK(19, 0)
#define R_IQK_DIF2 0x8024
#define B_IQK_DIF2_RXPI GENMASK(19, 0)
#define R_IQK_DIF4 0x802C
#define B_IQK_DIF4_RXT GENMASK(27, 16)
#define B_IQK_DIF4_TXT GENMASK(11, 0)
#define IQK_DF4_TXT_8_25MHZ 0x021
#define R_IQK_CFG 0x8034
#define B_IQK_CFG_SET GENMASK(5, 4)
#define R_TPG_SEL 0x8068
#define R_TPG_MOD 0x806C
#define B_TPG_MOD_F GENMASK(2, 1)
#define R_MDPK_SYNC 0x8070
#define B_MDPK_SYNC_SEL BIT(31)
#define B_MDPK_SYNC_MAN GENMASK(31, 28)
#define R_MDPK_RX_DCK 0x8074
#define B_MDPK_RX_DCK_EN BIT(31)
#define R_KIP_MOD 0x8078
#define B_KIP_MOD GENMASK(19, 0)
#define R_NCTL_RW 0x8080
#define R_KIP_SYSCFG 0x8088
#define R_KIP_CLK 0x808C
#define R_DPK_IDL 0x809C
#define B_DPK_IDL BIT(8)
#define R_LDL_NORM 0x80A0
#define B_LDL_NORM_MA BIT(16)
#define B_LDL_NORM_PN GENMASK(12, 8)
#define B_LDL_NORM_OP GENMASK(1, 0)
#define R_DPK_CTL 0x80B0
#define B_DPK_CTL_EN BIT(28)
#define R_DPK_CFG 0x80B8
#define B_DPK_CFG_IDX GENMASK(14, 12)
#define R_DPK_CFG2 0x80BC
#define B_DPK_CFG2_ST BIT(14)
#define R_DPK_CFG3 0x80C0
#define R_KPATH_CFG 0x80D0
#define B_KPATH_CFG_ED GENMASK(21, 20)
#define R_KIP_RPT1 0x80D4
#define B_KIP_RPT1_SEL GENMASK(21, 16)
#define R_SRAM_IQRX 0x80D8
#define R_GAPK 0x80E0
#define B_GAPK_ADR BIT(0)
#define R_SRAM_IQRX2 0x80E8
#define R_DPK_MPA 0x80EC
#define B_DPK_MPA_T0 BIT(10)
#define B_DPK_MPA_T1 BIT(9)
#define B_DPK_MPA_T2 BIT(8)
#define R_DPK_WR 0x80F4
#define B_DPK_WR_ST BIT(29)
#define R_DPK_TRK 0x80f0
#define B_DPK_TRK_DIS BIT(31)
#define R_RPT_COM 0x80FC
#define B_PRT_COM_SYNERR BIT(30)
#define B_PRT_COM_DCI GENMASK(27, 16)
#define B_PRT_COM_CORV GENMASK(15, 8)
#define B_PRT_COM_DCQ GENMASK(11, 0)
#define B_PRT_COM_RXOV BIT(8)
#define B_PRT_COM_GL GENMASK(7, 4)
#define B_PRT_COM_CORI GENMASK(7, 0)
#define B_PRT_COM_RXBB GENMASK(5, 0)
#define B_PRT_COM_DONE BIT(0)
#define R_COEF_SEL 0x8104
#define B_COEF_SEL_IQC BIT(0)
#define B_COEF_SEL_MDPD BIT(8)
#define R_CFIR_SYS 0x8120
#define R_IQK_RES 0x8124
#define B_IQK_RES_TXCFIR GENMASK(11, 8)
#define B_IQK_RES_RXCFIR GENMASK(3, 0)
#define R_TXIQC 0x8138
#define R_RXIQC 0x813c
#define B_RXIQC_BYPASS BIT(0)
#define B_RXIQC_BYPASS2 BIT(2)
#define B_RXIQC_NEWP GENMASK(19, 8)
#define B_RXIQC_NEWX GENMASK(31, 20)
#define R_KIP 0x8140
#define B_KIP_DBCC BIT(0)
#define B_KIP_RFGAIN BIT(8)
#define R_RFGAIN 0x8144
#define B_RFGAIN_PAD GENMASK(4, 0)
#define B_RFGAIN_TXBB GENMASK(12, 8)
#define R_RFGAIN_BND 0x8148
#define B_RFGAIN_BND GENMASK(4, 0)
#define R_CFIR_MAP 0x8150
#define R_CFIR_LUT 0x8154
#define B_CFIR_LUT_SEL BIT(8)
#define B_CFIR_LUT_SET BIT(4)
#define B_CFIR_LUT_G3 BIT(3)
#define B_CFIR_LUT_G2 BIT(2)
#define B_CFIR_LUT_GP_V1 GENMASK(2, 0)
#define B_CFIR_LUT_GP GENMASK(1, 0)
#define R_DPK_GN 0x819C
#define B_DPK_GN_EN GENMASK(17, 16)
#define B_DPK_GN_AG GENMASK(9, 0)
#define R_DPD_V1 0x81a0
#define B_DPD_LBK BIT(7)
#define R_DPD_CH0 0x81AC
#define R_DPD_BND 0x81B4
#define R_DPD_CH0A 0x81BC
#define B_DPD_MEN GENMASK(31, 28)
#define B_DPD_ORDER GENMASK(26, 24)
#define B_DPD_SEL GENMASK(13, 8)
#define R_TXAGC_RFK 0x81C4
#define B_TXAGC_RFK_CH0 GENMASK(5, 0)
#define R_DPD_COM 0x81C8
#define R_KIP_IQP 0x81CC
#define B_KIP_IQP_SW GENMASK(13, 12)
#define B_KIP_IQP_IQSW GENMASK(5, 0)
#define R_KIP_RPT 0x81D4
#define B_KIP_RPT_SEL GENMASK(21, 16)
#define R_W_COEF 0x81D8
#define R_LOAD_COEF 0x81DC
#define B_LOAD_COEF_MDPD BIT(16)
#define B_LOAD_COEF_CFIR GENMASK(1, 0)
#define B_LOAD_COEF_DI BIT(1)
#define B_LOAD_COEF_AUTO BIT(0)
#define R_DPK_GL 0x81F0
#define B_DPK_GL_A0 GENMASK(31, 28)
#define B_DPK_GL_A1 GENMASK(17, 0)
#define R_RPT_PER 0x81FC
#define B_RPT_PER_TSSI GENMASK(28, 16)
#define B_RPT_PER_OF GENMASK(15, 8)
#define B_RPT_PER_TH GENMASK(5, 0)
#define R_RXCFIR_P0C0 0x8D40
#define R_RXCFIR_P0C1 0x8D84
#define R_RXCFIR_P0C2 0x8DC8
#define R_RXCFIR_P0C3 0x8E0C
#define R_TXCFIR_P0C0 0x8F50
#define R_TXCFIR_P0C1 0x8F84
#define R_TXCFIR_P0C2 0x8FB8
#define R_TXCFIR_P0C3 0x8FEC
#define R_RXCFIR_P1C0 0x9140
#define R_RXCFIR_P1C1 0x9184
#define R_RXCFIR_P1C2 0x91C8
#define R_RXCFIR_P1C3 0x920C
#define R_TXCFIR_P1C0 0x9350
#define R_TXCFIR_P1C1 0x9384
#define R_TXCFIR_P1C2 0x93B8
#define R_TXCFIR_P1C3 0x93EC
#define R_IQKINF 0x9FE0
#define B_IQKINF_VER GENMASK(31, 24)
#define B_IQKINF_FAIL_RXGRP GENMASK(23, 16)
#define B_IQKINF_FAIL_TXGRP GENMASK(15, 8)
#define B_IQKINF_FAIL GENMASK(3, 0)
#define B_IQKINF_F_RX BIT(3)
#define B_IQKINF_FTX BIT(2)
#define B_IQKINF_FFIN BIT(1)
#define B_IQKINF_FCOR BIT(0)
#define R_IQKCH 0x9FE4
#define B_IQKCH_CH GENMASK(15, 8)
#define B_IQKCH_BW GENMASK(7, 4)
#define B_IQKCH_BAND GENMASK(3, 0)
#define R_IQKINF2 0x9FE8
#define B_IQKINF2_FCNT GENMASK(23, 16)
#define B_IQKINF2_KCNT GENMASK(15, 8)
#define B_IQKINF2_NCTLV GENMASK(7, 0)
#define R_DCOF0 0xC000
#define B_DCOF0_V GENMASK(4, 1)
#define R_DCOF1 0xC004
#define B_DCOF1_S BIT(0)
#define R_DCOF8 0xC020
#define B_DCOF8_V GENMASK(4, 1)
#define R_DACK_S0P0 0xC040
#define B_DACK_S0P0_OK BIT(31)
#define R_DACK_BIAS00 0xc048
#define B_DACK_BIAS00 GENMASK(11, 2)
#define R_DACK_S0P2 0xC05C
#define B_DACK_S0M0 GENMASK(31, 24)
#define B_DACK_S0P2_OK BIT(2)
#define R_DACK_DADCK00 0xC060
#define B_DACK_DADCK00 GENMASK(31, 24)
#define R_DACK_S0P1 0xC064
#define B_DACK_S0P1_OK BIT(31)
#define R_DACK_BIAS01 0xC06C
#define B_DACK_BIAS01 GENMASK(11, 2)
#define R_DACK_S0P3 0xC080
#define B_DACK_S0M1 GENMASK(31, 24)
#define B_DACK_S0P3_OK BIT(2)
#define R_DACK_DADCK01 0xC084
#define B_DACK_DADCK01 GENMASK(31, 24)
#define R_DRCK 0xC0C4
#define B_DRCK_IDLE BIT(9)
#define B_DRCK_EN BIT(6)
#define B_DRCK_VAL GENMASK(4, 0)
#define R_DRCK_RES 0xC0C8
#define B_DRCK_RES GENMASK(19, 15)
#define B_DRCK_POL BIT(3)
#define R_PATH0_SAMPL_DLY_T_V1 0xC0D4
#define B_PATH0_SAMPL_DLY_T_MSK_V1 GENMASK(27, 26)
#define R_P0_CFCH_BW0 0xC0D4
#define B_P0_CFCH_BW0 GENMASK(27, 26)
#define R_P0_CFCH_BW1 0xC0D8
#define B_P0_CFCH_BW1 GENMASK(8, 5)
#define R_ADDCK0 0xC0F4
#define B_ADDCK0 GENMASK(9, 8)
#define B_ADDCK0_EN BIT(4)
#define B_ADDCK0_RST BIT(2)
#define R_ADDCK0_RL 0xC0F8
#define B_ADDCK0_RLS GENMASK(29, 28)
#define B_ADDCK0_RL1 GENMASK(27, 18)
#define B_ADDCK0_RL0 GENMASK(17, 8)
#define R_ADDCKR0 0xC0FC
#define B_ADDCKR0_A0 GENMASK(19, 10)
#define B_ADDCKR0_A1 GENMASK(9, 0)
#define R_DACK10 0xC100
#define B_DACK10 GENMASK(4, 1)
#define R_DACK1_K 0xc104
#define B_DACK1_EN BIT(0)
#define R_DACK11 0xC120
#define B_DACK11 GENMASK(4, 1)
#define R_DACK_S1P0 0xC140
#define B_DACK_S1P0_OK BIT(31)
#define R_DACK_BIAS10 0xC148
#define B_DACK_BIAS10 GENMASK(11, 2)
#define R_DACK10S 0xC15C
#define B_DACK10S GENMASK(31, 24)
#define R_DACK_S1P2 0xC15C
#define B_DACK_S1P2_OK BIT(2)
#define R_DACK_DADCK10 0xC160
#define B_DACK_DADCK10 GENMASK(31, 24)
#define R_DACK_S1P1 0xC164
#define B_DACK_S1P1_OK BIT(31)
#define R_DACK_BIAS11 0xC16C
#define B_DACK_BIAS11 GENMASK(11, 2)
#define R_DACK11S 0xC180
#define B_DACK11S GENMASK(31, 24)
#define R_DACK_S1P3 0xC180
#define B_DACK_S1P3_OK BIT(2)
#define R_DACK_DADCK11 0xC184
#define B_DACK_DADCK11 GENMASK(31, 24)
#define R_PATH1_SAMPL_DLY_T_V1 0xC1D4
#define B_PATH1_SAMPL_DLY_T_MSK_V1 GENMASK(27, 26)
#define R_PATH0_BW_SEL_V1 0xC0D8
#define B_PATH0_BW_SEL_MSK_V1 GENMASK(8, 5)
#define R_PATH1_BW_SEL_V1 0xC1D8
#define B_PATH1_BW_SEL_MSK_V1 GENMASK(8, 5)
#define R_ADDCK1 0xC1F4
#define B_ADDCK1 GENMASK(9, 8)
#define B_ADDCK1_EN BIT(4)
#define B_ADDCK1_RST BIT(2)
#define R_ADDCK1_RL 0xC1F8
#define B_ADDCK1_RLS GENMASK(29, 28)
#define B_ADDCK1_RL1 GENMASK(27, 18)
#define B_ADDCK1_RL0 GENMASK(17, 8)
#define R_ADDCKR1 0xC1fC
#define B_ADDCKR1_A0 GENMASK(19, 10)
#define B_ADDCKR1_A1 GENMASK(9, 0)
/* WiFi CPU local domain */
#define R_AX_WDT_CTRL 0x0040
#define B_AX_WDT_EN BIT(31)
#define B_AX_WDT_OPT_RESET_PLATFORM_EN BIT(29)
#define B_AX_IO_HANG_IMR BIT(27)
#define B_AX_IO_HANG_CMAC_RDATA_EN BIT(26)
#define B_AX_IO_HANG_DMAC_EN BIT(25)
#define B_AX_WDT_CLR BIT(16)
#define B_AX_WDT_COUNT_MASK GENMASK(15, 0)
#define WDT_CTRL_ALL_DIS 0
#define R_AX_WDT_STATUS 0x0044
#define B_AX_FS_WDT_INT BIT(8)
#define B_AX_FS_WDT_INT_MSK BIT(0)
#endif
|