1 /* SPDX-License-Identifier: GPL-2.0 OR BSD-3-Clause */
2 /* Copyright(c) 2019-2020  Realtek Corporation
3  */
4 
5 #ifndef __RTW89_REG_H__
6 #define __RTW89_REG_H__
7 
8 #define R_AX_SYS_WL_EFUSE_CTRL 0x000A
9 #define B_AX_AUTOLOAD_SUS BIT(5)
10 
11 #define R_AX_SYS_FUNC_EN 0x0002
12 #define B_AX_FEN_BB_GLB_RSTN BIT(1)
13 #define B_AX_FEN_BBRSTB BIT(0)
14 
15 #define R_AX_SYS_PW_CTRL 0x0004
16 #define B_AX_PSUS_OFF_CAPC_EN BIT(14)
17 
18 #define R_AX_SYS_CLK_CTRL 0x0008
19 #define B_AX_CPU_CLK_EN BIT(14)
20 
21 #define R_AX_RSV_CTRL 0x001C
22 #define B_AX_R_DIS_PRST BIT(6)
23 #define B_AX_WLOCK_1C_BIT6 BIT(5)
24 
25 #define R_AX_EFUSE_CTRL_1 0x0038
26 #define B_AX_EF_PGPD_MASK GENMASK(30, 28)
27 #define B_AX_EF_RDT BIT(27)
28 #define B_AX_EF_VDDQST_MASK GENMASK(26, 24)
29 #define B_AX_EF_PGTS_MASK GENMASK(23, 20)
30 #define B_AX_EF_PD_DIS BIT(11)
31 #define B_AX_EF_POR BIT(10)
32 #define B_AX_EF_CELL_SEL_MASK GENMASK(9, 8)
33 
34 #define R_AX_SPSLDO_ON_CTRL0 0x0200
35 #define B_AX_OCP_L1_MASK GENMASK(15, 13)
36 
37 #define R_AX_EFUSE_CTRL 0x0030
38 #define B_AX_EF_MODE_SEL_MASK GENMASK(31, 30)
39 #define B_AX_EF_RDY BIT(29)
40 #define B_AX_EF_COMP_RESULT BIT(28)
41 #define B_AX_EF_ADDR_MASK GENMASK(26, 16)
42 #define B_AX_EF_DATA_MASK GENMASK(15, 0)
43 
44 #define R_AX_GPIO_MUXCFG 0x0040
45 #define B_AX_BOOT_MODE BIT(19)
46 #define B_AX_WL_EECS_EXT_32K_SEL BIT(18)
47 #define B_AX_WL_SEC_BONDING_OPT_STS BIT(17)
48 #define B_AX_SECSIC_SEL BIT(16)
49 #define B_AX_ENHTP BIT(14)
50 #define B_AX_BT_AOD_GPIO3 BIT(13)
51 #define B_AX_ENSIC BIT(12)
52 #define B_AX_SIC_SWRST BIT(11)
53 #define B_AX_PO_WIFI_PTA_PINS BIT(10)
54 #define B_AX_PO_BT_PTA_PINS BIT(9)
55 #define B_AX_ENUARTTX BIT(8)
56 #define B_AX_BTMODE_MASK GENMASK(7, 6)
57 #define MAC_AX_BT_MODE_0_3 0
58 #define MAC_AX_BT_MODE_2 2
59 #define B_AX_ENBT BIT(5)
60 #define B_AX_EROM_EN BIT(4)
61 #define B_AX_ENUARTRX BIT(2)
62 #define B_AX_GPIOSEL_MASK GENMASK(1, 0)
63 
64 #define R_AX_DBG_CTRL 0x0058
65 #define B_AX_DBG_SEL1_4BIT GENMASK(31, 30)
66 #define B_AX_DBG_SEL1_16BIT BIT(27)
67 #define B_AX_DBG_SEL1 GENMASK(23, 16)
68 #define B_AX_DBG_SEL0_4BIT GENMASK(15, 14)
69 #define B_AX_DBG_SEL0_16BIT BIT(11)
70 #define B_AX_DBG_SEL0 GENMASK(7, 0)
71 
72 #define R_AX_SYS_SDIO_CTRL 0x0070
73 #define B_AX_PCIE_DIS_L2_CTRL_LDO_HCI BIT(15)
74 #define B_AX_PCIE_DIS_WLSUS_AFT_PDN BIT(14)
75 #define B_AX_PCIE_AUXCLK_GATE BIT(11)
76 #define B_AX_LTE_MUX_CTRL_PATH BIT(26)
77 
78 #define R_AX_PLATFORM_ENABLE 0x0088
79 #define B_AX_WCPU_EN BIT(1)
80 
81 #define R_AX_SCOREBOARD  0x00AC
82 #define B_AX_TOGGLE BIT(31)
83 #define B_MAC_AX_SB_FW_MASK GENMASK(30, 24)
84 #define B_MAC_AX_SB_DRV_MASK GENMASK(23, 0)
85 #define B_MAC_AX_BTGS1_NOTIFY BIT(0)
86 #define MAC_AX_NOTIFY_TP_MAJOR 0x81
87 #define MAC_AX_NOTIFY_PWR_MAJOR 0x80
88 
89 #define R_AX_DBG_PORT_SEL 0x00C0
90 #define B_AX_DEBUG_ST_MASK GENMASK(31, 0)
91 
92 #define R_AX_SYS_CFG1 0x00F0
93 #define B_AX_CHIP_VER_MASK GENMASK(15, 12)
94 
95 #define R_AX_SYS_STATUS1 0x00F4
96 #define B_AX_SEL_0XC0_MASK GENMASK(17, 16)
97 
98 #define R_AX_HALT_H2C_CTRL 0x0160
99 #define R_AX_HALT_H2C 0x0168
100 #define B_AX_HALT_H2C_TRIGGER BIT(0)
101 #define R_AX_HALT_C2H_CTRL 0x0164
102 #define R_AX_HALT_C2H 0x016C
103 
104 #define R_AX_WCPU_FW_CTRL 0x01E0
105 #define B_AX_WCPU_FWDL_STS_MASK GENMASK(7, 5)
106 #define B_AX_FWDL_PATH_RDY BIT(2)
107 #define B_AX_H2C_PATH_RDY BIT(1)
108 #define B_AX_WCPU_FWDL_EN BIT(0)
109 
110 #define R_AX_RPWM 0x01E4
111 #define R_AX_PCIE_HRPWM 0x10C0
112 #define PS_RPWM_TOGGLE BIT(15)
113 #define PS_RPWM_ACK BIT(14)
114 #define PS_RPWM_SEQ_NUM GENMASK(13, 12)
115 #define PS_RPWM_STATE 0x7
116 #define RPWM_SEQ_NUM_MAX 3
117 #define PS_CPWM_SEQ_NUM GENMASK(13, 12)
118 #define PS_CPWM_RSP_SEQ_NUM GENMASK(9, 8)
119 #define PS_CPWM_STATE GENMASK(2, 0)
120 #define CPWM_SEQ_NUM_MAX 3
121 
122 #define R_AX_BOOT_REASON 0x01E6
123 #define B_AX_BOOT_REASON_MASK GENMASK(2, 0)
124 
125 #define R_AX_LDM 0x01E8
126 #define B_AX_EN_32K BIT(31)
127 
128 #define R_AX_UDM0 0x01F0
129 #define R_AX_UDM1 0x01F4
130 #define R_AX_UDM2 0x01F8
131 #define R_AX_UDM3 0x01FC
132 
133 #define R_AX_XTAL_ON_CTRL0 0x0280
134 #define B_AX_XTAL_SC_LPS BIT(31)
135 #define B_AX_XTAL_SC_XO_MASK GENMASK(23, 17)
136 #define B_AX_XTAL_SC_XI_MASK GENMASK(16, 10)
137 #define B_AX_XTAL_SC_MASK GENMASK(6, 0)
138 
139 #define R_AX_GPIO0_7_FUNC_SEL 0x02D0
140 
141 #define R_AX_WLRF_CTRL 0x02F0
142 #define B_AX_WLRF1_CTRL_7 BIT(15)
143 #define B_AX_WLRF1_CTRL_1 BIT(9)
144 #define B_AX_WLRF_CTRL_7 BIT(7)
145 #define B_AX_WLRF_CTRL_1 BIT(1)
146 
147 #define R_AX_IC_PWR_STATE 0x03F0
148 #define B_AX_WHOLE_SYS_PWR_STE_MASK GENMASK(25, 16)
149 #define B_AX_WLMAC_PWR_STE_MASK GENMASK(9, 8)
150 #define B_AX_UART_HCISYS_PWR_STE_MASK GENMASK(7, 6)
151 #define B_AX_SDIO_HCISYS_PWR_STE_MASK GENMASK(5, 4)
152 #define B_AX_USB_HCISYS_PWR_STE_MASK GENMASK(3, 2)
153 #define B_AX_PCIE_HCISYS_PWR_STE_MASK GENMASK(1, 0)
154 
155 #define R_AX_FILTER_MODEL_ADDR 0x0C04
156 
157 #define R_AX_PCIE_DBG_CTRL 0x11C0
158 #define B_AX_DBG_DUMMY_MASK GENMASK(23, 16)
159 #define B_AX_DBG_SEL_MASK GENMASK(15, 13)
160 #define B_AX_PCIE_DBG_SEL BIT(12)
161 #define B_AX_MRD_TIMEOUT_EN BIT(10)
162 #define B_AX_ASFF_FULL_NO_STK BIT(1)
163 #define B_AX_EN_STUCK_DBG BIT(0)
164 
165 #define R_AX_PHYREG_SET 0x8040
166 #define PHYREG_SET_ALL_CYCLE 0x8
167 
168 #define R_AX_HD0IMR 0x8110
169 #define B_AX_WDT_PTFM_INT_EN BIT(5)
170 #define B_AX_CPWM_INT_EN BIT(2)
171 #define B_AX_GT3_INT_EN BIT(1)
172 #define B_AX_C2H_INT_EN BIT(0)
173 #define R_AX_HD0ISR 0x8114
174 #define B_AX_C2H_INT BIT(0)
175 
176 #define R_AX_H2CREG_DATA0 0x8140
177 #define R_AX_H2CREG_DATA1 0x8144
178 #define R_AX_H2CREG_DATA2 0x8148
179 #define R_AX_H2CREG_DATA3 0x814C
180 #define R_AX_C2HREG_DATA0 0x8150
181 #define R_AX_C2HREG_DATA1 0x8154
182 #define R_AX_C2HREG_DATA2 0x8158
183 #define R_AX_C2HREG_DATA3 0x815C
184 #define R_AX_H2CREG_CTRL 0x8160
185 #define B_AX_H2CREG_TRIGGER BIT(0)
186 #define R_AX_C2HREG_CTRL 0x8164
187 #define B_AX_C2HREG_TRIGGER BIT(0)
188 #define R_AX_CPWM 0x8170
189 
190 #define R_AX_HCI_FUNC_EN 0x8380
191 #define B_AX_HCI_RXDMA_EN BIT(1)
192 #define B_AX_HCI_TXDMA_EN BIT(0)
193 
194 #define R_AX_BOOT_DBG 0x83F0
195 
196 #define R_AX_DMAC_FUNC_EN 0x8400
197 #define B_AX_MAC_FUNC_EN BIT(30)
198 #define B_AX_DMAC_FUNC_EN BIT(29)
199 #define B_AX_MPDU_PROC_EN BIT(28)
200 #define B_AX_WD_RLS_EN BIT(27)
201 #define B_AX_DLE_WDE_EN BIT(26)
202 #define B_AX_TXPKT_CTRL_EN BIT(25)
203 #define B_AX_STA_SCH_EN BIT(24)
204 #define B_AX_DLE_PLE_EN BIT(23)
205 #define B_AX_PKT_BUF_EN BIT(22)
206 #define B_AX_DMAC_TBL_EN BIT(21)
207 #define B_AX_PKT_IN_EN BIT(20)
208 #define B_AX_DLE_CPUIO_EN BIT(19)
209 #define B_AX_DISPATCHER_EN BIT(18)
210 #define B_AX_MAC_SEC_EN BIT(16)
211 
212 #define R_AX_DMAC_CLK_EN 0x8404
213 #define B_AX_WD_RLS_CLK_EN BIT(27)
214 #define B_AX_DLE_WDE_CLK_EN BIT(26)
215 #define B_AX_TXPKT_CTRL_CLK_EN BIT(25)
216 #define B_AX_STA_SCH_CLK_EN BIT(24)
217 #define B_AX_DLE_PLE_CLK_EN BIT(23)
218 #define B_AX_PKT_IN_CLK_EN BIT(20)
219 #define B_AX_DLE_CPUIO_CLK_EN BIT(19)
220 #define B_AX_DISPATCHER_CLK_EN BIT(18)
221 #define B_AX_MAC_SEC_CLK_EN BIT(16)
222 
223 #define PCI_LTR_IDLE_TIMER_1US 0
224 #define PCI_LTR_IDLE_TIMER_10US 1
225 #define PCI_LTR_IDLE_TIMER_100US 2
226 #define PCI_LTR_IDLE_TIMER_200US 3
227 #define PCI_LTR_IDLE_TIMER_400US 4
228 #define PCI_LTR_IDLE_TIMER_800US 5
229 #define PCI_LTR_IDLE_TIMER_1_6MS 6
230 #define PCI_LTR_IDLE_TIMER_3_2MS 7
231 #define PCI_LTR_IDLE_TIMER_R_ERR 0xFD
232 #define PCI_LTR_IDLE_TIMER_DEF 0xFE
233 #define PCI_LTR_IDLE_TIMER_IGNORE 0xFF
234 
235 #define PCI_LTR_SPC_10US 0
236 #define PCI_LTR_SPC_100US 1
237 #define PCI_LTR_SPC_500US 2
238 #define PCI_LTR_SPC_1MS 3
239 #define PCI_LTR_SPC_R_ERR 0xFD
240 #define PCI_LTR_SPC_DEF 0xFE
241 #define PCI_LTR_SPC_IGNORE 0xFF
242 
243 #define R_AX_LTR_CTRL_0 0x8410
244 #define B_AX_LTR_SPACE_IDX_MASK GENMASK(13, 12)
245 #define B_AX_LTR_IDLE_TIMER_IDX_MASK GENMASK(10, 8)
246 #define B_AX_APP_LTR_ACT BIT(5)
247 #define B_AX_APP_LTR_IDLE BIT(4)
248 #define B_AX_LTR_EN BIT(1)
249 #define B_AX_LTR_HW_EN BIT(0)
250 
251 #define R_AX_LTR_CTRL_1 0x8414
252 #define B_AX_LTR_RX1_TH_MASK GENMASK(27, 16)
253 #define B_AX_LTR_RX0_TH_MASK GENMASK(11, 0)
254 
255 #define R_AX_LTR_IDLE_LATENCY 0x8418
256 
257 #define R_AX_LTR_ACTIVE_LATENCY 0x841C
258 
259 #define R_AX_SER_DBG_INFO 0x8424
260 #define B_AX_L0_TO_L1_EVENT_MASK GENMASK(31, 28)
261 
262 #define R_AX_DLE_EMPTY0 0x8430
263 #define B_AX_PLE_EMPTY_QTA_DMAC_CPUIO BIT(26)
264 #define B_AX_PLE_EMPTY_QTA_DMAC_MPDU_TX BIT(25)
265 #define B_AX_PLE_EMPTY_QTA_DMAC_WLAN_CPU BIT(24)
266 #define B_AX_PLE_EMPTY_QTA_DMAC_H2C BIT(23)
267 #define B_AX_PLE_EMPTY_QTA_DMAC_B1_TXPL BIT(22)
268 #define B_AX_PLE_EMPTY_QTA_DMAC_B0_TXPL BIT(21)
269 #define B_AX_WDE_EMPTY_QTA_DMAC_CPUIO BIT(20)
270 #define B_AX_WDE_EMPTY_QTA_DMAC_PKTIN BIT(19)
271 #define B_AX_WDE_EMPTY_QTA_DMAC_DATA_CPU BIT(18)
272 #define B_AX_WDE_EMPTY_QTA_DMAC_WLAN_CPU BIT(17)
273 #define B_AX_WDE_EMPTY_QTA_DMAC_HIF BIT(16)
274 #define B_AX_WDE_EMPTY_QUE_DMAC_PKTIN BIT(10)
275 #define B_AX_PLE_EMPTY_QUE_DMAC_SEC_TX BIT(9)
276 #define B_AX_PLE_EMPTY_QUE_DMAC_MPDU_TX BIT(8)
277 #define B_AX_WDE_EMPTY_QUE_OTHERS BIT(7)
278 #define B_AX_WDE_EMPTY_QUE_CMAC0_WMM1 BIT(4)
279 #define B_AX_WDE_EMPTY_QUE_CMAC0_WMM0 BIT(3)
280 #define B_AX_WDE_EMPTY_QUE_CMAC1_MBH BIT(2)
281 #define B_AX_WDE_EMPTY_QUE_CMAC0_MBH BIT(1)
282 #define B_AX_WDE_EMPTY_QUE_CMAC0_ALL_AC BIT(0)
283 
284 #define R_AX_DMAC_ERR_ISR 0x8524
285 #define B_AX_DLE_CPUIO_ERR_FLAG BIT(10)
286 #define B_AX_APB_BRIDGE_ERR_FLAG BIT(9)
287 #define B_AX_DISPATCH_ERR_FLAG BIT(8)
288 #define B_AX_PKTIN_ERR_FLAG BIT(7)
289 #define B_AX_PLE_DLE_ERR_FLAG BIT(6)
290 #define B_AX_TXPKTCTRL_ERR_FLAG BIT(5)
291 #define B_AX_WDE_DLE_ERR_FLAG BIT(4)
292 #define B_AX_STA_SCHEDULER_ERR_FLAG BIT(3)
293 #define B_AX_MPDU_ERR_FLAG BIT(2)
294 #define B_AX_WSEC_ERR_FLAG BIT(1)
295 #define B_AX_WDRLS_ERR_FLAG BIT(0)
296 
297 #define R_AX_DISPATCHER_GLOBAL_SETTING_0 0x8800
298 #define B_AX_PL_PAGE_128B_SEL BIT(9)
299 #define B_AX_WD_PAGE_64B_SEL BIT(8)
300 #define R_AX_OTHER_DISPATCHER_ERR_ISR 0x8804
301 #define R_AX_HOST_DISPATCHER_ERR_ISR 0x8808
302 #define R_AX_CPU_DISPATCHER_ERR_ISR 0x880C
303 #define R_AX_TX_ADDRESS_INFO_MODE_SETTING 0x8810
304 #define B_AX_HOST_ADDR_INFO_8B_SEL BIT(0)
305 
306 #define R_AX_HOST_DISPATCHER_ERR_IMR 0x8850
307 #define B_AX_HDT_OFFSET_UNMATCH_INT_EN BIT(7)
308 #define B_AX_HDT_PKT_FAIL_DBG_INT_EN BIT(2)
309 
310 #define R_AX_CPU_DISPATCHER_ERR_IMR 0x8854
311 #define B_AX_CPU_SHIFT_EN_ERR_INT_EN BIT(25)
312 
313 #define R_AX_OTHER_DISPATCHER_ERR_IMR 0x8858
314 
315 #define R_AX_HCI_FC_CTRL 0x8A00
316 #define B_AX_HCI_FC_CH12_FULL_COND_MASK GENMASK(11, 10)
317 #define B_AX_HCI_FC_WP_CH811_FULL_COND_MASK GENMASK(9, 8)
318 #define B_AX_HCI_FC_WP_CH07_FULL_COND_MASK GENMASK(7, 6)
319 #define B_AX_HCI_FC_WD_FULL_COND_MASK GENMASK(5, 4)
320 #define B_AX_HCI_FC_CH12_EN BIT(3)
321 #define B_AX_HCI_FC_MODE_MASK GENMASK(2, 1)
322 #define B_AX_HCI_FC_EN BIT(0)
323 
324 #define R_AX_CH_PAGE_CTRL 0x8A04
325 #define B_AX_PREC_PAGE_CH12_MASK GENMASK(24, 16)
326 #define B_AX_PREC_PAGE_CH011_MASK GENMASK(8, 0)
327 
328 #define B_AX_MAX_PG_MASK GENMASK(28, 16)
329 #define B_AX_MIN_PG_MASK GENMASK(12, 0)
330 #define B_AX_GRP BIT(31)
331 #define R_AX_ACH0_PAGE_CTRL 0x8A10
332 #define R_AX_ACH1_PAGE_CTRL 0x8A14
333 #define R_AX_ACH2_PAGE_CTRL 0x8A18
334 #define R_AX_ACH3_PAGE_CTRL 0x8A1C
335 #define R_AX_ACH4_PAGE_CTRL 0x8A20
336 #define R_AX_ACH5_PAGE_CTRL 0x8A24
337 #define R_AX_ACH6_PAGE_CTRL 0x8A28
338 #define R_AX_ACH7_PAGE_CTRL 0x8A2C
339 #define R_AX_CH8_PAGE_CTRL 0x8A30
340 #define R_AX_CH9_PAGE_CTRL 0x8A34
341 #define R_AX_CH10_PAGE_CTRL 0x8A38
342 #define R_AX_CH11_PAGE_CTRL 0x8A3C
343 
344 #define B_AX_AVAL_PG_MASK GENMASK(27, 16)
345 #define B_AX_USE_PG_MASK GENMASK(12, 0)
346 #define R_AX_ACH0_PAGE_INFO 0x8A50
347 #define R_AX_ACH1_PAGE_INFO 0x8A54
348 #define R_AX_ACH2_PAGE_INFO 0x8A58
349 #define R_AX_ACH3_PAGE_INFO 0x8A5C
350 #define R_AX_ACH4_PAGE_INFO 0x8A60
351 #define R_AX_ACH5_PAGE_INFO 0x8A64
352 #define R_AX_ACH6_PAGE_INFO 0x8A68
353 #define R_AX_ACH7_PAGE_INFO 0x8A6C
354 #define R_AX_CH8_PAGE_INFO 0x8A70
355 #define R_AX_CH9_PAGE_INFO 0x8A74
356 #define R_AX_CH10_PAGE_INFO 0x8A78
357 #define R_AX_CH11_PAGE_INFO 0x8A7C
358 #define R_AX_CH12_PAGE_INFO 0x8A80
359 
360 #define R_AX_PUB_PAGE_INFO3 0x8A8C
361 #define B_AX_G1_AVAL_PG_MASK GENMASK(28, 16)
362 #define B_AX_G0_AVAL_PG_MASK GENMASK(12, 0)
363 
364 #define R_AX_PUB_PAGE_CTRL1 0x8A90
365 #define B_AX_PUBPG_G1_MASK GENMASK(28, 16)
366 #define B_AX_PUBPG_G0_MASK GENMASK(12, 0)
367 
368 #define R_AX_PUB_PAGE_CTRL2 0x8A94
369 #define B_AX_PUBPG_ALL_MASK GENMASK(12, 0)
370 
371 #define R_AX_PUB_PAGE_INFO1 0x8A98
372 #define B_AX_G1_USE_PG_MASK GENMASK(28, 16)
373 #define B_AX_G0_USE_PG_MASK GENMASK(12, 0)
374 
375 #define R_AX_PUB_PAGE_INFO2 0x8A9C
376 #define B_AX_PUB_AVAL_PG_MASK GENMASK(12, 0)
377 
378 #define R_AX_WP_PAGE_CTRL1 0x8AA0
379 #define B_AX_PREC_PAGE_WP_CH811_MASK GENMASK(24, 16)
380 #define B_AX_PREC_PAGE_WP_CH07_MASK GENMASK(8, 0)
381 
382 #define R_AX_WP_PAGE_CTRL2 0x8AA4
383 #define B_AX_WP_THRD_MASK GENMASK(12, 0)
384 
385 #define R_AX_WP_PAGE_INFO1 0x8AA8
386 #define B_AX_WP_AVAL_PG_MASK GENMASK(28, 16)
387 
388 #define R_AX_WDE_PKTBUF_CFG 0x8C08
389 #define B_AX_WDE_START_BOUND_MASK GENMASK(13, 8)
390 #define B_AX_WDE_PAGE_SEL_MASK GENMASK(1, 0)
391 #define B_AX_WDE_FREE_PAGE_NUM_MASK GENMASK(28, 16)
392 #define R_AX_WDE_ERR_FLAG_CFG 0x8C34
393 #define R_AX_WDE_ERR_IMR 0x8C38
394 #define R_AX_WDE_ERR_ISR 0x8C3C
395 
396 #define B_AX_WDE_MAX_SIZE_MASK GENMASK(27, 16)
397 #define B_AX_WDE_MIN_SIZE_MASK GENMASK(11, 0)
398 #define R_AX_WDE_QTA0_CFG 0x8C40
399 #define R_AX_WDE_QTA1_CFG 0x8C44
400 #define R_AX_WDE_QTA2_CFG 0x8C48
401 #define R_AX_WDE_QTA3_CFG 0x8C4C
402 #define R_AX_WDE_QTA4_CFG 0x8C50
403 
404 #define B_AX_DLE_PUB_PGNUM GENMASK(12, 0)
405 #define B_AX_DLE_FREE_HEADPG GENMASK(11, 0)
406 #define B_AX_DLE_FREE_TAILPG GENMASK(27, 16)
407 #define B_AX_DLE_USE_PGNUM GENMASK(27, 16)
408 #define B_AX_DLE_RSV_PGNUM GENMASK(11, 0)
409 #define B_AX_DLE_QEMPTY_GRP GENMASK(31, 0)
410 
411 #define R_AX_WDE_INI_STATUS 0x8D00
412 #define B_AX_WDE_Q_MGN_INI_RDY BIT(1)
413 #define B_AX_WDE_BUF_MGN_INI_RDY BIT(0)
414 #define WDE_MGN_INI_RDY (B_AX_WDE_Q_MGN_INI_RDY | B_AX_WDE_BUF_MGN_INI_RDY)
415 #define R_AX_WDE_DBG_FUN_INTF_CTL 0x8D10
416 #define B_AX_WDE_DFI_ACTIVE BIT(31)
417 #define B_AX_WDE_DFI_TRGSEL_MASK GENMASK(19, 16)
418 #define B_AX_WDE_DFI_ADDR_MASK GENMASK(15, 0)
419 #define R_AX_WDE_DBG_FUN_INTF_DATA 0x8D14
420 #define B_AX_WDE_DFI_DATA_MASK GENMASK(31, 0)
421 
422 #define R_AX_PLE_PKTBUF_CFG 0x9008
423 #define B_AX_PLE_START_BOUND_MASK GENMASK(13, 8)
424 #define B_AX_PLE_PAGE_SEL_MASK GENMASK(1, 0)
425 #define B_AX_PLE_FREE_PAGE_NUM_MASK GENMASK(28, 16)
426 #define R_AX_PLE_ERR_FLAG_CFG 0x9034
427 
428 #define R_AX_PLE_ERR_IMR 0x9038
429 #define B_AX_PLE_GETNPG_STRPG_ERR_INT_EN BIT(5)
430 
431 #define R_AX_PLE_ERR_FLAG_ISR 0x903C
432 #define B_AX_PLE_MAX_SIZE_MASK GENMASK(27, 16)
433 #define B_AX_PLE_MIN_SIZE_MASK GENMASK(11, 0)
434 #define R_AX_PLE_QTA0_CFG 0x9040
435 #define R_AX_PLE_QTA1_CFG 0x9044
436 #define R_AX_PLE_QTA2_CFG 0x9048
437 #define R_AX_PLE_QTA3_CFG 0x904C
438 #define R_AX_PLE_QTA4_CFG 0x9050
439 #define R_AX_PLE_QTA5_CFG 0x9054
440 #define R_AX_PLE_QTA6_CFG 0x9058
441 #define B_AX_PLE_Q6_MAX_SIZE_MASK GENMASK(27, 16)
442 #define B_AX_PLE_Q6_MIN_SIZE_MASK GENMASK(11, 0)
443 #define R_AX_PLE_QTA7_CFG 0x905C
444 #define R_AX_PLE_QTA8_CFG 0x9060
445 #define R_AX_PLE_QTA9_CFG 0x9064
446 #define R_AX_PLE_QTA10_CFG 0x9068
447 
448 #define R_AX_PLE_INI_STATUS 0x9100
449 #define B_AX_PLE_Q_MGN_INI_RDY BIT(1)
450 #define B_AX_PLE_BUF_MGN_INI_RDY BIT(0)
451 #define PLE_MGN_INI_RDY (B_AX_PLE_Q_MGN_INI_RDY | B_AX_PLE_BUF_MGN_INI_RDY)
452 #define R_AX_PLE_DBG_FUN_INTF_CTL 0x9110
453 #define B_AX_PLE_DFI_ACTIVE BIT(31)
454 #define B_AX_PLE_DFI_TRGSEL_MASK GENMASK(19, 16)
455 #define B_AX_PLE_DFI_ADDR_MASK GENMASK(15, 0)
456 #define R_AX_PLE_DBG_FUN_INTF_DATA 0x9114
457 #define B_AX_PLE_DFI_DATA_MASK GENMASK(31, 0)
458 
459 #define R_AX_WDRLS_CFG 0x9408
460 #define B_AX_RLSRPT_BUFREQ_TO_MASK GENMASK(15, 8)
461 #define B_AX_WDRLS_MODE_MASK GENMASK(1, 0)
462 
463 #define R_AX_RLSRPT0_CFG0 0x9410
464 #define B_AX_RLSRPT0_FLTR_MAP_MASK GENMASK(27, 24)
465 #define B_AX_RLSRPT0_PKTTYPE_MASK GENMASK(19, 16)
466 #define B_AX_RLSRPT0_PID_MASK GENMASK(10, 8)
467 #define B_AX_RLSRPT0_QID_MASK GENMASK(5, 0)
468 
469 #define R_AX_RLSRPT0_CFG1 0x9414
470 #define B_AX_RLSRPT0_TO_MASK GENMASK(23, 16)
471 #define B_AX_RLSRPT0_AGGNUM_MASK GENMASK(7, 0)
472 
473 #define R_AX_WDRLS_ERR_IMR 0x9430
474 #define B_AX_WDRLS_RPT1_FRZTO_ERR_INT_EN BIT(13)
475 #define B_AX_WDRLS_RPT1_AGGNUM0_ERR_INT_EN BIT(12)
476 #define B_AX_WDRLS_RPT0_FRZTO_ERR_INT_EN BIT(9)
477 #define B_AX_WDRLS_RPT0_AGGNUM0_ERR_INT_EN BIT(8)
478 #define B_AX_WDRLS_PLEBREQ_PKTID_ISNULL_ERR_INT_EN BIT(5)
479 #define B_AX_WDRLS_PLEBREQ_TO_ERR_INT_EN BIT(4)
480 #define B_AX_WDRLS_CTL_FRZTO_ERR_INT_EN BIT(2)
481 #define B_AX_WDRLS_CTL_PLPKTID_ISNULL_ERR_INT_EN BIT(1)
482 #define B_AX_WDRLS_CTL_WDPKTID_ISNULL_ERR_INT_EN BIT(0)
483 #define R_AX_WDRLS_ERR_ISR 0x9434
484 
485 #define R_AX_BBRPT_COM_ERR_IMR_ISR 0x960C
486 #define R_AX_BBRPT_CHINFO_ERR_IMR_ISR 0x962C
487 #define R_AX_BBRPT_DFS_ERR_IMR_ISR 0x963C
488 #define R_AX_LA_ERRFLAG 0x966C
489 
490 #define R_AX_WD_BUF_REQ 0x9800
491 #define R_AX_PL_BUF_REQ 0x9820
492 #define B_AX_WD_BUF_REQ_EXEC BIT(31)
493 #define B_AX_WD_BUF_REQ_QUOTA_ID_MASK GENMASK(23, 16)
494 #define B_AX_WD_BUF_REQ_LEN_MASK GENMASK(15, 0)
495 
496 #define R_AX_WD_BUF_STATUS 0x9804
497 #define R_AX_PL_BUF_STATUS 0x9824
498 #define B_AX_WD_BUF_STAT_DONE BIT(31)
499 #define B_AX_WD_BUF_STAT_PKTID_MASK GENMASK(11, 0)
500 
501 #define R_AX_WD_CPUQ_OP_0 0x9810
502 #define R_AX_PL_CPUQ_OP_0 0x9830
503 #define B_AX_WD_CPUQ_OP_EXEC BIT(31)
504 #define B_AX_CPUQ_OP_CMD_TYPE_MASK GENMASK(27, 24)
505 #define B_AX_CPUQ_OP_MACID_MASK GENMASK(23, 16)
506 #define B_AX_CPUQ_OP_PKTNUM_MASK GENMASK(7, 0)
507 
508 #define R_AX_WD_CPUQ_OP_1 0x9814
509 #define R_AX_PL_CPUQ_OP_1 0x9834
510 #define B_AX_CPUQ_OP_SRC_PID_MASK GENMASK(24, 22)
511 #define B_AX_CPUQ_OP_SRC_QID_MASK GENMASK(21, 16)
512 #define B_AX_CPUQ_OP_DST_PID_MASK GENMASK(8, 6)
513 #define B_AX_CPUQ_OP_DST_QID_MASK GENMASK(5, 0)
514 
515 #define R_AX_WD_CPUQ_OP_2 0x9818
516 #define R_AX_PL_CPUQ_OP_2 0x9838
517 #define B_AX_WD_CPUQ_OP_STRT_PKTID_MASK GENMASK(27, 16)
518 #define B_AX_WD_CPUQ_OP_END_PKTID_MASK GENMASK(11, 0)
519 
520 #define R_AX_WD_CPUQ_OP_STATUS 0x981C
521 #define R_AX_PL_CPUQ_OP_STATUS 0x983C
522 #define B_AX_WD_CPUQ_OP_STAT_DONE BIT(31)
523 #define B_AX_WD_CPUQ_OP_PKTID_MASK GENMASK(11, 0)
524 #define R_AX_CPUIO_ERR_IMR 0x9840
525 #define R_AX_CPUIO_ERR_ISR 0x9844
526 
527 #define R_AX_SEC_ERR_IMR_ISR 0x991C
528 
529 #define R_AX_PKTIN_SETTING 0x9A00
530 #define B_AX_WD_ADDR_INFO_LENGTH BIT(1)
531 #define R_AX_PKTIN_ERR_IMR 0x9A20
532 #define R_AX_PKTIN_ERR_ISR 0x9A24
533 
534 #define R_AX_MPDU_TX_ERR_ISR 0x9BF0
535 #define R_AX_MPDU_TX_ERR_IMR 0x9BF4
536 
537 #define R_AX_MPDU_PROC 0x9C00
538 #define B_AX_A_ICV_ERR BIT(1)
539 #define B_AX_APPEND_FCS BIT(0)
540 
541 #define R_AX_ACTION_FWD0 0x9C04
542 #define TRXCFG_MPDU_PROC_ACT_FRWD 0x02A95A95
543 
544 #define R_AX_TF_FWD 0x9C14
545 #define TRXCFG_MPDU_PROC_TF_FRWD 0x0000AA55
546 
547 #define R_AX_HW_RPT_FWD 0x9C18
548 #define B_AX_FWD_PPDU_STAT_MASK GENMASK(1, 0)
549 #define RTW89_PRPT_DEST_HOST 1
550 #define RTW89_PRPT_DEST_WLCPU 2
551 
552 #define R_AX_CUT_AMSDU_CTRL 0x9C40
553 #define TRXCFG_MPDU_PROC_CUT_CTRL	0x010E05F0
554 
555 #define R_AX_MPDU_RX_ERR_ISR 0x9CF0
556 #define R_AX_MPDU_RX_ERR_IMR 0x9CF4
557 
558 #define R_AX_SEC_ENG_CTRL 0x9D00
559 #define B_AX_TX_PARTIAL_MODE BIT(11)
560 #define B_AX_CLK_EN_CGCMP BIT(10)
561 #define B_AX_CLK_EN_WAPI BIT(9)
562 #define B_AX_CLK_EN_WEP_TKIP BIT(8)
563 #define B_AX_BMC_MGNT_DEC BIT(5)
564 #define B_AX_UC_MGNT_DEC BIT(4)
565 #define B_AX_MC_DEC BIT(3)
566 #define B_AX_BC_DEC BIT(2)
567 #define B_AX_SEC_RX_DEC BIT(1)
568 #define B_AX_SEC_TX_ENC BIT(0)
569 
570 #define R_AX_SEC_MPDU_PROC 0x9D04
571 #define B_AX_APPEND_ICV BIT(1)
572 #define B_AX_APPEND_MIC BIT(0)
573 
574 #define R_AX_SEC_CAM_ACCESS 0x9D10
575 #define R_AX_SEC_CAM_RDATA 0x9D14
576 #define R_AX_SEC_CAM_WDATA 0x9D18
577 #define R_AX_SEC_DEBUG 0x9D1C
578 #define R_AX_SEC_TX_DEBUG 0x9D20
579 #define R_AX_SEC_RX_DEBUG 0x9D24
580 #define R_AX_SEC_TRX_PKT_CNT 0x9D28
581 #define R_AX_SEC_TRX_BLK_CNT 0x9D2C
582 
583 #define R_AX_SS_CTRL 0x9E10
584 #define B_AX_SS_INIT_DONE_1 BIT(31)
585 #define B_AX_SS_WARM_INIT_FLG BIT(29)
586 #define B_AX_SS_EN BIT(0)
587 
588 #define R_AX_SS_MACID_PAUSE_0 0x9EB0
589 #define B_AX_SS_MACID31_0_PAUSE_SH 0
590 #define B_AX_SS_MACID31_0_PAUSE_MASK GENMASK(31, 0)
591 
592 #define R_AX_SS_MACID_PAUSE_1 0x9EB4
593 #define B_AX_SS_MACID63_32_PAUSE_SH 0
594 #define B_AX_SS_MACID63_32_PAUSE_MASK GENMASK(31, 0)
595 
596 #define R_AX_SS_MACID_PAUSE_2 0x9EB8
597 #define B_AX_SS_MACID95_64_PAUSE_SH 0
598 #define B_AX_SS_MACID95_64_PAUSE_MASK GENMASK(31, 0)
599 
600 #define R_AX_SS_MACID_PAUSE_3 0x9EBC
601 #define B_AX_SS_MACID127_96_PAUSE_SH 0
602 #define B_AX_SS_MACID127_96_PAUSE_MASK GENMASK(31, 0)
603 
604 #define R_AX_STA_SCHEDULER_ERR_IMR 0x9EF0
605 #define R_AX_STA_SCHEDULER_ERR_ISR 0x9EF4
606 
607 #define R_AX_TXPKTCTL_ERR_IMR_ISR 0x9F1C
608 #define R_AX_TXPKTCTL_ERR_IMR_ISR_B1 0x9F2C
609 #define B_AX_TXPKTCTL_CMDPSR_FRZTO_ERR_INT_EN BIT(9)
610 #define B_AX_TXPKTCTL_USRCTL_RLSBMPLEN_ERR_INT_EN BIT(3)
611 #define B_AX_TXPKTCTL_USRCTL_RDNRLSCMD_ERR_INT_EN BIT(2)
612 #define B_AX_TXPKTCTL_USRCTL_NOINIT_ERR_INT_EN BIT(1)
613 
614 #define R_AX_DBG_FUN_INTF_CTL 0x9F30
615 #define B_AX_DFI_ACTIVE BIT(31)
616 #define B_AX_DFI_TRGSEL_MASK GENMASK(19, 16)
617 #define B_AX_DFI_ADDR_MASK GENMASK(15, 0)
618 #define R_AX_DBG_FUN_INTF_DATA 0x9F34
619 #define B_AX_DFI_DATA_MASK GENMASK(31, 0)
620 
621 #define R_AX_AFE_CTRL1 0x0024
622 
623 #define B_AX_R_SYM_WLCMAC1_P4_PC_EN BIT(4)
624 #define B_AX_R_SYM_WLCMAC1_P3_PC_EN BIT(3)
625 #define B_AX_R_SYM_WLCMAC1_P2_PC_EN BIT(2)
626 #define B_AX_R_SYM_WLCMAC1_P1_PC_EN BIT(1)
627 #define B_AX_R_SYM_WLCMAC1_PC_EN BIT(0)
628 
629 #define R_AX_SYS_ISO_CTRL_EXTEND 0x0080
630 #define B_AX_CMAC1_FEN BIT(30)
631 #define B_AX_R_SYM_FEN_WLBBGLB_1 BIT(17)
632 #define B_AX_R_SYM_FEN_WLBBFUN_1 BIT(16)
633 #define B_AX_R_SYM_ISO_CMAC12PP BIT(5)
634 
635 #define R_AX_CMAC_REG_START 0xC000
636 
637 #define R_AX_CMAC_FUNC_EN 0xC000
638 #define R_AX_CMAC_FUNC_EN_C1 0xE000
639 #define B_AX_CMAC_CRPRT BIT(31)
640 #define B_AX_CMAC_EN BIT(30)
641 #define B_AX_CMAC_TXEN BIT(29)
642 #define B_AX_CMAC_RXEN BIT(28)
643 #define B_AX_FORCE_CMACREG_GCKEN BIT(15)
644 #define B_AX_PHYINTF_EN BIT(5)
645 #define B_AX_CMAC_DMA_EN BIT(4)
646 #define B_AX_PTCLTOP_EN BIT(3)
647 #define B_AX_SCHEDULER_EN BIT(2)
648 #define B_AX_TMAC_EN BIT(1)
649 #define B_AX_RMAC_EN BIT(0)
650 
651 #define R_AX_CK_EN 0xC004
652 #define R_AX_CK_EN_C1 0xE004
653 #define B_AX_CMAC_ALLCKEN GENMASK(31, 0)
654 #define B_AX_CMAC_CKEN BIT(30)
655 #define B_AX_PHYINTF_CKEN BIT(5)
656 #define B_AX_CMAC_DMA_CKEN BIT(4)
657 #define B_AX_PTCLTOP_CKEN BIT(3)
658 #define B_AX_SCHEDULER_CKEN BIT(2)
659 #define B_AX_TMAC_CKEN BIT(1)
660 #define B_AX_RMAC_CKEN BIT(0)
661 
662 #define R_AX_WMAC_RFMOD 0xC010
663 #define R_AX_WMAC_RFMOD_C1 0xE010
664 #define B_AX_WMAC_RFMOD_MASK GENMASK(1, 0)
665 
666 #define R_AX_GID_POSITION0 0xC070
667 #define R_AX_GID_POSITION0_C1 0xE070
668 #define R_AX_GID_POSITION1 0xC074
669 #define R_AX_GID_POSITION1_C1 0xE074
670 #define R_AX_GID_POSITION2 0xC078
671 #define R_AX_GID_POSITION2_C1 0xE078
672 #define R_AX_GID_POSITION3 0xC07C
673 #define R_AX_GID_POSITION3_C1 0xE07C
674 #define R_AX_GID_POSITION_EN0 0xC080
675 #define R_AX_GID_POSITION_EN0_C1 0xE080
676 #define R_AX_GID_POSITION_EN1 0xC084
677 #define R_AX_GID_POSITION_EN1_C1 0xE084
678 
679 #define R_AX_TX_SUB_CARRIER_VALUE 0xC088
680 #define R_AX_TX_SUB_CARRIER_VALUE_C1 0xE088
681 #define B_AX_TXSC_80M_MASK GENMASK(11, 8)
682 #define B_AX_TXSC_40M_MASK GENMASK(7, 4)
683 #define B_AX_TXSC_20M_MASK GENMASK(3, 0)
684 
685 #define R_AX_CMAC_ERR_ISR 0xC164
686 #define R_AX_CMAC_ERR_ISR_C1 0xE164
687 #define B_AX_WMAC_TX_ERR_IND BIT(7)
688 #define B_AX_WMAC_RX_ERR_IND BIT(6)
689 #define B_AX_TXPWR_CTRL_ERR_IND BIT(5)
690 #define B_AX_PHYINTF_ERR_IND BIT(4)
691 #define B_AX_DMA_TOP_ERR_IND BIT(3)
692 #define B_AX_PTCL_TOP_ERR_IND BIT(1)
693 #define B_AX_SCHEDULE_TOP_ERR_IND BIT(0)
694 
695 #define R_AX_MACID_SLEEP_0 0xC2C0
696 #define R_AX_MACID_SLEEP_0_C1 0xE2C0
697 #define B_AX_MACID31_0_SLEEP_SH 0
698 #define B_AX_MACID31_0_SLEEP_MASK GENMASK(31, 0)
699 
700 #define R_AX_MACID_SLEEP_1 0xC2C4
701 #define R_AX_MACID_SLEEP_1_C1 0xE2C4
702 #define B_AX_MACID63_32_SLEEP_SH 0
703 #define B_AX_MACID63_32_SLEEP_MASK GENMASK(31, 0)
704 
705 #define R_AX_MACID_SLEEP_2 0xC2C8
706 #define R_AX_MACID_SLEEP_2_C1 0xE2C8
707 #define B_AX_MACID95_64_SLEEP_SH 0
708 #define B_AX_MACID95_64_SLEEP_MASK GENMASK(31, 0)
709 
710 #define R_AX_MACID_SLEEP_3 0xC2CC
711 #define R_AX_MACID_SLEEP_3_C1 0xE2CC
712 #define B_AX_MACID127_96_SLEEP_SH 0
713 #define B_AX_MACID127_96_SLEEP_MASK GENMASK(31, 0)
714 
715 #define SCH_PREBKF_24US 0x18
716 #define R_AX_PREBKF_CFG_0 0xC338
717 #define R_AX_PREBKF_CFG_0_C1 0xE338
718 #define B_AX_PREBKF_TIME_MASK GENMASK(4, 0)
719 
720 #define R_AX_CCA_CFG_0 0xC340
721 #define R_AX_CCA_CFG_0_C1 0xE340
722 #define B_AX_BTCCA_BRK_TXOP_EN BIT(9)
723 #define B_AX_BTCCA_EN BIT(5)
724 #define B_AX_EDCCA_EN BIT(4)
725 #define B_AX_SEC80_EN BIT(3)
726 #define B_AX_SEC40_EN BIT(2)
727 #define B_AX_SEC20_EN BIT(1)
728 #define B_AX_CCA_EN BIT(0)
729 
730 #define R_AX_CTN_TXEN 0xC348
731 #define R_AX_CTN_TXEN_C1 0xE348
732 #define B_AX_CTN_TXEN_TWT_1 BIT(15)
733 #define B_AX_CTN_TXEN_TWT_0 BIT(14)
734 #define B_AX_CTN_TXEN_ULQ BIT(13)
735 #define B_AX_CTN_TXEN_BCNQ BIT(12)
736 #define B_AX_CTN_TXEN_HGQ BIT(11)
737 #define B_AX_CTN_TXEN_CPUMGQ BIT(10)
738 #define B_AX_CTN_TXEN_MGQ1 BIT(9)
739 #define B_AX_CTN_TXEN_MGQ BIT(8)
740 #define B_AX_CTN_TXEN_VO_1 BIT(7)
741 #define B_AX_CTN_TXEN_VI_1 BIT(6)
742 #define B_AX_CTN_TXEN_BK_1 BIT(5)
743 #define B_AX_CTN_TXEN_BE_1 BIT(4)
744 #define B_AX_CTN_TXEN_VO_0 BIT(3)
745 #define B_AX_CTN_TXEN_VI_0 BIT(2)
746 #define B_AX_CTN_TXEN_BK_0 BIT(1)
747 #define B_AX_CTN_TXEN_BE_0 BIT(0)
748 
749 #define R_AX_MUEDCA_BE_PARAM_0 0xC350
750 #define R_AX_MUEDCA_BE_PARAM_0_C1 0xE350
751 #define B_AX_MUEDCA_BE_PARAM_0_TIMER_MASK GENMASK(31, 16)
752 #define B_AX_MUEDCA_BE_PARAM_0_CW_MASK GENMASK(15, 8)
753 #define B_AX_MUEDCA_BE_PARAM_0_AIFS_MASK GENMASK(7, 0)
754 
755 #define R_AX_MUEDCA_BK_PARAM_0 0xC354
756 #define R_AX_MUEDCA_BK_PARAM_0_C1 0xE354
757 #define R_AX_MUEDCA_VI_PARAM_0 0xC358
758 #define R_AX_MUEDCA_VI_PARAM_0_C1 0xE358
759 #define R_AX_MUEDCA_VO_PARAM_0 0xC35C
760 #define R_AX_MUEDCA_VO_PARAM_0_C1 0xE35C
761 
762 #define R_AX_MUEDCA_EN 0xC370
763 #define R_AX_MUEDCA_EN_C1 0xE370
764 #define B_AX_MUEDCA_WMM_SEL BIT(8)
765 #define B_AX_SET_MUEDCATIMER_TF_0 BIT(4)
766 #define B_AX_MUEDCA_EN_0 BIT(0)
767 
768 #define R_AX_CCA_CONTROL 0xC390
769 #define R_AX_CCA_CONTROL_C1 0xE390
770 #define B_AX_TB_CHK_TX_NAV BIT(31)
771 #define B_AX_TB_CHK_BASIC_NAV BIT(30)
772 #define B_AX_TB_CHK_BTCCA BIT(29)
773 #define B_AX_TB_CHK_EDCCA BIT(28)
774 #define B_AX_TB_CHK_CCA_S80 BIT(27)
775 #define B_AX_TB_CHK_CCA_S40 BIT(26)
776 #define B_AX_TB_CHK_CCA_S20 BIT(25)
777 #define B_AX_TB_CHK_CCA_P20 BIT(24)
778 #define B_AX_SIFS_CHK_BTCCA BIT(21)
779 #define B_AX_SIFS_CHK_EDCCA BIT(20)
780 #define B_AX_SIFS_CHK_CCA_S80 BIT(19)
781 #define B_AX_SIFS_CHK_CCA_S40 BIT(18)
782 #define B_AX_SIFS_CHK_CCA_S20 BIT(17)
783 #define B_AX_SIFS_CHK_CCA_P20 BIT(16)
784 #define B_AX_CTN_CHK_TXNAV BIT(8)
785 #define B_AX_CTN_CHK_INTRA_NAV BIT(7)
786 #define B_AX_CTN_CHK_BASIC_NAV BIT(6)
787 #define B_AX_CTN_CHK_BTCCA BIT(5)
788 #define B_AX_CTN_CHK_EDCCA BIT(4)
789 #define B_AX_CTN_CHK_CCA_S80 BIT(3)
790 #define B_AX_CTN_CHK_CCA_S40 BIT(2)
791 #define B_AX_CTN_CHK_CCA_S20 BIT(1)
792 #define B_AX_CTN_CHK_CCA_P20 BIT(0)
793 
794 #define R_AX_SCHEDULE_ERR_IMR 0xC3E8
795 #define R_AX_SCHEDULE_ERR_IMR_C1 0xE3E8
796 #define B_AX_SORT_NON_IDLE_ERR_INT_EN BIT(1)
797 #define B_AX_FSM_TIMEOUT_ERR_INT_EN BIT(0)
798 
799 #define R_AX_SCHEDULE_ERR_ISR 0xC3EC
800 #define R_AX_SCHEDULE_ERR_ISR_C1 0xE3EC
801 
802 #define R_AX_SCH_DBG_SEL 0xC3F4
803 #define R_AX_SCH_DBG_SEL_C1 0xE3F4
804 #define B_AX_SCH_DBG_EN BIT(16)
805 #define B_AX_SCH_CFG_CMD_SEL GENMASK(15, 8)
806 #define B_AX_SCH_DBG_SEL_MASK GENMASK(7, 0)
807 
808 #define R_AX_SCH_DBG 0xC3F8
809 #define R_AX_SCH_DBG_C1 0xE3F8
810 #define B_AX_SCHEDULER_DBG_MASK GENMASK(31, 0)
811 
812 #define R_AX_PORT_CFG_P0 0xC400
813 #define R_AX_PORT_CFG_P1 0xC440
814 #define R_AX_PORT_CFG_P2 0xC480
815 #define R_AX_PORT_CFG_P3 0xC4C0
816 #define R_AX_PORT_CFG_P4 0xC500
817 #define B_AX_BRK_SETUP BIT(16)
818 #define B_AX_TBTT_UPD_SHIFT_SEL BIT(15)
819 #define B_AX_BCN_DROP_ALLOW BIT(14)
820 #define B_AX_TBTT_PROHIB_EN BIT(13)
821 #define B_AX_BCNTX_EN BIT(12)
822 #define B_AX_NET_TYPE_MASK GENMASK(11, 10)
823 #define B_AX_BCN_FORCETX_EN BIT(9)
824 #define B_AX_TXBCN_BTCCA_EN BIT(8)
825 #define B_AX_BCNERR_CNT_EN BIT(7)
826 #define B_AX_BCN_AGRES BIT(6)
827 #define B_AX_TSFTR_RST BIT(5)
828 #define B_AX_RX_BSSID_FIT_EN BIT(4)
829 #define B_AX_TSF_UDT_EN BIT(3)
830 #define B_AX_PORT_FUNC_EN BIT(2)
831 #define B_AX_TXBCN_RPT_EN BIT(1)
832 #define B_AX_RXBCN_RPT_EN BIT(0)
833 
834 #define R_AX_TBTT_PROHIB_P0 0xC404
835 #define R_AX_TBTT_PROHIB_P1 0xC444
836 #define R_AX_TBTT_PROHIB_P2 0xC484
837 #define R_AX_TBTT_PROHIB_P3 0xC4C4
838 #define R_AX_TBTT_PROHIB_P4 0xC504
839 #define B_AX_TBTT_HOLD_MASK GENMASK(27, 16)
840 #define B_AX_TBTT_SETUP_MASK GENMASK(7, 0)
841 
842 #define R_AX_BCN_AREA_P0 0xC408
843 #define R_AX_BCN_AREA_P1 0xC448
844 #define R_AX_BCN_AREA_P2 0xC488
845 #define R_AX_BCN_AREA_P3 0xC4C8
846 #define R_AX_BCN_AREA_P4 0xC508
847 #define B_AX_BCN_MSK_AREA_MASK GENMASK(27, 16)
848 #define B_AX_BCN_CTN_AREA_MASK GENMASK(11, 0)
849 
850 #define R_AX_BCNERLYINT_CFG_P0 0xC40C
851 #define R_AX_BCNERLYINT_CFG_P1 0xC44C
852 #define R_AX_BCNERLYINT_CFG_P2 0xC48C
853 #define R_AX_BCNERLYINT_CFG_P3 0xC4CC
854 #define R_AX_BCNERLYINT_CFG_P4 0xC50C
855 #define B_AX_BCNERLY_MASK GENMASK(11, 0)
856 
857 #define R_AX_TBTTERLYINT_CFG_P0 0xC40E
858 #define R_AX_TBTTERLYINT_CFG_P1 0xC44E
859 #define R_AX_TBTTERLYINT_CFG_P2 0xC48E
860 #define R_AX_TBTTERLYINT_CFG_P3 0xC4CE
861 #define R_AX_TBTTERLYINT_CFG_P4 0xC50E
862 #define B_AX_TBTTERLY_MASK GENMASK(11, 0)
863 
864 #define R_AX_TBTT_AGG_P0 0xC412
865 #define R_AX_TBTT_AGG_P1 0xC452
866 #define R_AX_TBTT_AGG_P2 0xC492
867 #define R_AX_TBTT_AGG_P3 0xC4D2
868 #define R_AX_TBTT_AGG_P4 0xC512
869 #define B_AX_TBTT_AGG_NUM_MASK GENMASK(15, 8)
870 
871 #define R_AX_BCN_SPACE_CFG_P0 0xC414
872 #define R_AX_BCN_SPACE_CFG_P1 0xC454
873 #define R_AX_BCN_SPACE_CFG_P2 0xC494
874 #define R_AX_BCN_SPACE_CFG_P3 0xC4D4
875 #define R_AX_BCN_SPACE_CFG_P4 0xC514
876 #define B_AX_SUB_BCN_SPACE_MASK GENMASK(23, 16)
877 #define B_AX_BCN_SPACE_MASK GENMASK(15, 0)
878 
879 #define R_AX_BCN_FORCETX_P0 0xC418
880 #define R_AX_BCN_FORCETX_P1 0xC458
881 #define R_AX_BCN_FORCETX_P2 0xC498
882 #define R_AX_BCN_FORCETX_P3 0xC4D8
883 #define R_AX_BCN_FORCETX_P4 0xC518
884 #define B_AX_FORCE_BCN_CURRCNT_MASK GENMASK(23, 16)
885 #define B_AX_FORCE_BCN_NUM_MASK GENMASK(15, 0)
886 #define B_AX_BCN_MAX_ERR_MASK GENMASK(7, 0)
887 
888 #define R_AX_BCN_ERR_CNT_P0 0xC420
889 #define R_AX_BCN_ERR_CNT_P1 0xC460
890 #define R_AX_BCN_ERR_CNT_P2 0xC4A0
891 #define R_AX_BCN_ERR_CNT_P3 0xC4E0
892 #define R_AX_BCN_ERR_CNT_P4 0xC520
893 #define B_AX_BCN_ERR_CNT_SUM_MASK GENMASK(31, 24)
894 #define B_AX_BCN_ERR_CNT_NAV_MASK GENMASK(23, 16)
895 #define B_AX_BCN_ERR_CNT_EDCCA_MASK GENMASK(15, 0)
896 #define B_AX_BCN_ERR_CNT_CCA_MASK GENMASK(7, 0)
897 
898 #define R_AX_BCN_ERR_FLAG_P0 0xC424
899 #define R_AX_BCN_ERR_FLAG_P1 0xC464
900 #define R_AX_BCN_ERR_FLAG_P2 0xC4A4
901 #define R_AX_BCN_ERR_FLAG_P3 0xC4E4
902 #define R_AX_BCN_ERR_FLAG_P4 0xC524
903 #define B_AX_BCN_ERR_FLAG_OTHERS BIT(6)
904 #define B_AX_BCN_ERR_FLAG_MAC BIT(5)
905 #define B_AX_BCN_ERR_FLAG_TXON BIT(4)
906 #define B_AX_BCN_ERR_FLAG_SRCHEND BIT(3)
907 #define B_AX_BCN_ERR_FLAG_INVALID BIT(2)
908 #define B_AX_BCN_ERR_FLAG_CMP BIT(1)
909 #define B_AX_BCN_ERR_FLAG_LOCK BIT(0)
910 
911 #define R_AX_DTIM_CTRL_P0 0xC426
912 #define R_AX_DTIM_CTRL_P1 0xC466
913 #define R_AX_DTIM_CTRL_P2 0xC4A6
914 #define R_AX_DTIM_CTRL_P3 0xC4E6
915 #define R_AX_DTIM_CTRL_P4 0xC526
916 #define B_AX_DTIM_NUM_MASK GENMASK(15, 0)
917 #define B_AX_DTIM_CURRCNT_MASK GENMASK(7, 0)
918 
919 #define R_AX_TBTT_SHIFT_P0 0xC428
920 #define R_AX_TBTT_SHIFT_P1 0xC468
921 #define R_AX_TBTT_SHIFT_P2 0xC4A8
922 #define R_AX_TBTT_SHIFT_P3 0xC4E8
923 #define R_AX_TBTT_SHIFT_P4 0xC528
924 #define B_AX_TBTT_SHIFT_OFST_MASK GENMASK(11, 0)
925 
926 #define R_AX_BCN_CNT_TMR_P0 0xC434
927 #define R_AX_BCN_CNT_TMR_P1 0xC474
928 #define R_AX_BCN_CNT_TMR_P2 0xC4B4
929 #define R_AX_BCN_CNT_TMR_P3 0xC4F4
930 #define R_AX_BCN_CNT_TMR_P4 0xC534
931 #define B_AX_BCN_CNT_TMR_MASK GENMASK(31, 0)
932 
933 #define R_AX_TSFTR_LOW_P0 0xC438
934 #define R_AX_TSFTR_LOW_P1 0xC478
935 #define R_AX_TSFTR_LOW_P2 0xC4B8
936 #define R_AX_TSFTR_LOW_P3 0xC4F8
937 #define R_AX_TSFTR_LOW_P4 0xC538
938 #define B_AX_TSFTR_LOW_MASK GENMASK(31, 0)
939 
940 #define R_AX_TSFTR_HIGH_P0 0xC43C
941 #define R_AX_TSFTR_HIGH_P1 0xC47C
942 #define R_AX_TSFTR_HIGH_P2 0xC4BC
943 #define R_AX_TSFTR_HIGH_P3 0xC4FC
944 #define R_AX_TSFTR_HIGH_P4 0xC53C
945 #define B_AX_TSFTR_HIGH_MASK GENMASK(31, 0)
946 
947 #define R_AX_MBSSID_CTRL 0xC568
948 #define R_AX_MBSSID_CTRL_C1 0xE568
949 #define B_AX_P0MB_ALL_MASK GENMASK(23, 1)
950 #define B_AX_P0MB_NUM_MASK GENMASK(19, 16)
951 #define B_AX_P0MB15_EN BIT(15)
952 #define B_AX_P0MB14_EN BIT(14)
953 #define B_AX_P0MB13_EN BIT(13)
954 #define B_AX_P0MB12_EN BIT(12)
955 #define B_AX_P0MB11_EN BIT(11)
956 #define B_AX_P0MB10_EN BIT(10)
957 #define B_AX_P0MB9_EN BIT(9)
958 #define B_AX_P0MB8_EN BIT(8)
959 #define B_AX_P0MB7_EN BIT(7)
960 #define B_AX_P0MB6_EN BIT(6)
961 #define B_AX_P0MB5_EN BIT(5)
962 #define B_AX_P0MB4_EN BIT(4)
963 #define B_AX_P0MB3_EN BIT(3)
964 #define B_AX_P0MB2_EN BIT(2)
965 #define B_AX_P0MB1_EN BIT(1)
966 
967 #define R_AX_AMPDU_AGG_LIMIT 0xC610
968 #define B_AX_AMPDU_MAX_TIME_MASK GENMASK(31, 24)
969 #define B_AX_RA_TRY_RATE_AGG_LMT_MASK GENMASK(23, 16)
970 #define B_AX_RTS_MAX_AGG_NUM_MASK GENMASK(15, 8)
971 #define B_AX_MAX_AGG_NUM_MASK GENMASK(7, 0)
972 
973 #define R_AX_AGG_LEN_HT_0 0xC614
974 #define R_AX_AGG_LEN_HT_0_C1 0xE614
975 #define B_AX_AMPDU_MAX_LEN_HT_MASK GENMASK(31, 16)
976 #define B_AX_RTS_TXTIME_TH_MASK GENMASK(15, 8)
977 #define B_AX_RTS_LEN_TH_MASK GENMASK(7, 0)
978 
979 #define S_AX_CTS2S_TH_SEC_256B 1
980 #define R_AX_SIFS_SETTING 0xC624
981 #define R_AX_SIFS_SETTING_C1 0xE624
982 #define B_AX_HW_CTS2SELF_PKT_LEN_TH_MASK GENMASK(31, 24)
983 #define B_AX_HW_CTS2SELF_PKT_LEN_TH_TWW_MASK GENMASK(23, 18)
984 #define B_AX_HW_CTS2SELF_EN BIT(16)
985 #define B_AX_SPEC_SIFS_OFDM_PTCL_SH 8
986 #define B_AX_SPEC_SIFS_OFDM_PTCL_MASK GENMASK(15, 8)
987 #define B_AX_SPEC_SIFS_CCK_PTCL_MASK GENMASK(7, 0)
988 #define S_AX_CTS2S_TH_1K 4
989 
990 #define R_AX_TXRATE_CHK 0xC628
991 #define R_AX_TXRATE_CHK_C1 0xE628
992 #define B_AX_DEFT_RATE_MASK GENMASK(15, 7)
993 #define B_AX_BAND_MODE BIT(4)
994 #define B_AX_MAX_TXNSS_MASK GENMASK(3, 2)
995 #define B_AX_RTS_LIMIT_IN_OFDM6 BIT(1)
996 #define B_AX_CHECK_CCK_EN BIT(0)
997 
998 #define R_AX_TXCNT 0xC62C
999 #define R_AX_TXCNT_C1 0xE62C
1000 #define B_AX_ADD_TXCNT_BY BIT(31)
1001 #define B_AX_S_TXCNT_LMT_MASK GENMASK(29, 24)
1002 #define B_AX_L_TXCNT_LMT_MASK GENMASK(21, 16)
1003 
1004 #define R_AX_MBSSID_DROP_0 0xC63C
1005 #define R_AX_MBSSID_DROP_0_C1 0xE63C
1006 #define B_AX_GI_LTF_FB_SEL BIT(30)
1007 #define B_AX_RATE_SEL_MASK GENMASK(29, 24)
1008 #define B_AX_PORT_DROP_4_0_MASK GENMASK(20, 16)
1009 #define B_AX_MBSSID_DROP_15_0_MASK GENMASK(15, 0)
1010 
1011 #define R_AX_BT_PLT 0xC67C
1012 #define R_AX_BT_PLT_C1 0xE67C
1013 #define B_AX_BT_PLT_PKT_CNT_MASK GENMASK(31, 16)
1014 #define B_AX_BT_PLT_RST BIT(9)
1015 #define B_AX_PLT_EN BIT(8)
1016 #define B_AX_RX_PLT_GNT_LTE_RX BIT(7)
1017 #define B_AX_RX_PLT_GNT_BT_RX BIT(6)
1018 #define B_AX_RX_PLT_GNT_BT_TX BIT(5)
1019 #define B_AX_RX_PLT_GNT_WL BIT(4)
1020 #define B_AX_TX_PLT_GNT_LTE_RX BIT(3)
1021 #define B_AX_TX_PLT_GNT_BT_RX BIT(2)
1022 #define B_AX_TX_PLT_GNT_BT_TX BIT(1)
1023 #define B_AX_TX_PLT_GNT_WL BIT(0)
1024 
1025 #define R_AX_PTCL_BSS_COLOR_0 0xC6A0
1026 #define R_AX_PTCL_BSS_COLOR_0_C1 0xE6A0
1027 #define B_AX_BSS_COLOB_AX_PORT_3_MASK GENMASK(29, 24)
1028 #define B_AX_BSS_COLOB_AX_PORT_2_MASK GENMASK(21, 16)
1029 #define B_AX_BSS_COLOB_AX_PORT_1_MASK GENMASK(13, 8)
1030 #define B_AX_BSS_COLOB_AX_PORT_0_MASK GENMASK(5, 0)
1031 
1032 #define R_AX_PTCL_BSS_COLOR_1 0xC6A4
1033 #define R_AX_PTCL_BSS_COLOR_1_C1 0xE6A4
1034 #define B_AX_BSS_COLOB_AX_PORT_4_MASK GENMASK(5, 0)
1035 
1036 #define R_AX_PTCL_IMR0 0xC6C0
1037 #define R_AX_PTCL_IMR0_C1 0xE6C0
1038 #define B_AX_F2PCMD_USER_ALLC_ERR_INT_EN BIT(28)
1039 #define B_AX_TX_RECORD_PKTID_ERR_INT_EN BIT(23)
1040 
1041 #define R_AX_PTCL_ISR0 0xC6C4
1042 #define R_AX_PTCL_ISR0_C1 0xE6C4
1043 
1044 #define S_AX_PTCL_TO_2MS 0x3F
1045 #define R_AX_PTCL_FSM_MON 0xC6E8
1046 #define R_AX_PTCL_FSM_MON_C1 0xE6E8
1047 #define B_AX_PTCL_TX_ARB_TO_MODE BIT(6)
1048 #define B_AX_PTCL_TX_ARB_TO_THR_MASK GENMASK(5, 0)
1049 
1050 #define R_AX_PTCL_TX_CTN_SEL 0xC6EC
1051 #define R_AX_PTCL_TX_CTN_SEL_C1 0xE6EC
1052 #define B_AX_PTCL_TX_ON_STAT BIT(7)
1053 
1054 #define R_AX_PTCL_DBG_INFO 0xC6F0
1055 #define R_AX_PTCL_DBG_INFO_C1 0xE6F0
1056 #define B_AX_PTCL_DBG_INFO_MASK GENMASK(31, 0)
1057 #define R_AX_PTCL_DBG 0xC6F4
1058 #define R_AX_PTCL_DBG_C1 0xE6F4
1059 #define B_AX_PTCL_DBG_EN BIT(8)
1060 #define B_AX_PTCL_DBG_SEL_MASK GENMASK(7, 0)
1061 
1062 #define R_AX_DLE_CTRL 0xC800
1063 #define R_AX_DLE_CTRL_C1 0xE800
1064 #define B_AX_NO_RESERVE_PAGE_ERR_IMR BIT(23)
1065 #define B_AX_RXDATA_FSM_HANG_ERROR_IMR BIT(15)
1066 #define R_AX_RXDMA_PKT_INFO_0 0xC814
1067 #define R_AX_RXDMA_PKT_INFO_1 0xC818
1068 #define R_AX_RXDMA_PKT_INFO_2 0xC81C
1069 
1070 #define R_AX_TCR1 0xCA04
1071 #define R_AX_TCR1_C1 0xEA04
1072 #define B_AX_TXDFIFO_THRESHOLD GENMASK(31, 28)
1073 #define B_AX_TCR_CCK_LOCK_CLK BIT(27)
1074 #define B_AX_TCR_FORCE_READ_TXDFIFO BIT(26)
1075 #define B_AX_TCR_USTIME GENMASK(23, 16)
1076 #define B_AX_TCR_SMOOTH_VAL BIT(15)
1077 #define B_AX_TCR_SMOOTH_CTRL BIT(14)
1078 #define B_AX_CS_REQ_VAL BIT(13)
1079 #define B_AX_CS_REQ_SEL BIT(12)
1080 #define B_AX_TCR_ZLD_USTIME_AFTERPHYTXON GENMASK(11, 8)
1081 #define B_AX_TCR_TXTIMEOUT GENMASK(7, 0)
1082 
1083 #define R_AX_PPWRBIT_SETTING 0xCA0C
1084 #define R_AX_PPWRBIT_SETTING_C1 0xEA0C
1085 
1086 #define R_AX_MACTX_DBG_SEL_CNT 0xCA20
1087 #define R_AX_MACTX_DBG_SEL_CNT_C1 0xEA20
1088 #define B_AX_MACTX_MPDU_CNT GENMASK(31, 24)
1089 #define B_AX_MACTX_DMA_CNT GENMASK(23, 16)
1090 #define B_AX_LENGTH_ERR_FLAG_U3 BIT(11)
1091 #define B_AX_LENGTH_ERR_FLAG_U2 BIT(10)
1092 #define B_AX_LENGTH_ERR_FLAG_U1 BIT(9)
1093 #define B_AX_LENGTH_ERR_FLAG_U0 BIT(8)
1094 #define B_AX_DBGSEL_MACTX_MASK GENMASK(5, 0)
1095 
1096 #define R_AX_WMAC_TX_CTRL_DEBUG 0xCAE4
1097 #define R_AX_WMAC_TX_CTRL_DEBUG_C1 0xEAE4
1098 #define B_AX_TX_CTRL_DEBUG_SEL_MASK GENMASK(3, 0)
1099 
1100 #define R_AX_WMAC_TX_INFO0_DEBUG 0xCAE8
1101 #define R_AX_WMAC_TX_INFO0_DEBUG_C1 0xEAE8
1102 #define B_AX_TX_CTRL_INFO_P0_MASK GENMASK(31, 0)
1103 
1104 #define R_AX_WMAC_TX_INFO1_DEBUG 0xCAEC
1105 #define R_AX_WMAC_TX_INFO1_DEBUG_C1 0xEAEC
1106 #define B_AX_TX_CTRL_INFO_P1_MASK GENMASK(31, 0)
1107 
1108 #define R_AX_RSP_CHK_SIG 0xCC00
1109 #define R_AX_RSP_CHK_SIG_C1 0xEC00
1110 #define B_AX_RSP_STATIC_RTS_CHK_SERV_BW_EN BIT(30)
1111 #define B_AX_RSP_TBPPDU_CHK_PWR BIT(29)
1112 #define B_AX_RSP_CHK_BASIC_NAV BIT(21)
1113 #define B_AX_RSP_CHK_INTRA_NAV BIT(20)
1114 #define B_AX_RSP_CHK_TXNAV BIT(19)
1115 #define B_AX_TXDATA_END_PS_OPT BIT(18)
1116 #define B_AX_CHECK_SOUNDING_SEQ BIT(17)
1117 #define B_AX_RXBA_IGNOREA2 BIT(16)
1118 #define B_AX_ACKTO_CCK_MASK GENMASK(15, 8)
1119 #define B_AX_ACKTO_MASK GENMASK(7, 0)
1120 
1121 #define R_AX_TRXPTCL_RESP_0 0xCC04
1122 #define R_AX_TRXPTCL_RESP_0_C1 0xEC04
1123 #define B_AX_WMAC_RESP_STBC_EN BIT(31)
1124 #define B_AX_WMAC_RXFTM_TXACK_SC BIT(30)
1125 #define B_AX_WMAC_RXFTM_TXACKBWEQ BIT(29)
1126 #define B_AX_RSP_CHK_SEC_CCA_80 BIT(28)
1127 #define B_AX_RSP_CHK_SEC_CCA_40 BIT(27)
1128 #define B_AX_RSP_CHK_SEC_CCA_20 BIT(26)
1129 #define B_AX_RSP_CHK_BTCCA BIT(25)
1130 #define B_AX_RSP_CHK_EDCCA BIT(24)
1131 #define B_AX_RSP_CHK_CCA BIT(23)
1132 #define B_AX_WMAC_LDPC_EN BIT(22)
1133 #define B_AX_WMAC_SGIEN BIT(21)
1134 #define B_AX_WMAC_SPLCPEN BIT(20)
1135 #define B_AX_WMAC_BESP_EARLY_TXBA BIT(17)
1136 #define B_AX_WMAC_SPEC_SIFS_OFDM_MASK GENMASK(15, 8)
1137 #define B_AX_WMAC_SPEC_SIFS_CCK_MASK GENMASK(7, 0)
1138 #define WMAC_SPEC_SIFS_OFDM_52A 0x15
1139 #define WMAC_SPEC_SIFS_OFDM_52B 0x11
1140 #define WMAC_SPEC_SIFS_OFDM_52C 0x11
1141 #define WMAC_SPEC_SIFS_CCK	 0xA
1142 
1143 #define R_AX_MAC_LOOPBACK 0xCC20
1144 #define R_AX_MAC_LOOPBACK_C1 0xEC20
1145 #define B_AX_MACLBK_EN BIT(0)
1146 
1147 #define R_AX_RXTRIG_TEST_USER_2 0xCCB0
1148 #define R_AX_RXTRIG_TEST_USER_2_C1 0xECB0
1149 #define B_AX_RXTRIG_MACID_MASK GENMASK(31, 24)
1150 #define B_AX_RXTRIG_RU26_DIS BIT(21)
1151 #define B_AX_RXTRIG_FCSCHK_EN BIT(20)
1152 #define B_AX_RXTRIG_PORT_SEL_MASK GENMASK(19, 17)
1153 #define B_AX_RXTRIG_EN BIT(16)
1154 #define B_AX_RXTRIG_USERINFO_2_MASK GENMASK(15, 0)
1155 
1156 #define R_AX_WMAC_TX_TF_INFO_0 0xCCD0
1157 #define R_AX_WMAC_TX_TF_INFO_0_C1 0xECD0
1158 #define B_AX_WMAC_TX_TF_INFO_SEL_MASK GENMASK(2, 0)
1159 
1160 #define R_AX_WMAC_TX_TF_INFO_1 0xCCD4
1161 #define R_AX_WMAC_TX_TF_INFO_1_C1 0xECD4
1162 #define B_AX_WMAC_TX_TF_INFO_P0_MASK GENMASK(31, 0)
1163 
1164 #define R_AX_WMAC_TX_TF_INFO_2 0xCCD8
1165 #define R_AX_WMAC_TX_TF_INFO_2_C1 0xECD8
1166 #define B_AX_WMAC_TX_TF_INFO_P1_MASK GENMASK(31, 0)
1167 
1168 #define R_AX_TMAC_ERR_IMR_ISR 0xCCEC
1169 #define R_AX_TMAC_ERR_IMR_ISR_C1 0xECEC
1170 
1171 #define R_AX_DBGSEL_TRXPTCL 0xCCF4
1172 #define R_AX_DBGSEL_TRXPTCL_C1 0xECF4
1173 #define B_AX_DBGSEL_TRXPTCL_MASK GENMASK(7, 0)
1174 
1175 #define R_AX_PHYINFO_ERR_IMR 0xCCFC
1176 #define R_AX_PHYINFO_ERR_IMR_C1 0xECFC
1177 #define B_AX_CSI_ON_TIMEOUT BIT(29)
1178 #define B_AX_STS_ON_TIMEOUT BIT(28)
1179 #define B_AX_DATA_ON_TIMEOUT BIT(27)
1180 #define B_AX_OFDM_CCA_TIMEOUT BIT(26)
1181 #define B_AX_CCK_CCA_TIMEOUT BIT(25)
1182 #define B_AXC_PHY_TXON_TIMEOUT BIT(24)
1183 #define B_AX_CSI_ON_TIMEOUT_INT_EN BIT(21)
1184 #define B_AX_STS_ON_TIMEOUT_INT_EN BIT(20)
1185 #define B_AX_DATA_ON_TIMEOUT_INT_EN BIT(19)
1186 #define B_AX_OFDM_CCA_TIMEOUT_INT_EN BIT(18)
1187 #define B_AX_CCK_CCA_TIMEOUT_INT_EN BIT(17)
1188 #define B_AX_PHY_TXON_TIMEOUT_INT_EN BIT(16)
1189 #define B_AX_PHYINTF_TIMEOUT_THR_MSAK GENMASK(5, 0)
1190 
1191 #define R_AX_PHYINFO_ERR_ISR 0xCCFC
1192 #define R_AX_PHYINFO_ERR_ISR_C1 0xECFC
1193 
1194 #define R_AX_BFMER_CTRL_0 0xCD78
1195 #define R_AX_BFMER_CTRL_0_C1 0xED78
1196 #define B_AX_BFMER_HE_CSI_OFFSET_MASK GENMASK(31, 24)
1197 #define B_AX_BFMER_VHT_CSI_OFFSET_MASK GENMASK(23, 16)
1198 #define B_AX_BFMER_HT_CSI_OFFSET_MASK GENMASK(15, 8)
1199 #define B_AX_BFMER_NDP_BFEN BIT(2)
1200 #define B_AX_BFMER_VHT_BFPRT_CHK BIT(0)
1201 
1202 #define R_AX_BFMEE_RESP_OPTION 0xCD80
1203 #define R_AX_BFMEE_RESP_OPTION_C1 0xED80
1204 #define B_AX_BFMEE_NDP_RX_STANDBY_TIMER_MASK GENMASK(31, 24)
1205 #define B_AX_BFMEE_BFRP_RX_STANDBY_TIMER_MASK GENMASK(23, 20)
1206 #define B_AX_MU_BFRPTSEG_SEL_MASK GENMASK(18, 17)
1207 #define B_AX_BFMEE_NDP_RXSTDBY_SEL BIT(16)
1208 #define BFRP_RX_STANDBY_TIMER		0x0
1209 #define NDP_RX_STANDBY_TIMER		0xFF
1210 #define B_AX_BFMEE_HE_NDPA_EN BIT(2)
1211 #define B_AX_BFMEE_VHT_NDPA_EN BIT(1)
1212 #define B_AX_BFMEE_HT_NDPA_EN BIT(0)
1213 
1214 #define R_AX_TRXPTCL_RESP_CSI_CTRL_0 0xCD88
1215 #define R_AX_TRXPTCL_RESP_CSI_CTRL_0_C1 0xED88
1216 #define R_AX_TRXPTCL_RESP_CSI_CTRL_1 0xCD94
1217 #define R_AX_TRXPTCL_RESP_CSI_CTRL_1_C1 0xED94
1218 #define B_AX_BFMEE_CSISEQ_SEL BIT(29)
1219 #define B_AX_BFMEE_BFPARAM_SEL BIT(28)
1220 #define B_AX_BFMEE_OFDM_LEN_TH_MASK GENMASK(27, 24)
1221 #define B_AX_BFMEE_BF_PORT_SEL BIT(23)
1222 #define B_AX_BFMEE_USE_NSTS BIT(22)
1223 #define B_AX_BFMEE_CSI_RATE_FB_EN BIT(21)
1224 #define B_AX_BFMEE_CSI_GID_SEL BIT(20)
1225 #define B_AX_BFMEE_CSI_RSC_MASK GENMASK(19, 18)
1226 #define B_AX_BFMEE_CSI_FORCE_RETE_EN BIT(17)
1227 #define B_AX_BFMEE_CSI_USE_NDPARATE BIT(16)
1228 #define B_AX_BFMEE_CSI_WITHHTC_EN BIT(15)
1229 #define B_AX_BFMEE_CSIINFO0_BF_EN BIT(14)
1230 #define B_AX_BFMEE_CSIINFO0_STBC_EN BIT(13)
1231 #define B_AX_BFMEE_CSIINFO0_LDPC_EN BIT(12)
1232 #define B_AX_BFMEE_CSIINFO0_CS_MASK GENMASK(11, 10)
1233 #define B_AX_BFMEE_CSIINFO0_CB_MASK GENMASK(9, 8)
1234 #define B_AX_BFMEE_CSIINFO0_NG_MASK GENMASK(7, 6)
1235 #define B_AX_BFMEE_CSIINFO0_NR_MASK GENMASK(5, 3)
1236 #define B_AX_BFMEE_CSIINFO0_NC_MASK GENMASK(2, 0)
1237 
1238 #define R_AX_TRXPTCL_RESP_CSI_RRSC 0xCD8C
1239 #define R_AX_TRXPTCL_RESP_CSI_RRSC_C1 0xED8C
1240 #define CSI_RRSC_BMAP 0x29292911
1241 
1242 #define R_AX_TRXPTCL_RESP_CSI_RATE 0xCD90
1243 #define R_AX_TRXPTCL_RESP_CSI_RATE_C1 0xED90
1244 #define B_AX_BFMEE_HE_CSI_RATE_MASK GENMASK(22, 16)
1245 #define B_AX_BFMEE_VHT_CSI_RATE_MASK GENMASK(14, 8)
1246 #define B_AX_BFMEE_HT_CSI_RATE_MASK GENMASK(6, 0)
1247 #define CSI_INIT_RATE_HE		0x3
1248 #define CSI_INIT_RATE_VHT		0x3
1249 #define CSI_INIT_RATE_HT		0x3
1250 
1251 #define R_AX_RCR 0xCE00
1252 #define R_AX_RCR_C1 0xEE00
1253 #define B_AX_STOP_RX_IN BIT(11)
1254 #define B_AX_DRV_INFO_SIZE_MASK GENMASK(10, 8)
1255 #define B_AX_CH_EN_MASK GENMASK(3, 0)
1256 
1257 #define R_AX_DLK_PROTECT_CTL 0xCE02
1258 #define R_AX_DLK_PROTECT_CTL_C1 0xEE02
1259 #define B_AX_RX_DLK_CCA_TIME_MASK GENMASK(15, 8)
1260 #define B_AX_RX_DLK_DATA_TIME_MASK GENMASK(7, 4)
1261 
1262 #define R_AX_PLCP_HDR_FLTR 0xCE04
1263 #define R_AX_PLCP_HDR_FLTR_C1 0xEE04
1264 #define B_AX_DIS_CHK_MIN_LEN BIT(8)
1265 #define B_AX_HE_SIGB_CRC_CHK BIT(6)
1266 #define B_AX_VHT_MU_SIGB_CRC_CHK BIT(5)
1267 #define B_AX_VHT_SU_SIGB_CRC_CHK BIT(4)
1268 #define B_AX_SIGA_CRC_CHK BIT(3)
1269 #define B_AX_LSIG_PARITY_CHK_EN BIT(2)
1270 #define B_AX_CCK_SIG_CHK BIT(1)
1271 #define B_AX_CCK_CRC_CHK BIT(0)
1272 
1273 #define R_AX_RX_FLTR_OPT 0xCE20
1274 #define R_AX_RX_FLTR_OPT_C1 0xEE20
1275 #define B_AX_UID_FILTER_MASK GENMASK(31, 24)
1276 #define B_AX_UNSPT_FILTER_SH 22
1277 #define B_AX_UNSPT_FILTER_MASK GENMASK(23, 22)
1278 #define B_AX_RX_MPDU_MAX_LEN_MASK GENMASK(21, 16)
1279 #define B_AX_RX_MPDU_MAX_LEN_SIZE 0x3f
1280 #define B_AX_A_FTM_REQ BIT(14)
1281 #define B_AX_A_ERR_PKT BIT(13)
1282 #define B_AX_A_UNSUP_PKT BIT(12)
1283 #define B_AX_A_CRC32_ERR BIT(11)
1284 #define B_AX_A_PWR_MGNT BIT(10)
1285 #define B_AX_A_BCN_CHK_RULE_MASK GENMASK(9, 8)
1286 #define B_AX_A_BCN_CHK_EN BIT(7)
1287 #define B_AX_A_MC_LIST_CAM_MATCH BIT(6)
1288 #define B_AX_A_BC_CAM_MATCH BIT(5)
1289 #define B_AX_A_UC_CAM_MATCH BIT(4)
1290 #define B_AX_A_MC BIT(3)
1291 #define B_AX_A_BC BIT(2)
1292 #define B_AX_A_A1_MATCH BIT(1)
1293 #define B_AX_SNIFFER_MODE BIT(0)
1294 #define DEFAULT_AX_RX_FLTR (B_AX_A_A1_MATCH | B_AX_A_BC | B_AX_A_MC |	       \
1295 			    B_AX_A_UC_CAM_MATCH | B_AX_A_BC_CAM_MATCH |	       \
1296 			    B_AX_A_PWR_MGNT | B_AX_A_FTM_REQ |		       \
1297 			    u32_encode_bits(3, B_AX_UID_FILTER_MASK) |	       \
1298 			    B_AX_A_BCN_CHK_EN)
1299 #define B_AX_RX_FLTR_CFG_MASK ((u32)~B_AX_RX_MPDU_MAX_LEN_MASK)
1300 
1301 #define R_AX_CTRL_FLTR 0xCE24
1302 #define R_AX_CTRL_FLTR_C1 0xEE24
1303 #define R_AX_MGNT_FLTR 0xCE28
1304 #define R_AX_MGNT_FLTR_C1 0xEE28
1305 #define R_AX_DATA_FLTR 0xCE2C
1306 #define R_AX_DATA_FLTR_C1 0xEE2C
1307 #define RX_FLTR_FRAME_DROP	0x00000000
1308 #define RX_FLTR_FRAME_TO_HOST	0x55555555
1309 #define RX_FLTR_FRAME_TO_WLCPU	0xAAAAAAAA
1310 
1311 #define R_AX_ADDR_CAM_CTRL 0xCE34
1312 #define R_AX_ADDR_CAM_CTRL_C1 0xEE34
1313 #define B_AX_ADDR_CAM_RANGE_MASK GENMASK(23, 16)
1314 #define B_AX_ADDR_CAM_CMPLIMT_MASK GENMASK(15, 12)
1315 #define B_AX_ADDR_CAM_CLR BIT(8)
1316 #define B_AX_ADDR_CAM_A2_B0_CHK BIT(2)
1317 #define B_AX_ADDR_CAM_SRCH_PERPKT BIT(1)
1318 #define B_AX_ADDR_CAM_EN BIT(0)
1319 
1320 #define R_AX_RESPBA_CAM_CTRL 0xCE3C
1321 #define R_AX_RESPBA_CAM_CTRL_C1 0xEE3C
1322 #define B_AX_SSN_SEL BIT(2)
1323 
1324 #define R_AX_PPDU_STAT 0xCE40
1325 #define R_AX_PPDU_STAT_C1 0xEE40
1326 #define B_AX_PPDU_STAT_RPT_TRIG BIT(8)
1327 #define B_AX_PPDU_STAT_RPT_CRC32 BIT(5)
1328 #define B_AX_PPDU_STAT_RPT_A1M BIT(4)
1329 #define B_AX_APP_PLCP_HDR_RPT BIT(3)
1330 #define B_AX_APP_RX_CNT_RPT BIT(2)
1331 #define B_AX_APP_MAC_INFO_RPT BIT(1)
1332 #define B_AX_PPDU_STAT_RPT_EN BIT(0)
1333 
1334 #define R_AX_RX_SR_CTRL 0xCE4A
1335 #define R_AX_RX_SR_CTRL_C1 0xEE4A
1336 #define B_AX_SR_EN BIT(0)
1337 
1338 #define R_AX_RX_STATE_MONITOR 0xCEF0
1339 #define R_AX_RX_STATE_MONITOR_C1 0xEEF0
1340 #define B_AX_RX_STATE_MONITOR_MASK GENMASK(31, 0)
1341 #define B_AX_STATE_CUR_MASK GENMASK(31, 16)
1342 #define B_AX_STATE_NXT_MASK GENMASK(13, 8)
1343 #define B_AX_STATE_UPD BIT(7)
1344 #define B_AX_STATE_SEL_MASK GENMASK(4, 0)
1345 
1346 #define R_AX_RMAC_ERR_ISR 0xCEF4
1347 #define R_AX_RMAC_ERR_ISR_C1 0xEEF4
1348 #define B_AX_RXERR_INTPS_EN BIT(31)
1349 #define B_AX_RMAC_RX_CSI_TIMEOUT_INT_EN BIT(19)
1350 #define B_AX_RMAC_RX_TIMEOUT_INT_EN BIT(18)
1351 #define B_AX_RMAC_CSI_TIMEOUT_INT_EN BIT(17)
1352 #define B_AX_RMAC_DATA_ON_TIMEOUT_INT_EN BIT(16)
1353 #define B_AX_RMAC_CCA_TIMEOUT_INT_EN BIT(15)
1354 #define B_AX_RMAC_DMA_TIMEOUT_INT_EN BIT(14)
1355 #define B_AX_RMAC_DATA_ON_TO_IDLE_TIMEOUT_INT_EN BIT(13)
1356 #define B_AX_RMAC_CCA_TO_IDLE_TIMEOUT_INT_EN BIT(12)
1357 #define B_AX_RMAC_RX_CSI_TIMEOUT_FLAG BIT(7)
1358 #define B_AX_RMAC_RX_TIMEOUT_FLAG BIT(6)
1359 #define B_AX_BMAC_CSI_TIMEOUT_FLAG BIT(5)
1360 #define B_AX_BMAC_DATA_ON_TIMEOUT_FLAG BIT(4)
1361 #define B_AX_BMAC_CCA_TIMEOUT_FLAG BIT(3)
1362 #define B_AX_BMAC_DMA_TIMEOUT_FLAG BIT(2)
1363 #define B_AX_BMAC_DATA_ON_TO_IDLE_TIMEOUT_FLAG BIT(1)
1364 #define B_AX_BMAC_CCA_TO_IDLE_TIMEOUT_FLAG BIT(0)
1365 
1366 #define R_AX_RMAC_PLCP_MON 0xCEF8
1367 #define R_AX_RMAC_PLCP_MON_C1 0xEEF8
1368 #define B_AX_RMAC_PLCP_MON_MASK GENMASK(31, 0)
1369 #define B_AX_PCLP_MON_SEL_MASK GENMASK(31, 28)
1370 #define B_AX_PCLP_MON_CONT_MASK GENMASK(27, 0)
1371 
1372 #define R_AX_RX_DEBUG_SELECT 0xCEFC
1373 #define R_AX_RX_DEBUG_SELECT_C1 0xEEFC
1374 #define B_AX_DEBUG_SEL_MASK GENMASK(7, 0)
1375 
1376 #define R_AX_PWR_RATE_CTRL 0xD200
1377 #define R_AX_PWR_RATE_CTRL_C1 0xF200
1378 #define B_AX_FORCE_PWR_BY_RATE_EN BIT(9)
1379 #define B_AX_FORCE_PWR_BY_RATE_VALUE_MASK GENMASK(8, 0)
1380 
1381 #define R_AX_PWR_RATE_OFST_CTRL 0xD204
1382 #define R_AX_PWR_COEXT_CTRL 0xD220
1383 #define B_AX_TXAGC_BT_EN BIT(1)
1384 #define B_AX_TXAGC_BT_MASK GENMASK(11, 3)
1385 
1386 #define R_AX_PWR_UL_CTRL0 0xD240
1387 #define R_AX_PWR_UL_CTRL2 0xD248
1388 #define B_AX_PWR_UL_CFO_MASK GENMASK(2, 0)
1389 #define B_AX_PWR_UL_CTRL2_MASK 0x07700007
1390 #define R_AX_PWR_UL_TB_CTRL 0xD288
1391 #define B_AX_PWR_UL_TB_CTRL_EN BIT(31)
1392 #define R_AX_PWR_UL_TB_1T 0xD28C
1393 #define B_AX_PWR_UL_TB_1T_MASK GENMASK(4, 0)
1394 #define R_AX_PWR_UL_TB_2T 0xD290
1395 #define B_AX_PWR_UL_TB_2T_MASK GENMASK(4, 0)
1396 #define R_AX_PWR_BY_RATE_TABLE0 0xD2C0
1397 #define R_AX_PWR_BY_RATE_TABLE10 0xD2E8
1398 #define R_AX_PWR_BY_RATE R_AX_PWR_BY_RATE_TABLE0
1399 #define R_AX_PWR_BY_RATE_MAX R_AX_PWR_BY_RATE_TABLE10
1400 #define R_AX_PWR_LMT_TABLE0 0xD2EC
1401 #define R_AX_PWR_LMT_TABLE19 0xD338
1402 #define R_AX_PWR_LMT R_AX_PWR_LMT_TABLE0
1403 #define R_AX_PWR_LMT_MAX R_AX_PWR_LMT_TABLE19
1404 #define R_AX_PWR_RU_LMT_TABLE0 0xD33C
1405 #define R_AX_PWR_RU_LMT_TABLE11 0xD368
1406 #define R_AX_PWR_RU_LMT R_AX_PWR_RU_LMT_TABLE0
1407 #define R_AX_PWR_RU_LMT_MAX R_AX_PWR_RU_LMT_TABLE11
1408 #define R_AX_PWR_MACID_LMT_TABLE0 0xD36C
1409 #define R_AX_PWR_MACID_LMT_TABLE127 0xD568
1410 
1411 #define R_AX_TXPWR_IMR 0xD9E0
1412 #define R_AX_TXPWR_IMR_C1 0xF9E0
1413 #define R_AX_TXPWR_ISR 0xD9E4
1414 #define R_AX_TXPWR_ISR_C1 0xF9E4
1415 
1416 #define R_AX_BTC_CFG 0xDA00
1417 #define B_AX_DIS_BTC_CLK_G BIT(2)
1418 
1419 #define R_AX_WL_PRI_MSK 0xDA10
1420 #define B_AX_PTA_WL_PRI_MASK_BCNQ BIT(8)
1421 
1422 #define R_AX_BTC_FUNC_EN 0xDA20
1423 #define R_AX_BTC_FUNC_EN_C1 0xFA20
1424 #define B_AX_PTA_WL_TX_EN BIT(1)
1425 #define B_AX_PTA_EDCCA_EN BIT(0)
1426 
1427 #define R_BTC_BREAK_TABLE 0xDA2C
1428 #define BTC_BREAK_PARAM 0xf0ffffff
1429 
1430 #define R_BTC_BT_COEX_MSK_TABLE 0xDA30
1431 #define B_BTC_PRI_MASK_TX_RESP_V1 BIT(3)
1432 
1433 #define R_AX_BT_COEX_CFG_2 0xDA34
1434 #define R_AX_BT_COEX_CFG_2_C1 0xFA34
1435 #define B_AX_GNT_BT_BYPASS_PRIORITY BIT(12)
1436 #define B_AX_GNT_BT_POLARITY BIT(8)
1437 #define B_AX_TIMER_MASK GENMASK(7, 0)
1438 #define MAC_AX_CSR_RATE 80
1439 
1440 #define R_AX_CSR_MODE 0xDA40
1441 #define R_AX_CSR_MODE_C1 0xFA40
1442 #define B_AX_BT_CNT_RST BIT(16)
1443 #define B_AX_BT_STAT_DELAY_MASK GENMASK(15, 12)
1444 #define MAC_AX_CSR_DELAY 0
1445 #define B_AX_BT_TRX_INIT_DETECT_MASK GENMASK(11, 8)
1446 #define MAC_AX_CSR_TRX_TO 4
1447 #define B_AX_BT_PRI_DETECT_TO_MASK GENMASK(7, 4)
1448 #define MAC_AX_CSR_PRI_TO 5
1449 #define B_AX_WL_ACT_MSK BIT(3)
1450 #define B_AX_STATIS_BT_EN BIT(2)
1451 #define B_AX_WL_ACT_MASK_ENABLE BIT(1)
1452 #define B_AX_ENHANCED_BT BIT(0)
1453 
1454 #define R_AX_BT_STAST_HIGH 0xDA44
1455 #define B_AX_STATIS_BT_HI_RX_MASK GENMASK(31, 16)
1456 #define B_AX_STATIS_BT_HI_TX_MASK GENMASK(15, 0)
1457 #define R_AX_BT_STAST_LOW 0xDA48
1458 #define B_AX_STATIS_BT_LO_TX_1_MASK GENMASK(15, 0)
1459 #define B_AX_STATIS_BT_LO_RX_1_MASK GENMASK(31, 16)
1460 
1461 #define R_AX_TDMA_MODE 0xDA4C
1462 #define R_AX_TDMA_MODE_C1 0xFA4C
1463 #define B_AX_R_BT_CMD_RPT_MASK GENMASK(31, 16)
1464 #define B_AX_R_RPT_FROM_BT_MASK GENMASK(15, 8)
1465 #define B_AX_BT_HID_ISR_SET_MASK GENMASK(7, 6)
1466 #define B_AX_TDMA_BT_START_NOTIFY BIT(5)
1467 #define B_AX_ENABLE_TDMA_FW_MODE BIT(4)
1468 #define B_AX_ENABLE_PTA_TDMA_MODE BIT(3)
1469 #define B_AX_ENABLE_COEXIST_TAB_IN_TDMA BIT(2)
1470 #define B_AX_GPIO2_GPIO3_EXANGE_OR_NO_BT_CCA BIT(1)
1471 #define B_AX_RTK_BT_ENABLE BIT(0)
1472 
1473 #define R_AX_BT_COEX_CFG_5 0xDA6C
1474 #define R_AX_BT_COEX_CFG_5_C1 0xFA6C
1475 #define B_AX_BT_TIME_MASK GENMASK(31, 6)
1476 #define B_AX_BT_RPT_SAMPLE_RATE_MASK GENMASK(5, 0)
1477 #define MAC_AX_RTK_RATE 5
1478 
1479 #define R_AX_LTE_CTRL 0xDAF0
1480 #define R_AX_LTE_WDATA 0xDAF4
1481 #define R_AX_LTE_RDATA 0xDAF8
1482 
1483 #define CMAC1_START_ADDR 0xE000
1484 #define CMAC1_END_ADDR 0xFFFF
1485 #define R_AX_CMAC_REG_END 0xFFFF
1486 
1487 #define R_AX_LTE_SW_CFG_1 0x0038
1488 #define R_AX_LTE_SW_CFG_1_C1 0x2038
1489 #define B_AX_GNT_BT_RFC_S1_SW_VAL BIT(31)
1490 #define B_AX_GNT_BT_RFC_S1_SW_CTRL BIT(30)
1491 #define B_AX_GNT_WL_RFC_S1_SW_VAL BIT(29)
1492 #define B_AX_GNT_WL_RFC_S1_SW_CTRL BIT(28)
1493 #define B_AX_GNT_BT_BB_S1_SW_VAL BIT(27)
1494 #define B_AX_GNT_BT_BB_S1_SW_CTRL BIT(26)
1495 #define B_AX_GNT_WL_BB_S1_SW_VAL BIT(25)
1496 #define B_AX_GNT_WL_BB_S1_SW_CTRL BIT(24)
1497 #define B_AX_BT_SW_CTRL_WL_PRIORITY BIT(19)
1498 #define B_AX_WL_SW_CTRL_WL_PRIORITY BIT(18)
1499 #define B_AX_LTE_PATTERN_2_EN BIT(17)
1500 #define B_AX_LTE_PATTERN_1_EN BIT(16)
1501 #define B_AX_GNT_BT_RFC_S0_SW_VAL BIT(15)
1502 #define B_AX_GNT_BT_RFC_S0_SW_CTRL BIT(14)
1503 #define B_AX_GNT_WL_RFC_S0_SW_VAL BIT(13)
1504 #define B_AX_GNT_WL_RFC_S0_SW_CTRL BIT(12)
1505 #define B_AX_GNT_BT_BB_S0_SW_VAL BIT(11)
1506 #define B_AX_GNT_BT_BB_S0_SW_CTRL BIT(10)
1507 #define B_AX_GNT_WL_BB_S0_SW_VAL BIT(9)
1508 #define B_AX_GNT_WL_BB_S0_SW_CTRL BIT(8)
1509 #define B_AX_LTECOEX_FUN_EN BIT(7)
1510 #define B_AX_LTECOEX_3WIRE_CTRL_MUX BIT(6)
1511 #define B_AX_LTECOEX_OP_MODE_SEL_MASK GENMASK(5, 4)
1512 #define B_AX_LTECOEX_UART_MUX BIT(3)
1513 #define B_AX_LTECOEX_UART_MODE_SEL_MASK GENMASK(2, 0)
1514 
1515 #define R_AX_LTE_SW_CFG_2 0x003C
1516 #define R_AX_LTE_SW_CFG_2_C1 0x203C
1517 #define B_AX_WL_RX_CTRL BIT(8)
1518 #define B_AX_GNT_WL_RX_SW_VAL BIT(7)
1519 #define B_AX_GNT_WL_RX_SW_CTRL BIT(6)
1520 #define B_AX_GNT_WL_TX_SW_VAL BIT(5)
1521 #define B_AX_GNT_WL_TX_SW_CTRL BIT(4)
1522 #define B_AX_GNT_BT_RX_SW_VAL BIT(3)
1523 #define B_AX_GNT_BT_RX_SW_CTRL BIT(2)
1524 #define B_AX_GNT_BT_TX_SW_VAL BIT(1)
1525 #define B_AX_GNT_BT_TX_SW_CTRL BIT(0)
1526 
1527 #define RR_MOD 0x00
1528 #define RR_MOD_IQK GENMASK(19, 4)
1529 #define RR_MOD_DPK GENMASK(19, 5)
1530 #define RR_MOD_MASK GENMASK(19, 16)
1531 #define RR_MOD_V_DOWN 0x0
1532 #define RR_MOD_V_STANDBY 0x1
1533 #define RR_MOD_V_TX 0x2
1534 #define RR_MOD_V_RX 0x3
1535 #define RR_MOD_V_TXIQK 0x4
1536 #define RR_MOD_V_DPK 0x5
1537 #define RR_MOD_V_RXK1 0x6
1538 #define RR_MOD_V_RXK2 0x7
1539 #define RR_MOD_M_RXG GENMASK(13, 4)
1540 #define RR_MOD_M_RXBB GENMASK(9, 5)
1541 #define RR_MODOPT 0x01
1542 #define RR_MODOPT_M_TXPWR GENMASK(5, 0)
1543 #define RR_WLSEL 0x02
1544 #define RR_WLSEL_AG GENMASK(18, 16)
1545 #define RR_RSV1 0x05
1546 #define RR_RSV1_RST BIT(0)
1547 #define RR_DTXLOK 0x08
1548 #define RR_RSV2 0x09
1549 #define RR_CFGCH 0x18
1550 #define RR_BTC 0x1a
1551 #define RR_BTC_TXBB GENMASK(14, 12)
1552 #define RR_BTC_RXBB GENMASK(11, 10)
1553 #define RR_RCKC 0x1b
1554 #define RR_RCKC_CA GENMASK(14, 10)
1555 #define RR_RCKS 0x1c
1556 #define RR_RCKO 0x1d
1557 #define RR_RCKO_OFF GENMASK(13, 9)
1558 #define RR_RXKPLL 0x1e
1559 #define RR_RXKPLL_OFF GENMASK(5, 0)
1560 #define RR_RXKPLL_POW BIT(19)
1561 #define RR_RSV4 0x1f
1562 #define RR_RXK 0x20
1563 #define RR_RXK_PLLEN BIT(5)
1564 #define RR_RXK_SEL5G BIT(7)
1565 #define RR_RXK_SEL2G BIT(8)
1566 #define RR_LUTWA 0x33
1567 #define RR_LUTWA_MASK GENMASK(9, 0)
1568 #define RR_LUTWD1 0x3e
1569 #define RR_LUTWD0 0x3f
1570 #define RR_TM 0x42
1571 #define RR_TM_TRI BIT(19)
1572 #define RR_TM_VAL GENMASK(6, 1)
1573 #define RR_TM2 0x43
1574 #define RR_TM2_OFF GENMASK(19, 16)
1575 #define RR_TXG1 0x51
1576 #define RR_TXG1_ATT2 BIT(19)
1577 #define RR_TXG1_ATT1 BIT(11)
1578 #define RR_TXG2 0x52
1579 #define RR_TXG2_ATT0 BIT(11)
1580 #define RR_BSPAD 0x54
1581 #define RR_TXGA 0x55
1582 #define RR_TXGA_LOK_EN BIT(0)
1583 #define RR_TXGA_TRK_EN BIT(7)
1584 #define RR_GAINTX 0x56
1585 #define RR_GAINTX_ALL GENMASK(15, 0)
1586 #define RR_GAINTX_PAD GENMASK(9, 5)
1587 #define RR_GAINTX_BB GENMASK(4, 0)
1588 #define RR_TXMO 0x58
1589 #define RR_TXMO_COI GENMASK(19, 15)
1590 #define RR_TXMO_COQ GENMASK(14, 10)
1591 #define RR_TXMO_FII GENMASK(9, 6)
1592 #define RR_TXMO_FIQ GENMASK(5, 2)
1593 #define RR_TXA 0x5d
1594 #define RR_TXA_TRK GENMASK(19, 14)
1595 #define RR_TXRSV 0x5c
1596 #define RR_TXRSV_GAPK BIT(19)
1597 #define RR_BIAS 0x5e
1598 #define RR_BIAS_GAPK BIT(19)
1599 #define RR_BIASA 0x60
1600 #define RR_BIASA_TXG GENMASK(15, 12)
1601 #define RR_BIASA_TXA GENMASK(19, 16)
1602 #define RR_BIASA_A GENMASK(2, 0)
1603 #define RR_BIASA2 0x63
1604 #define RR_BIASA2_LB GENMASK(4, 2)
1605 #define RR_TXATANK 0x64
1606 #define RR_TXATANK_LBSW GENMASK(16, 15)
1607 #define RR_TRXIQ 0x66
1608 #define RR_RSV6 0x6d
1609 #define RR_TXPOW 0x7f
1610 #define RR_TXPOW_TXG BIT(1)
1611 #define RR_TXPOW_TXA BIT(8)
1612 #define RR_RXPOW 0x80
1613 #define RR_RXPOW_IQK GENMASK(17, 16)
1614 #define RR_RXBB 0x83
1615 #define RR_RXBB_C2G GENMASK(16, 10)
1616 #define RR_RXBB_C1G GENMASK(9, 8)
1617 #define RR_RXBB_ATTR GENMASK(7, 4)
1618 #define RR_RXBB_ATTC GENMASK(2, 0)
1619 #define RR_XGLNA2 0x85
1620 #define RR_XGLNA2_SW GENMASK(1, 0)
1621 #define RR_RXA 0x8a
1622 #define RR_RXA_DPK GENMASK(9, 8)
1623 #define RR_RXA2 0x8c
1624 #define RR_RXA2_C2 GENMASK(9, 3)
1625 #define RR_RXA2_C1 GENMASK(12, 10)
1626 #define RR_RXIQGEN 0x8d
1627 #define RR_RXIQGEN_ATTL GENMASK(12, 8)
1628 #define RR_RXIQGEN_ATTH GENMASK(14, 13)
1629 #define RR_RXBB2 0x8f
1630 #define RR_EN_TIA_IDA GENMASK(11, 10)
1631 #define RR_RXBB2_DAC_EN BIT(13)
1632 #define RR_XALNA2 0x90
1633 #define RR_XALNA2_SW GENMASK(1, 0)
1634 #define RR_DCK 0x92
1635 #define RR_DCK_FINE BIT(1)
1636 #define RR_DCK_LV BIT(0)
1637 #define RR_DCK1 0x93
1638 #define RR_DCK1_SEL BIT(3)
1639 #define RR_DCK2 0x94
1640 #define RR_DCK2_CYCLE GENMASK(7, 2)
1641 #define RR_MIXER 0x9f
1642 #define RR_MIXER_GN GENMASK(4, 3)
1643 #define RR_XTALX2 0xb8
1644 #define RR_MALSEL 0xbe
1645 #define RR_RCKD 0xde
1646 #define RR_RCKD_POW GENMASK(19, 13)
1647 #define RR_RCKD_BW BIT(2)
1648 #define RR_TXADBG 0xde
1649 #define RR_LUTDBG 0xdf
1650 #define RR_LUTDBG_LOK BIT(2)
1651 #define RR_LUTWE2 0xee
1652 #define RR_LUTWE 0xef
1653 #define RR_LUTWE_LOK BIT(2)
1654 #define RR_RFC 0xf0
1655 #define RR_RFC_CKEN BIT(1)
1656 
1657 #define R_UPD_P0 0x0000
1658 #define R_RSTB_WATCH_DOG 0x000C
1659 #define B_P0_RSTB_WATCH_DOG BIT(0)
1660 #define B_P1_RSTB_WATCH_DOG BIT(1)
1661 #define B_UPD_P0_EN BIT(31)
1662 #define R_ANAPAR_PW15 0x030C
1663 #define B_ANAPAR_PW15 GENMASK(31, 24)
1664 #define B_ANAPAR_PW15_H GENMASK(27, 24)
1665 #define B_ANAPAR_PW15_H2 GENMASK(27, 26)
1666 #define R_ANAPAR 0x032C
1667 #define B_ANAPAR_15 GENMASK(31, 16)
1668 #define B_ANAPAR_ADCCLK BIT(30)
1669 #define B_ANAPAR_FLTRST BIT(22)
1670 #define B_ANAPAR_CRXBB GENMASK(18, 16)
1671 #define B_ANAPAR_14 GENMASK(15, 0)
1672 #define R_UPD_CLK_ADC 0x0700
1673 #define B_UPD_CLK_ADC_ON BIT(24)
1674 #define B_UPD_CLK_ADC_VAL GENMASK(26, 25)
1675 #define R_RSTB_ASYNC 0x0704
1676 #define B_RSTB_ASYNC_ALL BIT(1)
1677 #define R_MAC_PIN_SEL 0x0734
1678 #define B_CH_IDX_SEG0 GENMASK(23, 16)
1679 #define R_PLCP_HISTOGRAM 0x0738
1680 #define B_STS_DIS_TRIG_BY_BRK BIT(2)
1681 #define B_STS_DIS_TRIG_BY_FAIL BIT(3)
1682 #define R_PHY_STS_BITMAP_ADDR_START R_PHY_STS_BITMAP_SEARCH_FAIL
1683 #define B_PHY_STS_BITMAP_ADDR_MASK GENMASK(6, 2)
1684 #define R_PHY_STS_BITMAP_SEARCH_FAIL 0x073C
1685 #define B_PHY_STS_BITMAP_MSK_52A 0x337cff3f
1686 #define R_PHY_STS_BITMAP_R2T 0x0740
1687 #define R_PHY_STS_BITMAP_CCA_SPOOF 0x0744
1688 #define R_PHY_STS_BITMAP_OFDM_BRK 0x0748
1689 #define R_PHY_STS_BITMAP_CCK_BRK 0x074C
1690 #define R_PHY_STS_BITMAP_DL_MU_SPOOF 0x0750
1691 #define R_PHY_STS_BITMAP_HE_MU 0x0754
1692 #define R_PHY_STS_BITMAP_VHT_MU 0x0758
1693 #define R_PHY_STS_BITMAP_UL_TB_SPOOF 0x075C
1694 #define R_PHY_STS_BITMAP_TRIGBASE 0x0760
1695 #define R_PHY_STS_BITMAP_CCK 0x0764
1696 #define R_PHY_STS_BITMAP_LEGACY 0x0768
1697 #define R_PHY_STS_BITMAP_HT 0x076C
1698 #define R_PHY_STS_BITMAP_VHT 0x0770
1699 #define R_PHY_STS_BITMAP_HE 0x0774
1700 #define R_PMAC_GNT 0x0980
1701 #define B_PMAC_GNT_TXEN BIT(0)
1702 #define B_PMAC_GNT_RXEN BIT(16)
1703 #define B_PMAC_GNT_P1 GENMASK(20, 17)
1704 #define B_PMAC_GNT_P2 GENMASK(29, 26)
1705 #define R_PMAC_RX_CFG1 0x0988
1706 #define B_PMAC_OPT1_MSK GENMASK(11, 0)
1707 #define R_PMAC_RXMOD 0x0994
1708 #define B_PMAC_RXMOD_MSK GENMASK(7, 4)
1709 #define R_MAC_SEL 0x09A4
1710 #define B_MAC_SEL_MOD GENMASK(4, 2)
1711 #define B_MAC_SEL_DPD_EN BIT(10)
1712 #define B_MAC_SEL_PWR_EN BIT(16)
1713 #define R_PMAC_TX_CTRL 0x09C0
1714 #define B_PMAC_TXEN_DIS BIT(0)
1715 #define R_PMAC_TX_PRD 0x09C4
1716 #define B_PMAC_TX_PRD_MSK GENMASK(31, 8)
1717 #define B_PMAC_CTX_EN BIT(0)
1718 #define B_PMAC_PTX_EN BIT(4)
1719 #define R_PMAC_TX_CNT 0x09C8
1720 #define B_PMAC_TX_CNT_MSK GENMASK(31, 0)
1721 #define R_CCX 0x0C00
1722 #define B_CCX_EDCCA_OPT_MSK GENMASK(6, 4)
1723 #define B_MEASUREMENT_TRIG_MSK BIT(2)
1724 #define B_CCX_TRIG_OPT_MSK BIT(1)
1725 #define B_CCX_EN_MSK BIT(0)
1726 #define R_IFS_COUNTER 0x0C28
1727 #define B_IFS_CLM_PERIOD_MSK GENMASK(31, 16)
1728 #define B_IFS_CLM_COUNTER_UNIT_MSK GENMASK(15, 14)
1729 #define B_IFS_COUNTER_CLR_MSK BIT(13)
1730 #define B_IFS_COLLECT_EN BIT(12)
1731 #define R_IFS_T1 0x0C2C
1732 #define B_IFS_T1_TH_HIGH_MSK GENMASK(31, 16)
1733 #define B_IFS_T1_EN_MSK BIT(15)
1734 #define B_IFS_T1_TH_LOW_MSK GENMASK(14, 0)
1735 #define R_IFS_T2 0x0C30
1736 #define B_IFS_T2_TH_HIGH_MSK GENMASK(31, 16)
1737 #define B_IFS_T2_EN_MSK BIT(15)
1738 #define B_IFS_T2_TH_LOW_MSK GENMASK(14, 0)
1739 #define R_IFS_T3 0x0C34
1740 #define B_IFS_T3_TH_HIGH_MSK GENMASK(31, 16)
1741 #define B_IFS_T3_EN_MSK BIT(15)
1742 #define B_IFS_T3_TH_LOW_MSK GENMASK(14, 0)
1743 #define R_IFS_T4 0x0C38
1744 #define B_IFS_T4_TH_HIGH_MSK GENMASK(31, 16)
1745 #define B_IFS_T4_EN_MSK BIT(15)
1746 #define B_IFS_T4_TH_LOW_MSK GENMASK(14, 0)
1747 #define R_PD_CTRL 0x0C3C
1748 #define B_PD_HIT_DIS BIT(9)
1749 #define R_IOQ_IQK_DPK 0x0C60
1750 #define B_IOQ_IQK_DPK_EN BIT(1)
1751 #define R_P0_EN_SOUND_WO_NDP 0x0D7C
1752 #define B_P0_EN_SOUND_WO_NDP BIT(1)
1753 #define R_SPOOF_ASYNC_RST 0x0D84
1754 #define B_SPOOF_ASYNC_RST BIT(15)
1755 #define R_NDP_BRK0 0xDA0
1756 #define R_NDP_BRK1 0xDA4
1757 #define B_NDP_RU_BRK BIT(0)
1758 #define R_BRK_ASYNC_RST_EN_1 0x0DC0
1759 #define R_BRK_ASYNC_RST_EN_2 0x0DC4
1760 #define R_BRK_ASYNC_RST_EN_3 0x0DC8
1761 #define R_P0_RXCK 0x12A0
1762 #define B_P0_RXCK_VAL GENMASK(18, 16)
1763 #define B_P0_RXCK_ON BIT(19)
1764 #define B_P0_RXCK_BW3 BIT(30)
1765 #define R_P0_NRBW 0x12B8
1766 #define B_P0_NRBW_DBG BIT(30)
1767 #define R_S0_RXDC 0x12D4
1768 #define B_S0_RXDC_I GENMASK(25, 16)
1769 #define B_S0_RXDC_Q GENMASK(31, 26)
1770 #define R_S0_RXDC2 0x12D8
1771 #define B_S0_RXDC2_SEL GENMASK(9, 8)
1772 #define B_S0_RXDC2_AVG GENMASK(7, 6)
1773 #define B_S0_RXDC2_MEN GENMASK(5, 4)
1774 #define B_S0_RXDC2_Q2 GENMASK(3, 0)
1775 #define R_CFO_COMP_SEG0_L 0x1384
1776 #define R_CFO_COMP_SEG0_H 0x1388
1777 #define R_CFO_COMP_SEG0_CTRL 0x138C
1778 #define R_DBG32_D 0x1730
1779 #define R_TX_COUNTER 0x1A40
1780 #define R_IFS_CLM_TX_CNT 0x1ACC
1781 #define B_IFS_CLM_EDCCA_EXCLUDE_CCA_FA_MSK GENMASK(31, 16)
1782 #define B_IFS_CLM_TX_CNT_MSK GENMASK(15, 0)
1783 #define R_IFS_CLM_CCA 0x1AD0
1784 #define B_IFS_CLM_OFDMCCA_EXCLUDE_FA_MSK GENMASK(31, 16)
1785 #define B_IFS_CLM_CCKCCA_EXCLUDE_FA_MSK GENMASK(15, 0)
1786 #define R_IFS_CLM_FA 0x1AD4
1787 #define B_IFS_CLM_OFDM_FA_MSK GENMASK(31, 16)
1788 #define B_IFS_CLM_CCK_FA_MSK GENMASK(15, 0)
1789 #define R_IFS_HIS 0x1AD8
1790 #define B_IFS_T4_HIS_MSK GENMASK(31, 24)
1791 #define B_IFS_T3_HIS_MSK GENMASK(23, 16)
1792 #define B_IFS_T2_HIS_MSK GENMASK(15, 8)
1793 #define B_IFS_T1_HIS_MSK GENMASK(7, 0)
1794 #define R_IFS_AVG_L 0x1ADC
1795 #define B_IFS_T2_AVG_MSK GENMASK(31, 16)
1796 #define B_IFS_T1_AVG_MSK GENMASK(15, 0)
1797 #define R_IFS_AVG_H 0x1AE0
1798 #define B_IFS_T4_AVG_MSK GENMASK(31, 16)
1799 #define B_IFS_T3_AVG_MSK GENMASK(15, 0)
1800 #define R_IFS_CCA_L 0x1AE4
1801 #define B_IFS_T2_CCA_MSK GENMASK(31, 16)
1802 #define B_IFS_T1_CCA_MSK GENMASK(15, 0)
1803 #define R_IFS_CCA_H 0x1AE8
1804 #define B_IFS_T4_CCA_MSK GENMASK(31, 16)
1805 #define B_IFS_T3_CCA_MSK GENMASK(15, 0)
1806 #define R_IFSCNT 0x1AEC
1807 #define B_IFSCNT_DONE_MSK BIT(16)
1808 #define B_IFSCNT_TOTAL_CNT_MSK GENMASK(15, 0)
1809 #define R_TXAGC_TP 0x1C04
1810 #define B_TXAGC_TP GENMASK(2, 0)
1811 #define R_TSSI_THER 0x1C10
1812 #define B_TSSI_THER GENMASK(29, 24)
1813 #define R_TXAGC_BB 0x1C60
1814 #define B_TXAGC_BB_OFT GENMASK(31, 16)
1815 #define B_TXAGC_BB GENMASK(31, 24)
1816 #define R_S0_ADDCK 0x1E00
1817 #define B_S0_ADDCK_I GENMASK(9, 0)
1818 #define B_S0_ADDCK_Q GENMASK(19, 10)
1819 #define R_ADC_FIFO 0x20fc
1820 #define B_ADC_FIFO_RST GENMASK(31, 24)
1821 #define R_TXFIR0 0x2300
1822 #define B_TXFIR_C01 GENMASK(23, 0)
1823 #define R_TXFIR2 0x2304
1824 #define B_TXFIR_C23 GENMASK(23, 0)
1825 #define R_TXFIR4 0x2308
1826 #define B_TXFIR_C45 GENMASK(23, 0)
1827 #define R_TXFIR6 0x230c
1828 #define B_TXFIR_C67 GENMASK(23, 0)
1829 #define R_TXFIR8 0x2310
1830 #define B_TXFIR_C89 GENMASK(23, 0)
1831 #define R_TXFIRA 0x2314
1832 #define B_TXFIR_CAB GENMASK(23, 0)
1833 #define R_TXFIRC 0x2318
1834 #define B_TXFIR_CCD GENMASK(23, 0)
1835 #define R_TXFIRE 0x231c
1836 #define B_TXFIR_CEF GENMASK(23, 0)
1837 #define R_RXCCA 0x2344
1838 #define B_RXCCA_DIS BIT(31)
1839 #define R_RXSC 0x237C
1840 #define B_RXSC_EN BIT(0)
1841 #define R_RXSCOBC 0x23B0
1842 #define B_RXSCOBC_TH GENMASK(18, 0)
1843 #define R_RXSCOCCK 0x23B4
1844 #define B_RXSCOCCK_TH GENMASK(18, 0)
1845 #define R_P1_EN_SOUND_WO_NDP 0x2D7C
1846 #define B_P1_EN_SOUND_WO_NDP BIT(1)
1847 #define R_P1_DBGMOD 0x32B8
1848 #define B_P1_DBGMOD_ON BIT(30)
1849 #define R_S1_RXDC 0x32D4
1850 #define B_S1_RXDC_I GENMASK(25, 16)
1851 #define B_S1_RXDC_Q GENMASK(31, 26)
1852 #define R_S1_RXDC2 0x32D8
1853 #define B_S1_RXDC2_EN GENMASK(5, 4)
1854 #define B_S1_RXDC2_SEL GENMASK(9, 8)
1855 #define B_S1_RXDC2_Q2 GENMASK(3, 0)
1856 #define R_TXAGC_BB_S1 0x3C60
1857 #define B_TXAGC_BB_S1_OFT GENMASK(31, 16)
1858 #define B_TXAGC_BB_S1 GENMASK(31, 24)
1859 #define R_S1_ADDCK 0x3E00
1860 #define B_S1_ADDCK_I GENMASK(9, 0)
1861 #define B_S1_ADDCK_Q GENMASK(19, 10)
1862 #define R_DCFO 0x4264
1863 #define B_DCFO GENMASK(1, 0)
1864 #define R_SEG0CSI 0x42AC
1865 #define B_SEG0CSI_IDX GENMASK(10, 0)
1866 #define R_SEG0CSI_EN 0x42C4
1867 #define B_SEG0CSI_EN BIT(23)
1868 #define R_BSS_CLR_MAP 0x43ac
1869 #define B_BSS_CLR_MAP_VLD0 BIT(28)
1870 #define B_BSS_CLR_MAP_TGT GENMASK(27, 22)
1871 #define B_BSS_CLR_MAP_STAID GENMASK(21, 11)
1872 #define R_CFO_TRK0 0x4404
1873 #define R_CFO_TRK1 0x440C
1874 #define B_CFO_TRK_MSK GENMASK(14, 10)
1875 #define R_DCFO_COMP_S0 0x448C
1876 #define B_DCFO_COMP_S0_MSK GENMASK(11, 0)
1877 #define R_DCFO_WEIGHT 0x4490
1878 #define B_DCFO_WEIGHT_MSK GENMASK(27, 24)
1879 #define R_DCFO_OPT 0x4494
1880 #define B_DCFO_OPT_EN BIT(29)
1881 #define R_BANDEDGE 0x4498
1882 #define B_BANDEDGE_EN BIT(30)
1883 #define R_TXPATH_SEL 0x458C
1884 #define B_TXPATH_SEL_MSK GENMASK(31, 28)
1885 #define R_TXPWR 0x4594
1886 #define B_TXPWR_MSK GENMASK(30, 22)
1887 #define R_TXNSS_MAP 0x45B4
1888 #define B_TXNSS_MAP_MSK GENMASK(20, 17)
1889 #define R_PATH0_IB_PKPW 0x4628
1890 #define B_PATH0_IB_PKPW_MSK GENMASK(11, 6)
1891 #define R_PATH0_LNA_ERR1 0x462C
1892 #define B_PATH0_LNA_ERR_G1_A_MSK GENMASK(29, 24)
1893 #define B_PATH0_LNA_ERR_G0_G_MSK GENMASK(17, 12)
1894 #define B_PATH0_LNA_ERR_G0_A_MSK GENMASK(11, 6)
1895 #define R_PATH0_LNA_ERR2 0x4630
1896 #define B_PATH0_LNA_ERR_G2_G_MSK GENMASK(23, 18)
1897 #define B_PATH0_LNA_ERR_G2_A_MSK GENMASK(17, 12)
1898 #define B_PATH0_LNA_ERR_G1_G_MSK GENMASK(5, 0)
1899 #define R_PATH0_LNA_ERR3 0x4634
1900 #define B_PATH0_LNA_ERR_G4_G_MSK GENMASK(29, 24)
1901 #define B_PATH0_LNA_ERR_G4_A_MSK GENMASK(23, 18)
1902 #define B_PATH0_LNA_ERR_G3_G_MSK GENMASK(11, 6)
1903 #define B_PATH0_LNA_ERR_G3_A_MSK GENMASK(5, 0)
1904 #define R_PATH0_LNA_ERR4 0x4638
1905 #define B_PATH0_LNA_ERR_G6_A_MSK GENMASK(29, 24)
1906 #define B_PATH0_LNA_ERR_G5_G_MSK GENMASK(17, 12)
1907 #define B_PATH0_LNA_ERR_G5_A_MSK GENMASK(11, 6)
1908 #define R_PATH0_LNA_ERR5 0x463C
1909 #define B_PATH0_LNA_ERR_G6_G_MSK GENMASK(5, 0)
1910 #define R_PATH0_TIA_ERR_G0 0x4640
1911 #define B_PATH0_TIA_ERR_G0_G_MSK GENMASK(23, 18)
1912 #define B_PATH0_TIA_ERR_G0_A_MSK GENMASK(17, 12)
1913 #define R_PATH0_TIA_ERR_G1 0x4644
1914 #define B_PATH0_TIA_ERR_G1_SEL GENMASK(31, 30)
1915 #define B_PATH0_TIA_ERR_G1_G_MSK GENMASK(11, 6)
1916 #define B_PATH0_TIA_ERR_G1_A_MSK GENMASK(5, 0)
1917 #define R_PATH0_IB_PBK 0x4650
1918 #define B_PATH0_IB_PBK_MSK GENMASK(14, 10)
1919 #define R_PATH0_RXB_INIT 0x4658
1920 #define B_PATH0_RXB_INIT_IDX_MSK GENMASK(9, 5)
1921 #define R_PATH0_LNA_INIT 0x4668
1922 #define B_PATH0_LNA_INIT_IDX_MSK GENMASK(26, 24)
1923 #define R_PATH0_BTG 0x466C
1924 #define B_PATH0_BTG_SHEN GENMASK(18, 17)
1925 #define R_PATH0_TIA_INIT 0x4674
1926 #define B_PATH0_TIA_INIT_IDX_MSK BIT(17)
1927 #define R_PATH0_P20_FOLLOW_BY_PAGCUGC 0x46A0
1928 #define B_PATH0_P20_FOLLOW_BY_PAGCUGC_EN_MSK BIT(5)
1929 #define R_PATH0_S20_FOLLOW_BY_PAGCUGC 0x46A4
1930 #define B_PATH0_S20_FOLLOW_BY_PAGCUGC_EN_MSK BIT(5)
1931 #define R_P0_NBIIDX 0x469C
1932 #define B_P0_NBIIDX_VAL GENMASK(11, 0)
1933 #define B_P0_NBIIDX_NOTCH_EN BIT(12)
1934 #define R_P1_MODE 0x4718
1935 #define B_P1_MODE_SEL GENMASK(31, 30)
1936 #define R_PATH1_LNA_INIT 0x473C
1937 #define B_PATH1_LNA_INIT_IDX_MSK GENMASK(26, 24)
1938 #define R_PATH1_TIA_INIT 0x4748
1939 #define B_PATH1_TIA_INIT_IDX_MSK BIT(17)
1940 #define R_PATH1_BTG 0x4740
1941 #define B_PATH1_BTG_SHEN GENMASK(18, 17)
1942 #define R_PATH1_RXB_INIT 0x472C
1943 #define B_PATH1_RXB_INIT_IDX_MSK GENMASK(9, 5)
1944 #define R_PATH1_P20_FOLLOW_BY_PAGCUGC 0x4774
1945 #define B_PATH1_P20_FOLLOW_BY_PAGCUGC_EN_MSK BIT(5)
1946 #define R_PATH1_S20_FOLLOW_BY_PAGCUGC 0x4778
1947 #define B_PATH1_S20_FOLLOW_BY_PAGCUGC_EN_MSK BIT(5)
1948 #define R_P1_NBIIDX 0x4770
1949 #define B_P1_NBIIDX_VAL GENMASK(11, 0)
1950 #define B_P1_NBIIDX_NOTCH_EN BIT(12)
1951 #define R_SEG0R_PD 0x481C
1952 #define B_SEG0R_PD_SPATIAL_REUSE_EN_MSK BIT(29)
1953 #define B_SEG0R_PD_LOWER_BOUND_MSK GENMASK(10, 6)
1954 #define R_2P4G_BAND 0x4970
1955 #define B_2P4G_BAND_SEL BIT(1)
1956 #define R_FC0_BW 0x4974
1957 #define B_FC0_BW_INV GENMASK(6, 0)
1958 #define B_FC0_BW_SET GENMASK(31, 30)
1959 #define R_CHBW_MOD 0x4978
1960 #define B_CHBW_MOD_PRICH GENMASK(11, 8)
1961 #define B_CHBW_MOD_SBW GENMASK(13, 12)
1962 #define R_CFO_COMP_SEG1_L 0x5384
1963 #define R_CFO_COMP_SEG1_H 0x5388
1964 #define R_CFO_COMP_SEG1_CTRL 0x538C
1965 #define B_CFO_COMP_VALID_BIT BIT(29)
1966 #define B_CFO_COMP_WEIGHT_MSK GENMASK(27, 24)
1967 #define B_CFO_COMP_VAL_MSK GENMASK(11, 0)
1968 #define R_DPD_OFT_EN 0x5800
1969 #define B_DPD_OFT_EN BIT(28)
1970 #define R_DPD_OFT_ADDR 0x5804
1971 #define B_DPD_OFT_ADDR GENMASK(31, 27)
1972 #define R_P0_TMETER 0x5810
1973 #define B_P0_TMETER GENMASK(15, 10)
1974 #define B_P0_TMETER_DIS BIT(16)
1975 #define B_P0_TMETER_TRK BIT(24)
1976 #define R_P0_TSSI_TRK 0x5818
1977 #define B_P0_TSSI_TRK_EN BIT(30)
1978 #define B_P0_TSSI_OFT_EN BIT(28)
1979 #define B_P0_TSSI_OFT GENMASK(7, 0)
1980 #define R_P0_TSSI_AVG 0x5820
1981 #define B_P0_TSSI_AVG GENMASK(15, 12)
1982 #define R_P0_RFCTM 0x5864
1983 #define B_P0_RFCTM_VAL GENMASK(25, 20)
1984 #define R_P0_RFCTM_RDY BIT(26)
1985 #define R_P0_TXDPD 0x58D4
1986 #define B_P0_TXDPD GENMASK(31, 28)
1987 #define R_P0_TXPW_RSTB 0x58DC
1988 #define B_P0_TXPW_RSTB_MANON BIT(30)
1989 #define B_P0_TXPW_RSTB_TSSI BIT(31)
1990 #define R_P0_TSSI_MV_AVG 0x58E4
1991 #define B_P0_TSSI_MV_AVG GENMASK(13, 11)
1992 #define R_TXGAIN_SCALE 0x58F0
1993 #define B_TXGAIN_SCALE_EN BIT(19)
1994 #define B_TXGAIN_SCALE_OFT GENMASK(31, 24)
1995 #define R_P0_TSSI_BASE 0x5C00
1996 #define R_S0_DACKI 0x5E00
1997 #define B_S0_DACKI_AR GENMASK(31, 28)
1998 #define B_S0_DACKI_EN BIT(3)
1999 #define R_S0_DACKI2 0x5E30
2000 #define B_S0_DACKI2_K GENMASK(21, 12)
2001 #define R_S0_DACKI7 0x5E44
2002 #define B_S0_DACKI7_K GENMASK(15, 8)
2003 #define R_S0_DACKI8 0x5E48
2004 #define B_S0_DACKI8_K GENMASK(15, 8)
2005 #define R_S0_DACKQ 0x5E50
2006 #define B_S0_DACKQ_AR GENMASK(31, 28)
2007 #define B_S0_DACKQ_EN BIT(3)
2008 #define R_S0_DACKQ2 0x5E80
2009 #define B_S0_DACKQ2_K GENMASK(21, 12)
2010 #define R_S0_DACKQ7 0x5E94
2011 #define B_S0_DACKQ7_K GENMASK(15, 8)
2012 #define R_S0_DACKQ8 0x5E98
2013 #define B_S0_DACKQ8_K GENMASK(15, 8)
2014 #define R_P1_TMETER 0x7810
2015 #define B_P1_TMETER GENMASK(15, 10)
2016 #define B_P1_TMETER_DIS BIT(16)
2017 #define B_P1_TMETER_TRK BIT(24)
2018 #define R_P1_TSSI_TRK 0x7818
2019 #define B_P1_TSSI_TRK_EN BIT(30)
2020 #define B_P1_TSSI_OFT_EN BIT(28)
2021 #define B_P1_TSSI_OFT GENMASK(7, 0)
2022 #define R_P1_TSSI_AVG 0x7820
2023 #define B_P1_TSSI_AVG GENMASK(15, 12)
2024 #define R_P1_RFCTM 0x7864
2025 #define R_P1_RFCTM_RDY BIT(26)
2026 #define B_P1_RFCTM_VAL GENMASK(25, 20)
2027 #define R_P1_TXPW_RSTB 0x78DC
2028 #define B_P1_TXPW_RSTB_MANON BIT(30)
2029 #define B_P1_TXPW_RSTB_TSSI BIT(31)
2030 #define R_P1_TSSI_MV_AVG 0x78E4
2031 #define B_P1_TSSI_MV_AVG GENMASK(13, 11)
2032 #define R_TSSI_THOF 0x7C00
2033 #define R_S1_DACKI 0x7E00
2034 #define B_S1_DACKI_AR GENMASK(31, 28)
2035 #define B_S1_DACKI_EN BIT(3)
2036 #define R_S1_DACKI2 0x7E30
2037 #define B_S1_DACKI2_K GENMASK(21, 12)
2038 #define R_S1_DACKI7 0x7E44
2039 #define B_S1_DACKI_K GENMASK(15, 8)
2040 #define R_S1_DACKI8 0x7E48
2041 #define B_S1_DACKI8_K GENMASK(15, 8)
2042 #define R_S1_DACKQ 0x7E50
2043 #define B_S1_DACKQ_AR GENMASK(31, 28)
2044 #define B_S1_DACKQ_EN BIT(3)
2045 #define R_S1_DACKQ2 0x7E80
2046 #define B_S1_DACKQ2_K GENMASK(21, 12)
2047 #define R_S1_DACKQ7 0x7E94
2048 #define B_S1_DACKQ7_K GENMASK(15, 8)
2049 #define R_S1_DACKQ8 0x7E98
2050 #define B_S1_DACKQ8_K GENMASK(15, 8)
2051 #define R_NCTL_CFG 0x8000
2052 #define B_NCTL_CFG_SPAGE GENMASK(2, 1)
2053 #define R_NCTL_RPT 0x8008
2054 #define B_NCTL_RPT_FLG BIT(26)
2055 #define R_NCTL_N1 0x8010
2056 #define B_NCTL_N1_CIP GENMASK(7, 0)
2057 #define R_NCTL_N2 0x8014
2058 #define R_IQK_COM 0x8018
2059 #define R_IQK_DIF 0x801C
2060 #define B_IQK_DIF_TRX GENMASK(1, 0)
2061 #define R_IQK_DIF1 0x8020
2062 #define B_IQK_DIF1_TXPI GENMASK(19, 0)
2063 #define R_IQK_DIF2 0x8024
2064 #define B_IQK_DIF2_RXPI GENMASK(19, 0)
2065 #define R_IQK_DIF4 0x802C
2066 #define B_IQK_DIF4_TXT GENMASK(11, 0)
2067 #define B_IQK_DIF4_RXT GENMASK(27, 16)
2068 #define R_IQK_CFG 0x8034
2069 #define B_IQK_CFG_SET GENMASK(5, 4)
2070 #define R_TPG_MOD 0x806C
2071 #define B_TPG_MOD_F GENMASK(2, 1)
2072 #define R_MDPK_SYNC 0x8070
2073 #define B_MDPK_SYNC_SEL BIT(31)
2074 #define B_MDPK_SYNC_MAN GENMASK(31, 28)
2075 #define R_MDPK_RX_DCK 0x8074
2076 #define R_NCTL_RW 0x8080
2077 #define R_KIP_SYSCFG 0x8088
2078 #define R_KIP_CLK 0x808C
2079 #define R_LDL_NORM 0x80A0
2080 #define B_LDL_NORM_PN GENMASK(12, 8)
2081 #define B_LDL_NORM_OP GENMASK(1, 0)
2082 #define R_DPK_CTL 0x80B0
2083 #define B_DPK_CTL_EN BIT(28)
2084 #define R_DPK_CFG 0x80B8
2085 #define B_DPK_CFG_IDX GENMASK(14, 12)
2086 #define R_DPK_CFG2 0x80BC
2087 #define B_DPK_CFG2_ST BIT(14)
2088 #define R_DPK_CFG3 0x80C0
2089 #define R_KPATH_CFG 0x80D0
2090 #define R_KIP_RPT1 0x80D4
2091 #define B_KIP_RPT1_SEL GENMASK(21, 16)
2092 #define R_SRAM_IQRX 0x80D8
2093 #define R_GAPK 0x80E0
2094 #define B_GAPK_ADR BIT(0)
2095 #define R_SRAM_IQRX2 0x80E8
2096 #define R_DPK_TRK 0x80f0
2097 #define B_DPK_TRK_DIS BIT(31)
2098 #define R_RPT_COM 0x80FC
2099 #define B_PRT_COM_SYNERR BIT(30)
2100 #define B_PRT_COM_DCI GENMASK(27, 16)
2101 #define B_PRT_COM_CORV GENMASK(15, 8)
2102 #define B_PRT_COM_DCQ GENMASK(11, 0)
2103 #define B_PRT_COM_GL GENMASK(7, 4)
2104 #define B_PRT_COM_CORI GENMASK(7, 0)
2105 #define R_COEF_SEL 0x8104
2106 #define B_COEF_SEL_IQC BIT(0)
2107 #define B_COEF_SEL_MDPD BIT(8)
2108 #define R_CFIR_SYS 0x8120
2109 #define R_IQK_RES 0x8124
2110 #define B_IQK_RES_TXCFIR GENMASK(11, 8)
2111 #define B_IQK_RES_RXCFIR GENMASK(3, 0)
2112 #define R_TXIQC 0x8138
2113 #define R_RXIQC 0x813c
2114 #define B_RXIQC_BYPASS BIT(0)
2115 #define B_RXIQC_BYPASS2 BIT(2)
2116 #define B_RXIQC_NEWP GENMASK(19, 8)
2117 #define B_RXIQC_NEWX GENMASK(31, 20)
2118 #define R_KIP 0x8140
2119 #define B_KIP_DBCC BIT(0)
2120 #define B_KIP_RFGAIN BIT(8)
2121 #define R_RFGAIN 0x8144
2122 #define B_RFGAIN_PAD GENMASK(4, 0)
2123 #define B_RFGAIN_TXBB GENMASK(12, 8)
2124 #define R_RFGAIN_BND 0x8148
2125 #define B_RFGAIN_BND GENMASK(4, 0)
2126 #define R_CFIR_MAP 0x8150
2127 #define R_CFIR_LUT 0x8154
2128 #define B_CFIR_LUT_SEL BIT(8)
2129 #define B_CFIR_LUT_G3 BIT(3)
2130 #define B_CFIR_LUT_G2 BIT(2)
2131 #define B_CFIR_LUT_GP GENMASK(1, 0)
2132 #define R_DPD_V1 0x81a0
2133 #define R_DPD_CH0 0x81AC
2134 #define R_DPD_BND 0x81B4
2135 #define R_DPD_CH0A 0x81BC
2136 #define R_TXAGC_RFK 0x81C4
2137 #define B_TXAGC_RFK_CH0 GENMASK(5, 0)
2138 #define R_DPD_COM 0x81C8
2139 #define R_KIP_IQP 0x81CC
2140 #define B_KIP_IQP_IQSW GENMASK(5, 0)
2141 #define R_KIP_RPT 0x81D4
2142 #define B_KIP_RPT_SEL GENMASK(21, 16)
2143 #define R_W_COEF 0x81D8
2144 #define R_LOAD_COEF 0x81DC
2145 #define B_LOAD_COEF_MDPD BIT(16)
2146 #define B_LOAD_COEF_CFIR GENMASK(1, 0)
2147 #define B_LOAD_COEF_AUTO BIT(0)
2148 #define R_RPT_PER 0x81FC
2149 #define R_RXCFIR_P0C0 0x8D40
2150 #define R_RXCFIR_P0C1 0x8D84
2151 #define R_RXCFIR_P0C2 0x8DC8
2152 #define R_RXCFIR_P0C3 0x8E0C
2153 #define R_TXCFIR_P0C0 0x8F50
2154 #define R_TXCFIR_P0C1 0x8F84
2155 #define R_TXCFIR_P0C2 0x8FB8
2156 #define R_TXCFIR_P0C3 0x8FEC
2157 #define R_RXCFIR_P1C0 0x9140
2158 #define R_RXCFIR_P1C1 0x9184
2159 #define R_RXCFIR_P1C2 0x91C8
2160 #define R_RXCFIR_P1C3 0x920C
2161 #define R_TXCFIR_P1C0 0x9350
2162 #define R_TXCFIR_P1C1 0x9384
2163 #define R_TXCFIR_P1C2 0x93B8
2164 #define R_TXCFIR_P1C3 0x93EC
2165 #define R_IQKINF 0x9FE0
2166 #define B_IQKINF_VER GENMASK(31, 24)
2167 #define B_IQKINF_FAIL_RXGRP GENMASK(23, 16)
2168 #define B_IQKINF_FAIL_TXGRP GENMASK(15, 8)
2169 #define B_IQKINF_FAIL GENMASK(3, 0)
2170 #define B_IQKINF_F_RX BIT(3)
2171 #define B_IQKINF_FTX BIT(2)
2172 #define B_IQKINF_FFIN BIT(1)
2173 #define B_IQKINF_FCOR BIT(0)
2174 #define R_IQKCH 0x9FE4
2175 #define B_IQKCH_CH GENMASK(15, 8)
2176 #define B_IQKCH_BW GENMASK(7, 4)
2177 #define B_IQKCH_BAND GENMASK(3, 0)
2178 #define R_IQKINF2 0x9FE8
2179 #define B_IQKINF2_FCNT GENMASK(23, 16)
2180 #define B_IQKINF2_KCNT GENMASK(15, 8)
2181 #define B_IQKINF2_NCTLV GENMAKS(7, 0)
2182 #endif
2183