xref: /OK3568_Linux_fs/external/rkwifibt/drivers/rtl8852be/phl/hal_g6/mac/txdesc.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /** @file */
2 /******************************************************************************
3  *
4  * Copyright(c) 2019 Realtek Corporation. All rights reserved.
5  *
6  * This program is free software; you can redistribute it and/or modify it
7  * under the terms of version 2 of the GNU General Public License as
8  * published by the Free Software Foundation.
9  *
10  * This program is distributed in the hope that it will be useful, but WITHOUT
11  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
12  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
13  * more details.
14  *
15  ******************************************************************************/
16 
17 #ifndef _MAC_AX_TXDESC_H_
18 #define _MAC_AX_TXDESC_H_
19 
20 #if MAC_AX_8852A_SUPPORT
21 /* dword0 */
22 #define AX_TXD_WP_OFFSET_SH		24
23 #define AX_TXD_WP_OFFSET_MSK		0xff
24 #define AX_TXD_MOREDATA		BIT(23)
25 #define AX_TXD_WDINFO_EN		BIT(22)
26 #define AX_TXD_PKT_OFFSET		BIT(21)
27 #define AX_TXD_FWDL_EN		BIT(20)
28 #define AX_TXD_CH_DMA_SH		16
29 #define AX_TXD_CH_DMA_MSK		0xf
30 #define AX_TXD_HDR_LLC_LEN_SH		11
31 #define AX_TXD_HDR_LLC_LEN_MSK		0x1f
32 #define AX_TXD_STF_MODE		BIT(10)
33 #define AX_TXD_WP_INT		BIT(9)
34 #define AX_TXD_CHK_EN		BIT(8)
35 #define AX_TXD_WD_PAGE		BIT(7)
36 #define AX_TXD_HW_AES_IV		BIT(6)
37 #define AX_TXD_HWAMSDU		BIT(5)
38 #define AX_TXD_SMH_EN		BIT(4)
39 #define AX_TXD_HW_SSN_SEL_SH		2
40 #define AX_TXD_HW_SSN_SEL_MSK		0x3
41 #define AX_TXD_EN_HWSEQ_MODE_SH		0
42 #define AX_TXD_EN_HWSEQ_MODE_MSK		0x3
43 
44 /* dword1 */
45 #define AX_TXD_PLD_SH		16
46 #define AX_TXD_PLD_MSK		0xffff
47 #define AX_TXD_DMA_TXAGG_NUM_SH		8
48 #define AX_TXD_DMA_TXAGG_NUM_MSK		0xff
49 #define AX_TXD_SHCUT_CAMID_SH		0
50 #define AX_TXD_SHCUT_CAMID_MSK		0xff
51 
52 /* dword2 */
53 #define AX_TXD_MACID_SH		24
54 #define AX_TXD_MACID_MSK		0x7f
55 #define AX_TXD_TID_IND		BIT(23)
56 #define AX_TXD_QSEL_SH		17
57 #define AX_TXD_QSEL_MSK		0x3f
58 #define AX_TXD_RU_TC_SH		14
59 #define AX_TXD_RU_TC_MSK		0x7
60 #define AX_TXD_TXPKTSIZE_SH		0
61 #define AX_TXD_TXPKTSIZE_MSK		0x3fff
62 
63 /* dword3 */
64 #define AX_TXD_MU_TC_SH		29
65 #define AX_TXD_MU_TC_MSK		0x7
66 #define AX_TXD_MU_2ND_TC_SH		26
67 #define AX_TXD_MU_2ND_TC_MSK		0x7
68 #define AX_TXD_DATA_TC_SH		20
69 #define AX_TXD_DATA_TC_MSK		0x3f
70 #define AX_TXD_RTS_TC_SH		14
71 #define AX_TXD_RTS_TC_MSK		0x3f
72 #define AX_TXD_BK		BIT(13)
73 #define AX_TXD_AGG_EN		BIT(12)
74 #define AX_TXD_WIFI_SEQ_SH		0
75 #define AX_TXD_WIFI_SEQ_MSK		0xfff
76 
77 /* dword4 */
78 #define AX_TXD_AES_IV_L_SH		16
79 #define AX_TXD_AES_IV_L_MSK		0xffff
80 #define AX_TXD_TXDESC_CHECKSUM_SH		0
81 #define AX_TXD_TXDESC_CHECKSUM_MSK		0xffff
82 
83 /* dword5 */
84 #define AX_TXD_AES_IV_H_SH		0
85 #define AX_TXD_AES_IV_H_MSK		0xffffffff
86 
87 /* dword6 */
88 #define AX_TXD_ACK_CH_INFO		BIT(31)
89 #define AX_TXD_USERATE_SEL		BIT(30)
90 #define AX_TXD_DATA_BW_SH		28
91 #define AX_TXD_DATA_BW_MSK		0x3
92 #define AX_TXD_GI_LTF_SH		25
93 #define AX_TXD_GI_LTF_MSK		0x7
94 #define AX_TXD_DATARATE_SH		16
95 #define AX_TXD_DATARATE_MSK		0x1ff
96 #define AX_TXD_DATA_ER		BIT(15)
97 #define AX_TXD_DATA_DCM		BIT(14)
98 #define AX_TXD_DATA_STBC		BIT(12)
99 #define AX_TXD_DATA_LDPC		BIT(11)
100 #define AX_TXD_DISDATAFB		BIT(10)
101 #define AX_TXD_DISRTSFB		BIT(9)
102 #define AX_TXD_DATA_BW_ER		BIT(8)
103 #define AX_TXD_MULTIPORT_ID_SH		4
104 #define AX_TXD_MULTIPORT_ID_MSK		0x7
105 #define AX_TXD_MBSSID_SH		0
106 #define AX_TXD_MBSSID_MSK		0xf
107 
108 /* dword7 */
109 #define AX_TXD_DATA_TXCNT_LMT_SEL		BIT(31)
110 #define AX_TXD_DATA_TXCNT_LMT_SH		25
111 #define AX_TXD_DATA_TXCNT_LMT_MSK		0x3f
112 #define AX_TXD_DATA_RTY_LOWEST_RATE_SH		16
113 #define AX_TXD_DATA_RTY_LOWEST_RATE_MSK		0x1ff
114 #define AX_TXD_A_CTRL_CAS		BIT(15)
115 #define AX_TXD_A_CTRL_BSR		BIT(14)
116 #define AX_TXD_A_CTRL_UPH		BIT(13)
117 #define AX_TXD_A_CTRL_BQR		BIT(12)
118 #define AX_TXD_BMC		BIT(11)
119 #define AX_TXD_NAVUSEHDR		BIT(10)
120 #define AX_TXD_BCN_SRCH_SEQ_SH		8
121 #define AX_TXD_BCN_SRCH_SEQ_MSK		0x3
122 #define AX_TXD_MAX_AGG_NUM_SH		0
123 #define AX_TXD_MAX_AGG_NUM_MSK		0xff
124 
125 /* dword8 */
126 #define AX_TXD_OBW_CTS2SELF_DUP_TYPE_SH		26
127 #define AX_TXD_OBW_CTS2SELF_DUP_TYPE_MSK		0xf
128 #define AX_TXD_TXPWR_OFSET_TYPE_SH		22
129 #define AX_TXD_TXPWR_OFSET_TYPE_MSK		0x7
130 #define AX_TXD_LSIG_TXOP_EN		BIT(21)
131 #define AX_TXD_AMPDU_DENSITY_SH		18
132 #define AX_TXD_AMPDU_DENSITY_MSK		0x7
133 #define AX_TXD_FORCE_TXOP		BIT(17)
134 #define AX_TXD_LIFETIME_SEL_SH		13
135 #define AX_TXD_LIFETIME_SEL_MSK		0x7
136 #define AX_TXD_SECTYPE_SH		9
137 #define AX_TXD_SECTYPE_MSK		0xf
138 #define AX_TXD_SEC_HW_ENC		BIT(8)
139 #define AX_TXD_SEC_CAM_IDX_SH		0
140 #define AX_TXD_SEC_CAM_IDX_MSK		0xff
141 
142 /* dword9 */
143 #define AX_TXD_FORCE_BSS_CLR		BIT(31)
144 #define AX_TXD_SIGNALING_TA_PKT_SC_SH		27
145 #define AX_TXD_SIGNALING_TA_PKT_SC_MSK		0xf
146 #define AX_TXD_BCNPKT_TSF_CTRL		BIT(26)
147 #define AX_TXD_GROUP_BIT_IE_OFFSET_SH		16
148 #define AX_TXD_GROUP_BIT_IE_OFFSET_MSK		0xff
149 #define AX_TXD_RAW		BIT(15)
150 #define AX_TXD_NULL_1		BIT(14)
151 #define AX_TXD_NULL_0		BIT(13)
152 #define AX_TXD_TRI_FRAME		BIT(12)
153 #define AX_TXD_BT_NULL		BIT(11)
154 #define AX_TXD_SPE_RPT		BIT(10)
155 #define AX_TXD_RTT_EN		BIT(9)
156 #define AX_TXD_HT_DATA_SND		BIT(7)
157 #define AX_TXD_SIFS_TX		BIT(6)
158 #define AX_TXD_SND_PKT_SEL_SH		3
159 #define AX_TXD_SND_PKT_SEL_MSK		0x7
160 #define AX_TXD_NDPA_SH		1
161 #define AX_TXD_NDPA_MSK		0x3
162 #define AX_TXD_SIGNALING_TA_PKT_EN		BIT(0)
163 
164 /* dword10 */
165 #define AX_TXD_HW_RTS_EN		BIT(31)
166 #define AX_TXD_CCA_RTS_SH		29
167 #define AX_TXD_CCA_RTS_MSK		0x3
168 #define AX_TXD_CTS2SELF		BIT(28)
169 #define AX_TXD_RTS_EN		BIT(27)
170 #define AX_TXD_SW_DEFINE_SH		0
171 #define AX_TXD_SW_DEFINE_MSK		0xf
172 
173 /* dword11 */
174 #define AX_TXD_NDPA_DURATION_SH		16
175 #define AX_TXD_NDPA_DURATION_MSK		0xffff
176 
177 /* dword12 */
178 #define AX_TXD_VALID_1		BIT(31)
179 #define AX_TXD_PCIE_SEQ_NUM_1_SH		16
180 #define AX_TXD_PCIE_SEQ_NUM_1_MSK		0x7fff
181 #define AX_TXD_VALID_0		BIT(15)
182 #define AX_TXD_PCIE_SEQ_NUM_0_SH		0
183 #define AX_TXD_PCIE_SEQ_NUM_0_MSK		0x7fff
184 
185 /* dword13 */
186 #define AX_TXD_VALID_3		BIT(31)
187 #define AX_TXD_PCIE_SEQ_NUM_3_SH		16
188 #define AX_TXD_PCIE_SEQ_NUM_3_MSK		0x7fff
189 #define AX_TXD_VALID_2		BIT(15)
190 #define AX_TXD_PCIE_SEQ_NUM_2_SH		0
191 #define AX_TXD_PCIE_SEQ_NUM_2_MSK		0x7fff
192 
193 #endif
194 
195 #if MAC_AX_8852B_SUPPORT
196 /* dword0 */
197 #define AX_TXD_WP_OFFSET_SH		24
198 #define AX_TXD_WP_OFFSET_MSK		0xff
199 #define AX_TXD_MOREDATA		BIT(23)
200 #define AX_TXD_WDINFO_EN		BIT(22)
201 #define AX_TXD_PKT_OFFSET		BIT(21)
202 #define AX_TXD_FWDL_EN		BIT(20)
203 #define AX_TXD_CH_DMA_SH		16
204 #define AX_TXD_CH_DMA_MSK		0xf
205 #define AX_TXD_HDR_LLC_LEN_SH		11
206 #define AX_TXD_HDR_LLC_LEN_MSK		0x1f
207 #define AX_TXD_STF_MODE		BIT(10)
208 #define AX_TXD_WP_INT		BIT(9)
209 #define AX_TXD_CHK_EN		BIT(8)
210 #define AX_TXD_WD_PAGE		BIT(7)
211 #define AX_TXD_HW_AES_IV		BIT(6)
212 #define AX_TXD_HWAMSDU		BIT(5)
213 #define AX_TXD_SMH_EN		BIT(4)
214 #define AX_TXD_HW_SSN_SEL_SH		2
215 #define AX_TXD_HW_SSN_SEL_MSK		0x3
216 #define AX_TXD_EN_HWSEQ_MODE_SH		0
217 #define AX_TXD_EN_HWSEQ_MODE_MSK		0x3
218 
219 /* dword1 */
220 #define AX_TXD_PLD_SH		16
221 #define AX_TXD_PLD_MSK		0xffff
222 #define AX_TXD_DMA_TXAGG_NUM_SH		8
223 #define AX_TXD_DMA_TXAGG_NUM_MSK		0xff
224 #define AX_TXD_SHCUT_CAMID_SH		0
225 #define AX_TXD_SHCUT_CAMID_MSK		0xff
226 
227 /* dword2 */
228 #define AX_TXD_MACID_SH		24
229 #define AX_TXD_MACID_MSK		0x7f
230 #define AX_TXD_TID_IND		BIT(23)
231 #define AX_TXD_QSEL_SH		17
232 #define AX_TXD_QSEL_MSK		0x3f
233 #define AX_TXD_RU_TC_SH		14
234 #define AX_TXD_RU_TC_MSK		0x7
235 #define AX_TXD_TXPKTSIZE_SH		0
236 #define AX_TXD_TXPKTSIZE_MSK		0x3fff
237 
238 /* dword3 */
239 #define AX_TXD_MU_TC_SH		29
240 #define AX_TXD_MU_TC_MSK		0x7
241 #define AX_TXD_MU_2ND_TC_SH		26
242 #define AX_TXD_MU_2ND_TC_MSK		0x7
243 #define AX_TXD_DATA_TC_SH		20
244 #define AX_TXD_DATA_TC_MSK		0x3f
245 #define AX_TXD_RTS_TC_SH		14
246 #define AX_TXD_RTS_TC_MSK		0x3f
247 #define AX_TXD_BK		BIT(13)
248 #define AX_TXD_AGG_EN		BIT(12)
249 #define AX_TXD_WIFI_SEQ_SH		0
250 #define AX_TXD_WIFI_SEQ_MSK		0xfff
251 
252 /* dword4 */
253 #define AX_TXD_AES_IV_L_SH		16
254 #define AX_TXD_AES_IV_L_MSK		0xffff
255 #define AX_TXD_TXDESC_CHECKSUM_SH		0
256 #define AX_TXD_TXDESC_CHECKSUM_MSK		0xffff
257 
258 /* dword5 */
259 #define AX_TXD_AES_IV_H_SH		0
260 #define AX_TXD_AES_IV_H_MSK		0xffffffff
261 
262 /* dword6 */
263 #define AX_TXD_ACK_CH_INFO		BIT(31)
264 #define AX_TXD_USERATE_SEL		BIT(30)
265 #define AX_TXD_DATA_BW_SH		28
266 #define AX_TXD_DATA_BW_MSK		0x3
267 #define AX_TXD_GI_LTF_SH		25
268 #define AX_TXD_GI_LTF_MSK		0x7
269 #define AX_TXD_DATARATE_SH		16
270 #define AX_TXD_DATARATE_MSK		0x1ff
271 #define AX_TXD_DATA_ER		BIT(15)
272 #define AX_TXD_DATA_DCM		BIT(14)
273 #define AX_TXD_DATA_STBC		BIT(12)
274 #define AX_TXD_DATA_LDPC		BIT(11)
275 #define AX_TXD_DISDATAFB		BIT(10)
276 #define AX_TXD_DISRTSFB		BIT(9)
277 #define AX_TXD_DATA_BW_ER		BIT(8)
278 #define AX_TXD_MULTIPORT_ID_SH		4
279 #define AX_TXD_MULTIPORT_ID_MSK		0x7
280 #define AX_TXD_MBSSID_SH		0
281 #define AX_TXD_MBSSID_MSK		0xf
282 
283 /* dword7 */
284 #define AX_TXD_DATA_TXCNT_LMT_SEL		BIT(31)
285 #define AX_TXD_DATA_TXCNT_LMT_SH		25
286 #define AX_TXD_DATA_TXCNT_LMT_MSK		0x3f
287 #define AX_TXD_DATA_RTY_LOWEST_RATE_SH		16
288 #define AX_TXD_DATA_RTY_LOWEST_RATE_MSK		0x1ff
289 #define AX_TXD_A_CTRL_CAS		BIT(15)
290 #define AX_TXD_A_CTRL_BSR		BIT(14)
291 #define AX_TXD_A_CTRL_UPH		BIT(13)
292 #define AX_TXD_A_CTRL_BQR		BIT(12)
293 #define AX_TXD_BMC		BIT(11)
294 #define AX_TXD_NAVUSEHDR		BIT(10)
295 #define AX_TXD_BCN_SRCH_SEQ_SH		8
296 #define AX_TXD_BCN_SRCH_SEQ_MSK		0x3
297 #define AX_TXD_MAX_AGG_NUM_SH		0
298 #define AX_TXD_MAX_AGG_NUM_MSK		0xff
299 
300 /* dword8 */
301 #define AX_TXD_OBW_CTS2SELF_DUP_TYPE_SH		26
302 #define AX_TXD_OBW_CTS2SELF_DUP_TYPE_MSK		0xf
303 #define AX_TXD_TXPWR_OFSET_TYPE_SH		22
304 #define AX_TXD_TXPWR_OFSET_TYPE_MSK		0x7
305 #define AX_TXD_LSIG_TXOP_EN		BIT(21)
306 #define AX_TXD_AMPDU_DENSITY_SH		18
307 #define AX_TXD_AMPDU_DENSITY_MSK		0x7
308 #define AX_TXD_FORCE_TXOP		BIT(17)
309 #define AX_TXD_LIFETIME_SEL_SH		13
310 #define AX_TXD_LIFETIME_SEL_MSK		0x7
311 #define AX_TXD_SECTYPE_SH		9
312 #define AX_TXD_SECTYPE_MSK		0xf
313 #define AX_TXD_SEC_HW_ENC		BIT(8)
314 #define AX_TXD_SEC_CAM_IDX_SH		0
315 #define AX_TXD_SEC_CAM_IDX_MSK		0xff
316 
317 /* dword9 */
318 #define AX_TXD_FORCE_BSS_CLR		BIT(31)
319 #define AX_TXD_SIGNALING_TA_PKT_SC_SH		27
320 #define AX_TXD_SIGNALING_TA_PKT_SC_MSK		0xf
321 #define AX_TXD_BCNPKT_TSF_CTRL		BIT(26)
322 #define AX_TXD_GROUP_BIT_IE_OFFSET_SH		16
323 #define AX_TXD_GROUP_BIT_IE_OFFSET_MSK		0xff
324 #define AX_TXD_RAW		BIT(15)
325 #define AX_TXD_NULL_1		BIT(14)
326 #define AX_TXD_NULL_0		BIT(13)
327 #define AX_TXD_TRI_FRAME		BIT(12)
328 #define AX_TXD_BT_NULL		BIT(11)
329 #define AX_TXD_SPE_RPT		BIT(10)
330 #define AX_TXD_RTT_EN		BIT(9)
331 #define AX_TXD_HT_DATA_SND		BIT(7)
332 #define AX_TXD_SIFS_TX		BIT(6)
333 #define AX_TXD_SND_PKT_SEL_SH		3
334 #define AX_TXD_SND_PKT_SEL_MSK		0x7
335 #define AX_TXD_NDPA_SH		1
336 #define AX_TXD_NDPA_MSK		0x3
337 #define AX_TXD_SIGNALING_TA_PKT_EN		BIT(0)
338 
339 /* dword10 */
340 #define AX_TXD_HW_RTS_EN		BIT(31)
341 #define AX_TXD_CCA_RTS_SH		29
342 #define AX_TXD_CCA_RTS_MSK		0x3
343 #define AX_TXD_CTS2SELF		BIT(28)
344 #define AX_TXD_RTS_EN		BIT(27)
345 #define AX_TXD_SW_DEFINE_SH		0
346 #define AX_TXD_SW_DEFINE_MSK		0xf
347 
348 /* dword11 */
349 #define AX_TXD_NDPA_DURATION_SH		16
350 #define AX_TXD_NDPA_DURATION_MSK		0xffff
351 
352 /* dword12 */
353 #define AX_TXD_VALID_1		BIT(31)
354 #define AX_TXD_PCIE_SEQ_NUM_1_SH		16
355 #define AX_TXD_PCIE_SEQ_NUM_1_MSK		0x7fff
356 #define AX_TXD_VALID_0		BIT(15)
357 #define AX_TXD_PCIE_SEQ_NUM_0_SH		0
358 #define AX_TXD_PCIE_SEQ_NUM_0_MSK		0x7fff
359 
360 /* dword13 */
361 #define AX_TXD_VALID_3		BIT(31)
362 #define AX_TXD_PCIE_SEQ_NUM_3_SH		16
363 #define AX_TXD_PCIE_SEQ_NUM_3_MSK		0x7fff
364 #define AX_TXD_VALID_2		BIT(15)
365 #define AX_TXD_PCIE_SEQ_NUM_2_SH		0
366 #define AX_TXD_PCIE_SEQ_NUM_2_MSK		0x7fff
367 
368 #endif
369 
370 #if MAC_AX_8852C_SUPPORT
371 /* dword0 */
372 #define AX_TXD_NO_ACK		BIT(31)
373 #define AX_TXD_UPD_WLAN_HDR		BIT(30)
374 #define AX_TXD_WP_OFFSET_V1_SH		24
375 #define AX_TXD_WP_OFFSET_V1_MSK		0x1f
376 #define AX_TXD_MOREDATA		BIT(23)
377 #define AX_TXD_WDINFO_EN		BIT(22)
378 #define AX_TXD_PKT_OFFSET		BIT(21)
379 #define AX_TXD_FWDL_EN		BIT(20)
380 #define AX_TXD_CH_DMA_SH		16
381 #define AX_TXD_CH_DMA_MSK		0xf
382 #define AX_TXD_HDR_LLC_LEN_SH		11
383 #define AX_TXD_HDR_LLC_LEN_MSK		0x1f
384 #define AX_TXD_STF_MODE		BIT(10)
385 #define AX_TXD_WP_INT		BIT(9)
386 #define AX_TXD_CHK_EN		BIT(8)
387 #define AX_TXD_WD_PAGE		BIT(7)
388 #define AX_TXD_HW_SEC_IV		BIT(6)
389 #define AX_TXD_HWAMSDU		BIT(5)
390 #define AX_TXD_SMH_EN		BIT(4)
391 #define AX_TXD_HW_SSN_SEL_SH		2
392 #define AX_TXD_HW_SSN_SEL_MSK		0x3
393 #define AX_TXD_EN_HWSEQ_MODE_SH		0
394 #define AX_TXD_EN_HWSEQ_MODE_MSK		0x3
395 
396 /* dword1 */
397 #define AX_TXD_ADDR_INFO_NUM_SH		26
398 #define AX_TXD_ADDR_INFO_NUM_MSK		0x3f
399 #define AX_TXD_REUSE_START_NUM_SH		24
400 #define AX_TXD_REUSE_START_NUM_MSK		0x3
401 #define AX_TXD_REUSE_SIZE_SH		20
402 #define AX_TXD_REUSE_SIZE_MSK		0xf
403 #define AX_TXD_DMA_TXAGG_NUM_V1_SH		8
404 #define AX_TXD_DMA_TXAGG_NUM_V1_MSK		0x7f
405 #define AX_TXD_SW_SEC_IV		BIT(6)
406 #define AX_TXD_SEC_KEYID_SH		4
407 #define AX_TXD_SEC_KEYID_MSK		0x3
408 #define AX_TXD_SEC_TYPE_SH		0
409 #define AX_TXD_SEC_TYPE_MSK		0xf
410 
411 /* dword2 */
412 #define AX_TXD_MACID_SH		24
413 #define AX_TXD_MACID_MSK		0x7f
414 #define AX_TXD_TID_IND		BIT(23)
415 #define AX_TXD_QSEL_SH		17
416 #define AX_TXD_QSEL_MSK		0x3f
417 #define AX_TXD_MU_2ND_RTY		BIT(16)
418 #define AX_TXD_MU_PRI_RTY		BIT(15)
419 #define AX_TXD_RU_RTY		BIT(14)
420 #define AX_TXD_TXPKTSIZE_SH		0
421 #define AX_TXD_TXPKTSIZE_MSK		0x3fff
422 
423 /* dword3 */
424 #define AX_TXD_TB_SR_RTY		BIT(31)
425 #define AX_TXD_DATA_TC_SH		20
426 #define AX_TXD_DATA_TC_MSK		0x3f
427 #define AX_TXD_RTS_TC_SH		14
428 #define AX_TXD_RTS_TC_MSK		0x3f
429 #define AX_TXD_BK		BIT(13)
430 #define AX_TXD_AGG_EN		BIT(12)
431 #define AX_TXD_WIFI_SEQ_SH		0
432 #define AX_TXD_WIFI_SEQ_MSK		0xfff
433 
434 /* dword4 */
435 #define AX_TXD_SEC_IV_L_SH		16
436 #define AX_TXD_SEC_IV_L_MSK		0xffff
437 #define AX_TXD_TXDESC_CHECKSUM_SH		0
438 #define AX_TXD_TXDESC_CHECKSUM_MSK		0xffff
439 
440 /* dword5 */
441 #define AX_TXD_SEC_IV_H_SH		0
442 #define AX_TXD_SEC_IV_H_MSK		0xffffffff
443 
444 /* dword6 */
445 #define AX_TXD_RU_POS_SH		24
446 #define AX_TXD_RU_POS_MSK		0xff
447 #define AX_TXD_S_IDX_SH		16
448 #define AX_TXD_S_IDX_MSK		0xff
449 #define AX_TXD_RU_TC_V1_SH		5
450 #define AX_TXD_RU_TC_V1_MSK		0x1f
451 #define AX_TXD_MU_TC_V1_SH		0
452 #define AX_TXD_MU_TC_V1_MSK		0x1f
453 
454 /* dword7 */
455 #define AX_TXD_USERATE_SEL_V1		BIT(31)
456 #define AX_TXD_DATA_DCM_V1		BIT(30)
457 #define AX_TXD_DATA_BW_SH		28
458 #define AX_TXD_DATA_BW_MSK		0x3
459 #define AX_TXD_GI_LTF_SH		25
460 #define AX_TXD_GI_LTF_MSK		0x7
461 #define AX_TXD_DATARATE_SH		16
462 #define AX_TXD_DATARATE_MSK		0x1ff
463 
464 /* dword8 */
465 #define AX_TXD_ACK_CH_INFO		BIT(31)
466 #define AX_TXD_RLS_TO_CPUIO		BIT(30)
467 #define AX_TXD_GI_LTF_SH		25
468 #define AX_TXD_GI_LTF_MSK		0x7
469 #define AX_TXD_DATA_ER		BIT(15)
470 #define AX_TXD_DATA_STBC		BIT(12)
471 #define AX_TXD_DATA_LDPC		BIT(11)
472 #define AX_TXD_DISDATAFB		BIT(10)
473 #define AX_TXD_DISRTSFB		BIT(9)
474 #define AX_TXD_DATA_BW_ER		BIT(8)
475 #define AX_TXD_MULTIPORT_ID_SH		4
476 #define AX_TXD_MULTIPORT_ID_MSK		0x7
477 #define AX_TXD_MBSSID_SH		0
478 #define AX_TXD_MBSSID_MSK		0xf
479 
480 /* dword9 */
481 #define AX_TXD_DATA_TXCNT_LMT_SEL		BIT(31)
482 #define AX_TXD_DATA_TXCNT_LMT_SH		25
483 #define AX_TXD_DATA_TXCNT_LMT_MSK		0x3f
484 #define AX_TXD_DATA_RTY_LOWEST_RATE_SH		16
485 #define AX_TXD_DATA_RTY_LOWEST_RATE_MSK		0x1ff
486 #define AX_TXD_A_CTRL_CAS		BIT(15)
487 #define AX_TXD_A_CTRL_BSR		BIT(14)
488 #define AX_TXD_A_CTRL_UPH		BIT(13)
489 #define AX_TXD_A_CTRL_BQR		BIT(12)
490 #define AX_TXD_BMC		BIT(11)
491 #define AX_TXD_NAVUSEHDR		BIT(10)
492 #define AX_TXD_BCN_SRCH_SEQ_SH		8
493 #define AX_TXD_BCN_SRCH_SEQ_MSK		0x3
494 #define AX_TXD_MAX_AGG_NUM_SH		0
495 #define AX_TXD_MAX_AGG_NUM_MSK		0xff
496 
497 /* dword10 */
498 #define AX_TXD_OBW_CTS2SELF_DUP_TYPE_SH		26
499 #define AX_TXD_OBW_CTS2SELF_DUP_TYPE_MSK		0xf
500 #define AX_TXD_TXPWR_OFSET_TYPE_SH		22
501 #define AX_TXD_TXPWR_OFSET_TYPE_MSK		0x7
502 #define AX_TXD_LSIG_TXOP_EN		BIT(21)
503 #define AX_TXD_AMPDU_DENSITY_SH		18
504 #define AX_TXD_AMPDU_DENSITY_MSK		0x7
505 #define AX_TXD_FORCE_TXOP		BIT(17)
506 #define AX_TXD_LIFETIME_SEL_SH		13
507 #define AX_TXD_LIFETIME_SEL_MSK		0x7
508 #define AX_TXD_FORCE_KEY_EN		BIT(8)
509 #define AX_TXD_SEC_CAM_IDX_SH		0
510 #define AX_TXD_SEC_CAM_IDX_MSK		0xff
511 
512 /* dword11 */
513 #define AX_TXD_FORCE_BSS_CLR		BIT(31)
514 #define AX_TXD_SIGNALING_TA_PKT_SC_SH		27
515 #define AX_TXD_SIGNALING_TA_PKT_SC_MSK		0xf
516 #define AX_TXD_BCNPKT_TSF_CTRL		BIT(26)
517 #define AX_TXD_GROUP_BIT_IE_OFFSET_SH		16
518 #define AX_TXD_GROUP_BIT_IE_OFFSET_MSK		0xff
519 #define AX_TXD_RAW		BIT(15)
520 #define AX_TXD_NULL_1		BIT(14)
521 #define AX_TXD_NULL_0		BIT(13)
522 #define AX_TXD_TRI_FRAME		BIT(12)
523 #define AX_TXD_BT_NULL		BIT(11)
524 #define AX_TXD_SPE_RPT		BIT(10)
525 #define AX_TXD_RTT_EN		BIT(9)
526 #define AX_TXD_HT_DATA_SND		BIT(7)
527 #define AX_TXD_SIFS_TX		BIT(6)
528 #define AX_TXD_SND_PKT_SEL_SH		3
529 #define AX_TXD_SND_PKT_SEL_MSK		0x7
530 #define AX_TXD_NDPA_SH		1
531 #define AX_TXD_NDPA_MSK		0x3
532 #define AX_TXD_SIGNALING_TA_PKT_EN		BIT(0)
533 
534 /* dword12 */
535 #define AX_TXD_HW_RTS_EN		BIT(31)
536 #define AX_TXD_CCA_RTS_SH		29
537 #define AX_TXD_CCA_RTS_MSK		0x3
538 #define AX_TXD_CTS2SELF		BIT(28)
539 #define AX_TXD_RTS_EN		BIT(27)
540 #define AX_TXD_SW_DEFINE_SH		0
541 #define AX_TXD_SW_DEFINE_MSK		0xf
542 
543 /* dword13 */
544 #define AX_TXD_NDPA_DURATION_SH		16
545 #define AX_TXD_NDPA_DURATION_MSK		0xffff
546 
547 /* dword14 */
548 #define AX_TXD_VALID_1		BIT(31)
549 #define AX_TXD_PCIE_SEQ_NUM_1_SH		16
550 #define AX_TXD_PCIE_SEQ_NUM_1_MSK		0x7fff
551 #define AX_TXD_VALID_0		BIT(15)
552 #define AX_TXD_PCIE_SEQ_NUM_0_SH		0
553 #define AX_TXD_PCIE_SEQ_NUM_0_MSK		0x7fff
554 
555 /* dword15 */
556 #define AX_TXD_VALID_3		BIT(31)
557 #define AX_TXD_PCIE_SEQ_NUM_3_SH		16
558 #define AX_TXD_PCIE_SEQ_NUM_3_MSK		0x7fff
559 #define AX_TXD_VALID_2		BIT(15)
560 #define AX_TXD_PCIE_SEQ_NUM_2_SH		0
561 #define AX_TXD_PCIE_SEQ_NUM_2_MSK		0x7fff
562 
563 #endif
564 
565 #endif
566