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