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_MAC_DEF_H_ 18 #define _MAC_AX_MAC_DEF_H_ 19 20 #include "pltfm_cfg.h" 21 #include "feature_cfg.h" 22 #include "chip_cfg.h" 23 #include "mac_ax/state_mach.h" 24 #include "errors.h" 25 26 #if MAC_AX_FEATURE_HV 27 #include "hv_type.h" 28 #endif 29 30 /*--------------------Define -------------------------------------------*/ 31 #ifdef CONFIG_NEW_HALMAC_INTERFACE 32 #define PLTFM_SDIO_CMD52_R8(addr) \ 33 hal_sdio_cmd52_r8(adapter->drv_adapter, addr) 34 #define PLTFM_SDIO_CMD53_R8(addr) \ 35 hal_sdio_cmd53_r8(adapter->drv_adapter, addr) 36 #define PLTFM_SDIO_CMD53_R16(addr) \ 37 hal_sdio_cmd53_r16(adapter->drv_adapter, addr) 38 #define PLTFM_SDIO_CMD53_R32(addr) \ 39 hal_sdio_cmd53_r32(adapter->drv_adapter, addr) 40 #define PLTFM_SDIO_CMD53_RN(addr, size, val) \ 41 hal_sdio_cmd53_rn(adapter->drv_adapter, addr, size, val) 42 #define PLTFM_SDIO_CMD52_W8(addr, val) \ 43 hal_sdio_cmd52_w8(adapter->drv_adapter, addr, val) 44 #define PLTFM_SDIO_CMD53_W8(addr, val) \ 45 hal_sdio_cmd53_w8(adapter->drv_adapter, addr, val) 46 #define PLTFM_SDIO_CMD53_WN(addr, size, val) \ 47 hal_sdio_cmd53_wn(adapter->drv_adapter, addr, size, val) 48 #define PLTFM_SDIO_CMD53_W16(addr, val) \ 49 hal_sdio_cmd53_w16(adapter->drv_adapter, addr, val) 50 #define PLTFM_SDIO_CMD53_W32(addr, val) \ 51 hal_sdio_cmd53_w32(adapter->drv_adapter, addr, val) 52 #define PLTFM_SDIO_CMD52_CIA_R8(addr) \ 53 hal_sdio_read_cia_r8(adapter->drv_adapter, addr) 54 55 #define PLTFM_TX(buf, len) \ 56 hal_tx(adapter->drv_adapter, buf, len) 57 58 #define PLTFM_FREE(buf, size) \ 59 hal_mem_free(adapter->drv_adapter, buf, size) 60 #define PLTFM_MALLOC(size) \ 61 hal_mem_alloc(adapter->drv_adapter, size) 62 #define PLTFM_MEMCPY(dest, src, size) \ 63 hal_mem_cpy(adapter->drv_adapter, dest, src, size) 64 #define PLTFM_MEMSET(addr, value, size) \ 65 hal_mem_set(adapter->drv_adapter, addr, value, size) 66 #define PLTFM_MEMCMP(ptr1, ptr2, num) \ 67 hal_mem_cmp(adapter->drv_adapter, ptr1, ptr2, num) 68 69 #define PLTFM_DELAY_US(us) \ 70 hal_udelay(adapter->drv_adapter, us) 71 #define PLTFM_DELAY_MS(ms) \ 72 hal_mdelay(adapter->drv_adapter, ms) 73 #define PLTFM_MUTEX_INIT(mutex) \ 74 hal_mutex_init(adapter->drv_adapter, mutex) 75 #define PLTFM_MUTEX_DEINIT(mutex) \ 76 hal_mutex_deinit(adapter->drv_adapter, mutex) 77 #define PLTFM_MUTEX_LOCK(mutex) \ 78 hal_mutex_lock(adapter->drv_adapter, mutex) 79 #define PLTFM_MUTEX_UNLOCK(mutex) \ 80 hal_mutex_unlock(adapter->drv_adapter, mutex) 81 82 #define PLTFM_MSG_PRINT(...) \ 83 hal_mac_msg_print(drv_adapter, __VA_ARGS__) 84 85 #define adapter_to_mac_ops(adapter) ((struct mac_ax_ops *)((adapter)->ops)) 86 #define adapter_to_intf_ops(adapter) \ 87 ((struct mac_ax_intf_ops *)((adapter)->ops->intf_ops)) 88 89 #define PLTFM_REG_R8(addr) \ 90 hal_read8(adapter->drv_adapter, addr) 91 #define PLTFM_REG_R16(addr) \ 92 hal_read16(adapter->drv_adapter, addr) 93 #define PLTFM_REG_R32(addr) \ 94 hal_read32(adapter->drv_adapter, addr) 95 #define PLTFM_REG_W8(addr, val) \ 96 hal_write8(adapter->drv_adapter, addr, val) 97 #define PLTFM_REG_W16(addr, val) \ 98 hal_write16(adapter->drv_adapter, addr, val) 99 #define PLTFM_REG_W32(addr, val) \ 100 hal_write32(adapter->drv_adapter, addr, val) 101 102 #define MAC_REG_R8(addr) hal_read8(adapter->drv_adapter, addr) 103 #define MAC_REG_R16(addr) hal_read16(adapter->drv_adapter, addr) 104 #define MAC_REG_R32(addr) hal_read32(adapter->drv_adapter, addr) 105 #define MAC_REG_W8(addr, val) hal_write8(adapter->drv_adapter, addr, val) 106 #define MAC_REG_W16(addr, val) hal_write16(adapter->drv_adapter, addr, val) 107 #define MAC_REG_W32(addr, val) hal_write32(adapter->drv_adapter, addr, val) 108 109 #if MAC_AX_FEATURE_DBGCMD 110 #define PLTFM_SNPRINTF(s, sz, fmt, ...) \ 111 hal_sprintf(adapter->drv_adapter, s, sz, fmt, ##__VA_ARGS__) 112 #define PLTFM_STRCMP(s1, s2) \ 113 hal_strcmp(adapter->drv_adapter, s1, s2) 114 #define PLTFM_STRSEP(s, ct) \ 115 hal_strsep(adapter->drv_adapter, s, ct) 116 #define PLTFM_STRLEN(s) \ 117 hal_strlen(adapter->drv_adapter, s) 118 #define PLTFM_STRCPY(dest, src) \ 119 hal_strcpy(adapter->drv_adapter, dest, src) 120 #define PLTFM_STRPBRK(cs, ct) \ 121 hal_strpbrk(adapter->drv_adapter, cs, ct) 122 #define PLTFM_STRTOUL(buf, base) \ 123 hal_strtoul(adapter->drv_adapter, buf, base) 124 125 #endif 126 #else 127 128 /* platform callback */ 129 #define PLTFM_SDIO_CMD52_R8(addr) \ 130 adapter->pltfm_cb->sdio_cmd52_r8(adapter->drv_adapter, addr) 131 #define PLTFM_SDIO_CMD53_R8(addr) \ 132 adapter->pltfm_cb->sdio_cmd53_r8(adapter->drv_adapter, addr) 133 #define PLTFM_SDIO_CMD53_R16(addr) \ 134 adapter->pltfm_cb->sdio_cmd53_r16(adapter->drv_adapter, addr) 135 #define PLTFM_SDIO_CMD53_R32(addr) \ 136 adapter->pltfm_cb->sdio_cmd53_r32(adapter->drv_adapter, addr) 137 #define PLTFM_SDIO_CMD53_RN(addr, size, val) \ 138 adapter->pltfm_cb->sdio_cmd53_rn(adapter->drv_adapter, addr, size, val) 139 #define PLTFM_SDIO_CMD52_W8(addr, val) \ 140 adapter->pltfm_cb->sdio_cmd52_w8(adapter->drv_adapter, addr, val) 141 #define PLTFM_SDIO_CMD53_W8(addr, val) \ 142 adapter->pltfm_cb->sdio_cmd53_w8(adapter->drv_adapter, addr, val) 143 #define PLTFM_SDIO_CMD53_W16(addr, val) \ 144 adapter->pltfm_cb->sdio_cmd53_w16(adapter->drv_adapter, addr, val) 145 #define PLTFM_SDIO_CMD53_W32(addr, val) \ 146 adapter->pltfm_cb->sdio_cmd53_w32(adapter->drv_adapter, addr, val) 147 #define PLTFM_SDIO_CMD53_WN(addr, size, val) \ 148 adapter->pltfm_cb->sdio_cmd53_wn(adapter->drv_adapter, addr, size, val) 149 #define PLTFM_SDIO_CMD52_CIA_R8(addr) \ 150 adapter->pltfm_cb->sdio_cmd52_cia_r8(adapter->drv_adapter, addr) 151 152 #define PLTFM_REG_R8(addr) \ 153 adapter->pltfm_cb->reg_r8(adapter->drv_adapter, addr) 154 #define PLTFM_REG_R16(addr) \ 155 adapter->pltfm_cb->reg_r16(adapter->drv_adapter, addr) 156 #define PLTFM_REG_R32(addr) \ 157 adapter->pltfm_cb->reg_r32(adapter->drv_adapter, addr) 158 #define PLTFM_REG_W8(addr, val) \ 159 adapter->pltfm_cb->reg_w8(adapter->drv_adapter, addr, val) 160 #define PLTFM_REG_W16(addr, val) \ 161 adapter->pltfm_cb->reg_w16(adapter->drv_adapter, addr, val) 162 #define PLTFM_REG_W32(addr, val) \ 163 adapter->pltfm_cb->reg_w32(adapter->drv_adapter, addr, val) 164 165 #if MAC_AX_PHL_H2C 166 #define PLTFM_TX(buf) \ 167 adapter->pltfm_cb->tx(adapter->phl_adapter, adapter->drv_adapter, buf) 168 #define PLTFM_QUERY_H2C(type) \ 169 adapter->pltfm_cb->rtl_query_h2c(adapter->phl_adapter, \ 170 adapter->drv_adapter, type) 171 #define PLTFM_RECYCLE_H2C(buf) \ 172 adapter->pltfm_cb->rtl_recycle_h2c(adapter->phl_adapter, buf) 173 #else 174 #define PLTFM_TX(buf, len) \ 175 adapter->pltfm_cb->tx(adapter->drv_adapter, buf, len) 176 #endif 177 #define PLTFM_FREE(buf, size) \ 178 adapter->pltfm_cb->rtl_free(adapter->drv_adapter, buf, size) 179 #define PLTFM_MALLOC(size) \ 180 adapter->pltfm_cb->rtl_malloc(adapter->drv_adapter, size) 181 #define PLTFM_MEMCPY(dest, src, size) \ 182 adapter->pltfm_cb->rtl_memcpy(adapter->drv_adapter, dest, src, size) 183 #define PLTFM_MEMSET(addr, value, size) \ 184 adapter->pltfm_cb->rtl_memset(adapter->drv_adapter, addr, value, size) 185 #define PLTFM_MEMCMP(ptr1, ptr2, num) \ 186 adapter->pltfm_cb->rtl_memcmp(adapter->drv_adapter, ptr1, ptr2, num) 187 #define PLTFM_DELAY_US(us) \ 188 adapter->pltfm_cb->rtl_delay_us(adapter->drv_adapter, us) 189 #define PLTFM_DELAY_MS(ms) \ 190 adapter->pltfm_cb->rtl_delay_ms(adapter->drv_adapter, ms) 191 192 #define PLTFM_MUTEX_INIT(mutex) \ 193 adapter->pltfm_cb->rtl_mutex_init(adapter->drv_adapter, mutex) 194 #define PLTFM_MUTEX_DEINIT(mutex) \ 195 adapter->pltfm_cb->rtl_mutex_deinit(adapter->drv_adapter, mutex) 196 #define PLTFM_MUTEX_LOCK(mutex) \ 197 adapter->pltfm_cb->rtl_mutex_lock(adapter->drv_adapter, mutex) 198 #define PLTFM_MUTEX_UNLOCK(mutex) \ 199 adapter->pltfm_cb->rtl_mutex_unlock(adapter->drv_adapter, mutex) 200 201 #define PLTFM_EVENT_NOTIFY(mac_ft, stat, buf, size) \ 202 adapter->pltfm_cb->event_notify(adapter->drv_adapter, mac_ft, stat, \ 203 buf, size) 204 #define PLTFM_L2_NOTIFY(void) \ 205 adapter->pltfm_cb->ser_l2_notify(adapter->phl_adapter, adapter->drv_adapter) 206 207 #define PLTFM_LD_FW_SYMBOL(name, buf, buf_size) \ 208 adapter->pltfm_cb->ld_fw_symbol(adapter->phl_adapter, adapter->drv_adapter,\ 209 name, buf, buf_size) 210 211 #define PLTFM_MSG_PRINT(...) \ 212 adapter->pltfm_cb->msg_print(drv_adapter, u8 dbg_level, __VA_ARGS__) 213 214 #define adapter_to_mac_ops(adapter) ((struct mac_ax_ops *)((adapter)->ops)) 215 #define adapter_to_intf_ops(adapter) \ 216 ((struct mac_ax_intf_ops *)((adapter)->ops->intf_ops)) 217 218 #define MAC_REG_R8(addr) ops->reg_read8(adapter, addr) 219 #define MAC_REG_R16(addr) ops->reg_read16(adapter, addr) 220 #define MAC_REG_R32(addr) ops->reg_read32(adapter, addr) 221 #define MAC_REG_W8(addr, val) ops->reg_write8(adapter, addr, val) 222 #define MAC_REG_W16(addr, val) ops->reg_write16(adapter, addr, val) 223 #define MAC_REG_W32(addr, val) ops->reg_write32(adapter, addr, val) 224 225 #if MAC_AX_FEATURE_DBGCMD 226 #define PLTFM_SNPRINTF(s, sz, fmt, ...) \ 227 adapter->pltfm_cb->rtl_sprintf(adapter->drv_adapter, s, sz, fmt, ##__VA_ARGS__) 228 #define PLTFM_STRCMP(s1, s2) \ 229 adapter->pltfm_cb->rtl_strcmp(adapter->drv_adapter, s1, s2) 230 #define PLTFM_STRSEP(s, ct) \ 231 adapter->pltfm_cb->rtl_strsep(adapter->drv_adapter, s, ct) 232 #define PLTFM_STRLEN(s) \ 233 adapter->pltfm_cb->rtl_strlen(adapter->drv_adapter, s) 234 #define PLTFM_STRCPY(dest, src) \ 235 adapter->pltfm_cb->rtl_strcpy(adapter->drv_adapter, dest, src) 236 #define PLTFM_STRPBRK(cs, ct) \ 237 adapter->pltfm_cb->rtl_strpbrk(adapter->drv_adapter, cs, ct) 238 #define PLTFM_STRTOUL(buf, base) \ 239 adapter->pltfm_cb->rtl_strtoul(adapter->drv_adapter, buf, base) 240 #endif 241 242 #endif /*CONFIG_NEW_HALMAC_INTERFACE*/ 243 244 /*--------------------Define MACRO--------------------------------------*/ 245 #define MAC_AX_MAX_RU_NUM 4 246 #define WLAN_ADDR_LEN 6 247 #define MAX_VHT_SUPPORT_SOUND_STA 4 248 #define MAX_HE_SUPPORT_SOUND_STA 8 249 #define MAC_AX_BCN_INTERVAL_DEFAULT 100 250 #define MAC_RX_USB_AGG_MODE_UNIT 4096 251 #define MAC_RX_DMA_AGG_MODE_UNIT 1024 252 #define MAC_MAX_ARGC 20 253 #define MAC_MAX_ARGV 16 254 #define MAC_AX_DP_SEL_NUM 2 255 256 #ifdef PHL_FEATURE_AP 257 #define MAC_STA_NUM 128 258 #else /*for NIC mode setting*/ 259 #define MAC_STA_NUM 32 260 #endif 261 262 #define MAC_AX_FAST_CH_SW_MAX_STA_NUM 4 263 #define UL_PER_STA_DBGINFO_NUM 0x10 264 #define SCANOFLD_MAX_ADDITION_PKT_NUM 8 265 266 #define SS_LINK_SIZE 256 267 #define lps_pwr_state ps_pwr_state //temp, should remove 268 269 /*--------------------Define Enum---------------------------------------*/ 270 271 /** 272 * @enum mac_ax_intf 273 * 274 * @brief mac_ax_intf 275 * 276 * @var mac_ax_intf::MAC_AX_INTF_USB 277 * Please Place Description here. 278 * @var mac_ax_intf::MAC_AX_INTF_SDIO 279 * Please Place Description here. 280 * @var mac_ax_intf::MAC_AX_INTF_PCIE 281 * Please Place Description here. 282 * @var mac_ax_intf::MAC_AX_INTF_LAST 283 * Please Place Description here. 284 * @var mac_ax_intf::MAC_AX_INTF_MAX 285 * Please Place Description here. 286 * @var mac_ax_intf::MAC_AX_INTF_INVALID 287 * Please Place Description here. 288 */ 289 enum mac_ax_intf { 290 MAC_AX_INTF_USB, 291 MAC_AX_INTF_SDIO, 292 MAC_AX_INTF_PCIE, 293 294 /* keep last */ 295 MAC_AX_INTF_LAST, 296 MAC_AX_INTF_MAX = MAC_AX_INTF_LAST, 297 MAC_AX_INTF_INVALID = MAC_AX_INTF_LAST, 298 }; 299 300 /** 301 * @enum mac_ax_feature 302 * 303 * @brief mac_ax_feature 304 * 305 * @var mac_ax_feature::MAC_AX_FT_DUMP_EFUSE 306 * Please Place Description here. 307 * @var mac_ax_feature::MAC_AX_FT_LAST 308 * Please Place Description here. 309 * @var mac_ax_feature::MAC_AX_FT_MAX 310 * Please Place Description here. 311 * @var mac_ax_feature::MAC_AX_FT_INVALID 312 * Please Place Description here. 313 */ 314 enum mac_ax_feature { 315 MAC_AX_FT_DUMP_EFUSE, 316 317 /* keep last */ 318 MAC_AX_FT_LAST, 319 MAC_AX_FT_MAX = MAC_AX_FT_LAST, 320 MAC_AX_FT_INVALID = MAC_AX_FT_LAST, 321 }; 322 323 /** 324 * @enum mac_ax_status 325 * 326 * @brief mac_ax_status 327 * 328 * @var mac_ax_status::MAC_AX_STATUS_IDLE 329 * Please Place Description here. 330 * @var mac_ax_status::MAC_AX_STATUS_PROC 331 * Please Place Description here. 332 * @var mac_ax_status::MAC_AX_STATUS_DONE 333 * Please Place Description here. 334 * @var mac_ax_status::MAC_AX_STATUS_ERR 335 * Please Place Description here. 336 */ 337 enum mac_ax_status { 338 MAC_AX_STATUS_IDLE, 339 MAC_AX_STATUS_PROC, 340 MAC_AX_STATUS_DONE, 341 MAC_AX_STATUS_ERR, 342 }; 343 344 /** 345 * @enum mac_ax_sdio_4byte_mode 346 * 347 * @brief mac_ax_sdio_4byte_mode 348 * 349 * @var mac_ax_sdio_4byte_mode::MAC_AX_SDIO_4BYTE_MODE_DISABLE 350 * Please Place Description here. 351 * @var mac_ax_sdio_4byte_mode::MAC_AX_SDIO_4BYTE_MODE_RW 352 * Please Place Description here. 353 * @var mac_ax_sdio_4byte_mode::MAC_AX_SDIO_4BYTE_MODE_LAST 354 * Please Place Description here. 355 * @var mac_ax_sdio_4byte_mode::MAC_AX_SDIO_4BYTE_MODE_MAX 356 * Please Place Description here. 357 * @var mac_ax_sdio_4byte_mode::MAC_AX_SDIO_4BYTE_MODE_INVALID 358 * Please Place Description here. 359 */ 360 enum mac_ax_sdio_4byte_mode { 361 MAC_AX_SDIO_4BYTE_MODE_DISABLE, 362 MAC_AX_SDIO_4BYTE_MODE_RW, 363 364 /* keep last */ 365 MAC_AX_SDIO_4BYTE_MODE_LAST, 366 MAC_AX_SDIO_4BYTE_MODE_MAX = MAC_AX_SDIO_4BYTE_MODE_LAST, 367 MAC_AX_SDIO_4BYTE_MODE_INVALID = MAC_AX_SDIO_4BYTE_MODE_LAST, 368 }; 369 370 /** 371 * @enum mac_ax_sdio_tx_mode 372 * 373 * @brief mac_ax_sdio_tx_mode 374 * 375 * @var mac_ax_sdio_tx_mode::MAC_AX_SDIO_TX_MODE_AGG 376 * Please Place Description here. 377 * @var mac_ax_sdio_tx_mode::MAC_AX_SDIO_TX_MODE_DUMMY_BLOCK 378 * Please Place Description here. 379 * @var mac_ax_sdio_tx_mode::MAC_AX_SDIO_TX_MODE_DUMMY_AUTO 380 * Please Place Description here. 381 * @var mac_ax_sdio_tx_mode::MAC_AX_SDIO_TX_MODE_LAST 382 * Please Place Description here. 383 * @var mac_ax_sdio_tx_mode::MAC_AX_SDIO_TX_MODE_MAX 384 * Please Place Description here. 385 * @var mac_ax_sdio_tx_mode::MAC_AX_SDIO_TX_MODE_INVALID 386 * Please Place Description here. 387 */ 388 enum mac_ax_sdio_tx_mode { 389 MAC_AX_SDIO_TX_MODE_AGG, 390 MAC_AX_SDIO_TX_MODE_DUMMY_BLOCK, 391 MAC_AX_SDIO_TX_MODE_DUMMY_AUTO, 392 393 /* keep last */ 394 MAC_AX_SDIO_TX_MODE_LAST, 395 MAC_AX_SDIO_TX_MODE_MAX = MAC_AX_SDIO_TX_MODE_LAST, 396 MAC_AX_SDIO_TX_MODE_INVALID = MAC_AX_SDIO_TX_MODE_LAST, 397 }; 398 399 /** 400 * @enum mac_ax_sdio_opn_mode 401 * 402 * @brief mac_ax_sdio_opn_mode 403 * 404 * @var mac_ax_sdio_opn_mode::MAC_AX_SDIO_OPN_MODE_BYTE 405 * Please Place Description here. 406 * @var mac_ax_sdio_opn_mode::MAC_AX_SDIO_OPN_MODE_BLOCK 407 * Please Place Description here. 408 * @var mac_ax_sdio_opn_mode::MAC_AX_SDIO_OPN_MODE_UNKNOWN 409 * Please Place Description here. 410 */ 411 enum mac_ax_sdio_opn_mode { 412 MAC_AX_SDIO_OPN_MODE_BYTE = 0, 413 MAC_AX_SDIO_OPN_MODE_BLOCK, 414 MAC_AX_SDIO_OPN_MODE_UNKNOWN, 415 }; 416 417 /** 418 * @enum mac_ax_sdio_spec_ver 419 * 420 * @brief mac_ax_sdio_spec_ver 421 * 422 * @var mac_ax_sdio_spec_ver::MAC_AX_SDIO_SPEC_VER_2_00 423 * Please Place Description here. 424 * @var mac_ax_sdio_spec_ver::MAC_AX_SDIO_SPEC_VER_3_00 425 * Please Place Description here. 426 * @var mac_ax_sdio_spec_ver::MAC_AX_SDIO_SPEC_VER_LAST 427 * Please Place Description here. 428 * @var mac_ax_sdio_spec_ver::MAC_AX_SDIO_SPEC_VER_MAX 429 * Please Place Description here. 430 * @var mac_ax_sdio_spec_ver::MAC_AX_SDIO_SPEC_VER_INVALID 431 * Please Place Description here. 432 */ 433 enum mac_ax_sdio_spec_ver { 434 MAC_AX_SDIO_SPEC_VER_2_00, 435 MAC_AX_SDIO_SPEC_VER_3_00, 436 437 /* keep last */ 438 MAC_AX_SDIO_SPEC_VER_LAST, 439 MAC_AX_SDIO_SPEC_VER_MAX = MAC_AX_SDIO_SPEC_VER_LAST, 440 MAC_AX_SDIO_SPEC_VER_INVALID = MAC_AX_SDIO_SPEC_VER_LAST, 441 }; 442 443 /** 444 * @enum mac_ax_use_ver 445 * 446 * @brief mac_ax_use_ver 447 * 448 * @var mac_ax_use_ver::MAC_AX_USB11 449 * Please Place Description here. 450 * @var mac_ax_use_ver::MAC_AX_USB2 451 * Please Place Description here. 452 * @var mac_ax_use_ver::MAC_AX_USB3 453 * Please Place Description here. 454 * @var mac_ax_use_ver::MAC_AX_USB_LAST 455 * Please Place Description here. 456 * @var mac_ax_use_ver::MAC_AX_USB_MAX 457 * Please Place Description here. 458 * @var mac_ax_use_ver::MAC_AX_USB_INVALID 459 * Please Place Description here. 460 */ 461 enum mac_ax_use_ver { 462 MAC_AX_USB10, 463 MAC_AX_USB11, 464 MAC_AX_USB2, 465 MAC_AX_USB3, 466 467 MAC_AX_USB_LAST, 468 MAC_AX_USB_MAX = MAC_AX_USB_LAST, 469 MAC_AX_USB_INVALID = MAC_AX_USB_LAST, 470 }; 471 472 /** 473 * @enum mac_ax_use_mode 474 * 475 * @brief mac_ax_use_mode 476 * 477 * @var mac_ax_use_ver::MAC_AX_USB_NORM 478 * Please Place Description here. 479 * @var mac_ax_use_ver::MAC_AX_USB_AUTOINSTALL 480 * Please Place Description here. 481 * @var mac_ax_use_ver::MAC_AX_USB_LAST 482 * Please Place Description here. 483 * @var mac_ax_use_ver::MAC_AX_USB_MAX 484 * Please Place Description here. 485 * @var mac_ax_use_ver::MAC_AX_USB_INVALID 486 * Please Place Description here. 487 */ 488 enum mac_ax_use_mode { 489 MAC_AX_USB_NORM, 490 MAC_AX_USB_AUTOINSTALL, 491 492 MAC_AX_USB_MODE_LAST, 493 MAC_AX_USB_MODE_MAX = MAC_AX_USB_LAST, 494 MAC_AX_USB_MODE_INVALID = MAC_AX_USB_LAST, 495 }; 496 497 /** 498 * @enum mac_ax_lv1_rcvy_step 499 * 500 * @brief mac_ax_lv1_rcvy_step 501 * 502 * @var mac_ax_lv1_rcvy_step::MAC_AX_LV1_RCVY_STEP_1 503 * Please Place Description here. 504 * @var mac_ax_lv1_rcvy_step::MAC_AX_LV1_RCVY_STEP_2 505 * Please Place Description here. 506 * @var mac_ax_lv1_rcvy_step::MAC_AX_LV1_RCVY_STEP_LAST 507 * Please Place Description here. 508 * @var mac_ax_lv1_rcvy_step::MAC_AX_LV1_RCVY_STEP_MAX 509 * Please Place Description here. 510 * @var mac_ax_lv1_rcvy_step::MAC_AX_LV1_RCVY_STEP_INVALID 511 * Please Place Description here. 512 */ 513 enum mac_ax_lv1_rcvy_step { 514 MAC_AX_LV1_RCVY_STEP_1 = 0, 515 MAC_AX_LV1_RCVY_STEP_2, 516 517 /* keep last */ 518 MAC_AX_LV1_RCVY_STEP_LAST, 519 MAC_AX_LV1_RCVY_STEP_MAX = MAC_AX_LV1_RCVY_STEP_LAST, 520 MAC_AX_LV1_RCVY_STEP_INVALID = MAC_AX_LV1_RCVY_STEP_LAST, 521 }; 522 523 /** 524 * @enum mac_ax_ex_shift 525 * 526 * @brief mac_ax_ex_shift 527 * 528 * @var mac_ax_ex_shift::MAC_AX_NO_SHIFT 529 * Please Place Description here. 530 * @var mac_ax_ex_shift::MAC_AX_BYTE_ALIGNED_4 531 * Please Place Description here. 532 * @var mac_ax_ex_shift::MAC_AX_BYTE_ALIGNED_8 533 * Please Place Description here. 534 */ 535 enum mac_ax_ex_shift { 536 MAC_AX_NO_SHIFT = 0, 537 MAC_AX_BYTE_ALIGNED_4 = 1, 538 MAC_AX_BYTE_ALIGNED_8 = 2 539 }; 540 541 /** 542 * @enum mac_ax_ps_mode 543 * 544 * @brief mac_ax_ps_mode 545 * 546 * @var mac_ax_ps_mode::MAC_AX_PS_MODE_ACTIVE 547 * Please Place Description here. 548 * @var mac_ax_ps_mode::MAC_AX_PS_MODE_LEGACY 549 * Please Place Description here. 550 * @var mac_ax_ps_mode::MAC_AX_PS_MODE_WMMPS 551 * Please Place Description here. 552 * @var mac_ax_ps_mode::MAC_AX_PS_MODE_MAX 553 * Please Place Description here. 554 */ 555 enum mac_ax_ps_mode { 556 MAC_AX_PS_MODE_ACTIVE = 0, 557 MAC_AX_PS_MODE_LEGACY = 1, 558 MAC_AX_PS_MODE_WMMPS = 2, 559 MAC_AX_PS_MODE_MAX = 3, 560 }; 561 562 /** 563 * @enum mac_ax_pwr_state_action 564 * 565 * @brief mac_ax_pwr_state_action 566 * 567 * @var mac_ax_pwr_state_action::MAC_AX_PWR_STATE_ACT_REQ 568 * Please Place Description here. 569 * @var mac_ax_pwr_state_action::MAC_AX_PWR_STATE_ACT_CHK 570 * Please Place Description here. 571 * @var mac_ax_pwr_state_action::MAC_AX_PWR_STATE_ACT_MAX 572 * Please Place Description here. 573 */ 574 enum mac_ax_pwr_state_action { 575 MAC_AX_PWR_STATE_ACT_REQ = 0, 576 MAC_AX_PWR_STATE_ACT_CHK = 1, 577 MAC_AX_PWR_STATE_ACT_MAX, 578 }; 579 580 /** 581 * @enum mac_ax_rpwm_req_pwr_state 582 * 583 * @brief mac_ax_rpwm_req_pwr_state 584 * 585 * @var mac_ax_rpwm_req_pwr_state::MAC_AX_RPWM_REQ_PWR_STATE_ACTIVE 586 * Please Place Description here. 587 * @var mac_ax_rpwm_req_pwr_state::MAC_AX_RPWM_REQ_PWR_STATE_BAND0_RFON 588 * Please Place Description here. 589 * @var mac_ax_rpwm_req_pwr_state::MAC_AX_RPWM_REQ_PWR_STATE_BAND1_RFON 590 * Please Place Description here. 591 * @var mac_ax_rpwm_req_pwr_state::MAC_AX_RPWM_REQ_PWR_STATE_BAND0_RFOFF 592 * Please Place Description here. 593 * @var mac_ax_rpwm_req_pwr_state::MAC_AX_RPWM_REQ_PWR_STATE_BAND1_RFOFF 594 * Please Place Description here. 595 * @var mac_ax_rpwm_req_pwr_state::MAC_AX_RPWM_REQ_PWR_STATE_CLK_GATED 596 * Please Place Description here. 597 * @var mac_ax_rpwm_req_pwr_state::MAC_AX_RPWM_REQ_PWR_STATE_PWR_GATED 598 * Please Place Description here. 599 * @var mac_ax_rpwm_req_pwr_state::MAC_AX_RPWM_REQ_PWR_STATE_HIOE_PWR_GATED 600 * Please Place Description here. 601 * @var mac_ax_rpwm_req_pwr_state::MAC_AX_RPWM_REQ_PWR_STATE_MAX 602 * Please Place Description here. 603 */ 604 enum mac_ax_rpwm_req_pwr_state { 605 MAC_AX_RPWM_REQ_PWR_STATE_ACTIVE = 0, 606 MAC_AX_RPWM_REQ_PWR_STATE_BAND0_RFON = 1, 607 MAC_AX_RPWM_REQ_PWR_STATE_BAND1_RFON = 2, 608 MAC_AX_RPWM_REQ_PWR_STATE_BAND0_RFOFF = 3, 609 MAC_AX_RPWM_REQ_PWR_STATE_BAND1_RFOFF = 4, 610 MAC_AX_RPWM_REQ_PWR_STATE_CLK_GATED = 5, 611 MAC_AX_RPWM_REQ_PWR_STATE_PWR_GATED = 6, 612 MAC_AX_RPWM_REQ_PWR_STATE_HIOE_PWR_GATED = 7, 613 MAC_AX_RPWM_REQ_PWR_STATE_MAX, 614 }; 615 616 /** 617 * @enum mac_ax_port_cfg_type 618 * 619 * @brief mac_ax_port_cfg_type 620 * 621 * @var mac_ax_port_cfg_type::MAC_AX_PCFG_FUNC_SW 622 * Please Place Description here. 623 * @var mac_ax_port_cfg_type::MAC_AX_PCFG_TX_SW 624 * Please Place Description here. 625 * @var mac_ax_port_cfg_type::MAC_AX_PCFG_TX_RPT 626 * Please Place Description here. 627 * @var mac_ax_port_cfg_type::MAC_AX_PCFG_RX_SW 628 * Please Place Description here. 629 * @var mac_ax_port_cfg_type::MAC_AX_PCFG_RX_RPT 630 * Please Place Description here. 631 * @var mac_ax_port_cfg_type::MAC_AX_PCFG_RX_SYNC 632 * Please Place Description here. 633 * @var mac_ax_port_cfg_type::MAC_AX_PCFG_BCN_PRCT 634 * Please Place Description here. 635 * @var mac_ax_port_cfg_type::MAC_AX_PCFG_TBTT_AGG 636 * Please Place Description here. 637 * @var mac_ax_port_cfg_type::MAC_AX_PCFG_TBTT_SHIFT 638 * Please Place Description here. 639 * @var mac_ax_port_cfg_type::MAC_AX_PCFG_RST_TSF 640 * Please Place Description here. 641 * @var mac_ax_port_cfg_type::MAC_AX_PCFG_RST_TPR 642 * Please Place Description here. 643 * @var mac_ax_port_cfg_type::MAC_AX_PCFG_BCAID 644 * Please Place Description here. 645 * @var mac_ax_port_cfg_type::MAC_AX_PCFG_HIQ_WIN 646 * Please Place Description here. 647 * @var mac_ax_port_cfg_type::MAC_AX_PCFG_HIQ_DTIM 648 * Please Place Description here. 649 * @var mac_ax_port_cfg_type::MAC_AX_PCFG_HIQ_NOLIMIT 650 * Please Place Description here. 651 * @var mac_ax_port_cfg_type::MAC_AX_PCFG_NET_TYPE 652 * Please Place Description here. 653 * @var mac_ax_port_cfg_type::MAC_AX_PCFG_BCN_INTV 654 * Please Place Description here. 655 * @var mac_ax_port_cfg_type::MAC_AX_PCFG_BCN_SETUP_TIME 656 * Please Place Description here. 657 * @var mac_ax_port_cfg_type::MAC_AX_PCFG_BCN_HOLD_TIME 658 * Please Place Description here. 659 * @var mac_ax_port_cfg_type::MAC_AX_PCFG_MBSSID_EN 660 * Please Place Description here. 661 * @var mac_ax_port_cfg_type::MAC_AX_PCFG_BCN_ERLY 662 * Please Place Description here. 663 * @var mac_ax_port_cfg_type::MAC_AX_PCFG_BCN_MASK_AREA 664 * Please Place Description here. 665 * @var mac_ax_port_cfg_type::MAC_AX_PCFG_TBTT_ERLY 666 * Please Place Description here. 667 * @var mac_ax_port_cfg_type::MAC_AX_PCFG_BSS_CLR 668 * Please Place Description here. 669 * @var mac_ax_port_cfg_type::MAC_AX_PCFG_BCN_DRP_ALL 670 * Please Place Description here. 671 */ 672 enum mac_ax_port_cfg_type { 673 MAC_AX_PCFG_FUNC_SW = 0, 674 MAC_AX_PCFG_TX_SW, 675 MAC_AX_PCFG_TX_RPT, 676 MAC_AX_PCFG_RX_SW, 677 MAC_AX_PCFG_RX_RPT, 678 MAC_AX_PCFG_RX_SYNC, 679 MAC_AX_PCFG_BCN_PRCT, 680 MAC_AX_PCFG_TBTT_AGG, 681 MAC_AX_PCFG_TBTT_SHIFT, 682 MAC_AX_PCFG_RST_TSF, 683 MAC_AX_PCFG_RST_TPR, 684 MAC_AX_PCFG_BCAID, 685 MAC_AX_PCFG_HIQ_WIN, 686 MAC_AX_PCFG_HIQ_DTIM, 687 MAC_AX_PCFG_HIQ_NOLIMIT, 688 MAC_AX_PCFG_NET_TYPE, 689 MAC_AX_PCFG_BCN_INTV, 690 MAC_AX_PCFG_BCN_SETUP_TIME, 691 MAC_AX_PCFG_BCN_HOLD_TIME, 692 MAC_AX_PCFG_MBSSID_EN, 693 MAC_AX_PCFG_BCN_ERLY, 694 MAC_AX_PCFG_BCN_MASK_AREA, 695 MAC_AX_PCFG_TBTT_ERLY, 696 MAC_AX_PCFG_BSS_CLR, 697 MAC_AX_PCFG_MBSSID_NUM, 698 MAC_AX_PCFG_BCN_DRP_ALL, 699 }; 700 701 /** 702 * @enum mac_ax_band 703 * 704 * @brief mac_ax_band 705 * 706 * @var mac_ax_band::MAC_AX_BAND_0 707 * Please Place Description here. 708 * @var mac_ax_band::MAC_AX_BAND_1 709 * Please Place Description here. 710 * @var mac_ax_band::MAC_AX_BAND_NUM 711 * Please Place Description here. 712 */ 713 enum mac_ax_band { 714 MAC_AX_BAND_0 = 0, 715 MAC_AX_BAND_1 = 1, 716 MAC_AX_BAND_NUM = 2 717 }; 718 719 /** 720 * @enum mac_ax_port 721 * 722 * @brief mac_ax_port 723 * 724 * @var mac_ax_port::MAC_AX_PORT_0 725 * Please Place Description here. 726 * @var mac_ax_port::MAC_AX_PORT_1 727 * Please Place Description here. 728 * @var mac_ax_port::MAC_AX_PORT_2 729 * Please Place Description here. 730 * @var mac_ax_port::MAC_AX_PORT_3 731 * Please Place Description here. 732 * @var mac_ax_port::MAC_AX_PORT_4 733 * Please Place Description here. 734 * @var mac_ax_port::MAC_AX_PORT_NUM 735 * Please Place Description here. 736 */ 737 enum mac_ax_port { 738 MAC_AX_PORT_0 = 0, 739 MAC_AX_PORT_1 = 1, 740 MAC_AX_PORT_2 = 2, 741 MAC_AX_PORT_3 = 3, 742 MAC_AX_PORT_4 = 4, 743 MAC_AX_PORT_NUM 744 }; 745 746 /** 747 * @enum mac_ax_addr_msk_sel 748 * 749 * @brief mac_ax_addr_msk_sel 750 * 751 * @var mac_ax_addr_msk_sel::MAC_AX_NO_MSK 752 * Please Place Description here. 753 * @var mac_ax_addr_msk_sel::MAC_AX_SMA_MSK 754 * Please Place Description here. 755 * @var mac_ax_addr_msk_sel::MAC_AX_TMA_MSK 756 * Please Place Description here. 757 * @var mac_ax_addr_msk_sel::MAC_AX_BSSID_MSK 758 * Please Place Description here. 759 */ 760 enum mac_ax_addr_msk_sel { 761 MAC_AX_NO_MSK, 762 MAC_AX_SMA_MSK, 763 MAC_AX_TMA_MSK, 764 MAC_AX_BSSID_MSK 765 }; 766 767 /** 768 * @enum mac_ax_addr_msk 769 * 770 * @brief mac_ax_addr_msk 771 * 772 * @var mac_ax_addr_msk::MAC_AX_MASK_BYTE5_TO_BYTE5 773 * Please Place Description here. 774 * @var mac_ax_addr_msk::MAC_AX_MASK_BYTE5_TO_BYTE4 775 * Please Place Description here. 776 * @var mac_ax_addr_msk::MAC_AX_MASK_BYTE5_TO_BYTE3 777 * Please Place Description here. 778 * @var mac_ax_addr_msk::MAC_AX_MASK_BYTE5_TO_BYTE2 779 * Please Place Description here. 780 * @var mac_ax_addr_msk::MAC_AX_MASK_BYTE5_TO_BYTE1 781 * Please Place Description here. 782 */ 783 enum mac_ax_addr_msk { 784 MAC_AX_MSK_NONE = 0x3f, 785 MAC_AX_BYTE5 = 0x1f, 786 MAC_AX_BYTE5_TO_BYTE4 = 0xf, 787 MAC_AX_BYTE5_TO_BYTE3 = 0x7, 788 MAC_AX_BYTE5_TO_BYTE2 = 0x3, 789 MAC_AX_BYTE5_TO_BYTE1 = 0x1, 790 MAC_AX_MSK_ALL = 0x0 791 }; 792 793 /** 794 * @enum mac_ax_mbssid_idx 795 * 796 * @brief mac_ax_mbssid_idx 797 * 798 * @var mac_ax_mbssid_idx::MAC_AX_P0_ROOT 799 * Please Place Description here. 800 * @var mac_ax_mbssid_idx::MAC_AX_P0_MBID1 801 * Please Place Description here. 802 * @var mac_ax_mbssid_idx::MAC_AX_P0_MBID2 803 * Please Place Description here. 804 * @var mac_ax_mbssid_idx::MAC_AX_P0_MBID3 805 * Please Place Description here. 806 * @var mac_ax_mbssid_idx::MAC_AX_P0_MBID4 807 * Please Place Description here. 808 * @var mac_ax_mbssid_idx::MAC_AX_P0_MBID5 809 * Please Place Description here. 810 * @var mac_ax_mbssid_idx::MAC_AX_P0_MBID6 811 * Please Place Description here. 812 * @var mac_ax_mbssid_idx::MAC_AX_P0_MBID7 813 * Please Place Description here. 814 * @var mac_ax_mbssid_idx::MAC_AX_P0_MBID8 815 * Please Place Description here. 816 * @var mac_ax_mbssid_idx::MAC_AX_P0_MBID9 817 * Please Place Description here. 818 * @var mac_ax_mbssid_idx::MAC_AX_P0_MBID10 819 * Please Place Description here. 820 * @var mac_ax_mbssid_idx::MAC_AX_P0_MBID11 821 * Please Place Description here. 822 * @var mac_ax_mbssid_idx::MAC_AX_P0_MBID12 823 * Please Place Description here. 824 * @var mac_ax_mbssid_idx::MAC_AX_P0_MBID13 825 * Please Place Description here. 826 * @var mac_ax_mbssid_idx::MAC_AX_P0_MBID14 827 * Please Place Description here. 828 * @var mac_ax_mbssid_idx::MAC_AX_P0_MBID15 829 * Please Place Description here. 830 * @var mac_ax_mbssid_idx::MAC_AX_P0_MBID_LAST 831 * Please Place Description here. 832 * @var mac_ax_mbssid_idx::MAC_AX_P0_MBID_MAX 833 * Please Place Description here. 834 * @var mac_ax_mbssid_idx::MAC_AX_P0_MBID_INVALID 835 * Please Place Description here. 836 */ 837 enum mac_ax_mbssid_idx { 838 MAC_AX_P0_ROOT = 0, 839 MAC_AX_P0_MBID1, 840 MAC_AX_P0_MBID2, 841 MAC_AX_P0_MBID3, 842 MAC_AX_P0_MBID4, 843 MAC_AX_P0_MBID5, 844 MAC_AX_P0_MBID6, 845 MAC_AX_P0_MBID7, 846 MAC_AX_P0_MBID8, 847 MAC_AX_P0_MBID9, 848 MAC_AX_P0_MBID10, 849 MAC_AX_P0_MBID11, 850 MAC_AX_P0_MBID12, 851 MAC_AX_P0_MBID13, 852 MAC_AX_P0_MBID14, 853 MAC_AX_P0_MBID15, 854 855 /* keep last */ 856 MAC_AX_P0_MBID_LAST, 857 MAC_AX_P0_MBID_MAX = MAC_AX_P0_MBID_LAST, 858 MAC_AX_P0_MBID_INVALID = MAC_AX_P0_MBID_LAST, 859 }; 860 861 /** 862 * @enum mac_ax_hwmod_sel 863 * 864 * @brief mac_ax_hwmod_sel 865 * 866 * @var mac_ax_hwmod_sel::MAC_AX_DMAC_SEL 867 * Please Place Description here. 868 * @var mac_ax_hwmod_sel::MAC_AX_CMAC_SEL 869 * Please Place Description here. 870 * @var mac_ax_hwmod_sel::MAC_AX_MAC_LAST 871 * Please Place Description here. 872 * @var mac_ax_hwmod_sel::MAC_AX_MAC_MAX 873 * Please Place Description here. 874 * @var mac_ax_hwmod_sel::MAC_AX_MAC_INVALID 875 * Please Place Description here. 876 */ 877 enum mac_ax_hwmod_sel { 878 MAC_AX_DMAC_SEL = 0, 879 MAC_AX_CMAC_SEL = 1, 880 881 /* keep last */ 882 MAC_AX_MAC_LAST, 883 MAC_AX_MAC_MAX = MAC_AX_MAC_LAST, 884 MAC_AX_MAC_INVALID = MAC_AX_MAC_LAST, 885 }; 886 887 /** 888 * @enum mac_ax_ss_wmm 889 * 890 * @brief mac_ax_ss_wmm 891 * 892 * @var mac_ax_ss_wmm::MAC_AX_SS_WMM0 893 * Please Place Description here. 894 * @var mac_ax_ss_wmm::MAC_AX_SS_WMM1 895 * Please Place Description here. 896 * @var mac_ax_ss_wmm::MAC_AX_SS_WMM2 897 * Please Place Description here. 898 * @var mac_ax_ss_wmm::MAC_AX_SS_WMM3 899 * Please Place Description here. 900 * @var mac_ax_ss_wmm::MAC_AX_SS_UL 901 * Please Place Description here. 902 */ 903 enum mac_ax_ss_wmm { 904 MAC_AX_SS_WMM0, 905 MAC_AX_SS_WMM1, 906 MAC_AX_SS_WMM2, 907 MAC_AX_SS_WMM3, 908 MAC_AX_SS_UL, 909 }; 910 911 /** 912 * @enum mac_ax_ss_quota_mode 913 * 914 * @brief mac_ax_ss_quota_mode 915 * 916 * @var mac_ax_ss_quota_mode::MAC_AX_SS_QUOTA_MODE_TIME 917 * Please Place Description here. 918 * @var mac_ax_ss_quota_mode::MAC_AX_SS_QUOTA_MODE_CNT 919 * Please Place Description here. 920 */ 921 enum mac_ax_ss_quota_mode { 922 MAC_AX_SS_QUOTA_MODE_TIME = 0, 923 MAC_AX_SS_QUOTA_MODE_CNT = 1, 924 }; 925 926 /** 927 * @enum mac_ax_issue_uldl_type 928 * 929 * @brief mac_ax_issue_uldl_type 930 * 931 * @var mac_ax_issue_uldl_type::mac_ax_issue_dl 932 * Please Place Description here. 933 * @var mac_ax_issue_uldl_type::mac_ax_issue_ul 934 * Please Place Description here. 935 */ 936 enum mac_ax_issue_uldl_type { 937 mac_ax_issue_dl = 0, 938 mac_ax_issue_ul = 1, 939 }; 940 941 /** 942 * @enum mac_ax_hw_id 943 * 944 * @brief mac_ax_hw_id 945 * 946 * @var mac_ax_hw_id::MAC_AX_HW_MAPPING 947 * Please Place Description here. 948 * @var mac_ax_hw_id::MAC_AX_HW_SDIO_MON_INT 949 * Please Place Description here. 950 * @var mac_ax_hw_id::MAC_AX_HW_SDIO_MON_CNT 951 * Please Place Description here. 952 * @var mac_ax_hw_id::MAC_AX_HW_SDIO_TX_AGG_SIZE 953 * Please Place Description here. 954 * @var mac_ax_hw_id::MAC_AX_HW_GET_AMPDU_CFG 955 * Please Place Description here. 956 * @var mac_ax_hw_id::MAC_AX_HW_GET_EDCA_PARAM 957 * Please Place Description here. 958 * @var mac_ax_hw_id::MAC_AX_HW_GET_EDCCA_PARAM 959 * Please Place Description here. 960 * @var mac_ax_hw_id::MAC_AX_HW_GET_MUEDCA_PARAM 961 * Please Place Description here. 962 * @var mac_ax_hw_id::MAC_AX_HW_GET_MUEDCA_TIMER 963 * Please Place Description here. 964 * @var mac_ax_hw_id::MAC_AX_HW_GET_TBPPDU_CTRL 965 * Please Place Description here. 966 * @var mac_ax_hw_id::MAC_AX_HW_GET_MUEDCA_CTRL 967 * Please Place Description here. 968 * @var mac_ax_hw_id::MAC_AX_HW_GET_DELAYTX_CFG 969 * Please Place Description here. 970 * @var mac_ax_hw_id::MAC_AX_HW_GET_SS_WMM_TBL 971 * Please Place Description here. 972 * @var mac_ax_hw_id::MAC_AX_HW_GET_EFUSE_SIZE 973 * Please Place Description here. 974 * @var mac_ax_hw_id::MAC_AX_HW_GET_LOGICAL_EFUSE_SIZE 975 * Please Place Description here. 976 * @var mac_ax_hw_id::MAC_AX_HW_GET_LIMIT_LOG_EFUSE_SIZE 977 * Please Place Description here. 978 * @var mac_ax_hw_id::MAC_AX_HW_GET_BT_EFUSE_SIZE 979 * Please Place Description here. 980 * @var mac_ax_hw_id::MAC_AX_HW_GET_BT_LOGICAL_EFUSE_SIZE 981 * Please Place Description here. 982 * @var mac_ax_hw_id::MAC_AX_HW_GET_EFUSE_MASK_SIZE 983 * Please Place Description here. 984 * @var mac_ax_hw_id::MAC_AX_HW_GET_LIMIT_EFUSE_MASK_SIZE 985 * Please Place Description here. 986 * @var mac_ax_hw_id::MAC_AX_HW_GET_BT_EFUSE_MASK_SIZE 987 * Please Place Description here. 988 * @var mac_ax_hw_id::MAC_AX_HW_GET_CH_STAT_CNT 989 * Please Place Description here. 990 * @var mac_ax_hw_id::MAC_AX_HW_GET_LIFETIME_CFG 991 * Please Place Description here. 992 * @var mac_ax_hw_id::MAC_AX_HW_GET_APP_FCS 993 * Please Place Description here. 994 * @var mac_ax_hw_id::MAC_AX_HW_GET_RX_ICVERR 995 * Please Place Description here. 996 * @var mac_ax_hw_id::MAC_AX_HW_GET_PWR_STATE 997 * Please Place Description here. 998 * @var mac_ax_hw_id::MAC_AX_HW_GET_WAKE_REASON 999 * Please Place Description here. 1000 * @var mac_ax_hw_id::MAC_AX_HW_GET_SCOREBOARD 1001 * Please Place Description here. 1002 * @var mac_ax_hw_id::MAC_AX_HW_GET_COEX_GNT 1003 * Please Place Description here. 1004 * @var mac_ax_hw_id::MAC_AX_HW_GET_RRSR 1005 * Please Place Description here. 1006 * @var mac_ax_hw_id::MAC_AX_HW_GET_COEX_CTRL 1007 * Please Place Description here. 1008 * @var mac_ax_hw_id::MAC_AX_HW_GET_TX_CNT 1009 * Please Place Description here. 1010 * @var mac_ax_hw_id::MAC_AX_TX_TF_INFO 1011 * Please Place Description here. 1012 * @var mac_ax_hw_id::MAC_AX_HW_GET_TSF 1013 * Please Place Description here. 1014 * @var mac_ax_hw_id::MAC_AX_HW_GET_MAX_TX_TIME 1015 * Please Place Description here. 1016 * @var mac_ax_hw_id::MAC_AX_HW_GET_SS_QUOTA_MODE 1017 * Please Place Description here. 1018 * @var mac_ax_hw_id::MAC_AX_HW_GET_SS_QUOTA_SETTING 1019 * Please Place Description here. 1020 * @var mac_ax_hw_id::MAC_AX_HW_GET_POLLUTED_CNT 1021 * Please Place Description here. 1022 * @var mac_ax_hw_id::MAC_AX_HW_GET_DATA_RTY_LMT 1023 * Please Place Description here. 1024 * @var mac_ax_hw_id::MAC_AX_HW_GET_DFLT_NAV 1025 * Please Place Description here. 1026 * @var mac_ax_hw_id::MAC_AX_HW_GET_BACAM_MODE_SEL 1027 * To get the BACAM option mode. 1028 * @var mac_ax_hw_id::MAC_AX_HW_GET_RRSR_CFG 1029 * for Get Response rate cfg 1030 * @var mac_ax_hw_id::MAC_AX_HW_GET_CTS_RRSR_CFG 1031 * for Get CTS Response rate cfg 1032 * @var mac_ax_hw_id::MAC_AX_HW_SDIO_INFO 1033 * Please Place Description here. 1034 * @var mac_ax_hw_id::MAC_AX_HW_SDIO_TX_MODE 1035 * Please Place Description here. 1036 * @var mac_ax_hw_id::MAC_AX_HW_SDIO_RX_AGG 1037 * Please Place Description here. 1038 * @var mac_ax_hw_id::MAC_AX_HW_SDIO_TX_AGG 1039 * Please Place Description here. 1040 * @var mac_ax_hw_id::MAC_AX_HW_SDIO_AVAL_PAGE 1041 * Please Place Description here. 1042 * @var mac_ax_hw_id::MAC_AX_HW_SDIO_MON_WT 1043 * Please Place Description here. 1044 * @var mac_ax_hw_id::MAC_AX_HW_SDIO_MON_CLK 1045 * Please Place Description here. 1046 * @var mac_ax_hw_id::MAC_AX_HW_PCIE_CFGSPC_SET 1047 * Please Place Description here. 1048 * @var mac_ax_hw_id::MAC_AX_HW_PCIE_RST_BDRAM 1049 * Please Place Description here. 1050 * @var mac_ax_hw_id::MAX_AX_HW_PCIE_LTR_SW_TRIGGER 1051 * Please Place Description here. 1052 * @var mac_ax_hw_id::MAC_AX_HW_SET_ID_PAUSE 1053 * Please Place Description here. 1054 * @var mac_ax_hw_id::MAC_AX_HW_SET_AMPDU_CFG 1055 * Please Place Description here. 1056 * @var mac_ax_hw_id::MAC_AX_HW_SET_USR_EDCA_PARAM 1057 * Please Place Description here. 1058 * @var mac_ax_hw_id::MAC_AX_HW_SET_EDCA_PARAM 1059 * Please Place Description here. 1060 * @var mac_ax_hw_id::MAC_AX_HW_SET_EDCCA_PARAM 1061 * Please Place Description here. 1062 * @var mac_ax_hw_id::MAC_AX_HW_SET_MUEDCA_PARAM 1063 * Please Place Description here. 1064 * @var mac_ax_hw_id::MAC_AX_HW_SET_TBPPDU_CTRL 1065 * Please Place Description here. 1066 * @var mac_ax_hw_id::MAC_AX_HW_SET_SCH_TXEN_CFG 1067 * Please Place Description here. 1068 * @var mac_ax_hw_id::MAC_AX_HW_SET_HOST_RPR 1069 * Please Place Description here. 1070 * @var mac_ax_hw_id::MAC_AX_HW_SET_MUEDCA_CTRL 1071 * Please Place Description here. 1072 * @var mac_ax_hw_id::MAC_AX_HW_SET_DELAYTX_CFG 1073 * Please Place Description here. 1074 * @var mac_ax_hw_id::MAC_AX_HW_SET_BW_CFG 1075 * Please Place Description here. 1076 * @var mac_ax_hw_id::MAC_AX_HW_SET_BT_BLOCK_TX 1077 * Please Place Description here. 1078 * @var mac_ax_hw_id::MAC_AX_HW_SET_LIFETIME_CFG 1079 * Please Place Description here. 1080 * @var mac_ax_hw_id::MAC_AX_HW_EN_BB_RF 1081 * Please Place Description here. 1082 * @var mac_ax_hw_id::MAC_AX_HW_SET_APP_FCS 1083 * Please Place Description here. 1084 * @var mac_ax_hw_id::MAC_AX_HW_SET_RX_ICVERR 1085 * Please Place Description here. 1086 * @var mac_ax_hw_id::MAC_AX_HW_SET_CCTL_RTY_LMT 1087 * Please Place Description here. 1088 * @var mac_ax_hw_id::MAC_AX_HW_SET_COEX_GNT 1089 * Please Place Description here. 1090 * @var mac_ax_hw_id::MAC_AX_HW_SET_SCOREBOARD 1091 * Please Place Description here. 1092 * @var mac_ax_hw_id::MAC_AX_HW_SET_POLLUTED 1093 * Please Place Description here. 1094 * @var mac_ax_hw_id::MAC_AX_HW_SET_COEX_CTRL 1095 * Please Place Description here. 1096 * @var mac_ax_hw_id::MAC_AX_HW_SET_CLR_TX_CNT 1097 * Please Place Description here. 1098 * @var mac_ax_hw_id::MAC_AX_HW_SET_SLOT_TIME 1099 * Please Place Description here. 1100 * @var mac_ax_hw_id::MAC_AX_HW_SET_XTAL_AAC_MODE 1101 * Please Place Description here. 1102 * @var mac_ax_hw_id::MAC_AX_HW_SET_NAV_PADDING 1103 * Please Place Description here. 1104 * @var mac_ax_hw_id::MAC_AX_HW_SET_MAX_TX_TIME 1105 * Please Place Description here. 1106 * @var mac_ax_hw_id::MAC_AX_HW_SET_SS_QUOTA_MODE 1107 * Please Place Description here. 1108 * @var mac_ax_hw_id::MAC_AX_HW_SET_SS_QUOTA_SETTING 1109 * Please Place Description here. 1110 * @var mac_ax_hw_id::MAC_AX_HW_SET_TX_RU26_TB 1111 * To enable or disable responding TB in RU26 1112 * @var mac_ax_hw_id::MAC_AX_HW_SET_BACAM_MODE_SEL 1113 * To change the BACAM option mode 1114 * @var mac_ax_hw_id::MAC_AX_HW_SET_CORE_SWR_VOLT 1115 * Please Place Description here. 1116 * @var mac_ax_hw_id::MAC_AX_HW_SET_PARTIAL_PLD_MODE 1117 * Please Place Description here. 1118 * @var mac_ax_hw_id::MAC_AX_HW_SET_RRSR_CFG 1119 * for Response rate cfg 1120 * @var mac_ax_hw_id::MAC_AX_HW_SET_CTS_RRSR_CFG 1121 * for CTS Response rate cfg 1122 */ 1123 enum mac_ax_hw_id { 1124 /* Get HW value */ 1125 MAC_AX_HW_MAPPING = 0x00, 1126 MAC_AX_HW_SDIO_MON_INT, 1127 MAC_AX_HW_SDIO_MON_CNT, 1128 MAC_AX_HW_GET_ID_PAUSE, 1129 MAC_AX_HW_SDIO_TX_AGG_SIZE, 1130 MAC_AX_HW_GET_EDCA_PARAM, 1131 MAC_AX_HW_GET_TBPPDU_CTRL, 1132 MAC_AX_HW_GET_SCH_TXEN_STATUS, 1133 MAC_AX_HW_GET_DELAYTX_CFG, 1134 MAC_AX_HW_GET_SS_WMM_TBL, 1135 MAC_AX_HW_GET_EFUSE_SIZE, 1136 MAC_AX_HW_GET_LOGICAL_EFUSE_SIZE, 1137 MAC_AX_HW_GET_LIMIT_LOG_EFUSE_SIZE, 1138 MAC_AX_HW_GET_BT_EFUSE_SIZE, 1139 MAC_AX_HW_GET_BT_LOGICAL_EFUSE_SIZE, 1140 MAC_AX_HW_GET_EFUSE_MASK_SIZE, 1141 MAC_AX_HW_GET_LIMIT_EFUSE_MASK_SIZE, 1142 MAC_AX_HW_GET_BT_EFUSE_MASK_SIZE, 1143 MAC_AX_HW_GET_EFUSE_VERSION_SIZE, 1144 MAC_AX_HW_GET_CH_STAT_CNT, 1145 MAC_AX_HW_GET_LIFETIME_CFG, 1146 MAC_AX_HW_GET_APP_FCS, 1147 MAC_AX_HW_GET_RX_ICVERR, 1148 MAC_AX_HW_GET_PWR_STATE, 1149 MAC_AX_HW_GET_WAKE_REASON, 1150 MAC_AX_HW_GET_SCOREBOARD, 1151 MAC_AX_HW_GET_COEX_GNT, 1152 MAC_AX_HW_GET_COEX_CTRL, 1153 MAC_AX_HW_GET_TX_CNT, 1154 MAC_AX_HW_GET_TSF, 1155 MAC_AX_HW_GET_MAX_TX_TIME, 1156 MAC_AX_HW_GET_POLLUTED_CNT, 1157 MAC_AX_HW_GET_DATA_RTY_LMT, 1158 MAC_AX_HW_GET_DFLT_NAV, 1159 MAC_AX_HW_GET_SCHE_PREBKF, 1160 MAC_AX_HW_GET_FW_CAP, 1161 MAC_AX_HW_GET_BACAM_MODE_SEL, 1162 MAC_AX_HW_GET_RRSR_CFG, 1163 MAC_AX_HW_GET_CTS_RRSR_CFG, 1164 MAC_AX_HW_GET_USB_STS, 1165 /* Set HW value */ 1166 MAC_AX_HW_SETTING = 0x60, 1167 MAC_AX_HW_SDIO_INFO, 1168 MAC_AX_HW_SDIO_TX_MODE, 1169 MAC_AX_HW_SDIO_RX_AGG, 1170 MAC_AX_HW_SDIO_TX_AGG, 1171 MAC_AX_HW_SDIO_AVAL_PAGE, 1172 MAC_AX_HW_SDIO_MON_WT, 1173 MAC_AX_HW_SDIO_MON_CLK, 1174 MAC_AX_HW_PCIE_CFGSPC_SET, 1175 MAC_AX_HW_PCIE_RST_BDRAM, 1176 MAX_AX_HW_PCIE_LTR_SW_TRIGGER, 1177 MAX_AX_HW_PCIE_MIT, 1178 MAX_AX_HW_PCIE_L2_LEAVE, 1179 MAC_AX_HW_SET_ID_PAUSE, 1180 MAC_AX_HW_SET_MULTI_ID_PAUSE, 1181 MAC_AX_HW_SET_AMPDU_CFG, 1182 MAC_AX_HW_SET_USR_EDCA_PARAM, 1183 MAC_AX_HW_SET_USR_TX_RPT_CFG, 1184 MAC_AX_HW_SET_EDCA_PARAM, 1185 MAC_AX_HW_SET_EDCCA_PARAM, 1186 MAC_AX_HW_SET_MUEDCA_PARAM, 1187 MAC_AX_HW_SET_TBPPDU_CTRL, 1188 MAC_AX_HW_SET_SCH_TXEN_CFG, 1189 MAC_AX_HW_SET_HOST_RPR, 1190 MAC_AX_HW_SET_MUEDCA_CTRL, 1191 MAC_AX_HW_SET_DELAYTX_CFG, 1192 MAC_AX_HW_SET_BW_CFG, 1193 MAC_AX_HW_SET_CH_BUSY_STAT_CFG, 1194 MAC_AX_HW_SET_LIFETIME_CFG, 1195 MAC_AX_HW_EN_BB_RF, 1196 MAC_AX_HW_SET_APP_FCS, 1197 MAC_AX_HW_SET_RX_ICVERR, 1198 MAC_AX_HW_SET_CCTL_RTY_LMT, 1199 MAC_AX_HW_SET_COEX_GNT, 1200 MAC_AX_HW_SET_SCOREBOARD, 1201 MAC_AX_HW_SET_POLLUTED, 1202 MAC_AX_HW_SET_COEX_CTRL, 1203 MAC_AX_HW_SET_CLR_TX_CNT, 1204 MAC_AX_HW_SET_SLOT_TIME, 1205 MAC_AX_HW_SET_XTAL_AAC_MODE, 1206 MAC_AX_HW_SET_NAV_PADDING, 1207 MAC_AX_HW_SET_MAX_TX_TIME, 1208 MAC_AX_HW_SET_SS_QUOTA_MODE, 1209 MAC_AX_HW_SET_SS_QUOTA_SETTING, 1210 MAC_AX_HW_SET_SCHE_PREBKF, 1211 MAC_AX_HW_SET_WDT_ISR_RST, 1212 MAC_AX_HW_SET_RESP_ACK, 1213 MAC_AX_HW_SET_HW_RTS_TH, 1214 MAC_AX_HW_SET_TX_RU26_TB, 1215 MAC_AX_HW_SET_BACAM_MODE_SEL, 1216 MAC_AX_HW_SET_CORE_SWR_VOLT, 1217 MAC_AX_HW_SET_PARTIAL_PLD_MODE, 1218 MAC_AX_HW_SET_RRSR_CFG, 1219 MAC_AX_HW_SET_CTS_RRSR_CFG, 1220 MAC_AX_HW_SET_GT3_TIMER, 1221 }; 1222 1223 /** 1224 * @enum mac_ax_rx_agg_mode 1225 * 1226 * @brief mac_ax_rx_agg_mode 1227 * 1228 * @var mac_ax_rx_agg_mode::MAC_AX_RX_AGG_MODE_NONE 1229 * Please Place Description here. 1230 * @var mac_ax_rx_agg_mode::MAC_AX_RX_AGG_MODE_DMA 1231 * Please Place Description here. 1232 * @var mac_ax_rx_agg_mode::MAC_AX_RX_AGG_MODE_USB 1233 * Please Place Description here. 1234 * @var mac_ax_rx_agg_mode::MAC_AX_RX_AGG_MODE_LAST 1235 * Please Place Description here. 1236 * @var mac_ax_rx_agg_mode::MAC_AX_RX_AGG_MODE_MAX 1237 * Please Place Description here. 1238 * @var mac_ax_rx_agg_mode::MAC_AX_RX_AGG_MODE_INVALID 1239 * Please Place Description here. 1240 */ 1241 enum mac_ax_rx_agg_mode { 1242 MAC_AX_RX_AGG_MODE_NONE, 1243 MAC_AX_RX_AGG_MODE_DMA, 1244 MAC_AX_RX_AGG_MODE_USB, 1245 1246 /* keep last */ 1247 MAC_AX_RX_AGG_MODE_LAST, 1248 MAC_AX_RX_AGG_MODE_MAX = MAC_AX_RX_AGG_MODE_LAST, 1249 MAC_AX_RX_AGG_MODE_INVALID = MAC_AX_RX_AGG_MODE_LAST, 1250 }; 1251 1252 /** 1253 * @enum mac_ax_usr_tx_rpt_mode 1254 * 1255 * @brief mac_ax_usr_tx_rpt_mode 1256 * 1257 * @var mac_ax_usr_tx_rpt_mode::MAC_AX_USR_TX_RPT_DIS 1258 * disable report 1259 * @var mac_ax_usr_tx_rpt_mode::MAC_AX_USR_TX_RPT_PERIOD 1260 * period mode 1261 * @var mac_ax_usr_tx_rpt_mode::MAC_AX_USR_TX_RPT_LAST_PKT 1262 * report after last packet Tx 1263 */ 1264 enum mac_ax_usr_tx_rpt_mode { 1265 MAC_AX_USR_TX_RPT_DIS = 0, 1266 MAC_AX_USR_TX_RPT_PERIOD = 1, 1267 MAC_AX_USR_TX_RPT_LAST_PKT = 2, 1268 }; 1269 1270 /** 1271 * @enum mac_ax_usr_tx_rpt_mode 1272 * 1273 * @brief mac_ax_usr_tx_rpt_mode 1274 * 1275 * @var mac_ax_usr_tx_rpt_mode::MAC_AX_USR_TX_RPT_DIS 1276 * disable report 1277 * @var mac_ax_usr_tx_rpt_mode::MAC_AX_USR_TX_RPT_PERIOD 1278 * period mode 1279 * @var mac_ax_usr_tx_rpt_mode::MAC_AX_USR_TX_RPT_LAST_PKT 1280 * report after last packet Tx 1281 */ 1282 enum mac_ax_ofld_mode { 1283 MAC_AX_OFLD_MODE_DU_DIS = 0, 1284 MAC_AX_OFLD_MODE_DU_VAL = 1, 1285 }; 1286 1287 /** 1288 * @enum mac_ax_cmac_ac_sel 1289 * 1290 * @brief mac_ax_cmac_ac_sel 1291 * 1292 * @var mac_ax_cmac_ac_sel::MAC_AX_CMAC_AC_SEL_BE 1293 * Please Place Description here. 1294 * @var mac_ax_cmac_ac_sel::MAC_AX_CMAC_AC_SEL_BK 1295 * Please Place Description here. 1296 * @var mac_ax_cmac_ac_sel::MAC_AX_CMAC_AC_SEL_VI 1297 * Please Place Description here. 1298 * @var mac_ax_cmac_ac_sel::MAC_AX_CMAC_AC_SEL_VO 1299 * Please Place Description here. 1300 * @var mac_ax_cmac_ac_sel::MAC_AX_CMAC_AC_SEL_LAST 1301 * Please Place Description here. 1302 * @var mac_ax_cmac_ac_sel::MAC_AX_CMAC_AC_SEL_MAX 1303 * Please Place Description here. 1304 * @var mac_ax_cmac_ac_sel::MAC_AX_CMAC_AC_SEL_INVALID 1305 * Please Place Description here. 1306 */ 1307 enum mac_ax_cmac_ac_sel { 1308 MAC_AX_CMAC_AC_SEL_BE = 0, 1309 MAC_AX_CMAC_AC_SEL_BK = 1, 1310 MAC_AX_CMAC_AC_SEL_VI = 2, 1311 MAC_AX_CMAC_AC_SEL_VO = 3, 1312 1313 /* keep last */ 1314 MAC_AX_CMAC_AC_SEL_LAST, 1315 MAC_AX_CMAC_AC_SEL_MAX = MAC_AX_CMAC_AC_SEL_LAST, 1316 MAC_AX_CMAC_AC_SEL_INVALID = MAC_AX_CMAC_AC_SEL_LAST, 1317 }; 1318 1319 /** 1320 * @enum mac_ax_cmac_path_sel 1321 * 1322 * @brief mac_ax_cmac_path_sel 1323 * 1324 * @var mac_ax_cmac_path_sel::MAC_AX_CMAC_PATH_SEL_BE0 1325 * Please Place Description here. 1326 * @var mac_ax_cmac_path_sel::MAC_AX_CMAC_PATH_SEL_BK0 1327 * Please Place Description here. 1328 * @var mac_ax_cmac_path_sel::MAC_AX_CMAC_PATH_SEL_VI0 1329 * Please Place Description here. 1330 * @var mac_ax_cmac_path_sel::MAC_AX_CMAC_PATH_SEL_VO0 1331 * Please Place Description here. 1332 * @var mac_ax_cmac_path_sel::MAC_AX_CMAC_PATH_SEL_BE1 1333 * Please Place Description here. 1334 * @var mac_ax_cmac_path_sel::MAC_AX_CMAC_PATH_SEL_BK1 1335 * Please Place Description here. 1336 * @var mac_ax_cmac_path_sel::MAC_AX_CMAC_PATH_SEL_VI1 1337 * Please Place Description here. 1338 * @var mac_ax_cmac_path_sel::MAC_AX_CMAC_PATH_SEL_VO1 1339 * Please Place Description here. 1340 * @var mac_ax_cmac_path_sel::MAC_AX_CMAC_PATH_SEL_MG0_1 1341 * Please Place Description here. 1342 * @var mac_ax_cmac_path_sel::MAC_AX_CMAC_PATH_SEL_MG2 1343 * Please Place Description here. 1344 * @var mac_ax_cmac_path_sel::MAC_AX_CMAC_PATH_SEL_BCN 1345 * Please Place Description here. 1346 * @var mac_ax_cmac_path_sel::MAC_AX_CMAC_PATH_SEL_TF 1347 * Please Place Description here. 1348 * @var mac_ax_cmac_path_sel::MAC_AX_CMAC_PATH_SEL_TWT0 1349 * Please Place Description here. 1350 * @var mac_ax_cmac_path_sel::MAC_AX_CMAC_PATH_SEL_TWT1 1351 * Please Place Description here. 1352 * @var mac_ax_cmac_path_sel::MAC_AX_CMAC_PATH_SEL_LAST 1353 * Please Place Description here. 1354 * @var mac_ax_cmac_path_sel::MAC_AX_CMAC_PATH_SEL_MAX 1355 * Please Place Description here. 1356 * @var mac_ax_cmac_path_sel::MAC_AX_CMAC_PATH_SEL_INVALID 1357 * Please Place Description here. 1358 */ 1359 enum mac_ax_cmac_path_sel { 1360 MAC_AX_CMAC_PATH_SEL_BE0, 1361 MAC_AX_CMAC_PATH_SEL_BK0, 1362 MAC_AX_CMAC_PATH_SEL_VI0, 1363 MAC_AX_CMAC_PATH_SEL_VO0, 1364 MAC_AX_CMAC_PATH_SEL_BE1, 1365 MAC_AX_CMAC_PATH_SEL_BK1, 1366 MAC_AX_CMAC_PATH_SEL_VI1, 1367 MAC_AX_CMAC_PATH_SEL_VO1, 1368 MAC_AX_CMAC_PATH_SEL_MG0_1, 1369 MAC_AX_CMAC_PATH_SEL_MG2, 1370 MAC_AX_CMAC_PATH_SEL_BCN, 1371 MAC_AX_CMAC_PATH_SEL_TF, 1372 MAC_AX_CMAC_PATH_SEL_TWT0, 1373 MAC_AX_CMAC_PATH_SEL_TWT1, 1374 1375 /* keep last */ 1376 MAC_AX_CMAC_PATH_SEL_LAST, 1377 MAC_AX_CMAC_PATH_SEL_MAX = MAC_AX_CMAC_PATH_SEL_LAST, 1378 MAC_AX_CMAC_PATH_SEL_INVALID = MAC_AX_CMAC_PATH_SEL_LAST, 1379 }; 1380 1381 /** 1382 * @enum mac_ax_cmac_usr_edca_idx 1383 * 1384 * @brief mac_ax_cmac_usr_edca_idx 1385 * 1386 * @var mac_ax_cmac_usr_edca_idx::MAC_AX_CMAC_USR_EDCA_IDX_0 1387 * Please Place Description here. 1388 * @var mac_ax_cmac_usr_edca_idx::MAC_AX_CMAC_USR_EDCA_IDX_1 1389 * Please Place Description here. 1390 * @var mac_ax_cmac_usr_edca_idx::MAC_AX_CMAC_USR_EDCA_IDX_2 1391 * Please Place Description here. 1392 * @var mac_ax_cmac_usr_edca_idx::MAC_AX_CMAC_USR_EDCA_IDX_3 1393 * Please Place Description here. 1394 */ 1395 enum mac_ax_cmac_usr_edca_idx { 1396 MAC_AX_CMAC_USR_EDCA_IDX_0 = 0, 1397 MAC_AX_CMAC_USR_EDCA_IDX_1 = 1, 1398 MAC_AX_CMAC_USR_EDCA_IDX_2 = 2, 1399 MAC_AX_CMAC_USR_EDCA_IDX_3 = 3, 1400 }; 1401 1402 /** 1403 * @enum mac_ax_cmac_wmm_sel 1404 * 1405 * @brief mac_ax_cmac_wmm_sel 1406 * 1407 * @var mac_ax_cmac_wmm_sel::MAC_AX_CMAC_WMM0_SEL 1408 * Please Place Description here. 1409 * @var mac_ax_cmac_wmm_sel::MAC_AX_CMAC_WMM1_SEL 1410 * Please Place Description here. 1411 */ 1412 enum mac_ax_cmac_wmm_sel { 1413 MAC_AX_CMAC_WMM0_SEL = 0, 1414 MAC_AX_CMAC_WMM1_SEL = 1, 1415 }; 1416 1417 /** 1418 * @enum mac_ax_ss_wmm_tbl 1419 * 1420 * @brief mac_ax_ss_wmm_tbl 1421 * 1422 * @var mac_ax_ss_wmm_tbl::MAC_AX_SS_WMM_TBL_C0_WMM0 1423 * Please Place Description here. 1424 * @var mac_ax_ss_wmm_tbl::MAC_AX_SS_WMM_TBL_C0_WMM1 1425 * Please Place Description here. 1426 * @var mac_ax_ss_wmm_tbl::MAC_AX_SS_WMM_TBL_C1_WMM0 1427 * Please Place Description here. 1428 * @var mac_ax_ss_wmm_tbl::MAC_AX_SS_WMM_TBL_C1_WMM1 1429 * Please Place Description here. 1430 */ 1431 enum mac_ax_ss_wmm_tbl { 1432 MAC_AX_SS_WMM_TBL_C0_WMM0 = 0, 1433 MAC_AX_SS_WMM_TBL_C0_WMM1 = 1, 1434 MAC_AX_SS_WMM_TBL_C1_WMM0 = 2, 1435 MAC_AX_SS_WMM_TBL_C1_WMM1 = 3, 1436 }; 1437 1438 enum mac_ax_tx_idle_poll_sel { 1439 MAC_AX_TX_IDLE_POLL_SEL_BAND, 1440 }; 1441 1442 /** 1443 * @enum mac_ax_mcc_status 1444 * 1445 * @brief mac_ax_mcc_status 1446 * 1447 * @var mac_ax_mcc_status::MAC_AX_MCC_ADD_ROLE_OK 1448 * Please Place Description here. 1449 * @var mac_ax_mcc_status::MAC_AX_MCC_START_GROUP_OK 1450 * Please Place Description here. 1451 * @var mac_ax_mcc_status::MAC_AX_MCC_STOP_GROUP_OK 1452 * Please Place Description here. 1453 * @var mac_ax_mcc_status::MAC_AX_MCC_DEL_GROUP_OK 1454 * Please Place Description here. 1455 * @var mac_ax_mcc_status::MAC_AX_MCC_RESET_GROUP_OK 1456 * Please Place Description here. 1457 * @var mac_ax_mcc_status::MAC_AX_MCC_SWITCH_CH_OK 1458 * Please Place Description here. 1459 * @var mac_ax_mcc_status::MAC_AX_MCC_TXNULL0_OK 1460 * Please Place Description here. 1461 * @var mac_ax_mcc_status::MAC_AX_MCC_TXNULL1_OK 1462 * Please Place Description here. 1463 * @var mac_ax_mcc_status::MAC_AX_MCC_SWITCH_EARLY 1464 * Please Place Description here. 1465 * @var mac_ax_mcc_status::MAC_AX_MCC_TBTT 1466 * Please Place Description here. 1467 * @var mac_ax_mcc_status::MAC_AX_MCC_DURATION_START 1468 * Please Place Description here. 1469 * @var mac_ax_mcc_status::MAC_AX_MCC_DURATION_END 1470 * Please Place Description here. 1471 * @var mac_ax_mcc_status::MAC_AX_MCC_ADD_ROLE_FAIL 1472 * Please Place Description here. 1473 * @var mac_ax_mcc_status::MAC_AX_MCC_START_GROUP_FAIL 1474 * Please Place Description here. 1475 * @var mac_ax_mcc_status::MAC_AX_MCC_STOP_GROUP_FAIL 1476 * Please Place Description here. 1477 * @var mac_ax_mcc_status::MAC_AX_MCC_DEL_GROUP_FAIL 1478 * Please Place Description here. 1479 * @var mac_ax_mcc_status::MAC_AX_MCC_RESET_GROUP_FAIL 1480 * Please Place Description here. 1481 * @var mac_ax_mcc_status::MAC_AX_MCC_SWITCH_CH_FAIL 1482 * Please Place Description here. 1483 * @var mac_ax_mcc_status::MAC_AX_MCC_TXNULL0_FAIL 1484 * Please Place Description here. 1485 * @var mac_ax_mcc_status::MAC_AX_MCC_TXNULL1_FAIL 1486 * Please Place Description here. 1487 */ 1488 enum mac_ax_mcc_status { 1489 MAC_AX_MCC_ADD_ROLE_OK = 0, 1490 MAC_AX_MCC_START_GROUP_OK = 1, 1491 MAC_AX_MCC_STOP_GROUP_OK = 2, 1492 MAC_AX_MCC_DEL_GROUP_OK = 3, 1493 MAC_AX_MCC_RESET_GROUP_OK = 4, 1494 MAC_AX_MCC_SWITCH_CH_OK = 5, 1495 MAC_AX_MCC_TXNULL0_OK = 6, 1496 MAC_AX_MCC_TXNULL1_OK = 7, 1497 1498 MAC_AX_MCC_SWITCH_EARLY = 10, 1499 MAC_AX_MCC_TBTT = 11, 1500 MAC_AX_MCC_DURATION_START = 12, 1501 MAC_AX_MCC_DURATION_END = 13, 1502 1503 MAC_AX_MCC_ADD_ROLE_FAIL = 20, 1504 MAC_AX_MCC_START_GROUP_FAIL = 21, 1505 MAC_AX_MCC_STOP_GROUP_FAIL = 22, 1506 MAC_AX_MCC_DEL_GROUP_FAIL = 23, 1507 MAC_AX_MCC_RESET_GROUP_FAIL = 24, 1508 MAC_AX_MCC_SWITCH_CH_FAIL = 25, 1509 MAC_AX_MCC_TXNULL0_FAIL = 26, 1510 MAC_AX_MCC_TXNULL1_FAIL = 27, 1511 }; 1512 1513 /** 1514 * @enum mac_ax_trx_mitigation_timer_unit 1515 * 1516 * @brief mac_ax_trx_mitigation_timer_unit 1517 * 1518 * @var mac_ax_trx_mitigation_timer_unit::MAC_AX_MIT_64US 1519 * Please Place Description here. 1520 * @var mac_ax_trx_mitigation_timer_unit::MAC_AX_MIT_128US 1521 * Please Place Description here. 1522 * @var mac_ax_trx_mitigation_timer_unit::MAC_AX_MIT_256US 1523 * Please Place Description here. 1524 * @var mac_ax_trx_mitigation_timer_unit::MAC_AX_MIT_512US 1525 * Please Place Description here. 1526 */ 1527 enum mac_ax_trx_mitigation_timer_unit { 1528 MAC_AX_MIT_64US, 1529 MAC_AX_MIT_128US, 1530 MAC_AX_MIT_256US, 1531 MAC_AX_MIT_512US 1532 }; 1533 1534 /** 1535 * @enum mac_ax_wow_wake_reason 1536 * 1537 * @brief mac_ax_wow_wake_reason 1538 * 1539 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_RX_PAIRWISEKEY 1540 * Please Place Description here. 1541 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_RX_GTK 1542 * Please Place Description here. 1543 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_RX_FOURWAY_HANDSHAKE 1544 * Please Place Description here. 1545 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_RX_DISASSOC 1546 * Please Place Description here. 1547 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_RX_DEAUTH 1548 * Please Place Description here. 1549 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_RX_ARP_REQUEST 1550 * Please Place Description here. 1551 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_RX_NS 1552 * Please Place Description here. 1553 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_RX_EAPREQ_IDENTIFY 1554 * Please Place Description here. 1555 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_FW_DECISION_DISCONNECT 1556 * Please Place Description here. 1557 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_RX_MAGIC_PKT 1558 * Please Place Description here. 1559 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_RX_UNICAST_PKT 1560 * Please Place Description here. 1561 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_RX_PATTERN_PKT 1562 * Please Place Description here. 1563 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_RTD3_SSID_MATCH 1564 * Please Place Description here. 1565 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_RX_DATA_PKT 1566 * Please Place Description here. 1567 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_RX_SSDP_MATCH 1568 * Please Place Description here. 1569 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_RX_WSD_MATCH 1570 * Please Place Description here. 1571 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_RX_SLP_MATCH 1572 * Please Place Description here. 1573 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_RX_LLTD_MATCH 1574 * Please Place Description here. 1575 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_RX_MDNS_MATCH 1576 * Please Place Description here. 1577 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_RX_REALWOW_V2_WAKEUP_PKT 1578 * Please Place Description here. 1579 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_RX_REALWOW_V2_ACK_LOST 1580 * Please Place Description here. 1581 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_RX_REALWOW_V2_TX_KAPKT 1582 * Please Place Description here. 1583 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_ENABLE_FAIL_DMA_IDLE 1584 * Please Place Description here. 1585 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_ENABLE_FAIL_DMA_PAUSE 1586 * Please Place Description here. 1587 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_RTIME_FAIL_DMA_IDLE 1588 * Please Place Description here. 1589 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_RTIME_FAIL_DMA_PAUSE 1590 * Please Place Description here. 1591 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_RX_SNMP_MISMATCHED_PKT 1592 * Please Place Description here. 1593 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_RX_DESIGNATED_MAC_PKT 1594 * Please Place Description here. 1595 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_NLO_SSID_MACH 1596 * Please Place Description here. 1597 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_AP_OFFLOAD_WAKEUP 1598 * Please Place Description here. 1599 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_DMAC_ERROR_OCCURRED 1600 * Please Place Description here. 1601 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_EXCEPTION_OCCURRED 1602 * Please Place Description here. 1603 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_CLK_32K_UNLOCK 1604 * Please Place Description here. 1605 * @var mac_ax_wow_wake_reason::MAC_AX_WOW_CLK_32K_LOCK 1606 * Please Place Description here. 1607 */ 1608 enum mac_ax_wow_wake_reason { 1609 MAC_AX_WOW_RX_PAIRWISEKEY = 0x01, 1610 MAC_AX_WOW_RX_GTK = 0x02, 1611 MAC_AX_WOW_RX_FOURWAY_HANDSHAKE = 0x03, 1612 MAC_AX_WOW_RX_DISASSOC = 0x04, 1613 MAC_AX_WOW_RX_DEAUTH = 0x08, 1614 MAC_AX_WOW_RX_ARP_REQUEST = 0x09, 1615 MAC_AX_WOW_RX_NS = 0x0A, 1616 MAC_AX_WOW_RX_EAPREQ_IDENTIFY = 0x0B, 1617 MAC_AX_WOW_FW_DECISION_DISCONNECT = 0x10, 1618 MAC_AX_WOW_RX_MAGIC_PKT = 0x21, 1619 MAC_AX_WOW_RX_UNICAST_PKT = 0x22, 1620 MAC_AX_WOW_RX_PATTERN_PKT = 0x23, 1621 MAC_AX_WOW_RTD3_SSID_MATCH = 0x24, 1622 MAC_AX_WOW_RX_DATA_PKT = 0x25, 1623 MAC_AX_WOW_RX_SSDP_MATCH = 0x26, 1624 MAC_AX_WOW_RX_WSD_MATCH = 0x27, 1625 MAC_AX_WOW_RX_SLP_MATCH = 0x28, 1626 MAC_AX_WOW_RX_LLTD_MATCH = 0x29, 1627 MAC_AX_WOW_RX_MDNS_MATCH = 0x2A, 1628 MAC_AX_WOW_RX_REALWOW_V2_WAKEUP_PKT = 0x30, 1629 MAC_AX_WOW_RX_REALWOW_V2_ACK_LOST = 0x31, 1630 MAC_AX_WOW_RX_REALWOW_V2_TX_KAPKT = 0x32, 1631 MAC_AX_WOW_ENABLE_FAIL_DMA_IDLE = 0x40, 1632 MAC_AX_WOW_ENABLE_FAIL_DMA_PAUSE = 0x41, 1633 MAC_AX_WOW_RTIME_FAIL_DMA_IDLE = 0x42, 1634 MAC_AX_WOW_RTIME_FAIL_DMA_PAUSE = 0x43, 1635 MAC_AX_WOW_RX_SNMP_MISMATCHED_PKT = 0x50, 1636 MAC_AX_WOW_RX_DESIGNATED_MAC_PKT = 0x51, 1637 MAC_AX_WOW_NLO_SSID_MACH = 0x55, 1638 MAC_AX_WOW_AP_OFFLOAD_WAKEUP = 0x66, 1639 MAC_AX_WOW_DMAC_ERROR_OCCURRED = 0x70, 1640 MAC_AX_WOW_EXCEPTION_OCCURRED = 0x71, 1641 MAC_AX_WOW_L0_TO_L1_ERROR_OCCURRED = 0x72, 1642 MAC_AX_WOW_ASSERT_OCCURRED = 0x73, 1643 MAC_AX_WOW_L2_ERROR_OCCURRED = 0x74, 1644 MAC_AX_WOW_WDT_TIMEOUT_WAKE = 0x75, 1645 MAC_AX_WOW_RX_ACTION = 0xD0, 1646 MAC_AX_WOW_CLK_32K_UNLOCK = 0xFD, 1647 MAC_AX_WOW_CLK_32K_LOCK = 0xFE 1648 }; 1649 1650 /** 1651 * @enum mac_ax_wow_fw_status 1652 * 1653 * @brief mac_ax_wow_fw_status 1654 * 1655 * @var mac_ax_wow_fw_status::MAC_AX_WOW_NOT_READY 1656 * Please Place Description here. 1657 * @var mac_ax_wow_fw_status::MAC_AX_WOW_SLEEP 1658 * Please Place Description here. 1659 * @var mac_ax_wow_fw_status::MAC_AX_WOW_RESUME 1660 * Please Place Description here. 1661 */ 1662 enum mac_ax_wow_fw_status { 1663 MAC_AX_WOW_NOT_READY, 1664 MAC_AX_WOW_SLEEP, 1665 MAC_AX_WOW_RESUME 1666 }; 1667 1668 /** 1669 * @enum mac_ax_wow_ctrl 1670 * 1671 * @brief mac_ax_wow_ctrl 1672 * 1673 * @var mac_ax_wow_ctrl::MAC_AX_WOW_ENTER 1674 * Please Place Description here. 1675 * @var mac_ax_wow_ctrl::MAC_AX_WOW_LEAVE 1676 * Please Place Description here. 1677 */ 1678 enum mac_ax_wow_ctrl { 1679 MAC_AX_WOW_ENTER, 1680 MAC_AX_WOW_LEAVE 1681 }; 1682 1683 /** 1684 * @enum mac_ax_mac_pwr_st 1685 * 1686 * @brief mac_ax_mac_pwr_st 1687 * 1688 * @var mac_ax_mac_pwr_st::MAC_AX_MAC_OFF 1689 * Please Place Description here. 1690 * @var mac_ax_mac_pwr_st::MAC_AX_MAC_ON 1691 * Please Place Description here. 1692 * @var mac_ax_mac_pwr_st::MAC_AX_MAC_LPS 1693 * Please Place Description here. 1694 */ 1695 enum mac_ax_mac_pwr_st { 1696 MAC_AX_MAC_OFF = 0, 1697 MAC_AX_MAC_ON = 1, 1698 MAC_AX_MAC_LPS = 2 1699 }; 1700 1701 /** 1702 * @enum mac_ax_core_swr_volt 1703 * 1704 * @brief mac_ax_core_swr_volt 1705 * 1706 * @var mac_ax_core_swr_volt::MAC_AX_SWR_LOW 1707 * Please Place Description here. 1708 * @var mac_ax_core_swr_volt::MAC_AX_SWR_NORM 1709 * Please Place Description here. 1710 * @var mac_ax_core_swr_volt::MAC_AX_SWR_HIGH 1711 * Please Place Description here. 1712 */ 1713 enum mac_ax_core_swr_volt { 1714 MAC_AX_SWR_LOW = 0, 1715 MAC_AX_SWR_NORM = 3, 1716 MAC_AX_SWR_HIGH = 6 1717 }; 1718 1719 /*--------------------Define DBG and recovery related enum--------------------*/ 1720 1721 /** 1722 * @enum mac_ax_err_info 1723 * 1724 * @brief mac_ax_err_info 1725 * 1726 * @var mac_ax_err_info::MAC_AX_ERR_L0_ERR_CMAC0 1727 * Please Place Description here. 1728 * @var mac_ax_err_info::MAC_AX_ERR_L0_ERR_CMAC1 1729 * Please Place Description here. 1730 * @var mac_ax_err_info::MAC_AX_ERR_L0_RESET_DONE 1731 * Please Place Description here. 1732 * @var mac_ax_err_info::MAC_AX_ERR_L0_PROMOTE_TO_L1 1733 * Please Place Description here. 1734 * @var mac_ax_err_info::MAC_AX_ERR_L1_ERR_DMAC 1735 * Please Place Description here. 1736 * @var mac_ax_err_info::MAC_AX_ERR_L1_RESET_DISABLE_DMAC_DONE 1737 * Please Place Description here. 1738 * @var mac_ax_err_info::MAC_AX_ERR_L1_RESET_RECOVERY_DONE 1739 * Please Place Description here. 1740 * @var mac_ax_err_info::MAC_AX_ERR_L1_PROMOTE_TO_L2 1741 * Please Place Description here. 1742 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_AH_DMA 1743 * Please Place Description here. 1744 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_AH_HCI 1745 * Please Place Description here. 1746 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_AH_RLX4081 1747 * Please Place Description here. 1748 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_AH_IDDMA 1749 * Please Place Description here. 1750 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_AH_HIOE 1751 * Please Place Description here. 1752 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_AH_IPSEC 1753 * Please Place Description here. 1754 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_AH_RX4281 1755 * Please Place Description here. 1756 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_AH_OTHERS 1757 * Please Place Description here. 1758 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_AHB_TO_DMA 1759 * Please Place Description here. 1760 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_AHB_TO_HCI 1761 * Please Place Description here. 1762 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_AHB_TO_RLX4081 1763 * Please Place Description here. 1764 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_AHB_TO_IDDMA 1765 * Please Place Description here. 1766 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_AHB_TO_HIOE 1767 * Please Place Description here. 1768 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_AHB_TO_IPSEC 1769 * Please Place Description here. 1770 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_AHB_TO_RX4281 1771 * Please Place Description here. 1772 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_AHB_TO_OTHERS 1773 * Please Place Description here. 1774 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_DMA_WVA 1775 * Please Place Description here. 1776 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_DMA_UART 1777 * Please Place Description here. 1778 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_DMA_CPULOCAL 1779 * Please Place Description here. 1780 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_DMA_AXIDMA 1781 * Please Place Description here. 1782 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_DMA_HIOE 1783 * Please Place Description here. 1784 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_DMA_IDDMA 1785 * Please Place Description here. 1786 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_DMA_IPSEC 1787 * Please Place Description here. 1788 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_DMA_WON 1789 * Please Place Description here. 1790 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_DMA_WDMAC 1791 * Please Place Description here. 1792 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_DMA_WCMAC 1793 * Please Place Description here. 1794 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_DMA_OTHERS 1795 * Please Place Description here. 1796 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_HCI_WVA 1797 * Please Place Description here. 1798 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_HCI_UART 1799 * Please Place Description here. 1800 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_HCI_CPULOCAL 1801 * Please Place Description here. 1802 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_HCI_AXIDMA 1803 * Please Place Description here. 1804 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_HCI_HIOE 1805 * Please Place Description here. 1806 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_HCI_IDDMA 1807 * Please Place Description here. 1808 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_HCI_IPSEC 1809 * Please Place Description here. 1810 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_HCI_WDMAC 1811 * Please Place Description here. 1812 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_HCI_WCMAC 1813 * Please Place Description here. 1814 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_HCI_OTHERS 1815 * Please Place Description here. 1816 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_RLX4081_WVA 1817 * Please Place Description here. 1818 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_RLX4081_UART 1819 * Please Place Description here. 1820 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_RLX4081_CPULOCAL 1821 * Please Place Description here. 1822 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_RLX4081_AXIDMA 1823 * Please Place Description here. 1824 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_RLX4081_HIOE 1825 * Please Place Description here. 1826 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_RLX4081_IDDMA 1827 * Please Place Description here. 1828 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_RLX4081_IPSEC 1829 * Please Place Description here. 1830 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_RLX4081_WON 1831 * Please Place Description here. 1832 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_RLX4081_WDMAC 1833 * Please Place Description here. 1834 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_RLX4081_WCMAC 1835 * Please Place Description here. 1836 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_RLX4081_OTHERS 1837 * Please Place Description here. 1838 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_IDDMA_WVA 1839 * Please Place Description here. 1840 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_IDDMA_UART 1841 * Please Place Description here. 1842 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_IDDMA_CPULOCAL 1843 * Please Place Description here. 1844 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_IDDMA_AXIDMA 1845 * Please Place Description here. 1846 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_IDDMA_HIOE 1847 * Please Place Description here. 1848 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_IDDMA_IDDMA 1849 * Please Place Description here. 1850 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_IDDMA_IPSEC 1851 * Please Place Description here. 1852 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_IDDMA_WON 1853 * Please Place Description here. 1854 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_IDDMA_WDMAC 1855 * Please Place Description here. 1856 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_IDDMA_WCMAC 1857 * Please Place Description here. 1858 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_IDDMA_OTHERS 1859 * Please Place Description here. 1860 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_HIOE_WVA 1861 * Please Place Description here. 1862 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_HIOE_UART 1863 * Please Place Description here. 1864 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_HIOE_CPULOCAL 1865 * Please Place Description here. 1866 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_HIOE_AXIDMA 1867 * Please Place Description here. 1868 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_HIOE_HIOE 1869 * Please Place Description here. 1870 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_HIOE_IDDMA 1871 * Please Place Description here. 1872 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_HIOE_IPSEC 1873 * Please Place Description here. 1874 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_HIOE_WON 1875 * Please Place Description here. 1876 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_HIOE_WDMAC 1877 * Please Place Description here. 1878 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_HIOE_WCMAC 1879 * Please Place Description here. 1880 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_HIOE_OTHERS 1881 * Please Place Description here. 1882 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_IPSEC_WVA 1883 * Please Place Description here. 1884 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_IPSEC_UART 1885 * Please Place Description here. 1886 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_IPSEC_CPULOCAL 1887 * Please Place Description here. 1888 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_IPSEC_AXIDMA 1889 * Please Place Description here. 1890 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_IPSEC_HIOE 1891 * Please Place Description here. 1892 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_IPSEC_IDDMA 1893 * Please Place Description here. 1894 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_IPSEC_IPSEC 1895 * Please Place Description here. 1896 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_IPSEC_WON 1897 * Please Place Description here. 1898 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_IPSEC_WDMAC 1899 * Please Place Description here. 1900 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_IPSEC_WCMAC 1901 * Please Place Description here. 1902 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_IPSEC_OTHERS 1903 * Please Place Description here. 1904 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_RX4281_WVA 1905 * Please Place Description here. 1906 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_RX4281_UART 1907 * Please Place Description here. 1908 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_RX4281_CPULOCAL 1909 * Please Place Description here. 1910 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_RX4281_AXIDMA 1911 * Please Place Description here. 1912 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_RX4281_HIOE 1913 * Please Place Description here. 1914 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_RX4281_IDDMA 1915 * Please Place Description here. 1916 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_RX4281_IPSEC 1917 * Please Place Description here. 1918 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_RX4281_WON 1919 * Please Place Description here. 1920 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_RX4281_WDMAC 1921 * Please Place Description here. 1922 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_RX4281_WCMAC 1923 * Please Place Description here. 1924 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_RX4281_OTHERS 1925 * Please Place Description here. 1926 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_OTHERS_WVA 1927 * Please Place Description here. 1928 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_OTHERS_UART 1929 * Please Place Description here. 1930 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_OTHERS_CPULOCAL 1931 * Please Place Description here. 1932 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_OTHERS_AXIDMA 1933 * Please Place Description here. 1934 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_OTHERS_HIOE 1935 * Please Place Description here. 1936 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_OTHERS_IDDMA 1937 * Please Place Description here. 1938 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_OTHERS_IPSEC 1939 * Please Place Description here. 1940 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_OTHERS_WON 1941 * Please Place Description here. 1942 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_OTHERS_WDMAC 1943 * Please Place Description here. 1944 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_OTHERS_WCMAC 1945 * Please Place Description here. 1946 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_SA_TO_OTHERS_OTHERS 1947 * Please Place Description here. 1948 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_BBRF_TO_DMA 1949 * Please Place Description here. 1950 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_BBRF_TO_HCI 1951 * Please Place Description here. 1952 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_BBRF_TO_RLX4081 1953 * Please Place Description here. 1954 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_BBRF_TO_IDDMA 1955 * Please Place Description here. 1956 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_BBRF_TO_HIOE 1957 * Please Place Description here. 1958 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_BBRF_TO_IPSEC 1959 * Please Place Description here. 1960 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_BBRF_TO_RX4281 1961 * Please Place Description here. 1962 * @var mac_ax_err_info::MAC_AX_ERR_L2_ERR_APB_BBRF_TO_OTHERS 1963 * Please Place Description here. 1964 * @var mac_ax_err_info::MAC_AX_ERR_L2_RESET_DONE 1965 * Please Place Description here. 1966 * @var mac_ax_err_info::MAC_AX_GET_ERR_MAX 1967 * Please Place Description here. 1968 * @var mac_ax_err_info::MAC_AX_ERR_L1_DISABLE_EN 1969 * Please Place Description here. 1970 * @var mac_ax_err_info::MAC_AX_ERR_L1_RCVY_EN 1971 * Please Place Description here. 1972 * @var mac_ax_err_info::MAC_AX_ERR_L0_CFG_NOTIFY 1973 * Please Place Description here. 1974 * @var mac_ax_err_info::MAC_AX_ERR_L0_CFG_DIS_NOTIFY 1975 * Please Place Description here. 1976 * @var mac_ax_err_info::MAC_AX_ERR_L0_CFG_HANDSHAKE 1977 * Please Place Description here. 1978 * @var mac_ax_err_info::MAC_AX_ERR_L0_RCVY_EN 1979 * Please Place Description here. 1980 * @var mac_ax_err_info::MAC_AX_SET_ERR_MAX 1981 * Please Place Description here. 1982 */ 1983 enum mac_ax_err_info { 1984 // Get error info 1985 // L0 1986 MAC_AX_ERR_L0_ERR_CMAC0 = 0x0001, 1987 MAC_AX_ERR_L0_ERR_CMAC1 = 0x0002, 1988 MAC_AX_ERR_L0_RESET_DONE = 0x0003, 1989 MAC_AX_ERR_L0_PROMOTE_TO_L1 = 0x0010, 1990 // L1 1991 MAC_AX_ERR_L1_ERR_DMAC = 0x1000, 1992 MAC_AX_ERR_L1_RESET_DISABLE_DMAC_DONE = 0x1001, 1993 MAC_AX_ERR_L1_RESET_RECOVERY_DONE = 0x1002, 1994 MAC_AX_ERR_L1_PROMOTE_TO_L2 = 0x1010, 1995 MAC_AX_ERR_L1_RCVY_STOP_DONE = 0x1011, 1996 // L2 1997 // address hole (master) 1998 MAC_AX_ERR_L2_ERR_AH_DMA = 0x2000, 1999 MAC_AX_ERR_L2_ERR_AH_HCI = 0x2010, 2000 MAC_AX_ERR_L2_ERR_AH_RLX4081 = 0x2020, 2001 MAC_AX_ERR_L2_ERR_AH_IDDMA = 0x2030, 2002 MAC_AX_ERR_L2_ERR_AH_HIOE = 0x2040, 2003 MAC_AX_ERR_L2_ERR_AH_IPSEC = 0x2050, 2004 MAC_AX_ERR_L2_ERR_AH_RX4281 = 0x2060, 2005 MAC_AX_ERR_L2_ERR_AH_OTHERS = 0x2070, 2006 // AHB bridge timeout (master) 2007 MAC_AX_ERR_L2_ERR_AHB_TO_DMA = 0x2100, 2008 MAC_AX_ERR_L2_ERR_AHB_TO_HCI = 0x2110, 2009 MAC_AX_ERR_L2_ERR_AHB_TO_RLX4081 = 0x2120, 2010 MAC_AX_ERR_L2_ERR_AHB_TO_IDDMA = 0x2130, 2011 MAC_AX_ERR_L2_ERR_AHB_TO_HIOE = 0x2140, 2012 MAC_AX_ERR_L2_ERR_AHB_TO_IPSEC = 0x2150, 2013 MAC_AX_ERR_L2_ERR_AHB_TO_RX4281 = 0x2160, 2014 MAC_AX_ERR_L2_ERR_AHB_TO_OTHERS = 0x2170, 2015 // APB_SA bridge timeout (master + slave) 2016 MAC_AX_ERR_L2_ERR_APB_SA_TO_DMA_WVA = 0x2200, 2017 MAC_AX_ERR_L2_ERR_APB_SA_TO_DMA_UART = 0x2201, 2018 MAC_AX_ERR_L2_ERR_APB_SA_TO_DMA_CPULOCAL = 0x2202, 2019 MAC_AX_ERR_L2_ERR_APB_SA_TO_DMA_AXIDMA = 0x2203, 2020 MAC_AX_ERR_L2_ERR_APB_SA_TO_DMA_HIOE = 0x2204, 2021 MAC_AX_ERR_L2_ERR_APB_SA_TO_DMA_IDDMA = 0x2205, 2022 MAC_AX_ERR_L2_ERR_APB_SA_TO_DMA_IPSEC = 0x2206, 2023 MAC_AX_ERR_L2_ERR_APB_SA_TO_DMA_WON = 0x2207, 2024 MAC_AX_ERR_L2_ERR_APB_SA_TO_DMA_WDMAC = 0x2208, 2025 MAC_AX_ERR_L2_ERR_APB_SA_TO_DMA_WCMAC = 0x2209, 2026 MAC_AX_ERR_L2_ERR_APB_SA_TO_DMA_OTHERS = 0x220A, 2027 MAC_AX_ERR_L2_ERR_APB_SA_TO_HCI_WVA = 0x2210, 2028 MAC_AX_ERR_L2_ERR_APB_SA_TO_HCI_UART = 0x2211, 2029 MAC_AX_ERR_L2_ERR_APB_SA_TO_HCI_CPULOCAL = 0x2212, 2030 MAC_AX_ERR_L2_ERR_APB_SA_TO_HCI_AXIDMA = 0x2213, 2031 MAC_AX_ERR_L2_ERR_APB_SA_TO_HCI_HIOE = 0x2214, 2032 MAC_AX_ERR_L2_ERR_APB_SA_TO_HCI_IDDMA = 0x2215, 2033 MAC_AX_ERR_L2_ERR_APB_SA_TO_HCI_IPSEC = 0x2216, 2034 MAC_AX_ERR_L2_ERR_APB_SA_TO_HCI_WDMAC = 0x2218, 2035 MAC_AX_ERR_L2_ERR_APB_SA_TO_HCI_WCMAC = 0x2219, 2036 MAC_AX_ERR_L2_ERR_APB_SA_TO_HCI_OTHERS = 0x221A, 2037 MAC_AX_ERR_L2_ERR_APB_SA_TO_RLX4081_WVA = 0x2220, 2038 MAC_AX_ERR_L2_ERR_APB_SA_TO_RLX4081_UART = 0x2221, 2039 MAC_AX_ERR_L2_ERR_APB_SA_TO_RLX4081_CPULOCAL = 0x2222, 2040 MAC_AX_ERR_L2_ERR_APB_SA_TO_RLX4081_AXIDMA = 0x2223, 2041 MAC_AX_ERR_L2_ERR_APB_SA_TO_RLX4081_HIOE = 0x2224, 2042 MAC_AX_ERR_L2_ERR_APB_SA_TO_RLX4081_IDDMA = 0x2225, 2043 MAC_AX_ERR_L2_ERR_APB_SA_TO_RLX4081_IPSEC = 0x2226, 2044 MAC_AX_ERR_L2_ERR_APB_SA_TO_RLX4081_WON = 0x2227, 2045 MAC_AX_ERR_L2_ERR_APB_SA_TO_RLX4081_WDMAC = 0x2228, 2046 MAC_AX_ERR_L2_ERR_APB_SA_TO_RLX4081_WCMAC = 0x2229, 2047 MAC_AX_ERR_L2_ERR_APB_SA_TO_RLX4081_OTHERS = 0x222A, 2048 MAC_AX_ERR_L2_ERR_APB_SA_TO_IDDMA_WVA = 0x2230, 2049 MAC_AX_ERR_L2_ERR_APB_SA_TO_IDDMA_UART = 0x2231, 2050 MAC_AX_ERR_L2_ERR_APB_SA_TO_IDDMA_CPULOCAL = 0x2232, 2051 MAC_AX_ERR_L2_ERR_APB_SA_TO_IDDMA_AXIDMA = 0x2233, 2052 MAC_AX_ERR_L2_ERR_APB_SA_TO_IDDMA_HIOE = 0x2234, 2053 MAC_AX_ERR_L2_ERR_APB_SA_TO_IDDMA_IDDMA = 0x2235, 2054 MAC_AX_ERR_L2_ERR_APB_SA_TO_IDDMA_IPSEC = 0x2236, 2055 MAC_AX_ERR_L2_ERR_APB_SA_TO_IDDMA_WON = 0x2237, 2056 MAC_AX_ERR_L2_ERR_APB_SA_TO_IDDMA_WDMAC = 0x2238, 2057 MAC_AX_ERR_L2_ERR_APB_SA_TO_IDDMA_WCMAC = 0x2239, 2058 MAC_AX_ERR_L2_ERR_APB_SA_TO_IDDMA_OTHERS = 0x223A, 2059 MAC_AX_ERR_L2_ERR_APB_SA_TO_HIOE_WVA = 0x2240, 2060 MAC_AX_ERR_L2_ERR_APB_SA_TO_HIOE_UART = 0x2241, 2061 MAC_AX_ERR_L2_ERR_APB_SA_TO_HIOE_CPULOCAL = 0x2242, 2062 MAC_AX_ERR_L2_ERR_APB_SA_TO_HIOE_AXIDMA = 0x2243, 2063 MAC_AX_ERR_L2_ERR_APB_SA_TO_HIOE_HIOE = 0x2244, 2064 MAC_AX_ERR_L2_ERR_APB_SA_TO_HIOE_IDDMA = 0x2245, 2065 MAC_AX_ERR_L2_ERR_APB_SA_TO_HIOE_IPSEC = 0x2246, 2066 MAC_AX_ERR_L2_ERR_APB_SA_TO_HIOE_WON = 0x2247, 2067 MAC_AX_ERR_L2_ERR_APB_SA_TO_HIOE_WDMAC = 0x2248, 2068 MAC_AX_ERR_L2_ERR_APB_SA_TO_HIOE_WCMAC = 0x2249, 2069 MAC_AX_ERR_L2_ERR_APB_SA_TO_HIOE_OTHERS = 0x224A, 2070 MAC_AX_ERR_L2_ERR_APB_SA_TO_IPSEC_WVA = 0x2250, 2071 MAC_AX_ERR_L2_ERR_APB_SA_TO_IPSEC_UART = 0x2251, 2072 MAC_AX_ERR_L2_ERR_APB_SA_TO_IPSEC_CPULOCAL = 0x2252, 2073 MAC_AX_ERR_L2_ERR_APB_SA_TO_IPSEC_AXIDMA = 0x2253, 2074 MAC_AX_ERR_L2_ERR_APB_SA_TO_IPSEC_HIOE = 0x2254, 2075 MAC_AX_ERR_L2_ERR_APB_SA_TO_IPSEC_IDDMA = 0x2255, 2076 MAC_AX_ERR_L2_ERR_APB_SA_TO_IPSEC_IPSEC = 0x2256, 2077 MAC_AX_ERR_L2_ERR_APB_SA_TO_IPSEC_WON = 0x2257, 2078 MAC_AX_ERR_L2_ERR_APB_SA_TO_IPSEC_WDMAC = 0x2258, 2079 MAC_AX_ERR_L2_ERR_APB_SA_TO_IPSEC_WCMAC = 0x2259, 2080 MAC_AX_ERR_L2_ERR_APB_SA_TO_IPSEC_OTHERS = 0x225A, 2081 MAC_AX_ERR_L2_ERR_APB_SA_TO_RX4281_WVA = 0x2260, 2082 MAC_AX_ERR_L2_ERR_APB_SA_TO_RX4281_UART = 0x2261, 2083 MAC_AX_ERR_L2_ERR_APB_SA_TO_RX4281_CPULOCAL = 0x2262, 2084 MAC_AX_ERR_L2_ERR_APB_SA_TO_RX4281_AXIDMA = 0x2263, 2085 MAC_AX_ERR_L2_ERR_APB_SA_TO_RX4281_HIOE = 0x2264, 2086 MAC_AX_ERR_L2_ERR_APB_SA_TO_RX4281_IDDMA = 0x2265, 2087 MAC_AX_ERR_L2_ERR_APB_SA_TO_RX4281_IPSEC = 0x2266, 2088 MAC_AX_ERR_L2_ERR_APB_SA_TO_RX4281_WON = 0x2267, 2089 MAC_AX_ERR_L2_ERR_APB_SA_TO_RX4281_WDMAC = 0x2268, 2090 MAC_AX_ERR_L2_ERR_APB_SA_TO_RX4281_WCMAC = 0x2269, 2091 MAC_AX_ERR_L2_ERR_APB_SA_TO_RX4281_OTHERS = 0x226A, 2092 MAC_AX_ERR_L2_ERR_APB_SA_TO_OTHERS_WVA = 0x2270, 2093 MAC_AX_ERR_L2_ERR_APB_SA_TO_OTHERS_UART = 0x2271, 2094 MAC_AX_ERR_L2_ERR_APB_SA_TO_OTHERS_CPULOCAL = 0x2272, 2095 MAC_AX_ERR_L2_ERR_APB_SA_TO_OTHERS_AXIDMA = 0x2273, 2096 MAC_AX_ERR_L2_ERR_APB_SA_TO_OTHERS_HIOE = 0x2274, 2097 MAC_AX_ERR_L2_ERR_APB_SA_TO_OTHERS_IDDMA = 0x2275, 2098 MAC_AX_ERR_L2_ERR_APB_SA_TO_OTHERS_IPSEC = 0x2276, 2099 MAC_AX_ERR_L2_ERR_APB_SA_TO_OTHERS_WON = 0x2277, 2100 MAC_AX_ERR_L2_ERR_APB_SA_TO_OTHERS_WDMAC = 0x2278, 2101 MAC_AX_ERR_L2_ERR_APB_SA_TO_OTHERS_WCMAC = 0x2279, 2102 MAC_AX_ERR_L2_ERR_APB_SA_TO_OTHERS_OTHERS = 0x227A, 2103 // APB_BBRF bridge timeout (master) 2104 MAC_AX_ERR_L2_ERR_APB_BBRF_TO_DMA = 0x2300, 2105 MAC_AX_ERR_L2_ERR_APB_BBRF_TO_HCI = 0x2310, 2106 MAC_AX_ERR_L2_ERR_APB_BBRF_TO_RLX4081 = 0x2320, 2107 MAC_AX_ERR_L2_ERR_APB_BBRF_TO_IDDMA = 0x2330, 2108 MAC_AX_ERR_L2_ERR_APB_BBRF_TO_HIOE = 0x2340, 2109 MAC_AX_ERR_L2_ERR_APB_BBRF_TO_IPSEC = 0x2350, 2110 MAC_AX_ERR_L2_ERR_APB_BBRF_TO_RX4281 = 0x2360, 2111 MAC_AX_ERR_L2_ERR_APB_BBRF_TO_OTHERS = 0x2370, 2112 MAC_AX_ERR_L2_RESET_DONE = 0x2400, 2113 MAC_AX_ERR_CPU_EXCEPTION = 0x3000, 2114 MAC_AX_ERR_ASSERTION = 0x4000, 2115 MAC_AX_GET_ERR_MAX, 2116 //Use the special code to indicate phl should dump share buffer 2117 MAC_AX_DUMP_SHAREBUFF_INDICATOR = 0x80000000, 2118 // set error info 2119 MAC_AX_ERR_L1_DISABLE_EN = 0x0001, 2120 MAC_AX_ERR_L1_RCVY_EN = 0x0002, 2121 MAC_AX_ERR_L1_RCVY_STOP_REQ = 0x0003, 2122 MAC_AX_ERR_L1_RCVY_START_REQ = 0x0004, 2123 MAC_AX_ERR_L0_CFG_NOTIFY = 0x0010, 2124 MAC_AX_ERR_L0_CFG_DIS_NOTIFY = 0x0011, 2125 MAC_AX_ERR_L0_CFG_HANDSHAKE = 0x0012, 2126 MAC_AX_ERR_L0_RCVY_EN = 0x0013, 2127 MAC_AX_SET_ERR_MAX, 2128 }; 2129 2130 /** 2131 * @enum mac_ax_mem_sel 2132 * 2133 * @brief mac_ax_mem_sel 2134 * 2135 * @var mac_ax_mem_sel::MAC_AX_MEM_AXIDMA 2136 * Please Place Description here. 2137 * @var mac_ax_mem_sel::MAC_AX_MEM_SHARED_BUF 2138 * Please Place Description here. 2139 * @var mac_ax_mem_sel::MAC_AX_MEM_DMAC_TBL 2140 * Please Place Description here. 2141 * @var mac_ax_mem_sel::MAC_AX_MEM_SHCUT_MACHDR 2142 * Please Place Description here. 2143 * @var mac_ax_mem_sel::MAC_AX_MEM_STA_SCHED 2144 * Please Place Description here. 2145 * @var mac_ax_mem_sel::MAC_AX_MEM_RXPLD_FLTR_CAM 2146 * Please Place Description here. 2147 * @var mac_ax_mem_sel::MAC_AX_MEM_SECURITY_CAM 2148 * Please Place Description here. 2149 * @var mac_ax_mem_sel::MAC_AX_MEM_WOW_CAM 2150 * Please Place Description here. 2151 * @var mac_ax_mem_sel::MAC_AX_MEM_CMAC_TBL 2152 * Please Place Description here. 2153 * @var mac_ax_mem_sel::MAC_AX_MEM_ADDR_CAM 2154 * Please Place Description here. 2155 * @var mac_ax_mem_sel::MAC_AX_MEM_BA_CAM 2156 * Please Place Description here. 2157 * @var mac_ax_mem_sel::MAC_AX_MEM_BCN_IE_CAM0 2158 * Please Place Description here. 2159 * @var mac_ax_mem_sel::MAC_AX_MEM_BCN_IE_CAM1 2160 * Please Place Description here. 2161 * @var mac_ax_mem_sel::MAC_AX_MEM_TXD_FIFO_0 2162 * Please Place Description here. 2163 * @var mac_ax_mem_sel::MAC_AX_MEM_TXD_FIFO_1 2164 * Please Place Description here. 2165 * @var mac_ax_mem_sel::MAC_AX_MEM_LAST 2166 * Please Place Description here. 2167 * @var mac_ax_mem_sel::MAC_AX_MEM_MAX 2168 * Please Place Description here. 2169 * @var mac_ax_mem_sel::MAC_AX_MEM_INVALID 2170 * Please Place Description here. 2171 */ 2172 enum mac_ax_mem_sel { 2173 MAC_AX_MEM_CPU_LOCAL, 2174 MAC_AX_MEM_AXIDMA, 2175 MAC_AX_MEM_SHARED_BUF, 2176 MAC_AX_MEM_DMAC_TBL, 2177 MAC_AX_MEM_SHCUT_MACHDR, 2178 MAC_AX_MEM_STA_SCHED, 2179 MAC_AX_MEM_RXPLD_FLTR_CAM, 2180 MAC_AX_MEM_SECURITY_CAM, 2181 MAC_AX_MEM_WOW_CAM, 2182 MAC_AX_MEM_CMAC_TBL, 2183 MAC_AX_MEM_ADDR_CAM, 2184 MAC_AX_MEM_BA_CAM, 2185 MAC_AX_MEM_BCN_IE_CAM0, 2186 MAC_AX_MEM_BCN_IE_CAM1, 2187 MAC_AX_MEM_TXD_FIFO_0, 2188 MAC_AX_MEM_TXD_FIFO_1, 2189 2190 /* keep last */ 2191 MAC_AX_MEM_LAST, 2192 MAC_AX_MEM_MAX = MAC_AX_MEM_LAST, 2193 MAC_AX_MEM_INVALID = MAC_AX_MEM_LAST, 2194 }; 2195 2196 /** 2197 * @enum mac_ax_reg_sel 2198 * 2199 * @brief mac_ax_reg_sel 2200 * 2201 * @var mac_ax_reg_sel::MAC_AX_REG_MAC 2202 * Please Place Description here. 2203 * @var mac_ax_reg_sel::MAC_AX_REG_BB 2204 * Please Place Description here. 2205 * @var mac_ax_reg_sel::MAC_AX_REG_IQK 2206 * Please Place Description here. 2207 * @var mac_ax_reg_sel::MAC_AX_REG_RFC 2208 * Please Place Description here. 2209 * @var mac_ax_reg_sel::MAC_AX_REG_LAST 2210 * Please Place Description here. 2211 * @var mac_ax_reg_sel::MAC_AX_REG_MAX 2212 * Please Place Description here. 2213 * @var mac_ax_reg_sel::MAC_AX_REG_INVALID 2214 * Please Place Description here. 2215 */ 2216 enum mac_ax_reg_sel { 2217 MAC_AX_REG_MAC, 2218 MAC_AX_REG_BB, 2219 MAC_AX_REG_IQK, 2220 MAC_AX_REG_RFC, 2221 2222 /* keep last */ 2223 MAC_AX_REG_LAST, 2224 MAC_AX_REG_MAX = MAC_AX_REG_LAST, 2225 MAC_AX_REG_INVALID = MAC_AX_REG_LAST, 2226 }; 2227 2228 /*--------------------Define GPIO related enum-------------------------------*/ 2229 2230 /** 2231 * @enum mac_ax_gpio_func 2232 * 2233 * @brief mac_ax_gpio_func 2234 * 2235 * @var mac_ax_gpio_func::MAC_AX_GPIO_SW_IO_0 2236 * Please Place Description here. 2237 * @var mac_ax_gpio_func::MAC_AX_GPIO_SW_IO_1 2238 * Please Place Description here. 2239 * @var mac_ax_gpio_func::MAC_AX_GPIO_SW_IO_2 2240 * Please Place Description here. 2241 * @var mac_ax_gpio_func::MAC_AX_GPIO_SW_IO_3 2242 * Please Place Description here. 2243 * @var mac_ax_gpio_func::MAC_AX_GPIO_SW_IO_4 2244 * Please Place Description here. 2245 * @var mac_ax_gpio_func::MAC_AX_GPIO_SW_IO_5 2246 * Please Place Description here. 2247 * @var mac_ax_gpio_func::MAC_AX_GPIO_SW_IO_6 2248 * Please Place Description here. 2249 * @var mac_ax_gpio_func::MAC_AX_GPIO_SW_IO_7 2250 * Please Place Description here. 2251 * @var mac_ax_gpio_func::MAC_AX_GPIO_SW_IO_8 2252 * Please Place Description here. 2253 * @var mac_ax_gpio_func::MAC_AX_GPIO_SW_IO_9 2254 * Please Place Description here. 2255 * @var mac_ax_gpio_func::MAC_AX_GPIO_SW_IO_10 2256 * Please Place Description here. 2257 * @var mac_ax_gpio_func::MAC_AX_GPIO_SW_IO_11 2258 * Please Place Description here. 2259 * @var mac_ax_gpio_func::MAC_AX_GPIO_SW_IO_12 2260 * Please Place Description here. 2261 * @var mac_ax_gpio_func::MAC_AX_GPIO_SW_IO_13 2262 * Please Place Description here. 2263 * @var mac_ax_gpio_func::MAC_AX_GPIO_SW_IO_14 2264 * Please Place Description here. 2265 * @var mac_ax_gpio_func::MAC_AX_GPIO_SW_IO_15 2266 * Please Place Description here. 2267 * @var mac_ax_gpio_func::MAC_AX_GPIO_UART_TX_GPIO5 2268 * Please Place Description here. 2269 * @var mac_ax_gpio_func::MAC_AX_GPIO_UART_TX_GPIO7 2270 * Please Place Description here. 2271 * @var mac_ax_gpio_func::MAC_AX_GPIO_UART_TX_GPIO8 2272 * Please Place Description here. 2273 * @var mac_ax_gpio_func::MAC_AX_GPIO_UART_RX_GPIO6 2274 * Please Place Description here. 2275 * @var mac_ax_gpio_func::MAC_AX_GPIO_UART_RX_GPIO14 2276 * Please Place Description here. 2277 */ 2278 enum mac_ax_gpio_func { 2279 MAC_AX_GPIO_SW_IO_0, 2280 MAC_AX_GPIO_SW_IO_1, 2281 MAC_AX_GPIO_SW_IO_2, 2282 MAC_AX_GPIO_SW_IO_3, 2283 MAC_AX_GPIO_SW_IO_4, 2284 MAC_AX_GPIO_SW_IO_5, 2285 MAC_AX_GPIO_SW_IO_6, 2286 MAC_AX_GPIO_SW_IO_7, 2287 MAC_AX_GPIO_SW_IO_8, 2288 MAC_AX_GPIO_SW_IO_9, 2289 MAC_AX_GPIO_SW_IO_10, 2290 MAC_AX_GPIO_SW_IO_11, 2291 MAC_AX_GPIO_SW_IO_12, 2292 MAC_AX_GPIO_SW_IO_13, 2293 MAC_AX_GPIO_SW_IO_14, 2294 MAC_AX_GPIO_SW_IO_15, 2295 MAC_AX_GPIO_UART_TX_GPIO5, 2296 MAC_AX_GPIO_UART_TX_GPIO7, 2297 MAC_AX_GPIO_UART_TX_GPIO8, 2298 MAC_AX_GPIO_UART_RX_GPIO6, 2299 MAC_AX_GPIO_UART_RX_GPIO14, 2300 }; 2301 2302 /** 2303 * @enum mac_ax_uart_tx_pin 2304 * 2305 * @brief mac_ax_uart_tx_pin 2306 * 2307 * @var mac_ax_uart_tx_pin::MAC_AX_UART_TX_GPIO5 2308 * Please Place Description here. 2309 * @var mac_ax_uart_tx_pin::MAC_AX_UART_TX_GPIO7 2310 * Please Place Description here. 2311 * @var mac_ax_uart_tx_pin::MAC_AX_UART_TX_GPIO8 2312 * Please Place Description here. 2313 * @var mac_ax_uart_tx_pin::MAC_AX_UART_TX_GPIO5_GPIO8 2314 * Please Place Description here. 2315 */ 2316 enum mac_ax_uart_tx_pin { 2317 MAC_AX_UART_TX_GPIO5, 2318 MAC_AX_UART_TX_GPIO7, 2319 MAC_AX_UART_TX_GPIO8, 2320 MAC_AX_UART_TX_GPIO5_GPIO8, 2321 }; 2322 2323 /** 2324 * @enum mac_ax_uart_rx_pin 2325 * 2326 * @brief mac_ax_uart_rx_pin 2327 * 2328 * @var mac_ax_uart_rx_pin::MAC_AX_UART_RX_GPIO6 2329 * Please Place Description here. 2330 * @var mac_ax_uart_rx_pin::MAC_AX_UART_RX_GPIO14 2331 * Please Place Description here. 2332 */ 2333 enum mac_ax_uart_rx_pin { 2334 MAC_AX_UART_RX_GPIO6, 2335 MAC_AX_UART_RX_GPIO14, 2336 }; 2337 2338 /** 2339 * @enum mac_ax_led_mode 2340 * 2341 * @brief mac_ax_led_mode 2342 * 2343 * @var mac_ax_led_mode::MAC_AX_LED_MODE_TRX_ON 2344 * Please Place Description here. 2345 * @var mac_ax_led_mode::MAC_AX_LED_MODE_TX_ON 2346 * Please Place Description here. 2347 * @var mac_ax_led_mode::MAC_AX_LED_MODE_RX_ON 2348 * Please Place Description here. 2349 * @var mac_ax_led_mode::MAC_AX_LED_MODE_SW_CTRL_OD 2350 * Please Place Description here. 2351 * @var mac_ax_led_mode::MAC_AX_LED_MODE_SW_CTRL_PP 2352 * Please Place Description here. 2353 * @var mac_ax_led_mode::MAC_AX_LED_MODE_LAST 2354 * Please Place Description here. 2355 * @var mac_ax_led_mode::MAC_AX_LED_MODE_MAX 2356 * Please Place Description here. 2357 * @var mac_ax_led_mode::MAC_AX_LED_MODE_INVALID 2358 * Please Place Description here. 2359 */ 2360 enum mac_ax_led_mode { 2361 MAC_AX_LED_MODE_TRX_ON, 2362 MAC_AX_LED_MODE_TX_ON, 2363 MAC_AX_LED_MODE_RX_ON, 2364 MAC_AX_LED_MODE_SW_CTRL_OD, 2365 MAC_AX_LED_MODE_SW_CTRL_PP, 2366 2367 /* keep last */ 2368 MAC_AX_LED_MODE_LAST, 2369 MAC_AX_LED_MODE_MAX = MAC_AX_LED_MODE_LAST, 2370 MAC_AX_LED_MODE_INVALID = MAC_AX_LED_MODE_LAST, 2371 }; 2372 2373 /** 2374 * @enum mac_ax_sw_io_mode 2375 * 2376 * @brief mac_ax_sw_io_mode 2377 * 2378 * @var mac_ax_sw_io_mode::MAC_AX_SW_IO_MODE_INPUT 2379 * Please Place Description here. 2380 * @var mac_ax_sw_io_mode::MAC_AX_SW_IO_MODE_OUTPUT_OD 2381 * Please Place Description here. 2382 * @var mac_ax_sw_io_mode::MAC_AX_SW_IO_MODE_OUTPUT_PP 2383 * Please Place Description here. 2384 * @var mac_ax_sw_io_mode::MAC_AX_SW_IO_MODE_LAST 2385 * Please Place Description here. 2386 * @var mac_ax_sw_io_mode::MAC_AX_SW_IO_MODE_MAX 2387 * Please Place Description here. 2388 * @var mac_ax_sw_io_mode::MAC_AX_SW_IO_MODE_INVALID 2389 * Please Place Description here. 2390 */ 2391 enum mac_ax_sw_io_mode { 2392 MAC_AX_SW_IO_MODE_INPUT, 2393 MAC_AX_SW_IO_MODE_OUTPUT_OD, 2394 MAC_AX_SW_IO_MODE_OUTPUT_PP, 2395 2396 /* keep last */ 2397 MAC_AX_SW_IO_MODE_LAST, 2398 MAC_AX_SW_IO_MODE_MAX = MAC_AX_SW_IO_MODE_LAST, 2399 MAC_AX_SW_IO_MODE_INVALID = MAC_AX_SW_IO_MODE_LAST, 2400 }; 2401 2402 /*--------------------Define Efuse related enum-------------------------------*/ 2403 2404 /** 2405 * @enum mac_ax_efuse_read_cfg 2406 * 2407 * @brief mac_ax_efuse_read_cfg 2408 * 2409 * @var mac_ax_efuse_read_cfg::MAC_AX_EFUSE_R_AUTO 2410 * Please Place Description here. 2411 * @var mac_ax_efuse_read_cfg::MAC_AX_EFUSE_R_DRV 2412 * Please Place Description here. 2413 * @var mac_ax_efuse_read_cfg::MAC_AX_EFUSE_R_FW 2414 * Please Place Description here. 2415 * @var mac_ax_efuse_read_cfg::MAC_AX_EFUSE_R_LAST 2416 * Please Place Description here. 2417 * @var mac_ax_efuse_read_cfg::MAC_AX_EFUSE_R_MAX 2418 * Please Place Description here. 2419 * @var mac_ax_efuse_read_cfg::MAC_AX_EFUSE_R_INVALID 2420 * Please Place Description here. 2421 */ 2422 enum mac_ax_efuse_read_cfg { 2423 MAC_AX_EFUSE_R_AUTO, 2424 MAC_AX_EFUSE_R_DRV, 2425 MAC_AX_EFUSE_R_FW, 2426 2427 /* keep last */ 2428 MAC_AX_EFUSE_R_LAST, 2429 MAC_AX_EFUSE_R_MAX = MAC_AX_EFUSE_R_LAST, 2430 MAC_AX_EFUSE_R_INVALID = MAC_AX_EFUSE_R_LAST, 2431 }; 2432 2433 /** 2434 * @enum mac_ax_efuse_bank 2435 * 2436 * @brief mac_ax_efuse_bank 2437 * 2438 * @var mac_ax_efuse_bank::MAC_AX_EFUSE_BANK_WIFI 2439 * Please Place Description here. 2440 * @var mac_ax_efuse_bank::MAC_AX_EFUSE_BANK_BT 2441 * Please Place Description here. 2442 * @var mac_ax_efuse_bank::MAC_AX_EFUSE_BANK_LAST 2443 * Please Place Description here. 2444 * @var mac_ax_efuse_bank::MAC_AX_EFUSE_BANK_MAX 2445 * Please Place Description here. 2446 * @var mac_ax_efuse_bank::MAC_AX_EFUSE_BANK_INVALID 2447 * Please Place Description here. 2448 */ 2449 enum mac_ax_efuse_bank { 2450 MAC_AX_EFUSE_BANK_WIFI, 2451 MAC_AX_EFUSE_BANK_BT, 2452 2453 /* keep last */ 2454 MAC_AX_EFUSE_BANK_LAST, 2455 MAC_AX_EFUSE_BANK_MAX = MAC_AX_EFUSE_BANK_LAST, 2456 MAC_AX_EFUSE_BANK_INVALID = MAC_AX_EFUSE_BANK_LAST, 2457 }; 2458 2459 /** 2460 * @enum mac_ax_efuse_parser_cfg 2461 * 2462 * @brief mac_ax_efuse_parser_cfg 2463 * 2464 * @var mac_ax_efuse_parser_cfg::MAC_AX_EFUSE_PARSER_MAP 2465 * Please Place Description here. 2466 * @var mac_ax_efuse_parser_cfg::MAC_AX_EFUSE_PARSER_MASK 2467 * Please Place Description here. 2468 * @var mac_ax_efuse_parser_cfg::MAC_AX_EFUSE_PARSER_LAST 2469 * Please Place Description here. 2470 * @var mac_ax_efuse_parser_cfg::MAC_AX_EFUSE_PARSER_MAX 2471 * Please Place Description here. 2472 * @var mac_ax_efuse_parser_cfg::MAC_AX_EFUSE_PARSER_INVALID 2473 * Please Place Description here. 2474 */ 2475 enum mac_ax_efuse_parser_cfg { 2476 MAC_AX_EFUSE_PARSER_MAP, 2477 MAC_AX_EFUSE_PARSER_MASK, 2478 2479 /* keep last */ 2480 MAC_AX_EFUSE_PARSER_LAST, 2481 MAC_AX_EFUSE_PARSER_MAX = MAC_AX_EFUSE_PARSER_LAST, 2482 MAC_AX_EFUSE_PARSER_INVALID = MAC_AX_EFUSE_PARSER_LAST, 2483 }; 2484 2485 /** 2486 * @enum mac_ax_efuse_feature_id 2487 * 2488 * @brief mac_ax_efuse_feature_id 2489 * 2490 * @var mac_ax_efuse_feature_id::MAC_AX_DUMP_PHYSICAL_EFUSE 2491 * Please Place Description here. 2492 * @var mac_ax_efuse_feature_id::MAC_AX_DUMP_LOGICAL_EFUSE 2493 * Please Place Description here. 2494 * @var mac_ax_efuse_feature_id::MAC_AX_DUMP_LOGICAL_EFUSE_MASK 2495 * Please Place Description here. 2496 */ 2497 enum mac_ax_efuse_feature_id { 2498 MAC_AX_DUMP_PHYSICAL_EFUSE, /* Support */ 2499 MAC_AX_DUMP_LOGICAL_EFUSE, /* Support */ 2500 MAC_AX_DUMP_LOGICAL_EFUSE_MASK, /* Support */ 2501 }; 2502 2503 /*--------------------Define TRX PKT INFO/RPT related enum--------------------*/ 2504 2505 /** 2506 * @enum mac_ax_trx_mode 2507 * 2508 * @brief mac_ax_trx_mode 2509 * 2510 * @var mac_ax_trx_mode::MAC_AX_TRX_SW_MODE 2511 * Please Place Description here. 2512 * @var mac_ax_trx_mode::MAC_AX_TRX_HW_MODE 2513 * Please Place Description here. 2514 * @var mac_ax_trx_mode::MAC_AX_TRX_LOOPBACK 2515 * Please Place Description here. 2516 * @var mac_ax_trx_mode::MAC_AX_TRX_LAST 2517 * Please Place Description here. 2518 * @var mac_ax_trx_mode::MAC_AX_TRX_MAX 2519 * Please Place Description here. 2520 * @var mac_ax_trx_mode::MAC_AX_TRX_INVALID 2521 * Please Place Description here. 2522 */ 2523 enum mac_ax_trx_mode { 2524 MAC_AX_TRX_SW_MODE, 2525 MAC_AX_TRX_HW_MODE, 2526 MAC_AX_TRX_LOOPBACK, 2527 2528 MAC_AX_TRX_NORMAL, /* shall remove when v0_22 release, Rick */ 2529 2530 /* keep last */ 2531 MAC_AX_TRX_LAST, 2532 MAC_AX_TRX_MAX = MAC_AX_TRX_LAST, 2533 MAC_AX_TRX_INVALID = MAC_AX_TRX_LAST, 2534 }; 2535 2536 /** 2537 * @enum mac_ax_qta_mode 2538 * 2539 * @brief mac_ax_qta_mode 2540 * 2541 * @var mac_ax_qta_mode::MAC_AX_QTA_SCC 2542 * Please Place Description here. 2543 * @var mac_ax_qta_mode::MAC_AX_QTA_DBCC 2544 * Please Place Description here. 2545 * @var mac_ax_qta_mode::MAC_AX_QTA_SCC_STF 2546 * Please Place Description here. 2547 * @var mac_ax_qta_mode::MAC_AX_QTA_DBCC_STF 2548 * Please Place Description here. 2549 * @var mac_ax_qta_mode::MAC_AX_QTA_SU_TP 2550 * Please Place Description here. 2551 * @var mac_ax_qta_mode::MAC_AX_QTA_DLFW 2552 * Please Place Description here. 2553 * @var mac_ax_qta_mode::MAC_AX_QTA_BCN_TEST 2554 * Please Place Description here. 2555 * @var mac_ax_qta_mode::MAC_AX_QTA_LAMODE 2556 * Please Place Description here. 2557 * @var mac_ax_qta_mode::MAC_AX_QTA_LAST 2558 * Please Place Description here. 2559 * @var mac_ax_qta_mode::MAC_AX_QTA_MAX 2560 * Please Place Description here. 2561 * @var mac_ax_qta_mode::MAC_AX_QTA_INVALID 2562 * Please Place Description here. 2563 */ 2564 enum mac_ax_qta_mode { 2565 MAC_AX_QTA_SCC, 2566 MAC_AX_QTA_DBCC, 2567 MAC_AX_QTA_SCC_STF, 2568 MAC_AX_QTA_DBCC_STF, 2569 MAC_AX_QTA_SU_TP, 2570 MAC_AX_QTA_DLFW, 2571 MAC_AX_QTA_BCN_TEST, 2572 MAC_AX_QTA_LAMODE, 2573 MAC_AX_QTA_SCC_TURBO, 2574 2575 /* keep last */ 2576 MAC_AX_QTA_LAST, 2577 MAC_AX_QTA_MAX = MAC_AX_QTA_LAST, 2578 MAC_AX_QTA_INVALID = MAC_AX_QTA_LAST, 2579 }; 2580 2581 /** 2582 * @enum mac_ax_pkt_t 2583 * 2584 * @brief mac_ax_pkt_t 2585 * 2586 * @var mac_ax_pkt_t::MAC_AX_PKT_DATA 2587 * Please Place Description here. 2588 * @var mac_ax_pkt_t::MAC_AX_PKT_MGNT 2589 * Please Place Description here. 2590 * @var mac_ax_pkt_t::MAC_AX_PKT_CTRL 2591 * Please Place Description here. 2592 * @var mac_ax_pkt_t::MAC_AX_PKT_8023 2593 * Please Place Description here. 2594 * @var mac_ax_pkt_t::MAC_AX_PKT_H2C 2595 * Please Place Description here. 2596 * @var mac_ax_pkt_t::MAC_AX_PKT_FWDL 2597 * Please Place Description here. 2598 * @var mac_ax_pkt_t::MAC_AX_PKT_C2H 2599 * Please Place Description here. 2600 * @var mac_ax_pkt_t::MAC_AX_PKT_PPDU 2601 * Please Place Description here. 2602 * @var mac_ax_pkt_t::MAC_AX_PKT_CH_INFO 2603 * Please Place Description here. 2604 * @var mac_ax_pkt_t::MAC_AX_PKT_DFS 2605 * Please Place Description here. 2606 * @var mac_ax_pkt_t::MAC_AX_PKT_LAST 2607 * Please Place Description here. 2608 * @var mac_ax_pkt_t::MAC_AX_PKT_MAX 2609 * Please Place Description here. 2610 * @var mac_ax_pkt_t::MAC_AX_PKT_INVALID 2611 * Please Place Description here. 2612 */ 2613 enum mac_ax_pkt_t { 2614 MAC_AX_PKT_DATA, 2615 MAC_AX_PKT_MGNT, 2616 MAC_AX_PKT_CTRL, 2617 MAC_AX_PKT_8023, 2618 MAC_AX_PKT_H2C, 2619 MAC_AX_PKT_FWDL, 2620 MAC_AX_PKT_C2H, 2621 MAC_AX_PKT_PPDU, 2622 MAC_AX_PKT_CH_INFO, 2623 MAC_AX_PKT_DFS, 2624 2625 /* keep last */ 2626 MAC_AX_PKT_LAST, 2627 MAC_AX_PKT_MAX = MAC_AX_PKT_LAST, 2628 MAC_AX_PKT_INVALID = MAC_AX_PKT_LAST, 2629 }; 2630 2631 /** 2632 * @enum mac_ax_amsdu_pkt_num 2633 * 2634 * @brief mac_ax_amsdu_pkt_num 2635 * 2636 * @var mac_ax_amsdu_pkt_num::MAC_AX_AMSDU_AGG_NUM_1 2637 * Please Place Description here. 2638 * @var mac_ax_amsdu_pkt_num::MAC_AX_AMSDU_AGG_NUM_2 2639 * Please Place Description here. 2640 * @var mac_ax_amsdu_pkt_num::MAC_AX_AMSDU_AGG_NUM_3 2641 * Please Place Description here. 2642 * @var mac_ax_amsdu_pkt_num::MAC_AX_AMSDU_AGG_NUM_4 2643 * Please Place Description here. 2644 * @var mac_ax_amsdu_pkt_num::MAC_AX_AMSDU_AGG_NUM_MAX 2645 * Please Place Description here. 2646 */ 2647 enum mac_ax_amsdu_pkt_num { 2648 MAC_AX_AMSDU_AGG_NUM_1 = 0, 2649 MAC_AX_AMSDU_AGG_NUM_2 = 1, 2650 MAC_AX_AMSDU_AGG_NUM_3 = 2, 2651 MAC_AX_AMSDU_AGG_NUM_4 = 3, 2652 MAC_AX_AMSDU_AGG_NUM_MAX 2653 }; 2654 2655 /** 2656 * @enum mac_ax_phy_rpt 2657 * 2658 * @brief mac_ax_phy_rpt 2659 * 2660 * @var mac_ax_phy_rpt::MAC_AX_PPDU_STATUS 2661 * Please Place Description here. 2662 * @var mac_ax_phy_rpt::MAC_AX_CH_INFO 2663 * Please Place Description here. 2664 * @var mac_ax_phy_rpt::MAC_AX_DFS 2665 * Please Place Description here. 2666 */ 2667 enum mac_ax_phy_rpt { 2668 MAC_AX_PPDU_STATUS, 2669 MAC_AX_CH_INFO, 2670 MAC_AX_DFS, 2671 }; 2672 2673 /** 2674 * @enum mac_ax_pkt_drop_sel 2675 * 2676 * @brief mac_ax_pkt_drop_sel 2677 * 2678 * @var mac_ax_pkt_drop_sel::MAC_AX_PKT_DROP_SEL_MACID_BE_ONCE 2679 * Please Place Description here. 2680 * @var mac_ax_pkt_drop_sel::MAC_AX_PKT_DROP_SEL_MACID_BK_ONCE 2681 * Please Place Description here. 2682 * @var mac_ax_pkt_drop_sel::MAC_AX_PKT_DROP_SEL_MACID_VI_ONCE 2683 * Please Place Description here. 2684 * @var mac_ax_pkt_drop_sel::MAC_AX_PKT_DROP_SEL_MACID_VO_ONCE 2685 * Please Place Description here. 2686 * @var mac_ax_pkt_drop_sel::MAC_AX_PKT_DROP_SEL_MACID_ALL 2687 * Please Place Description here. 2688 * @var mac_ax_pkt_drop_sel::MAC_AX_PKT_DROP_SEL_MG0_ONCE 2689 * Please Place Description here. 2690 * @var mac_ax_pkt_drop_sel::MAC_AX_PKT_DROP_SEL_HIQ_ONCE 2691 * Please Place Description here. 2692 * @var mac_ax_pkt_drop_sel::MAC_AX_PKT_DROP_SEL_HIQ_PORT 2693 * Please Place Description here. 2694 * @var mac_ax_pkt_drop_sel::MAC_AX_PKT_DROP_SEL_HIQ_MBSSID 2695 * Please Place Description here. 2696 * @var mac_ax_pkt_drop_sel::MAC_AX_PKT_DROP_SEL_BAND 2697 * Please Place Description here. 2698 * @var mac_ax_pkt_drop_sel::MAC_AX_PKT_DROP_SEL_REL_MACID 2699 * Please Place Description here. 2700 * @var mac_ax_pkt_drop_sel::MAC_AX_PKT_DROP_SEL_REL_HIQ_PORT 2701 * Please Place Description here. 2702 * @var mac_ax_pkt_drop_sel::MAC_AX_PKT_DROP_SEL_REL_HIQ_MBSSID 2703 * Please Place Description here. 2704 * @var mac_ax_pkt_drop_sel::MAC_AX_PKT_DROP_SEL_LAST 2705 * Please Place Description here. 2706 * @var mac_ax_pkt_drop_sel::MAC_AX_PKT_DROP_SEL_MAX 2707 * Please Place Description here. 2708 * @var mac_ax_pkt_drop_sel::MAC_AX_PKT_DROP_SEL_INVALID 2709 * Please Place Description here. 2710 */ 2711 enum mac_ax_pkt_drop_sel { 2712 MAC_AX_PKT_DROP_SEL_MACID_BE_ONCE, 2713 MAC_AX_PKT_DROP_SEL_MACID_BK_ONCE, 2714 MAC_AX_PKT_DROP_SEL_MACID_VI_ONCE, 2715 MAC_AX_PKT_DROP_SEL_MACID_VO_ONCE, 2716 MAC_AX_PKT_DROP_SEL_MACID_ALL, 2717 MAC_AX_PKT_DROP_SEL_MG0_ONCE, 2718 MAC_AX_PKT_DROP_SEL_HIQ_ONCE, 2719 MAC_AX_PKT_DROP_SEL_HIQ_PORT, 2720 MAC_AX_PKT_DROP_SEL_HIQ_MBSSID, 2721 MAC_AX_PKT_DROP_SEL_BAND, 2722 MAC_AX_PKT_DROP_SEL_BAND_ONCE, 2723 MAC_AX_PKT_DROP_SEL_REL_MACID, 2724 MAC_AX_PKT_DROP_SEL_REL_HIQ_PORT, 2725 MAC_AX_PKT_DROP_SEL_REL_HIQ_MBSSID, 2726 2727 /* keep last */ 2728 MAC_AX_PKT_DROP_SEL_LAST, 2729 MAC_AX_PKT_DROP_SEL_MAX = MAC_AX_PKT_DROP_SEL_LAST, 2730 MAC_AX_PKT_DROP_SEL_INVALID = MAC_AX_PKT_DROP_SEL_LAST, 2731 }; 2732 2733 /*need to check and move to other */ 2734 2735 /** 2736 * @enum mac_ax_fwd_target 2737 * 2738 * @brief mac_ax_fwd_target 2739 * 2740 * @var mac_ax_fwd_target::MAC_AX_FWD_DONT_CARE 2741 * Please Place Description here. 2742 * @var mac_ax_fwd_target::MAC_AX_FWD_TO_HOST 2743 * Please Place Description here. 2744 * @var mac_ax_fwd_target::MAC_AX_FWD_TO_WLAN_CPU 2745 * Please Place Description here. 2746 */ 2747 enum mac_ax_fwd_target { 2748 MAC_AX_FWD_DONT_CARE = 0, 2749 MAC_AX_FWD_TO_HOST = 1, 2750 MAC_AX_FWD_TO_WLAN_CPU = 2 2751 }; 2752 2753 /** 2754 * @enum mac_ax_action_frame 2755 * 2756 * @brief mac_ax_action_frame 2757 * 2758 * @var mac_ax_action_frame::MAC_AX_AF_CSA 2759 * Please Place Description here. 2760 * @var mac_ax_action_frame::MAC_AX_AF_ADDTS_REQ 2761 * Please Place Description here. 2762 * @var mac_ax_action_frame::MAC_AX_AF_ADDTS_RES 2763 * Please Place Description here. 2764 * @var mac_ax_action_frame::MAC_AX_AF_DELTS 2765 * Please Place Description here. 2766 * @var mac_ax_action_frame::MAC_AX_AF_ADDBA_REQ 2767 * Please Place Description here. 2768 * @var mac_ax_action_frame::MAC_AX_AF_ADDBA_RES 2769 * Please Place Description here. 2770 * @var mac_ax_action_frame::MAC_AX_AF_DELBA 2771 * Please Place Description here. 2772 * @var mac_ax_action_frame::MAC_AX_AF_NCW 2773 * Please Place Description here. 2774 * @var mac_ax_action_frame::MAC_AX_AF_GID_MGNT 2775 * Please Place Description here. 2776 * @var mac_ax_action_frame::MAC_AX_AF_OP_MODE 2777 * Please Place Description here. 2778 * @var mac_ax_action_frame::MAC_AX_AF_CSI 2779 * Please Place Description here. 2780 * @var mac_ax_action_frame::MAC_AX_AF_HT_CBFM 2781 * Please Place Description here. 2782 * @var mac_ax_action_frame::MAC_AX_AF_VHT_CBFM 2783 * Please Place Description here. 2784 */ 2785 enum mac_ax_action_frame { 2786 MAC_AX_AF_CSA = 0, 2787 MAC_AX_AF_ADDTS_REQ = 1, 2788 MAC_AX_AF_ADDTS_RES = 2, 2789 MAC_AX_AF_DELTS = 3, 2790 MAC_AX_AF_ADDBA_REQ = 4, 2791 MAC_AX_AF_ADDBA_RES = 5, 2792 MAC_AX_AF_DELBA = 6, 2793 MAC_AX_AF_NCW = 7, 2794 MAC_AX_AF_GID_MGNT = 8, 2795 MAC_AX_AF_OP_MODE = 9, 2796 MAC_AX_AF_CSI = 10, 2797 MAC_AX_AF_HT_CBFM = 11, 2798 MAC_AX_AF_VHT_CBFM = 12 2799 }; 2800 2801 /** 2802 * @enum mac_ax_af_user_define_index 2803 * 2804 * @brief mac_ax_af_user_define_index 2805 * 2806 * @var mac_ax_af_user_define_index::MAC_AX_AF_UD_0 2807 * Please Place Description here. 2808 * @var mac_ax_af_user_define_index::MAC_AX_AF_UD_1 2809 * Please Place Description here. 2810 * @var mac_ax_af_user_define_index::MAC_AX_AF_UD_2 2811 * Please Place Description here. 2812 * @var mac_ax_af_user_define_index::MAC_AX_AF_UD_3 2813 * Please Place Description here. 2814 */ 2815 enum mac_ax_af_user_define_index { 2816 MAC_AX_AF_UD_0 = 0, 2817 MAC_AX_AF_UD_1 = 1, 2818 MAC_AX_AF_UD_2 = 2, 2819 MAC_AX_AF_UD_3 = 3 2820 }; 2821 2822 /** 2823 * @enum mac_ax_trigger_frame 2824 * 2825 * @brief mac_ax_trigger_frame 2826 * 2827 * @var mac_ax_trigger_frame::MAC_AX_TF_BT 2828 * Please Place Description here. 2829 * @var mac_ax_trigger_frame::MAC_AX_TF_BFRP 2830 * Please Place Description here. 2831 * @var mac_ax_trigger_frame::MAC_AX_TF_MU_BAR 2832 * Please Place Description here. 2833 * @var mac_ax_trigger_frame::MAC_AX_TF_MU_RTS 2834 * Please Place Description here. 2835 * @var mac_ax_trigger_frame::MAC_AX_TF_BSRP 2836 * Please Place Description here. 2837 * @var mac_ax_trigger_frame::MAC_AX_TF_GCR_MU_BAR 2838 * Please Place Description here. 2839 * @var mac_ax_trigger_frame::MAC_AX_TF_BQRP 2840 * Please Place Description here. 2841 * @var mac_ax_trigger_frame::MAC_AX_TF_NFRP 2842 * Please Place Description here. 2843 * @var mac_ax_trigger_frame::MAC_AX_TF_TF8 2844 * Please Place Description here. 2845 * @var mac_ax_trigger_frame::MAC_AX_TF_TF9 2846 * Please Place Description here. 2847 * @var mac_ax_trigger_frame::MAC_AX_TF_TF10 2848 * Please Place Description here. 2849 * @var mac_ax_trigger_frame::MAC_AX_TF_TF11 2850 * Please Place Description here. 2851 * @var mac_ax_trigger_frame::MAC_AX_TF_TF12 2852 * Please Place Description here. 2853 * @var mac_ax_trigger_frame::MAC_AX_TF_TF13 2854 * Please Place Description here. 2855 * @var mac_ax_trigger_frame::MAC_AX_TF_TF14 2856 * Please Place Description here. 2857 * @var mac_ax_trigger_frame::MAC_AX_TF_TF15 2858 * Please Place Description here. 2859 */ 2860 enum mac_ax_trigger_frame { 2861 MAC_AX_TF_BT = 0, 2862 MAC_AX_TF_BFRP = 1, 2863 MAC_AX_TF_MU_BAR = 2, 2864 MAC_AX_TF_MU_RTS = 3, 2865 MAC_AX_TF_BSRP = 4, 2866 MAC_AX_TF_GCR_MU_BAR = 5, 2867 MAC_AX_TF_BQRP = 6, 2868 MAC_AX_TF_NFRP = 7, 2869 MAC_AX_TF_TF8 = 8, 2870 MAC_AX_TF_TF9 = 9, 2871 MAC_AX_TF_TF10 = 10, 2872 MAC_AX_TF_TF11 = 11, 2873 MAC_AX_TF_TF12 = 12, 2874 MAC_AX_TF_TF13 = 13, 2875 MAC_AX_TF_TF14 = 14, 2876 MAC_AX_TF_TF15 = 15 2877 }; 2878 2879 /** 2880 * @enum mac_ax_frame_type 2881 * 2882 * @brief mac_ax_frame_type 2883 * 2884 * @var mac_ax_frame_type::MAC_AX_FT_ACTION 2885 * Please Place Description here. 2886 * @var mac_ax_frame_type::MAC_AX_FT_ACTION_UD 2887 * Please Place Description here. 2888 * @var mac_ax_frame_type::MAC_AX_FT_TRIGGER 2889 * Please Place Description here. 2890 * @var mac_ax_frame_type::MAC_AX_FT_PM_CAM 2891 * Please Place Description here. 2892 */ 2893 enum mac_ax_frame_type { 2894 MAC_AX_FT_ACTION = 0, 2895 MAC_AX_FT_ACTION_UD = 1, 2896 MAC_AX_FT_TRIGGER = 2, 2897 MAC_AX_FT_PM_CAM = 3 2898 }; 2899 2900 /** 2901 * @enum mac_ax_bd_trunc_mode 2902 * 2903 * @brief mac_ax_bd_trunc_mode 2904 * 2905 * @var mac_ax_bd_trunc_mode::MAC_AX_BD_NORM 2906 * Please Place Description here. 2907 * @var mac_ax_bd_trunc_mode::MAC_AX_BD_TRUNC 2908 * Please Place Description here. 2909 * @var mac_ax_bd_trunc_mode::MAC_AX_BD_DEF 2910 * Please Place Description here. 2911 */ 2912 enum mac_ax_bd_trunc_mode { 2913 MAC_AX_BD_NORM, 2914 MAC_AX_BD_TRUNC, 2915 MAC_AX_BD_DEF = 0xFE 2916 }; 2917 2918 /** 2919 * @enum mac_ax_rxbd_mode 2920 * 2921 * @brief mac_ax_rxbd_mode 2922 * 2923 * @var mac_ax_rxbd_mode::MAC_AX_RXBD_PKT 2924 * Please Place Description here. 2925 * @var mac_ax_rxbd_mode::MAC_AX_RXBD_SEP 2926 * Please Place Description here. 2927 * @var mac_ax_rxbd_mode::MAC_AX_RXBD_DEF 2928 * Please Place Description here. 2929 */ 2930 enum mac_ax_rxbd_mode { 2931 MAC_AX_RXBD_PKT, 2932 MAC_AX_RXBD_SEP, 2933 MAC_AX_RXBD_DEF = 0xFE 2934 }; 2935 2936 /** 2937 * @enum mac_ax_tag_mode 2938 * 2939 * @brief mac_ax_tag_mode 2940 * 2941 * @var mac_ax_tag_mode::MAC_AX_TAG_SGL 2942 * Please Place Description here. 2943 * @var mac_ax_tag_mode::MAC_AX_TAG_MULTI 2944 * Please Place Description here. 2945 * @var mac_ax_tag_mode::MAC_AX_TAG_DEF 2946 * Please Place Description here. 2947 */ 2948 enum mac_ax_tag_mode { 2949 MAC_AX_TAG_SGL, 2950 MAC_AX_TAG_MULTI, 2951 MAC_AX_TAG_DEF = 0xFE 2952 }; 2953 2954 /** 2955 * @enum mac_ax_rx_fecth 2956 * 2957 * @brief mac_ax_rx_fecth 2958 * 2959 * @var mac_ax_rx_fecth::MAC_AX_RX_NORM_FETCH 2960 * Please Place Description here. 2961 * @var mac_ax_rx_fecth::MAC_AX_RX_PRE_FETCH 2962 * Please Place Description here. 2963 * @var mac_ax_rx_fecth::MAC_AX_RX_FETCH_DEF 2964 * Please Place Description here. 2965 */ 2966 enum mac_ax_rx_fecth { 2967 MAC_AX_RX_NORM_FETCH, 2968 MAC_AX_RX_PRE_FETCH, 2969 MAC_AX_RX_FETCH_DEF = 0xFE 2970 }; 2971 2972 /** 2973 * @enum mac_ax_tx_burst 2974 * 2975 * @brief mac_ax_tx_burst 2976 * 2977 * @var mac_ax_tx_burst::MAC_AX_TX_BURST_16B 2978 * Please Place Description here. 2979 * @var mac_ax_tx_burst::MAC_AX_TX_BURST_32B 2980 * Please Place Description here. 2981 * @var mac_ax_tx_burst::MAC_AX_TX_BURST_64B 2982 * Please Place Description here. 2983 * @var mac_ax_tx_burst::MAC_AX_TX_BURST_128B 2984 * Please Place Description here. 2985 * @var mac_ax_tx_burst::MAC_AX_TX_BURST_256B 2986 * Please Place Description here. 2987 * @var mac_ax_tx_burst::MAC_AX_TX_BURST_512B 2988 * Please Place Description here. 2989 * @var mac_ax_tx_burst::MAC_AX_TX_BURST_1024B 2990 * Please Place Description here. 2991 * @var mac_ax_tx_burst::MAC_AX_TX_BURST_2048B 2992 * Please Place Description here. 2993 * @var mac_ax_tx_burst::MAC_AX_TX_BURST_DEF 2994 * Please Place Description here. 2995 */ 2996 enum mac_ax_tx_burst { 2997 MAC_AX_TX_BURST_16B = 0, 2998 MAC_AX_TX_BURST_32B = 1, 2999 MAC_AX_TX_BURST_64B = 2, 3000 MAC_AX_TX_BURST_V1_64B = 0, 3001 MAC_AX_TX_BURST_128B = 3, 3002 MAC_AX_TX_BURST_V1_128B = 1, 3003 MAC_AX_TX_BURST_256B = 4, 3004 MAC_AX_TX_BURST_V1_256B = 2, 3005 MAC_AX_TX_BURST_512B = 5, 3006 MAC_AX_TX_BURST_1024B = 6, 3007 MAC_AX_TX_BURST_2048B = 7, 3008 MAC_AX_TX_BURST_DEF = 0xFE 3009 }; 3010 3011 /** 3012 * @enum mac_ax_rx_burst 3013 * 3014 * @brief mac_ax_rx_burst 3015 * 3016 * @var mac_ax_rx_burst::MAC_AX_RX_BURST_16B 3017 * Please Place Description here. 3018 * @var mac_ax_rx_burst::MAC_AX_RX_BURST_32B 3019 * Please Place Description here. 3020 * @var mac_ax_rx_burst::MAC_AX_RX_BURST_64B 3021 * Please Place Description here. 3022 * @var mac_ax_rx_burst::MAC_AX_RX_BURST_128B 3023 * Please Place Description here. 3024 * @var mac_ax_rx_burst::MAC_AX_RX_BURST_DEF 3025 * Please Place Description here. 3026 */ 3027 enum mac_ax_rx_burst { 3028 MAC_AX_RX_BURST_16B = 0, 3029 MAC_AX_RX_BURST_32B = 1, 3030 MAC_AX_RX_BURST_64B = 2, 3031 MAC_AX_RX_BURST_V1_64B = 0, 3032 MAC_AX_RX_BURST_128B = 3, 3033 MAC_AX_RX_BURST_V1_128B = 1, 3034 MAC_AX_RX_BURST_V1_256B = 0, 3035 MAC_AX_RX_BURST_DEF = 0xFE 3036 }; 3037 3038 /** 3039 * @enum mac_ax_wd_dma_intvl 3040 * 3041 * @brief mac_ax_wd_dma_intvl 3042 * 3043 * @var mac_ax_wd_dma_intvl::MAC_AX_WD_DMA_INTVL_0S 3044 * Please Place Description here. 3045 * @var mac_ax_wd_dma_intvl::MAC_AX_WD_DMA_INTVL_256NS 3046 * Please Place Description here. 3047 * @var mac_ax_wd_dma_intvl::MAC_AX_WD_DMA_INTVL_512NS 3048 * Please Place Description here. 3049 * @var mac_ax_wd_dma_intvl::MAC_AX_WD_DMA_INTVL_768NS 3050 * Please Place Description here. 3051 * @var mac_ax_wd_dma_intvl::MAC_AX_WD_DMA_INTVL_1US 3052 * Please Place Description here. 3053 * @var mac_ax_wd_dma_intvl::MAC_AX_WD_DMA_INTVL_1_5US 3054 * Please Place Description here. 3055 * @var mac_ax_wd_dma_intvl::MAC_AX_WD_DMA_INTVL_2US 3056 * Please Place Description here. 3057 * @var mac_ax_wd_dma_intvl::MAC_AX_WD_DMA_INTVL_4US 3058 * Please Place Description here. 3059 * @var mac_ax_wd_dma_intvl::MAC_AX_WD_DMA_INTVL_8US 3060 * Please Place Description here. 3061 * @var mac_ax_wd_dma_intvl::MAC_AX_WD_DMA_INTVL_16US 3062 * Please Place Description here. 3063 * @var mac_ax_wd_dma_intvl::MAC_AX_WD_DMA_INTVL_DEF 3064 * Please Place Description here. 3065 */ 3066 enum mac_ax_wd_dma_intvl { 3067 MAC_AX_WD_DMA_INTVL_0S, 3068 MAC_AX_WD_DMA_INTVL_256NS, 3069 MAC_AX_WD_DMA_INTVL_512NS, 3070 MAC_AX_WD_DMA_INTVL_768NS, 3071 MAC_AX_WD_DMA_INTVL_1US, 3072 MAC_AX_WD_DMA_INTVL_1_5US, 3073 MAC_AX_WD_DMA_INTVL_2US, 3074 MAC_AX_WD_DMA_INTVL_4US, 3075 MAC_AX_WD_DMA_INTVL_8US, 3076 MAC_AX_WD_DMA_INTVL_16US, 3077 MAC_AX_WD_DMA_INTVL_DEF = 0xFE 3078 }; 3079 3080 /** 3081 * @enum mac_ax_multi_tag_num 3082 * 3083 * @brief mac_ax_multi_tag_num 3084 * 3085 * @var mac_ax_multi_tag_num::MAC_AX_TAG_NUM_1 3086 * Please Place Description here. 3087 * @var mac_ax_multi_tag_num::MAC_AX_TAG_NUM_2 3088 * Please Place Description here. 3089 * @var mac_ax_multi_tag_num::MAC_AX_TAG_NUM_3 3090 * Please Place Description here. 3091 * @var mac_ax_multi_tag_num::MAC_AX_TAG_NUM_4 3092 * Please Place Description here. 3093 * @var mac_ax_multi_tag_num::MAC_AX_TAG_NUM_5 3094 * Please Place Description here. 3095 * @var mac_ax_multi_tag_num::MAC_AX_TAG_NUM_6 3096 * Please Place Description here. 3097 * @var mac_ax_multi_tag_num::MAC_AX_TAG_NUM_7 3098 * Please Place Description here. 3099 * @var mac_ax_multi_tag_num::MAC_AX_TAG_NUM_8 3100 * Please Place Description here. 3101 * @var mac_ax_multi_tag_num::MAC_AX_TAG_NUM_DEF 3102 * Please Place Description here. 3103 */ 3104 enum mac_ax_multi_tag_num { 3105 MAC_AX_TAG_NUM_1, 3106 MAC_AX_TAG_NUM_2, 3107 MAC_AX_TAG_NUM_3, 3108 MAC_AX_TAG_NUM_4, 3109 MAC_AX_TAG_NUM_5, 3110 MAC_AX_TAG_NUM_6, 3111 MAC_AX_TAG_NUM_7, 3112 MAC_AX_TAG_NUM_8, 3113 MAC_AX_TAG_NUM_DEF = 0xFE 3114 }; 3115 3116 /** 3117 * @enum mac_ax_rx_adv_pref 3118 * 3119 * @brief mac_ax_rx_adv_pref 3120 * 3121 * @var mac_ax_rx_adv_pref::MAC_AX_RX_APREF_1BD 3122 * Please Place Description here. 3123 * @var mac_ax_rx_adv_pref::MAC_AX_RX_APREF_2BD 3124 * Please Place Description here. 3125 * @var mac_ax_rx_adv_pref::MAC_AX_RX_APREF_4BD 3126 * Please Place Description here. 3127 * @var mac_ax_rx_adv_pref::MAC_AX_RX_APREF_8BD 3128 * Please Place Description here. 3129 * @var mac_ax_rx_adv_pref::MAC_AX_RX_APREF_LAST 3130 * Please Place Description here. 3131 * @var mac_ax_rx_adv_pref::MAC_AX_RX_APREF_MAX 3132 * Please Place Description here. 3133 * @var mac_ax_rx_adv_pref::MAC_AX_RX_APREF_INVALID 3134 * Please Place Description here. 3135 */ 3136 enum mac_ax_rx_adv_pref { 3137 MAC_AX_RX_APREF_1BD = 0, 3138 MAC_AX_RX_APREF_2BD, 3139 MAC_AX_RX_APREF_4BD, 3140 MAC_AX_RX_APREF_8BD, 3141 /* keep last */ 3142 MAC_AX_RX_APREF_LAST, 3143 MAC_AX_RX_APREF_MAX = MAC_AX_RX_APREF_LAST, 3144 MAC_AX_RX_APREF_INVALID = MAC_AX_RX_APREF_LAST, 3145 }; 3146 3147 /** 3148 * @enum mac_ax_lbc_tmr 3149 * 3150 * @brief mac_ax_lbc_tmr 3151 * 3152 * @var mac_ax_lbc_tmr::MAC_AX_LBC_TMR_8US 3153 * Please Place Description here. 3154 * @var mac_ax_lbc_tmr::MAC_AX_LBC_TMR_16US 3155 * Please Place Description here. 3156 * @var mac_ax_lbc_tmr::MAC_AX_LBC_TMR_32US 3157 * Please Place Description here. 3158 * @var mac_ax_lbc_tmr::MAC_AX_LBC_TMR_64US 3159 * Please Place Description here. 3160 * @var mac_ax_lbc_tmr::MAC_AX_LBC_TMR_128US 3161 * Please Place Description here. 3162 * @var mac_ax_lbc_tmr::MAC_AX_LBC_TMR_256US 3163 * Please Place Description here. 3164 * @var mac_ax_lbc_tmr::MAC_AX_LBC_TMR_512US 3165 * Please Place Description here. 3166 * @var mac_ax_lbc_tmr::MAC_AX_LBC_TMR_1MS 3167 * Please Place Description here. 3168 * @var mac_ax_lbc_tmr::MAC_AX_LBC_TMR_2MS 3169 * Please Place Description here. 3170 * @var mac_ax_lbc_tmr::MAC_AX_LBC_TMR_4MS 3171 * Please Place Description here. 3172 * @var mac_ax_lbc_tmr::MAC_AX_LBC_TMR_8MS 3173 * Please Place Description here. 3174 * @var mac_ax_lbc_tmr::MAC_AX_LBC_TMR_DEF 3175 * Please Place Description here. 3176 */ 3177 enum mac_ax_lbc_tmr { 3178 MAC_AX_LBC_TMR_8US = 0, 3179 MAC_AX_LBC_TMR_16US, 3180 MAC_AX_LBC_TMR_32US, 3181 MAC_AX_LBC_TMR_64US, 3182 MAC_AX_LBC_TMR_128US, 3183 MAC_AX_LBC_TMR_256US, 3184 MAC_AX_LBC_TMR_512US, 3185 MAC_AX_LBC_TMR_1MS, 3186 MAC_AX_LBC_TMR_2MS, 3187 MAC_AX_LBC_TMR_4MS, 3188 MAC_AX_LBC_TMR_8MS, 3189 MAC_AX_LBC_TMR_DEF = 0xFE 3190 }; 3191 3192 /** 3193 * @enum mac_ax_io_rcv_tmr 3194 * 3195 * @brief mac_ax_io_rcv_tmr 3196 * 3197 * @var mac_ax_lbc_tmr::MAC_AX_IO_RCV_ANA_TMR_200US 3198 * Please Place Description here. 3199 * @var mac_ax_lbc_tmr::MAC_AX_IO_RCV_ANA_TMR_300US 3200 * Please Place Description here. 3201 */ 3202 enum mac_ax_io_rcy_tmr { 3203 MAC_AX_IO_RCY_ANA_TMR_20US = 240, 3204 MAC_AX_IO_RCY_ANA_TMR_40US = 480, 3205 MAC_AX_IO_RCY_ANA_TMR_60US = 720, 3206 MAC_AX_IO_RCY_ANA_TMR_DEF = 0xFE 3207 }; 3208 3209 /*END need to check and move to other */ 3210 3211 /** 3212 * @enum mac_ax_edcca_sel 3213 * 3214 * @brief mac_ax_edcca_sel 3215 * 3216 * @var mac_ax_edcca_sel::MAC_AX_EDCCA_IN_TB_CHK 3217 * Please Place Description here. 3218 * @var mac_ax_edcca_sel::MAC_AX_EDCCA_IN_SIFS_CHK 3219 * Please Place Description here. 3220 * @var mac_ax_edcca_sel::MAC_AX_EDCCA_IN_CTN_CHK 3221 * Please Place Description here. 3222 * @var mac_ax_edcca_sel::MAC_AX_EDCCA_SEL_LAST 3223 * Please Place Description here. 3224 * @var mac_ax_edcca_sel::MAC_AX_EDCCA_SEL_MAX 3225 * Please Place Description here. 3226 * @var mac_ax_edcca_sel::MAC_AX_EDCCA_SEL_INVALID 3227 * Please Place Description here. 3228 */ 3229 enum mac_ax_edcca_sel { 3230 MAC_AX_EDCCA_IN_TB_CHK, 3231 MAC_AX_EDCCA_IN_SIFS_CHK, 3232 MAC_AX_EDCCA_IN_CTN_CHK, 3233 3234 /* keep last */ 3235 MAC_AX_EDCCA_SEL_LAST, 3236 MAC_AX_EDCCA_SEL_MAX = MAC_AX_EDCCA_SEL_LAST, 3237 MAC_AX_EDCCA_SEL_INVALID = MAC_AX_EDCCA_SEL_LAST, 3238 }; 3239 3240 /** 3241 * @enum mac_ax_chip_id 3242 * 3243 * @brief mac_ax_chip_id 3244 * 3245 * @var mac_ax_chip_id::MAC_AX_CHIP_ID_8852A 3246 * Please Place Description here. 3247 * @var mac_ax_chip_id::MAC_AX_CHIP_ID_8852B 3248 * Please Place Description here. 3249 * @var mac_ax_chip_id::MAC_AX_CHIP_ID_8852C 3250 * Please Place Description here. 3251 * @var mac_ax_chip_id::MAC_AX_CHIP_ID_LAST 3252 * Please Place Description here. 3253 * @var mac_ax_chip_id::MAC_AX_CHIP_ID_MAX 3254 * Please Place Description here. 3255 * @var mac_ax_chip_id::MAC_AX_CHIP_ID_INVALID 3256 * Please Place Description here. 3257 */ 3258 enum mac_ax_chip_id { 3259 MAC_AX_CHIP_ID_8852A = 0, 3260 MAC_AX_CHIP_ID_8852B, 3261 MAC_AX_CHIP_ID_8852C, 3262 MAC_AX_CHIP_ID_8192XB, 3263 3264 /* keep last */ 3265 MAC_AX_CHIP_ID_LAST, 3266 MAC_AX_CHIP_ID_MAX = MAC_AX_CHIP_ID_LAST, 3267 MAC_AX_CHIP_ID_INVALID = MAC_AX_CHIP_ID_LAST, 3268 }; 3269 3270 /** 3271 * @enum mac_ax_wdbk_mode 3272 * 3273 * @brief mac_ax_wdbk_mode 3274 * 3275 * @var mac_ax_wdbk_mode::MAC_AX_WDBK_MODE_SINGLE_BK 3276 * Please Place Description here. 3277 * @var mac_ax_wdbk_mode::MAC_AX_WDBK_MODE_GRP_BK 3278 * Please Place Description here. 3279 * @var mac_ax_wdbk_mode::MAC_AX_WDBK_MODE_LAST 3280 * Please Place Description here. 3281 * @var mac_ax_wdbk_mode::MAC_AX_WDBK_MODE_MAX 3282 * Please Place Description here. 3283 * @var mac_ax_wdbk_mode::MAC_AX_WDBK_MODE_INVALID 3284 * Please Place Description here. 3285 */ 3286 enum mac_ax_wdbk_mode { 3287 MAC_AX_WDBK_MODE_SINGLE_BK = 0, 3288 MAC_AX_WDBK_MODE_GRP_BK = 1, 3289 3290 /* keep last */ 3291 MAC_AX_WDBK_MODE_LAST, 3292 MAC_AX_WDBK_MODE_MAX = MAC_AX_WDBK_MODE_LAST, 3293 MAC_AX_WDBK_MODE_INVALID = MAC_AX_WDBK_MODE_LAST, 3294 }; 3295 3296 /** 3297 * @enum mac_ax_rty_bk_mode 3298 * 3299 * @brief mac_ax_rty_bk_mode 3300 * 3301 * @var mac_ax_rty_bk_mode::MAC_AX_RTY_BK_MODE_AGG 3302 * Please Place Description here. 3303 * @var mac_ax_rty_bk_mode::MAC_AX_RTY_BK_MODE_RATE_FB 3304 * Please Place Description here. 3305 * @var mac_ax_rty_bk_mode::MAC_AX_RTY_BK_MODE_BK 3306 * Please Place Description here. 3307 * @var mac_ax_rty_bk_mode::MAC_AX_RTY_BK_MODE_LAST 3308 * Please Place Description here. 3309 * @var mac_ax_rty_bk_mode::MAC_AX_RTY_BK_MODE_MAX 3310 * Please Place Description here. 3311 * @var mac_ax_rty_bk_mode::MAC_AX_RTY_BK_MODE_INVALID 3312 * Please Place Description here. 3313 */ 3314 enum mac_ax_rty_bk_mode { 3315 MAC_AX_RTY_BK_MODE_AGG = 0x0, 3316 MAC_AX_RTY_BK_MODE_RATE_FB = 0x1, 3317 MAC_AX_RTY_BK_MODE_BK = 0x2, 3318 3319 /* keep last */ 3320 MAC_AX_RTY_BK_MODE_LAST, 3321 MAC_AX_RTY_BK_MODE_MAX = MAC_AX_RTY_BK_MODE_LAST, 3322 MAC_AX_RTY_BK_MODE_INVALID = MAC_AX_RTY_BK_MODE_LAST, 3323 }; 3324 3325 /** 3326 * @enum mac_ax_ch_busy_cnt_ctrl 3327 * 3328 * @brief mac_ax_ch_busy_cnt_ctrl 3329 * 3330 * @var mac_ax_ch_busy_cnt_ctrl::MAC_AX_CH_BUSY_CNT_CTRL_CNT_REF 3331 * Please Place Description here. 3332 * @var mac_ax_ch_busy_cnt_ctrl::MAC_AX_CH_BUSY_CNT_CTRL_CNT_BUSY_RST 3333 * Please Place Description here. 3334 * @var mac_ax_ch_busy_cnt_ctrl::MAC_AX_CH_BUSY_CNT_CTRL_CNT_IDLE_RST 3335 * Please Place Description here. 3336 * @var mac_ax_ch_busy_cnt_ctrl::MAC_AX_CH_BUSY_CNT_CTRL_CNT_EN 3337 * Please Place Description here. 3338 * @var mac_ax_ch_busy_cnt_ctrl::MAC_AX_CH_BUSY_CNT_CTRL_CNT_DIS 3339 * Please Place Description here. 3340 * @var mac_ax_ch_busy_cnt_ctrl::MAC_AX_CH_BUSY_CNT_CTRL_LAST 3341 * Please Place Description here. 3342 * @var mac_ax_ch_busy_cnt_ctrl::MAC_AX_CH_BUSY_CNT_CTRL_MAX 3343 * Please Place Description here. 3344 * @var mac_ax_ch_busy_cnt_ctrl::MAC_AX_CH_BUSY_CNT_CTRL_INVALID 3345 * Please Place Description here. 3346 */ 3347 enum mac_ax_ch_busy_cnt_ctrl { 3348 MAC_AX_CH_BUSY_CNT_CTRL_CNT_REF, 3349 MAC_AX_CH_BUSY_CNT_CTRL_CNT_BUSY_RST, 3350 MAC_AX_CH_BUSY_CNT_CTRL_CNT_IDLE_RST, 3351 MAC_AX_CH_BUSY_CNT_CTRL_CNT_RST, 3352 MAC_AX_CH_BUSY_CNT_CTRL_CNT_EN, 3353 MAC_AX_CH_BUSY_CNT_CTRL_CNT_DIS, 3354 3355 /* keep last */ 3356 MAC_AX_CH_BUSY_CNT_CTRL_LAST, 3357 MAC_AX_CH_BUSY_CNT_CTRL_MAX = MAC_AX_CH_BUSY_CNT_CTRL_LAST, 3358 MAC_AX_CH_BUSY_CNT_CTRL_INVALID = MAC_AX_CH_BUSY_CNT_CTRL_LAST, 3359 }; 3360 3361 /** 3362 * @enum mac_ax_func_sw 3363 * 3364 * @brief mac_ax_func_sw 3365 * 3366 * @var mac_ax_func_sw::MAC_AX_FUNC_DIS 3367 * Please Place Description here. 3368 * @var mac_ax_func_sw::MAC_AX_FUNC_EN 3369 * Please Place Description here. 3370 * @var mac_ax_func_sw::MAC_AX_FUNC_DEF 3371 * Please Place Description here. 3372 */ 3373 enum mac_ax_func_sw { 3374 MAC_AX_FUNC_DIS = 0, 3375 MAC_AX_FUNC_EN, 3376 MAC_AX_FUNC_DEF 3377 }; 3378 3379 /** 3380 * @enum mac_ax_twt_nego_tp 3381 * 3382 * @brief mac_ax_twt_nego_tp 3383 * 3384 * @var mac_ax_twt_nego_tp::MAC_AX_TWT_NEGO_TP_IND 3385 * Please Place Description here. 3386 * @var mac_ax_twt_nego_tp::MAC_AX_TWT_NEGO_TP_WAKE 3387 * Please Place Description here. 3388 * @var mac_ax_twt_nego_tp::MAC_AX_TWT_NEGO_TP_BRC 3389 * Please Place Description here. 3390 * @var mac_ax_twt_nego_tp::MAC_AX_TWT_NEGO_TP_LAST 3391 * Please Place Description here. 3392 * @var mac_ax_twt_nego_tp::MAC_AX_TWT_NEGO_TP_MAX 3393 * Please Place Description here. 3394 * @var mac_ax_twt_nego_tp::MAC_AX_TWT_NEGO_TP_INVALID 3395 * Please Place Description here. 3396 */ 3397 enum mac_ax_twt_nego_tp { 3398 MAC_AX_TWT_NEGO_TP_IND, 3399 MAC_AX_TWT_NEGO_TP_WAKE, 3400 MAC_AX_TWT_NEGO_TP_BRC, 3401 3402 /* keep last */ 3403 MAC_AX_TWT_NEGO_TP_LAST, 3404 MAC_AX_TWT_NEGO_TP_MAX = MAC_AX_TWT_NEGO_TP_LAST, 3405 MAC_AX_TWT_NEGO_TP_INVALID = MAC_AX_TWT_NEGO_TP_LAST, 3406 }; 3407 3408 /** 3409 * @enum mac_ax_twt_act_tp 3410 * 3411 * @brief mac_ax_twt_act_tp 3412 * 3413 * @var mac_ax_twt_act_tp::MAC_AX_TWT_ACT_TP_ADD 3414 * Please Place Description here. 3415 * @var mac_ax_twt_act_tp::MAC_AX_TWT_ACT_TP_DEL 3416 * Please Place Description here. 3417 * @var mac_ax_twt_act_tp::MAC_AX_TWT_ACT_TP_MOD 3418 * Please Place Description here. 3419 * @var mac_ax_twt_act_tp::MAC_AX_TWT_ACT_TP_LAST 3420 * Please Place Description here. 3421 * @var mac_ax_twt_act_tp::MAC_AX_TWT_ACT_TP_MAX 3422 * Please Place Description here. 3423 * @var mac_ax_twt_act_tp::MAC_AX_TWT_ACT_TP_INVALID 3424 * Please Place Description here. 3425 */ 3426 enum mac_ax_twt_act_tp { 3427 MAC_AX_TWT_ACT_TP_ADD, 3428 MAC_AX_TWT_ACT_TP_DEL, 3429 MAC_AX_TWT_ACT_TP_MOD, 3430 3431 /* keep last */ 3432 MAC_AX_TWT_ACT_TP_LAST, 3433 MAC_AX_TWT_ACT_TP_MAX = MAC_AX_TWT_ACT_TP_LAST, 3434 MAC_AX_TWT_ACT_TP_INVALID = MAC_AX_TWT_ACT_TP_LAST, 3435 }; 3436 3437 /** 3438 * @enum mac_ax_twtact_act_tp 3439 * 3440 * @brief mac_ax_twtact_act_tp 3441 * 3442 * @var mac_ax_twtact_act_tp::MAC_AX_TWTACT_ACT_TP_ADD 3443 * Please Place Description here. 3444 * @var mac_ax_twtact_act_tp::MAC_AX_TWTACT_ACT_TP_DEL 3445 * Please Place Description here. 3446 * @var mac_ax_twtact_act_tp::MAC_AX_TWTACT_ACT_TP_TRMNT 3447 * Please Place Description here. 3448 * @var mac_ax_twtact_act_tp::MAC_AX_TWTACT_ACT_TP_SUS 3449 * Please Place Description here. 3450 * @var mac_ax_twtact_act_tp::MAC_AX_TWTACT_ACT_TP_RSUM 3451 * Please Place Description here. 3452 * @var mac_ax_twtact_act_tp::MAC_AX_TWTACT_ACT_TP_LAST 3453 * Please Place Description here. 3454 * @var mac_ax_twtact_act_tp::MAC_AX_TWTACT_ACT_TP_MAX 3455 * Please Place Description here. 3456 * @var mac_ax_twtact_act_tp::MAC_AX_TWTACT_ACT_TP_INVALID 3457 * Please Place Description here. 3458 */ 3459 enum mac_ax_twtact_act_tp { 3460 MAC_AX_TWTACT_ACT_TP_ADD, 3461 MAC_AX_TWTACT_ACT_TP_DEL, 3462 MAC_AX_TWTACT_ACT_TP_TRMNT, 3463 MAC_AX_TWTACT_ACT_TP_SUS, 3464 MAC_AX_TWTACT_ACT_TP_RSUM, 3465 3466 /* keep last */ 3467 MAC_AX_TWTACT_ACT_TP_LAST, 3468 MAC_AX_TWTACT_ACT_TP_MAX = MAC_AX_TWTACT_ACT_TP_LAST, 3469 MAC_AX_TWTACT_ACT_TP_INVALID = MAC_AX_TWTACT_ACT_TP_LAST, 3470 }; 3471 3472 /** 3473 * @enum mac_ax_twt_waitanno_tp 3474 * 3475 * @brief mac_ax_twt_waitanno_tp 3476 * 3477 * @var mac_ax_twt_waitanno_tp::MAC_AX_TWT_ANNOWAIT_DIS_MACID 3478 * Please Place Description here. 3479 * @var mac_ax_twt_waitanno_tp::MAC_AX_TWT_ANNOWAIT_EN_MACID 3480 * Please Place Description here. 3481 */ 3482 enum mac_ax_twt_waitanno_tp { 3483 MAC_AX_TWT_ANNOWAIT_DIS_MACID, 3484 MAC_AX_TWT_ANNOWAIT_EN_MACID, 3485 }; 3486 3487 /** 3488 * @enum mac_ax_tsf_sync_act 3489 * 3490 * @brief mac_ax_tsf_sync_act 3491 * 3492 * @var mac_ax_tsf_sync_act::MAC_AX_TSF_SYNC_NOW_ONCE 3493 * Please Place Description here. 3494 * @var mac_ax_tsf_sync_act::MAC_AX_TSF_EN_SYNC_AUTO 3495 * Please Place Description here. 3496 * @var mac_ax_tsf_sync_act::MAC_AX_TSF_DIS_SYNC_AUTO 3497 * Please Place Description here. 3498 */ 3499 enum mac_ax_tsf_sync_act { 3500 MAC_AX_TSF_SYNC_NOW_ONCE, 3501 MAC_AX_TSF_EN_SYNC_AUTO, 3502 MAC_AX_TSF_DIS_SYNC_AUTO 3503 }; 3504 3505 /** 3506 * @enum mac_ax_slot_time 3507 * 3508 * @brief mac_ax_slot_time 3509 * 3510 * @var mac_ax_slot_time::MAC_AX_SLOT_TIME_BAND0_9US 3511 * Please Place Description here. 3512 * @var mac_ax_slot_time::MAC_AX_SLOT_TIME_BAND0_20US 3513 * Please Place Description here. 3514 * @var mac_ax_slot_time::MAC_AX_SLOT_TIME_BAND1_9US 3515 * Please Place Description here. 3516 * @var mac_ax_slot_time::MAC_AX_SLOT_TIME_BAND1_20US 3517 * Please Place Description here. 3518 */ 3519 enum mac_ax_slot_time { 3520 MAC_AX_SLOT_TIME_BAND0_9US, 3521 MAC_AX_SLOT_TIME_BAND0_20US, 3522 MAC_AX_SLOT_TIME_BAND1_9US, 3523 MAC_AX_SLOT_TIME_BAND1_20US, 3524 }; 3525 3526 /*------------------------Define HCI related enum ----------------------------*/ 3527 3528 /** 3529 * @enum mac_ax_pcie_func_ctrl 3530 * 3531 * @brief mac_ax_pcie_func_ctrl 3532 * 3533 * @var mac_ax_pcie_func_ctrl::MAC_AX_PCIE_DISABLE 3534 * Please Place Description here. 3535 * @var mac_ax_pcie_func_ctrl::MAC_AX_PCIE_ENABLE 3536 * Please Place Description here. 3537 * @var mac_ax_pcie_func_ctrl::MAC_AX_PCIE_DEFAULT 3538 * Please Place Description here. 3539 * @var mac_ax_pcie_func_ctrl::MAC_AX_PCIE_IGNORE 3540 * Please Place Description here. 3541 */ 3542 enum mac_ax_pcie_func_ctrl { 3543 MAC_AX_PCIE_DISABLE = 0, 3544 MAC_AX_PCIE_ENABLE = 1, 3545 MAC_AX_PCIE_DEFAULT = 0xFE, 3546 MAC_AX_PCIE_IGNORE = 0xFF 3547 }; 3548 3549 /** 3550 * @enum mac_ax_pcie_clkdly 3551 * 3552 * @brief mac_ax_pcie_clkdly 3553 * 3554 * @var mac_ax_pcie_clkdly::MAC_AX_PCIE_CLKDLY_0 3555 * Please Place Description here. 3556 * @var mac_ax_pcie_clkdly::MAC_AX_PCIE_CLKDLY_5US 3557 * Please Place Description here. 3558 * @var mac_ax_pcie_clkdly::MAC_AX_PCIE_CLKDLY_6US 3559 * Please Place Description here. 3560 * @var mac_ax_pcie_clkdly::MAC_AX_PCIE_CLKDLY_11US 3561 * Please Place Description here. 3562 * @var mac_ax_pcie_clkdly::MAC_AX_PCIE_CLKDLY_15US 3563 * Please Place Description here. 3564 * @var mac_ax_pcie_clkdly::MAC_AX_PCIE_CLKDLY_19US 3565 * Please Place Description here. 3566 * @var mac_ax_pcie_clkdly::MAC_AX_PCIE_CLKDLY_25US 3567 * Please Place Description here. 3568 * @var mac_ax_pcie_clkdly::MAC_AX_PCIE_CLKDLY_30US 3569 * Please Place Description here. 3570 * @var mac_ax_pcie_clkdly::MAC_AX_PCIE_CLKDLY_38US 3571 * Please Place Description here. 3572 * @var mac_ax_pcie_clkdly::MAC_AX_PCIE_CLKDLY_50US 3573 * Please Place Description here. 3574 * @var mac_ax_pcie_clkdly::MAC_AX_PCIE_CLKDLY_64US 3575 * Please Place Description here. 3576 * @var mac_ax_pcie_clkdly::MAC_AX_PCIE_CLKDLY_100US 3577 * Please Place Description here. 3578 * @var mac_ax_pcie_clkdly::MAC_AX_PCIE_CLKDLY_128US 3579 * Please Place Description here. 3580 * @var mac_ax_pcie_clkdly::MAC_AX_PCIE_CLKDLY_150US 3581 * Please Place Description here. 3582 * @var mac_ax_pcie_clkdly::MAC_AX_PCIE_CLKDLY_192US 3583 * Please Place Description here. 3584 * @var mac_ax_pcie_clkdly::MAC_AX_PCIE_CLKDLY_200US 3585 * Please Place Description here. 3586 * @var mac_ax_pcie_clkdly::MAC_AX_PCIE_CLKDLY_300US 3587 * Please Place Description here. 3588 * @var mac_ax_pcie_clkdly::MAC_AX_PCIE_CLKDLY_400US 3589 * Please Place Description here. 3590 * @var mac_ax_pcie_clkdly::MAC_AX_PCIE_CLKDLY_500US 3591 * Please Place Description here. 3592 * @var mac_ax_pcie_clkdly::MAC_AX_PCIE_CLKDLY_1MS 3593 * Please Place Description here. 3594 * @var mac_ax_pcie_clkdly::MAC_AX_PCIE_CLKDLY_3MS 3595 * Please Place Description here. 3596 * @var mac_ax_pcie_clkdly::MAC_AX_PCIE_CLKDLY_5MS 3597 * Please Place Description here. 3598 * @var mac_ax_pcie_clkdly::MAC_AX_PCIE_CLKDLY_10MS 3599 * Please Place Description here. 3600 * @var mac_ax_pcie_clkdly::MAC_AX_PCIE_CLKDLY_R_ERR 3601 * Please Place Description here. 3602 * @var mac_ax_pcie_clkdly::MAC_AX_PCIE_CLKDLY_DEF 3603 * Please Place Description here. 3604 * @var mac_ax_pcie_clkdly::MAC_AX_PCIE_CLKDLY_IGNORE 3605 * Please Place Description here. 3606 */ 3607 enum mac_ax_pcie_clkdly { 3608 MAC_AX_PCIE_CLKDLY_0 = 0, 3609 MAC_AX_PCIE_CLKDLY_5US = 1, 3610 MAC_AX_PCIE_CLKDLY_6US = 2, 3611 MAC_AX_PCIE_CLKDLY_11US = 3, 3612 MAC_AX_PCIE_CLKDLY_15US = 4, 3613 MAC_AX_PCIE_CLKDLY_19US = 5, 3614 MAC_AX_PCIE_CLKDLY_25US = 6, 3615 MAC_AX_PCIE_CLKDLY_30US = 7, 3616 MAC_AX_PCIE_CLKDLY_38US = 8, 3617 MAC_AX_PCIE_CLKDLY_50US = 9, 3618 MAC_AX_PCIE_CLKDLY_64US = 10, 3619 MAC_AX_PCIE_CLKDLY_100US = 11, 3620 MAC_AX_PCIE_CLKDLY_128US = 12, 3621 MAC_AX_PCIE_CLKDLY_150US = 13, 3622 MAC_AX_PCIE_CLKDLY_192US = 14, 3623 MAC_AX_PCIE_CLKDLY_200US = 15, 3624 MAC_AX_PCIE_CLKDLY_300US = 16, 3625 MAC_AX_PCIE_CLKDLY_400US = 17, 3626 MAC_AX_PCIE_CLKDLY_500US = 18, 3627 MAC_AX_PCIE_CLKDLY_1MS = 19, 3628 MAC_AX_PCIE_CLKDLY_3MS = 20, 3629 MAC_AX_PCIE_CLKDLY_5MS = 21, 3630 MAC_AX_PCIE_CLKDLY_10MS = 22, 3631 MAC_AX_PCIE_CLKDLY_R_ERR = 0xFD, 3632 MAC_AX_PCIE_CLKDLY_DEF = 0xFE, 3633 MAC_AX_PCIE_CLKDLY_IGNORE = 0xFF 3634 }; 3635 3636 /** 3637 * @enum mac_ax_rx_ch 3638 * 3639 * @brief mac_ax_rx_ch 3640 * 3641 * @var mac_ax_rx_ch::MAC_AX_RX_CH_RXQ 3642 * Please Place Description here. 3643 * @var mac_ax_rx_ch::MAC_AX_RX_CH_RPQ 3644 * Please Place Description here. 3645 * @var mac_ax_rx_ch::MAC_AX_RX_CH_NUM 3646 * Please Place Description here. 3647 */ 3648 enum mac_ax_rx_ch { 3649 MAC_AX_RX_CH_RXQ = 0, 3650 MAC_AX_RX_CH_RPQ, 3651 MAC_AX_RX_CH_NUM 3652 }; 3653 3654 /** 3655 * @enum mac_ax_pcie_l1dly 3656 * 3657 * @brief mac_ax_pcie_l1dly 3658 * 3659 * @var mac_ax_pcie_l1dly::MAC_AX_PCIE_L1DLY_16US 3660 * Please Place Description here. 3661 * @var mac_ax_pcie_l1dly::MAC_AX_PCIE_L1DLY_32US 3662 * Please Place Description here. 3663 * @var mac_ax_pcie_l1dly::MAC_AX_PCIE_L1DLY_64US 3664 * Please Place Description here. 3665 * @var mac_ax_pcie_l1dly::MAC_AX_PCIE_L1DLY_INFI 3666 * Please Place Description here. 3667 * @var mac_ax_pcie_l1dly::MAC_AX_PCIE_L1DLY_R_ERR 3668 * Please Place Description here. 3669 * @var mac_ax_pcie_l1dly::MAC_AX_PCIE_L1DLY_DEF 3670 * Please Place Description here. 3671 * @var mac_ax_pcie_l1dly::MAC_AX_PCIE_L1DLY_IGNORE 3672 * Please Place Description here. 3673 */ 3674 enum mac_ax_pcie_l1dly { 3675 MAC_AX_PCIE_L1DLY_16US = 0, 3676 MAC_AX_PCIE_L1DLY_32US = 1, 3677 MAC_AX_PCIE_L1DLY_64US = 2, 3678 MAC_AX_PCIE_L1DLY_INFI = 3, 3679 MAC_AX_PCIE_L1DLY_R_ERR = 0xFD, 3680 MAC_AX_PCIE_L1DLY_DEF = 0xFE, 3681 MAC_AX_PCIE_L1DLY_IGNORE = 0xFF 3682 }; 3683 3684 /** 3685 * @enum mac_ax_pcie_l0sdly 3686 * 3687 * @brief mac_ax_pcie_l0sdly 3688 * 3689 * @var mac_ax_pcie_l0sdly::MAC_AX_PCIE_L0SDLY_1US 3690 * Please Place Description here. 3691 * @var mac_ax_pcie_l0sdly::MAC_AX_PCIE_L0SDLY_2US 3692 * Please Place Description here. 3693 * @var mac_ax_pcie_l0sdly::MAC_AX_PCIE_L0SDLY_3US 3694 * Please Place Description here. 3695 * @var mac_ax_pcie_l0sdly::MAC_AX_PCIE_L0SDLY_4US 3696 * Please Place Description here. 3697 * @var mac_ax_pcie_l0sdly::MAC_AX_PCIE_L0SDLY_5US 3698 * Please Place Description here. 3699 * @var mac_ax_pcie_l0sdly::MAC_AX_PCIE_L0SDLY_6US 3700 * Please Place Description here. 3701 * @var mac_ax_pcie_l0sdly::MAC_AX_PCIE_L0SDLY_7US 3702 * Please Place Description here. 3703 * @var mac_ax_pcie_l0sdly::MAC_AX_PCIE_L0SDLY_R_ERR 3704 * Please Place Description here. 3705 * @var mac_ax_pcie_l0sdly::MAC_AX_PCIE_L0SDLY_DEF 3706 * Please Place Description here. 3707 * @var mac_ax_pcie_l0sdly::MAC_AX_PCIE_L0SDLY_IGNORE 3708 * Please Place Description here. 3709 */ 3710 enum mac_ax_pcie_l0sdly { 3711 MAC_AX_PCIE_L0SDLY_1US = 0, 3712 MAC_AX_PCIE_L0SDLY_2US = 1, 3713 MAC_AX_PCIE_L0SDLY_3US = 2, 3714 MAC_AX_PCIE_L0SDLY_4US = 3, 3715 MAC_AX_PCIE_L0SDLY_5US = 4, 3716 MAC_AX_PCIE_L0SDLY_6US = 5, 3717 MAC_AX_PCIE_L0SDLY_7US = 6, 3718 MAC_AX_PCIE_L0SDLY_R_ERR = 0xFD, 3719 MAC_AX_PCIE_L0SDLY_DEF = 0xFE, 3720 MAC_AX_PCIE_L0SDLY_IGNORE = 0xFF 3721 }; 3722 3723 /** 3724 * @enum mac_ax_pcie_ltr_spc 3725 * 3726 * @brief mac_ax_pcie_ltr_spc 3727 * 3728 * @var mac_ax_pcie_ltr_spc::MAC_AX_PCIE_LTR_SPC_10US 3729 * Please Place Description here. 3730 * @var mac_ax_pcie_ltr_spc::MAC_AX_PCIE_LTR_SPC_100US 3731 * Please Place Description here. 3732 * @var mac_ax_pcie_ltr_spc::MAC_AX_PCIE_LTR_SPC_500US 3733 * Please Place Description here. 3734 * @var mac_ax_pcie_ltr_spc::MAC_AX_PCIE_LTR_SPC_1MS 3735 * Please Place Description here. 3736 * @var mac_ax_pcie_ltr_spc::MAC_AX_PCIE_LTR_SPC_R_ERR 3737 * Please Place Description here. 3738 * @var mac_ax_pcie_ltr_spc::MAC_AX_PCIE_LTR_SPC_DEF 3739 * Please Place Description here. 3740 * @var mac_ax_pcie_ltr_spc::MAC_AX_PCIE_LTR_SPC_IGNORE 3741 * Please Place Description here. 3742 */ 3743 enum mac_ax_pcie_ltr_spc { 3744 MAC_AX_PCIE_LTR_SPC_10US = 0, 3745 MAC_AX_PCIE_LTR_SPC_100US = 1, 3746 MAC_AX_PCIE_LTR_SPC_500US = 2, 3747 MAC_AX_PCIE_LTR_SPC_1MS = 3, 3748 MAC_AX_PCIE_LTR_SPC_R_ERR = 0xFD, 3749 MAC_AX_PCIE_LTR_SPC_DEF = 0xFE, 3750 MAC_AX_PCIE_LTR_SPC_IGNORE = 0xFF 3751 }; 3752 3753 /** 3754 * @enum mac_ax_pcie_ltr_idle_timer 3755 * 3756 * @brief mac_ax_pcie_ltr_idle_timer 3757 * 3758 * @var mac_ax_pcie_ltr_idle_timer::MAC_AX_PCIE_LTR_IDLE_TIMER_1US 3759 * Please Place Description here. 3760 * @var mac_ax_pcie_ltr_idle_timer::MAC_AX_PCIE_LTR_IDLE_TIMER_10US 3761 * Please Place Description here. 3762 * @var mac_ax_pcie_ltr_idle_timer::MAC_AX_PCIE_LTR_IDLE_TIMER_100US 3763 * Please Place Description here. 3764 * @var mac_ax_pcie_ltr_idle_timer::MAC_AX_PCIE_LTR_IDLE_TIMER_200US 3765 * Please Place Description here. 3766 * @var mac_ax_pcie_ltr_idle_timer::MAC_AX_PCIE_LTR_IDLE_TIMER_400US 3767 * Please Place Description here. 3768 * @var mac_ax_pcie_ltr_idle_timer::MAC_AX_PCIE_LTR_IDLE_TIMER_800US 3769 * Please Place Description here. 3770 * @var mac_ax_pcie_ltr_idle_timer::MAC_AX_PCIE_LTR_IDLE_TIMER_1_6MS 3771 * Please Place Description here. 3772 * @var mac_ax_pcie_ltr_idle_timer::MAC_AX_PCIE_LTR_IDLE_TIMER_3_2MS 3773 * Please Place Description here. 3774 * @var mac_ax_pcie_ltr_idle_timer::MAC_AX_PCIE_LTR_IDLE_TIMER_R_ERR 3775 * Please Place Description here. 3776 * @var mac_ax_pcie_ltr_idle_timer::MAC_AX_PCIE_LTR_IDLE_TIMER_DEF 3777 * Please Place Description here. 3778 * @var mac_ax_pcie_ltr_idle_timer::MAC_AX_PCIE_LTR_IDLE_TIMER_IGNORE 3779 * Please Place Description here. 3780 */ 3781 enum mac_ax_pcie_ltr_idle_timer { 3782 MAC_AX_PCIE_LTR_IDLE_TIMER_1US = 0, 3783 MAC_AX_PCIE_LTR_IDLE_TIMER_10US = 1, 3784 MAC_AX_PCIE_LTR_IDLE_TIMER_100US = 2, 3785 MAC_AX_PCIE_LTR_IDLE_TIMER_200US = 3, 3786 MAC_AX_PCIE_LTR_IDLE_TIMER_400US = 4, 3787 MAC_AX_PCIE_LTR_IDLE_TIMER_800US = 5, 3788 MAC_AX_PCIE_LTR_IDLE_TIMER_1_6MS = 6, 3789 MAC_AX_PCIE_LTR_IDLE_TIMER_3_2MS = 7, 3790 MAC_AX_PCIE_LTR_IDLE_TIMER_R_ERR = 0xFD, 3791 MAC_AX_PCIE_LTR_IDLE_TIMER_DEF = 0xFE, 3792 MAC_AX_PCIE_LTR_IDLE_TIMER_IGNORE = 0xFF 3793 }; 3794 3795 /** 3796 * @enum mac_ax_pcie_ltr_sw_ctrl 3797 * 3798 * @brief mac_ax_pcie_ltr_sw_ctrl 3799 * 3800 * @var mac_ax_pcie_ltr_sw_ctrl::MAC_AX_PCIE_LTR_SW_ACT 3801 * Please Place Description here. 3802 * @var mac_ax_pcie_ltr_sw_ctrl::MAC_AX_PCIE_LTR_SW_IDLE 3803 * Please Place Description here. 3804 */ 3805 enum mac_ax_pcie_ltr_sw_ctrl { 3806 MAC_AX_PCIE_LTR_SW_ACT, 3807 MAC_AX_PCIE_LTR_SW_IDLE 3808 }; 3809 3810 /** 3811 * @enum mac_ax_sdio_clk_mon 3812 * 3813 * @brief mac_ax_sdio_clk_mon 3814 * 3815 * @var mac_ax_sdio_clk_mon::MAC_AX_SDIO_CLK_MON_SHORT 3816 * Please Place Description here. 3817 * @var mac_ax_sdio_clk_mon::MAC_AX_SDIO_CLK_MON_LONG 3818 * Please Place Description here. 3819 * @var mac_ax_sdio_clk_mon::MAC_AX_SDIO_CLK_MON_USER_DEFINE 3820 * Please Place Description here. 3821 * @var mac_ax_sdio_clk_mon::MAC_AX_SDIO_CLK_MON_LAST 3822 * Please Place Description here. 3823 * @var mac_ax_sdio_clk_mon::MAC_AX_SDIO_CLK_MON_MAX 3824 * Please Place Description here. 3825 * @var mac_ax_sdio_clk_mon::MAC_AX_SDIO_CLK_MON_INVALID 3826 * Please Place Description here. 3827 */ 3828 enum mac_ax_sdio_clk_mon { 3829 MAC_AX_SDIO_CLK_MON_SHORT, 3830 MAC_AX_SDIO_CLK_MON_LONG, 3831 MAC_AX_SDIO_CLK_MON_USER_DEFINE, 3832 3833 /* keep last */ 3834 MAC_AX_SDIO_CLK_MON_LAST, 3835 MAC_AX_SDIO_CLK_MON_MAX = MAC_AX_SDIO_CLK_MON_LAST, 3836 MAC_AX_SDIO_CLK_MON_INVALID = MAC_AX_SDIO_CLK_MON_LAST, 3837 }; 3838 3839 /** 3840 * @enum mac_ax_rx_ppdu_type 3841 * 3842 * @brief mac_ax_rx_ppdu_type 3843 * 3844 * @var mac_ax_rx_ppdu_type::MAC_AX_RX_CCK 3845 * Please Place Description here. 3846 * @var mac_ax_rx_ppdu_type::MAC_AX_RX_OFDM 3847 * Please Place Description here. 3848 * @var mac_ax_rx_ppdu_type::MAC_AX_RX_HT 3849 * Please Place Description here. 3850 * @var mac_ax_rx_ppdu_type::MAC_AX_RX_VHT_SU 3851 * Please Place Description here. 3852 * @var mac_ax_rx_ppdu_type::MAC_AX_RX_VHT_MU 3853 * Please Place Description here. 3854 * @var mac_ax_rx_ppdu_type::MAC_AX_RX_HE_SU 3855 * Please Place Description here. 3856 * @var mac_ax_rx_ppdu_type::MAC_AX_RX_HE_MU 3857 * Please Place Description here. 3858 * @var mac_ax_rx_ppdu_type::MAC_AX_RX_HE_TB 3859 * Please Place Description here. 3860 * @var mac_ax_rx_ppdu_type::MAC_AX_RX_PPDU_LAST 3861 * Please Place Description here. 3862 * @var mac_ax_rx_ppdu_type::MAC_AX_RX_PPDU_MAX 3863 * Please Place Description here. 3864 * @var mac_ax_rx_ppdu_type::MAC_AX_RX_PPDU_INVLAID 3865 * Please Place Description here. 3866 */ 3867 enum mac_ax_rx_ppdu_type { 3868 MAC_AX_RX_CCK, 3869 MAC_AX_RX_OFDM, 3870 MAC_AX_RX_HT, 3871 MAC_AX_RX_VHT_SU, 3872 MAC_AX_RX_VHT_MU, 3873 MAC_AX_RX_HE_SU, 3874 MAC_AX_RX_HE_MU, 3875 MAC_AX_RX_HE_TB, 3876 3877 MAC_AX_RX_PPDU_LAST, 3878 MAC_AX_RX_PPDU_MAX = MAC_AX_RX_PPDU_LAST, 3879 MAC_AX_RX_PPDU_INVLAID = MAC_AX_RX_PPDU_LAST, 3880 }; 3881 3882 /** 3883 * @enum mac_ax_net_type 3884 * 3885 * @brief mac_ax_net_type 3886 * 3887 * @var mac_ax_net_type::MAC_AX_NET_TYPE_NO_LINK 3888 * Please Place Description here. 3889 * @var mac_ax_net_type::MAC_AX_NET_TYPE_ADHOC 3890 * Please Place Description here. 3891 * @var mac_ax_net_type::MAC_AX_NET_TYPE_INFRA 3892 * Please Place Description here. 3893 * @var mac_ax_net_type::MAC_AX_NET_TYPE_AP 3894 * Please Place Description here. 3895 */ 3896 enum mac_ax_net_type { 3897 MAC_AX_NET_TYPE_NO_LINK, 3898 MAC_AX_NET_TYPE_ADHOC, 3899 MAC_AX_NET_TYPE_INFRA, 3900 MAC_AX_NET_TYPE_AP, 3901 3902 MAC_AX_NET_TYPE_LAST, 3903 MAC_AX_NET_TYPE_MAX = MAC_AX_NET_TYPE_LAST, 3904 MAC_AX_NET_TYPE_INVLAID = MAC_AX_NET_TYPE_LAST, 3905 }; 3906 3907 /** 3908 * @enum mac_ax_disable_rf_func 3909 * 3910 * @brief mac_ax_disable_rf_func 3911 * 3912 * @var mac_ax_disable_rf_func::MAC_AX_DISABLE_RF_FUNC_FBVR 3913 * Please Place Description here. 3914 * @var mac_ax_disable_rf_func::MAC_AX_DISABLE_RF_FUNC_MAX 3915 * Please Place Description here. 3916 */ 3917 enum mac_ax_disable_rf_func { 3918 MAC_AX_DISABLE_RF_FUNC_FBVR, 3919 MAC_AX_DISABLE_RF_FUNC_MAX 3920 }; 3921 3922 /** 3923 * @enum mac_ax_self_role 3924 * 3925 * @brief mac_ax_self_role 3926 * 3927 * @var mac_ax_self_role::MAC_AX_SELF_ROLE_CLIENT 3928 * Please Place Description here. 3929 * @var mac_ax_self_role::MAC_AX_SELF_ROLE_AP 3930 * Please Place Description here. 3931 * @var mac_ax_self_role::MAC_AX_SELF_ROLE_AP_CLIENT 3932 * Please Place Description here. 3933 */ 3934 enum mac_ax_self_role { 3935 MAC_AX_SELF_ROLE_CLIENT, 3936 MAC_AX_SELF_ROLE_AP, 3937 MAC_AX_SELF_ROLE_AP_CLIENT 3938 }; 3939 3940 /** 3941 * @enum mac_ax_wifi_role 3942 * 3943 * @brief mac_ax_wifi_role 3944 * 3945 * @var mac_ax_wifi_role::MAC_AX_WIFI_ROLE_NONE 3946 * Please Place Description here. 3947 * @var mac_ax_wifi_role::MAC_AX_WIFI_ROLE_STATION 3948 * Please Place Description here. 3949 * @var mac_ax_wifi_role::MAC_AX_WIFI_ROLE_AP 3950 * Please Place Description here. 3951 * @var mac_ax_wifi_role::MAC_AX_WIFI_ROLE_VAP 3952 * Please Place Description here. 3953 * @var mac_ax_wifi_role::MAC_AX_WIFI_ROLE_ADHOC 3954 * Please Place Description here. 3955 * @var mac_ax_wifi_role::MAC_AX_WIFI_ROLE_ADHOC_MASTER 3956 * Please Place Description here. 3957 * @var mac_ax_wifi_role::MAC_AX_WIFI_ROLE_MESH 3958 * Please Place Description here. 3959 * @var mac_ax_wifi_role::MAC_AX_WIFI_ROLE_MONITOR 3960 * Please Place Description here. 3961 * @var mac_ax_wifi_role::MAC_AX_WIFI_ROLE_P2P_DEVICE 3962 * Please Place Description here. 3963 * @var mac_ax_wifi_role::MAC_AX_WIFI_ROLE_P2P_GC 3964 * Please Place Description here. 3965 * @var mac_ax_wifi_role::MAC_AX_WIFI_ROLE_P2P_GO 3966 * Please Place Description here. 3967 * @var mac_ax_wifi_role::MAC_AX_WIFI_ROLE_NAN 3968 * Please Place Description here. 3969 * @var mac_ax_wifi_role::MAC_AX_WIFI_ROLE_MLME_MAX 3970 * Please Place Description here. 3971 */ 3972 enum mac_ax_wifi_role { 3973 MAC_AX_WIFI_ROLE_NONE, 3974 MAC_AX_WIFI_ROLE_STATION, 3975 MAC_AX_WIFI_ROLE_AP, 3976 MAC_AX_WIFI_ROLE_VAP, 3977 MAC_AX_WIFI_ROLE_ADHOC, 3978 MAC_AX_WIFI_ROLE_ADHOC_MASTER, 3979 MAC_AX_WIFI_ROLE_MESH, 3980 MAC_AX_WIFI_ROLE_MONITOR, 3981 MAC_AX_WIFI_ROLE_P2P_DEVICE, 3982 MAC_AX_WIFI_ROLE_P2P_GC, 3983 MAC_AX_WIFI_ROLE_P2P_GO, 3984 MAC_AX_WIFI_ROLE_NAN, 3985 MAC_AX_WIFI_ROLE_MLME_MAX 3986 }; 3987 3988 /** 3989 * @enum mac_ax_opmode 3990 * 3991 * @brief mac_ax_opmode 3992 * 3993 * @var mac_ax_opmode::MAC_AX_ROLE_CONNECT 3994 * Please Place Description here. 3995 * @var mac_ax_opmode::MAC_AX_ROLE_DISCONN 3996 * Please Place Description here. 3997 */ 3998 enum mac_ax_opmode { 3999 MAC_AX_ROLE_CONNECT, 4000 MAC_AX_ROLE_DISCONN 4001 }; 4002 4003 /** 4004 * @enum mac_ax_upd_mode 4005 * 4006 * @brief mac_ax_upd_mode 4007 * 4008 * @var mac_ax_upd_mode::MAC_AX_ROLE_CREATE 4009 * Please Place Description here. 4010 * @var mac_ax_upd_mode::MAC_AX_ROLE_REMOVE 4011 * Please Place Description here. 4012 * @var mac_ax_upd_mode::MAC_AX_ROLE_TYPE_CHANGE 4013 * Please Place Description here. 4014 * @var mac_ax_upd_mode::MAC_AX_ROLE_INFO_CHANGE 4015 * Please Place Description here. 4016 * @var mac_ax_upd_mode::MAC_AX_ROLE_CON_DISCONN 4017 * Please Place Description here. 4018 * @var mac_ax_upd_mode::MAC_AX_ROLE_BAND_SW 4019 * Please Place Description here. 4020 * @var mac_ax_upd_mode::MAC_AX_ROLE_FW_RESTORE 4021 * Please Place Description here. 4022 */ 4023 enum mac_ax_upd_mode { 4024 MAC_AX_ROLE_CREATE, 4025 MAC_AX_ROLE_REMOVE, 4026 MAC_AX_ROLE_TYPE_CHANGE, 4027 MAC_AX_ROLE_INFO_CHANGE, 4028 MAC_AX_ROLE_CON_DISCONN, 4029 MAC_AX_ROLE_BAND_SW, 4030 MAC_AX_ROLE_FW_RESTORE, 4031 }; 4032 4033 /** 4034 * @enum mac_ax_host_rpr_mode 4035 * 4036 * @brief mac_ax_host_rpr_mode 4037 * 4038 * @var mac_ax_host_rpr_mode::MAC_AX_RPR_MODE_POH 4039 * Please Place Description here. 4040 * @var mac_ax_host_rpr_mode::MAC_AX_RPR_MODE_STF 4041 * Please Place Description here. 4042 */ 4043 enum mac_ax_host_rpr_mode { 4044 MAC_AX_RPR_MODE_POH = 0, 4045 MAC_AX_RPR_MODE_STF 4046 }; 4047 4048 #ifndef CONFIG_FW_IO_OFLD_SUPPORT 4049 /** 4050 * @enum rtw_mac_src_cmd_ofld 4051 * 4052 * @brief rtw_mac_src_cmd_ofld 4053 * 4054 * @var rtw_mac_src_cmd_ofld::MAC_AX_BB_CMD_OFLD 4055 * Please Place Description here. 4056 * @var rtw_mac_src_cmd_ofld::MAC_AX_RF_CMD_OFLD 4057 * Please Place Description here. 4058 * @var rtw_mac_src_cmd_ofld::MAC_AX_MAC_CMD_OFLD 4059 * Please Place Description here. 4060 * @var rtw_mac_src_cmd_ofld::MAC_AX_OTHER_CMD_OFLD 4061 * Please Place Description here. 4062 */ 4063 enum rtw_mac_src_cmd_ofld { 4064 RTW_MAC_BB_CMD_OFLD = 0, 4065 RTW_MAC_RF_CMD_OFLD, 4066 RTW_MAC_MAC_CMD_OFLD, 4067 RTW_MAC_OTHER_CMD_OFLD 4068 }; 4069 4070 /** 4071 * @enum rtw_mac_cmd_type_ofld 4072 * 4073 * @brief rtw_mac_cmd_type_ofld 4074 * 4075 * @var rtw_mac_cmd_type_ofld::MAC_AX_WRITE_OFLD 4076 * Please Place Description here. 4077 * @var rtw_mac_cmd_type_ofld::MAC_AX_POLLING_OFLD 4078 * Please Place Description here. 4079 * @var rtw_mac_cmd_type_ofld::MAC_AX_DELAY_OFLD 4080 * Please Place Description here. 4081 */ 4082 enum rtw_mac_cmd_type_ofld { 4083 RTW_MAC_WRITE_OFLD = 0, 4084 RTW_MAC_COMPARE_OFLD, 4085 RTW_MAC_DELAY_OFLD 4086 }; 4087 4088 /** 4089 * @enum mac_ax_cmd_id 4090 * 4091 * @brief mac_ax_cmd_id 4092 * 4093 * @var mac_ax_host_rpr_mode::MAC_AX_ID_0 4094 * Please Place Description here. 4095 * @var mac_ax_host_rpr_mode::MAC_AX_ID_1 4096 * Please Place Description here. 4097 */ 4098 enum mac_ax_cmd_id { 4099 MAC_AX_ID_0 = 0, 4100 MAC_AX_ID_1 4101 }; 4102 4103 /** 4104 * @enum rtw_mac_rf_path 4105 * 4106 * @brief rtw_mac_rf_path 4107 * 4108 * @var rtw_mac_rf_path::RF_PATH_A 4109 * Please Place Description here. 4110 * @var rtw_mac_rf_path::RF_PATH_B 4111 * Please Place Description here. 4112 * @var rtw_mac_rf_path::RF_PATH_C 4113 * Please Place Description here. 4114 * @var rtw_mac_rf_path::RF_PATH_D 4115 * Please Place Description here. 4116 */ 4117 enum rtw_mac_rf_path { 4118 RTW_MAC_RF_PATH_A = 0, //Radio Path A 4119 RTW_MAC_RF_PATH_B, //Radio Path B 4120 RTW_MAC_RF_PATH_C, //Radio Path C 4121 RTW_MAC_RF_PATH_D, //Radio Path D 4122 }; 4123 4124 enum rtw_fw_cap { 4125 FW_CAP_IO_OFLD = BIT(0), 4126 }; 4127 4128 #endif 4129 4130 /** 4131 * @struct mac_ax_role_opmode 4132 * @brief mac_ax_role_opmode 4133 * 4134 * @var mac_ax_role_opmode::ADD 4135 * Please Place Description here. 4136 * @var mac_ax_role_opmode::CHG 4137 * Please Place Description here. 4138 * @var mac_ax_role_opmode::RMV 4139 * Please Place Description here. 4140 */ 4141 enum mac_ax_role_opmode { 4142 ADD = 0, 4143 CHG, 4144 RMV 4145 }; 4146 4147 /** 4148 * @enum mac_ax_dbcc_wmm 4149 * 4150 * @brief mac_ax_dbcc_wmm 4151 * 4152 * @var mac_ax_dbcc_wmm::MAC_AX_DBCC_WMM0 4153 * Please Place Description here. 4154 * @var mac_ax_dbcc_wmm::MAC_AX_DBCC_WMM1 4155 * Please Place Description here. 4156 * @var mac_ax_dbcc_wmm::MAC_AX_DBCC_WMM2 4157 * Please Place Description here. 4158 * @var mac_ax_dbcc_wmm::MAC_AX_DBCC_WMM3 4159 * Please Place Description here. 4160 * @var mac_ax_dbcc_wmm::MAC_AX_DBCC_WMM_LAST 4161 * Please Place Description here. 4162 * @var mac_ax_dbcc_wmm::MAC_AX_DBCC_WMM_MAX 4163 * Please Place Description here. 4164 * @var mac_ax_dbcc_wmm::MAC_AX_DBCC_WMM_INVALID 4165 * Please Place Description here. 4166 */ 4167 enum mac_ax_dbcc_wmm { 4168 MAC_AX_DBCC_WMM0 = 0, 4169 MAC_AX_DBCC_WMM1, 4170 MAC_AX_DBCC_WMM2, 4171 MAC_AX_DBCC_WMM3, 4172 4173 MAC_AX_DBCC_WMM_LAST, 4174 MAC_AX_DBCC_WMM_MAX = MAC_AX_DBCC_WMM_LAST, 4175 MAC_AX_DBCC_WMM_INVALID = MAC_AX_DBCC_WMM_LAST, 4176 }; 4177 4178 /*--------------------Define FAST_CH_SW related enum-------------------------------------*/ 4179 /** 4180 * @struct mac_ax_fast_ch_sw_status_code 4181 * @brief mac_ax_fast_ch_sw_status_code 4182 * 4183 * @var mac_ax_fast_ch_sw_status_code::MAC_AX_FAST_CH_SW_STATUS_OK 4184 * FAST_CH_SW done without error 4185 * @var mac_ax_fast_ch_sw_status_code::MAC_AX_FAST_CH_SW_STATUS_PART_MALLOC_FAIL 4186 * fail when malloc pkt for part of stas 4187 * @var mac_ax_fast_ch_sw_status_code::MAC_AX_FAST_CH_SW_STATUS_ALL_MALLOC_FAIL 4188 * fail when malloc pkt for all of stas 4189 * @var mac_ax_fast_ch_sw_status_code::MAC_AX_FAST_CH_SW_STATUS_PART_READOFLD_FAIL 4190 * fail when reading offloaded pkt for part of stas 4191 * @var mac_ax_fast_ch_sw_status_code::MAC_AX_FAST_CH_SW_STATUS_ALL_READOFLD_FAIL 4192 * fail when reading offloaded pkt for all of stas 4193 * @var mac_ax_fast_ch_sw_status_code::MAC_AX_FAST_CH_SW_STATUS_PART_SENDPKT_FAIL 4194 * fail when sending pkt to part of stas 4195 * @var mac_ax_fast_ch_sw_status_code::MAC_AX_FAST_CH_SW_STATUS_ALL_SENDPKT_FAIL 4196 * fail when sending pkt to all of stas 4197 * @var mac_ax_fast_ch_sw_status_code::MAC_AX_FAST_CH_SW_STATUS_PART_NO_ACK 4198 * not receiving ack from part of stas 4199 * @var mac_ax_fast_ch_sw_status_code::MAC_AX_FAST_CH_SW_STATUS_ALL_NO_ACK 4200 * not receiving ack from all of stas 4201 * @var mac_ax_fast_ch_sw_status_code::MAC_AX_FAST_CH_SW_STATUS_SWITCH_CH_FAIL 4202 * AP fail to switch channel 4203 * @var mac_ax_fast_ch_sw_status_code::MAC_AX_FAST_CH_SW_STATUS_RF_PARAM_ERR 4204 * AP fail to restore RF params 4205 * @var mac_ax_fast_ch_sw_status_code::MAC_AX_FAST_CH_SW_STATUS_MAX 4206 * Please Place Description here. 4207 */ 4208 enum mac_ax_fast_ch_sw_status_code { 4209 MAC_AX_FAST_CH_SW_STATUS_OK = 0, 4210 MAC_AX_FAST_CH_SW_STATUS_PART_MALLOC_FAIL = 1, 4211 MAC_AX_FAST_CH_SW_STATUS_ALL_MALLOC_FAIL = 2, 4212 MAC_AX_FAST_CH_SW_STATUS_PART_READOFLD_FAIL = 3, 4213 MAC_AX_FAST_CH_SW_STATUS_ALL_READOFLD_FAIL = 4, 4214 MAC_AX_FAST_CH_SW_STATUS_PART_SENDPKT_FAIL = 5, 4215 MAC_AX_FAST_CH_SW_STATUS_ALL_SENDPKT_FAIL = 6, 4216 MAC_AX_FAST_CH_SW_STATUS_PART_NO_ACK = 7, 4217 MAC_AX_FAST_CH_SW_STATUS_ALL_NO_ACK = 8, 4218 MAC_AX_FAST_CH_SW_STATUS_SWITCH_CH_FAIL = 9, 4219 MAC_AX_FAST_CH_SW_STATUS_RF_PARAM_ERR = 10, 4220 MAC_AX_FAST_CH_SW_STATUS_MAX 4221 }; 4222 4223 enum mac_ax_fw_state { 4224 FS_SLEEP_IN = 0x10, 4225 FS_ERRHDL_IN = 0x11, 4226 FS_ASSERT_IN = 0x12, 4227 FS_EXCEP_IN = 0x13, 4228 FS_L2ERR_IN = 0x14, 4229 FS_L2ERR_CPU_IN = 0x15,//CPU address hole 4230 FS_L2ERR_HCI_IN = 0x16,//HCI timeout 4231 FS_L2ERR_ELSE_IN = 0x17, 4232 FS_WOW_FWDL_IN = 0x18, 4233 4234 FS_SLEEP_OUT = 0x80, 4235 FS_ERRHDL_OUT = 0x81, 4236 FS_ASSERT_OUT = 0x82, 4237 //rsvd: 0xFFFFFF83 4238 FS_L2ERR_OUT = 0x84, 4239 4240 // Defeature 4241 FS_DEFEA_RXNSS = 0xEA01, 4242 FS_DEFEA_BW5 = 0xEA02, 4243 FS_DEFEA_BW10 = 0xEA03, 4244 FS_DEFEA_BW20 = 0xEA04, 4245 FS_DEFEA_BW40 = 0xEA05, 4246 FS_DEFEA_BW80 = 0xEA06, 4247 FS_DEFEA_BW160 = 0xEA07, 4248 FS_DEFEA_TXNSS = 0xEA08, 4249 FS_DEFEA_PTCL = 0xEA09, 4250 FS_DEFEA_DBLABORT = 0xEA0A, 4251 }; 4252 4253 enum mac_ax_dev2hst_gpio { 4254 MAC_AX_DEV2HST_GPIO_OUTPUT = 0, 4255 MAC_AX_DEV2HST_GPIO_INPUT = 1, 4256 MAC_AX_DEV2HST_GPIO_MAX 4257 }; 4258 4259 enum mac_ax_dev2hst_active { 4260 MAC_AX_DEV2HST_LOW_ACTIVE = 0, 4261 MAC_AX_DEV2HST_HIGH_ACTIVE = 1, 4262 MAC_AX_DEV2HST_ACTIVE_MAX 4263 }; 4264 4265 enum mac_ax_dev2hst_toggle_pulse { 4266 MAC_AX_DEV2HST_TOGGLE = 0, 4267 MAC_AX_DEV2HST_PULSE = 1, 4268 MAC_AX_DEV2HST_TOGGLE_PULSE_MAX 4269 }; 4270 4271 enum mac_ax_dev2hst_time_unit { 4272 MAC_AX_DEV2HST_US = 0, 4273 MAC_AX_DEV2HST_MS = 1, 4274 MAC_AX_DEV2HST_TIME_UNIT_MAX 4275 }; 4276 4277 /** 4278 * @enum h2c_buf_class 4279 * 4280 * @brief h2c_buf_class 4281 * 4282 * @var h2c_buf_class::H2CB_CLASS_CMD 4283 * Please Place Description here. 4284 * @var h2c_buf_class::H2CB_CLASS_DATA 4285 * Please Place Description here. 4286 * @var h2c_buf_class::H2CB_CLASS_LONG_DATA 4287 * Please Place Description here. 4288 * @var h2c_buf_class::H2CB_CLASS_LAST 4289 * Please Place Description here. 4290 * @var h2c_buf_class::H2CB_CLASS_MAX 4291 * Please Place Description here. 4292 * @var h2c_buf_class::H2CB_CLASS_INVALID 4293 * Please Place Description here. 4294 */ 4295 enum h2c_buf_class { 4296 H2CB_CLASS_CMD, /* FW command */ 4297 H2CB_CLASS_DATA, /* FW command + data */ 4298 H2CB_CLASS_LONG_DATA, /* FW command + long data */ 4299 4300 /* keep last */ 4301 H2CB_CLASS_LAST, 4302 H2CB_CLASS_MAX = H2CB_CLASS_LAST, 4303 H2CB_CLASS_INVALID = H2CB_CLASS_LAST, 4304 }; 4305 4306 /*--------------------Define Power Saving related enum-------------------------------------*/ 4307 /** 4308 * @enum mac_ax_listern_bcn_mode 4309 * 4310 * @brief mac_ax_listern_bcn_mode 4311 * 4312 * @var mac_ax_listern_bcn_mode::MAC_AX_RLBM_MIN 4313 * Please Place Description here. 4314 * @var mac_ax_listern_bcn_mode::MAC_AX_RLBM_MAX 4315 * Please Place Description here. 4316 * @var mac_ax_listern_bcn_mode::MAC_AX_RLBM_USERDEFINE 4317 * Please Place Description here. 4318 */ 4319 enum mac_ax_listern_bcn_mode { 4320 MAC_AX_RLBM_MIN = 0, 4321 MAC_AX_RLBM_MAX = 1, 4322 MAC_AX_RLBM_USERDEFINE = 2, 4323 }; 4324 4325 /** 4326 * @enum mac_ax_smart_ps_mode 4327 * 4328 * @brief mac_ax_smart_ps_mode 4329 * 4330 * @var mac_ax_smart_ps_mode::MAC_AX_SMART_PS_MODE_LEGACY_PWR1 4331 * Please Place Description here. 4332 * @var mac_ax_smart_ps_mode::MAC_AX_SMART_PS_MODE_TRX_PWR0 4333 * Please Place Description here. 4334 */ 4335 enum mac_ax_smart_ps_mode { 4336 MAC_AX_SMART_PS_MODE_LEGACY_PWR1 = 0, 4337 MAC_AX_SMART_PS_MODE_TRX_PWR0 = 1, 4338 }; 4339 4340 /** 4341 * @enum mac_ax_ps_advance_parm_op 4342 * 4343 * @brief mac_ax_ps_advance_parm_op 4344 * 4345 * @var mac_ax_ps_advance_parm_op::PS_ADVANCE_PARM_OP_NO_CHANGE 4346 * Please Place Description here. 4347 * @var mac_ax_ps_advance_parm_op::PS_ADVANCE_PARM_OP_SET 4348 * Please Place Description here. 4349 * @var mac_ax_ps_advance_parm_op::PS_ADVANCE_PARM_OP_DEFAULT 4350 * Please Place Description here. 4351 */ 4352 enum mac_ax_ps_advance_parm_op{ 4353 PS_ADVANCE_PARM_OP_NO_CHANGE = 0, 4354 PS_ADVANCE_PARM_OP_SET = 1, 4355 PS_ADVANCE_PARM_OP_DEFAULT = 2, 4356 }; 4357 4358 /** 4359 * @struct mac_ax_scanofld_notify_reason 4360 * @brief mac_ax_scanofld_notify_reason 4361 * 4362 * @var mac_ax_scanofld_notify_reason::MAC_AX_SCAN_DWELL_NOTIFY 4363 * channel dwell due to rcv bcn 4364 * @var mac_ax_scanofld_notify_reason::MAC_AX_SCAN_PRE_TX_NOTIFY 4365 * before tx pkt 4366 * @var mac_ax_scanofld_notify_reason::MAC_AX_SCAN_POST_TX_NOTIFY 4367 * after tx pkt 4368 * @var mac_ax_scanofld_notify_reason::MAC_AX_SCAN_ENTER_CH_NOTIFY 4369 * enter ch 4370 * @var mac_ax_scanofld_notify_reason::MAC_AX_SCAN_LEAVE_CH_NOTIFY 4371 * leace ch 4372 * @var mac_ax_scanofld_notify_reason::MAC_AX_SCAN_END_SCAN_NOTIFY 4373 * scan stop 4374 */ 4375 enum mac_ax_scanofld_notify_reason { 4376 MAC_AX_SCAN_DWELL_NOTIFY = 0, 4377 MAC_AX_SCAN_PRE_TX_NOTIFY = 1, 4378 MAC_AX_SCAN_POST_TX_NOTIFY = 2, 4379 MAC_AX_SCAN_ENTER_CH_NOTIFY = 3, 4380 MAC_AX_SCAN_LEAVE_CH_NOTIFY = 4, 4381 MAC_AX_SCAN_END_SCAN_NOTIFY = 5, 4382 }; 4383 4384 /** 4385 * @struct mac_ax_scan_ofld_op 4386 * @brief mac_ax_scan_ofld_op 4387 * 4388 * @var mac_ax_scan_ofld_op::MAC_AX_SCAN_OP_STOP 4389 * stop scan 4390 * @var mac_ax_scan_ofld_op::MAC_AX_SCAN_OP_START 4391 * start scan 4392 * @var mac_ax_scan_ofld_op::MAC_AX_SCAN_OP_SETPARM 4393 * set parameter only 4394 * @var mac_ax_scan_ofld_op::MAC_AX_SCAN_OP_MAX 4395 * max 4396 */ 4397 enum mac_ax_scan_ofld_op { 4398 MAC_AX_SCAN_OP_STOP = 0, 4399 MAC_AX_SCAN_OP_START = 1, 4400 MAC_AX_SCAN_OP_SETPARM = 2, 4401 MAC_AX_SCAN_OP_MAX 4402 }; 4403 4404 /** 4405 * @struct mac_ax_scan_ofld_scantype 4406 * @brief mac_ax_scan_ofld_scantype 4407 * 4408 * @var mac_ax_scan_ofld_scantype::MAC_AX_SCAN_TYPE_SCANONCE 4409 * scan once 4410 * @var mac_ax_scan_ofld_scantype::MAC_AX_SCAN_TYPE_NORMAL 4411 * repeat. period=normal pd 4412 * @var mac_ax_scan_ofld_scantype::MAC_AX_SCAN_TYPE_NORMAL_SLOW 4413 * repeat. normal pd * normal cycle + slow pd 4414 * @var mac_ax_scan_ofld_scantype::MAC_AX_SCAN_TYPE_SEAMLESS 4415 * repeat seamless 4416 * @var mac_ax_scan_ofld_scantype::MAC_AX_SCAN_TYPE_MAX 4417 * max 4418 */ 4419 enum mac_ax_scan_ofld_scantype { 4420 MAC_AX_SCAN_TYPE_SCANONCE = 0, 4421 MAC_AX_SCAN_TYPE_NORMAL = 1, 4422 MAC_AX_SCAN_TYPE_NORMAL_SLOW = 2, 4423 MAC_AX_SCAN_TYPE_SEAMLESS = 3, 4424 MAC_AX_SCAN_TYPE_MAX 4425 }; 4426 4427 /** 4428 * @struct mac_ax_scanofld_start_mode 4429 * @brief mac_ax_scanofld_start_mode 4430 * 4431 * @var mac_ax_scanofld_start_mode::MAC_AX_SCAN_START_NOW 4432 * start now 4433 * @var mac_ax_scanofld_start_mode::MAC_AX_SCAN_START_TSF 4434 * start at assigned tsf 4435 * @var mac_ax_scanofld_start_mode::MAC_AX_SCAN_START_MAX 4436 * max 4437 */ 4438 enum mac_ax_scanofld_start_mode { 4439 MAC_AX_SCAN_START_NOW = 0, 4440 MAC_AX_SCAN_START_TSF = 1, 4441 MAC_AX_SCAN_START_MAX 4442 }; 4443 4444 /** 4445 * @enum mac_ax_dma_ch 4446 * 4447 * @brief mac_ax_dma_ch 4448 * 4449 * @var mac_ax_dma_ch::MAC_AX_DMA_ACH0 4450 * Please Place Description here. 4451 * @var mac_ax_dma_ch::MAC_AX_DMA_ACH1 4452 * Please Place Description here. 4453 * @var mac_ax_dma_ch::MAC_AX_DMA_ACH2 4454 * Please Place Description here. 4455 * @var mac_ax_dma_ch::MAC_AX_DMA_ACH3 4456 * Please Place Description here. 4457 * @var mac_ax_dma_ch::MAC_AX_DMA_ACH4 4458 * Please Place Description here. 4459 * @var mac_ax_dma_ch::MAC_AX_DMA_ACH5 4460 * Please Place Description here. 4461 * @var mac_ax_dma_ch::MAC_AX_DMA_ACH6 4462 * Please Place Description here. 4463 * @var mac_ax_dma_ch::MAC_AX_DMA_ACH7 4464 * Please Place Description here. 4465 * @var mac_ax_dma_ch::MAC_AX_DMA_B0MG 4466 * Please Place Description here. 4467 * @var mac_ax_dma_ch::MAC_AX_DMA_B0HI 4468 * Please Place Description here. 4469 * @var mac_ax_dma_ch::MAC_AX_DMA_B1MG 4470 * Please Place Description here. 4471 * @var mac_ax_dma_ch::MAC_AX_DMA_B1HI 4472 * Please Place Description here. 4473 * @var mac_ax_dma_ch::MAC_AX_DMA_H2C 4474 * Please Place Description here. 4475 * @var mac_ax_dma_ch::MAC_AX_DMA_CH_NUM 4476 * Please Place Description here. 4477 */ 4478 enum mac_ax_dma_ch { 4479 MAC_AX_DMA_ACH0 = 0, 4480 MAC_AX_DMA_ACH1, 4481 MAC_AX_DMA_ACH2, 4482 MAC_AX_DMA_ACH3, 4483 MAC_AX_DMA_ACH4, 4484 MAC_AX_DMA_ACH5, 4485 MAC_AX_DMA_ACH6, 4486 MAC_AX_DMA_ACH7, 4487 MAC_AX_DMA_B0MG, 4488 MAC_AX_DMA_B0HI, 4489 MAC_AX_DMA_B1MG, 4490 MAC_AX_DMA_B1HI, 4491 MAC_AX_DMA_H2C, 4492 MAC_AX_DMA_CH_NUM 4493 }; 4494 4495 /** 4496 * @enum mac_ax_bcn_fltr_notify 4497 * 4498 * @brief mac_ax_bcn_fltr_notify 4499 * 4500 * @var mac_ax_bcn_fltr_notify::BCNFLTR_NOTI_BCN_LOSS 4501 * Please Place Description here. 4502 * @var mac_ax_bcn_fltr_notify::BCNFLTR_NOTI_RSSI 4503 * Please Place Description here. 4504 * @var mac_ax_bcn_fltr_notify::BCNFLTR_NOTI_DENY_SCAN 4505 * Please Place Description here. 4506 */ 4507 enum mac_ax_bcn_fltr_notify { 4508 BCNFLTR_NOTI_BCN_LOSS = 0, 4509 BCNFLTR_NOTI_RSSI, 4510 BCNFLTR_NOTI_DENY_SCAN, 4511 BCNFLTR_NOTI_MAX, 4512 }; 4513 4514 /** 4515 * @enum mac_ax_bcn_fltr_rssi_evt 4516 * 4517 * @brief mac_ax_bcn_fltr_rssi_evt 4518 * 4519 * @var mac_ax_bcn_fltr_rssi_evt::BCNFLTR_RSSI_EVT_NOT_CHANGED 4520 * Please Place Description here. 4521 * @var mac_ax_bcn_fltr_rssi_evt::BCNFLTR_RSSI_EVT_HIGH 4522 * Please Place Description here. 4523 * @var mac_ax_bcn_fltr_rssi_evt::BCNFLTR_RSSI_EVT_LOW 4524 * Please Place Description here. 4525 */ 4526 enum mac_ax_bcn_fltr_rssi_evt { 4527 BCNFLTR_RSSI_EVT_NOT_CHANGED = 0, 4528 BCNFLTR_RSSI_EVT_HIGH, 4529 BCNFLTR_RSSI_EVT_LOW, 4530 BCNFLTR_RSSI_EVT_MAX, 4531 }; 4532 4533 /** 4534 * @enum mac_ax_bcn_fltr_tp_thld 4535 * 4536 * @brief mac_ax_bcn_fltr_tp_thld 4537 * 4538 * @var mac_ax_bcn_fltr_tp_thld::BCNFLTR_TP_THLD_1M 4539 * Please Place Description here. 4540 * @var mac_ax_bcn_fltr_tp_thld::BCNFLTR_TP_THLD_3M 4541 * Please Place Description here. 4542 * @var mac_ax_bcn_fltr_tp_thld::BCNFLTR_TP_THLD_10M 4543 * Please Place Description here. 4544 * @var mac_ax_bcn_fltr_tp_thld::BCNFLTR_TP_THLD_50M 4545 * Please Place Description here. 4546 */ 4547 enum mac_ax_bcn_fltr_tp_thld { 4548 BCNFLTR_TP_THLD_1M = 0, 4549 BCNFLTR_TP_THLD_3M, 4550 BCNFLTR_TP_THLD_10M, 4551 BCNFLTR_TP_THLD_50M, 4552 BCNFLTR_TP_THLD_MAX 4553 }; 4554 4555 /*--------------------Define Struct-------------------------------------*/ 4556 4557 /** 4558 * @struct mac_ax_sch_tx_en 4559 * @brief mac_ax_sch_tx_en 4560 * 4561 * @var mac_ax_sch_tx_en::be0 4562 * Please Place Description here. 4563 * @var mac_ax_sch_tx_en::bk0 4564 * Please Place Description here. 4565 * @var mac_ax_sch_tx_en::vi0 4566 * Please Place Description here. 4567 * @var mac_ax_sch_tx_en::vo0 4568 * Please Place Description here. 4569 * @var mac_ax_sch_tx_en::be1 4570 * Please Place Description here. 4571 * @var mac_ax_sch_tx_en::bk1 4572 * Please Place Description here. 4573 * @var mac_ax_sch_tx_en::vi1 4574 * Please Place Description here. 4575 * @var mac_ax_sch_tx_en::vo1 4576 * Please Place Description here. 4577 * @var mac_ax_sch_tx_en::mg0 4578 * Please Place Description here. 4579 * @var mac_ax_sch_tx_en::mg1 4580 * Please Place Description here. 4581 * @var mac_ax_sch_tx_en::mg2 4582 * Please Place Description here. 4583 * @var mac_ax_sch_tx_en::hi 4584 * Please Place Description here. 4585 * @var mac_ax_sch_tx_en::bcn 4586 * Please Place Description here. 4587 * @var mac_ax_sch_tx_en::ul 4588 * Please Place Description here. 4589 * @var mac_ax_sch_tx_en::twt0 4590 * Please Place Description here. 4591 * @var mac_ax_sch_tx_en::twt1 4592 * Please Place Description here. 4593 */ 4594 struct mac_ax_sch_tx_en { 4595 u8 be0:1; 4596 u8 bk0:1; 4597 u8 vi0:1; 4598 u8 vo0:1; 4599 u8 be1:1; 4600 u8 bk1:1; 4601 u8 vi1:1; 4602 u8 vo1:1; 4603 u8 mg0:1; 4604 u8 mg1:1; 4605 u8 mg2:1; 4606 u8 hi:1; 4607 u8 bcn:1; 4608 u8 ul:1; 4609 u8 twt0:1; 4610 u8 twt1:1; 4611 }; 4612 4613 /** 4614 * @struct mac_ax_hw_info 4615 * @brief mac_ax_hw_info 4616 * 4617 * @var mac_ax_hw_info::done 4618 * Please Place Description here. 4619 * @var mac_ax_hw_info::chip_id 4620 * Please Place Description here. 4621 * @var mac_ax_hw_info::cv 4622 * Please Place Description here. 4623 * @var mac_ax_hw_info::intf 4624 * Please Place Description here. 4625 * @var mac_ax_hw_info::tx_ch_num 4626 * Please Place Description here. 4627 * @var mac_ax_hw_info::tx_data_ch_num 4628 * Please Place Description here. 4629 * @var mac_ax_hw_info::wd_body_len 4630 * Please Place Description here. 4631 * @var mac_ax_hw_info::wd_info_len 4632 * Please Place Description here. 4633 * @var mac_ax_hw_info::pwr_on_seq 4634 * Please Place Description here. 4635 * @var mac_ax_hw_info::pwr_off_seq 4636 * Please Place Description here. 4637 * @var mac_ax_hw_info::pwr_seq_ver 4638 * Please Place Description here. 4639 * @var mac_ax_hw_info::fifo_size 4640 * Please Place Description here. 4641 * @var mac_ax_hw_info::macid_num 4642 * Please Place Description here. 4643 * @var mac_ax_hw_info::bssid_num 4644 * Please Place Description here. 4645 * @var mac_ax_hw_info::wl_efuse_size 4646 * Please Place Description here. 4647 * @var mac_ax_hw_info::efuse_size 4648 * Please Place Description here. 4649 * @var mac_ax_hw_info::log_efuse_size 4650 * Please Place Description here. 4651 * @var mac_ax_hw_info::limit_efuse_size_pcie 4652 * Please Place Description here. 4653 * @var mac_ax_hw_info::limit_efuse_size_usb 4654 * Please Place Description here. 4655 * @var mac_ax_hw_info::limit_efuse_size_sdio 4656 * Please Place Description here. 4657 * @var mac_ax_hw_info::bt_efuse_size 4658 * Please Place Description here. 4659 * @var mac_ax_hw_info::bt_log_efuse_size 4660 * Please Place Description here. 4661 * @var mac_ax_hw_info::hidden_efuse_size 4662 * Please Place Description here. 4663 * @var mac_ax_hw_info::sec_ctrl_efuse_size 4664 * Please Place Description here. 4665 * @var mac_ax_hw_info::sec_data_efuse_size 4666 * Please Place Description here. 4667 * @var mac_ax_hw_info::sec_cam_table 4668 * Please Place Description here. 4669 * @var mac_ax_hw_info::ple_rsvd_space 4670 * Please Place Description here. 4671 * @var mac_ax_hw_info::payload_desc_size 4672 * Please Place Description here. 4673 * @var mac_ax_hw_info::wd_checksum_en 4674 * Please Place Description here. 4675 * @var mac_ax_hw_info::sw_amsdu_max_size 4676 * Please Place Description here. 4677 * @var mac_ax_hw_info::core_swr_volt 4678 * Please Place Description here. 4679 * @var mac_ax_hw_info::core_swr_volt_sel 4680 * Please Place Description here. 4681 */ 4682 struct mac_ax_hw_info { 4683 u8 done; 4684 u8 chip_id; 4685 u8 cv; 4686 enum mac_ax_intf intf; 4687 u8 tx_ch_num; 4688 u8 tx_data_ch_num; 4689 u8 wd_body_len; 4690 u8 wd_info_len; 4691 struct mac_pwr_cfg **pwr_on_seq; 4692 struct mac_pwr_cfg **pwr_off_seq; 4693 u8 pwr_seq_ver; 4694 u32 fifo_size; 4695 u16 macid_num; 4696 u8 port_num; 4697 u8 mbssid_num; 4698 u8 bssid_num; 4699 u32 wl_efuse_size; 4700 u32 efuse_size; 4701 u32 log_efuse_size; 4702 u32 limit_efuse_size_pcie; 4703 u32 limit_efuse_size_usb; 4704 u32 limit_efuse_size_sdio; 4705 u32 bt_efuse_size; 4706 u32 bt_log_efuse_size; 4707 u8 hidden_efuse_size; 4708 u32 sec_ctrl_efuse_size; 4709 u32 sec_data_efuse_size; 4710 struct sec_cam_table_t *sec_cam_table; 4711 struct sec_cam_table_t *sec_cam_table_bk; 4712 u8 ple_rsvd_space; 4713 u8 payload_desc_size; 4714 u8 efuse_version_size; 4715 u32 dav_full_efuse_size; 4716 u32 dav_efuse_size; 4717 u32 dav_hidden_efuse_size; 4718 u32 dav_log_efuse_size; 4719 u32 wl_efuse_start_addr; 4720 u32 dav_efuse_start_addr; 4721 u32 bt_efuse_start_addr; 4722 u8 wd_checksum_en; 4723 u32 sw_amsdu_max_size; 4724 u32 (*pwr_on)(void *vadapter); 4725 u32 (*pwr_off)(void *vadapter); 4726 u32 ind_aces_cnt; 4727 u32 dbg_port_cnt; 4728 u8 core_swr_volt; 4729 enum mac_ax_core_swr_volt core_swr_volt_sel; 4730 mac_ax_mutex ind_access_lock; 4731 mac_ax_mutex lte_rlock; 4732 mac_ax_mutex lte_wlock; 4733 mac_ax_mutex dbg_port_lock; 4734 mac_ax_mutex err_set_lock; 4735 mac_ax_mutex err_get_lock; 4736 mac_ax_mutex dbi_lock; 4737 mac_ax_mutex mdio_lock; 4738 }; 4739 4740 /** 4741 * @struct mac_ax_fw_info 4742 * @brief mac_ax_fw_info 4743 * 4744 * @var mac_ax_fw_info::major_ver 4745 * Please Place Description here. 4746 * @var mac_ax_fw_info::minor_ver 4747 * Please Place Description here. 4748 * @var mac_ax_fw_info::sub_ver 4749 * Please Place Description here. 4750 * @var mac_ax_fw_info::sub_idx 4751 * Please Place Description here. 4752 * @var mac_ax_fw_info::build_year 4753 * Please Place Description here. 4754 * @var mac_ax_fw_info::build_mon 4755 * Please Place Description here. 4756 * @var mac_ax_fw_info::build_date 4757 * Please Place Description here. 4758 * @var mac_ax_fw_info::build_hour 4759 * Please Place Description here. 4760 * @var mac_ax_fw_info::build_min 4761 * Please Place Description here. 4762 * @var mac_ax_fw_info::h2c_seq 4763 * Please Place Description here. 4764 * @var mac_ax_fw_info::rec_seq 4765 * Please Place Description here. 4766 * @var mac_ax_fw_info::seq_lock 4767 * Please Place Description here. 4768 */ 4769 struct mac_ax_fw_info { 4770 u8 major_ver; 4771 u8 minor_ver; 4772 u8 sub_ver; 4773 u8 sub_idx; 4774 u16 build_year; 4775 u16 build_mon; 4776 u16 build_date; 4777 u16 build_hour; 4778 u16 build_min; 4779 u8 h2c_seq; 4780 u8 rec_seq; 4781 mac_ax_mutex seq_lock; 4782 mac_ax_mutex msg_reg; 4783 }; 4784 4785 /** 4786 * @struct mac_ax_h2c_agg_node 4787 * @brief mac_ax_h2c_agg_node 4788 * 4789 * @var mac_ax_h2c_agg_node::next 4790 * Please Place Description here. 4791 * @var mac_ax_h2c_agg_node::h2c_pkt 4792 * Please Place Description here. 4793 */ 4794 struct mac_ax_h2c_agg_node { 4795 struct mac_ax_h2c_agg_node *next; 4796 u8 *h2c_pkt; 4797 }; 4798 4799 /** 4800 * @struct mac_ax_h2c_agg_info 4801 * @brief mac_ax_h2c_agg_info 4802 * 4803 * @var mac_ax_h2c_agg_info::h2c_agg_en 4804 * Please Place Description here. 4805 * @var mac_ax_h2c_agg_info::h2c_agg_pkt_num 4806 * Please Place Description here. 4807 * @var mac_ax_h2c_agg_info::h2c_agg_queue_head 4808 * Please Place Description here. 4809 * @var mac_ax_h2c_agg_info::h2c_agg_queue_last 4810 * Please Place Description here. 4811 * @var mac_ax_h2c_agg_info::h2c_agg_lock 4812 * Please Place Description here. 4813 */ 4814 struct mac_ax_h2c_agg_info { 4815 u8 h2c_agg_en; 4816 u32 h2c_agg_pkt_num; 4817 struct mac_ax_h2c_agg_node *h2c_agg_queue_head; 4818 struct mac_ax_h2c_agg_node *h2c_agg_queue_last; 4819 mac_ax_mutex h2c_agg_lock; 4820 }; 4821 4822 /** 4823 * @struct mac_ax_mac_pwr_info 4824 * @brief mac_ax_mac_pwr_info 4825 * 4826 * @var mac_ax_mac_pwr_info::pwr_seq_proc 4827 * Please Place Description here. 4828 * @var mac_ax_mac_pwr_info::pwr_in_lps 4829 * Please Place Description here. 4830 * @var mac_ax_mac_pwr_info::intf_pwr_switch 4831 * Please Place Description here. 4832 */ 4833 struct mac_ax_mac_pwr_info { 4834 u8 pwr_seq_proc; 4835 u8 pwr_in_lps; 4836 u32 (*intf_pwr_switch)(void *vadapter, 4837 u8 pre_switch, u8 on); 4838 }; 4839 4840 /** 4841 * @struct mac_ax_ft_status 4842 * @brief mac_ax_ft_status 4843 * 4844 * @var mac_ax_ft_status::mac_ft 4845 * Please Place Description here. 4846 * @var mac_ax_ft_status::status 4847 * Please Place Description here. 4848 * @var mac_ax_ft_status::buf 4849 * Please Place Description here. 4850 * @var mac_ax_ft_status::size 4851 * Please Place Description here. 4852 */ 4853 struct mac_ax_ft_status { 4854 enum mac_ax_feature mac_ft; 4855 enum mac_ax_status status; 4856 u8 *buf; 4857 u32 size; 4858 }; 4859 4860 /** 4861 * @struct mac_ax_dle_info 4862 * @brief mac_ax_dle_info 4863 * 4864 * @var mac_ax_dle_info::qta_mode 4865 * Please Place Description here. 4866 * @var mac_ax_dle_info::wde_pg_size 4867 * Please Place Description here. 4868 * @var mac_ax_dle_info::ple_pg_size 4869 * Please Place Description here. 4870 * @var mac_ax_dle_info::c0_rx_qta 4871 * Please Place Description here. 4872 * @var mac_ax_dle_info::c1_rx_qta 4873 * Please Place Description here. 4874 */ 4875 struct mac_ax_dle_info { 4876 enum mac_ax_qta_mode qta_mode; 4877 u16 wde_pg_size; 4878 u16 ple_pg_size; 4879 u16 c0_rx_qta; 4880 u16 c1_rx_qta; 4881 u16 c0_ori_max; 4882 u16 c1_ori_max; 4883 u16 c0_tx_min; 4884 u16 c1_tx_min; 4885 }; 4886 4887 /** 4888 * @struct mac_ax_gpio_info 4889 * @brief mac_ax_gpio_info 4890 * 4891 * @var mac_ax_gpio_info::sw_io_0 4892 * Please Place Description here. 4893 * @var mac_ax_gpio_info::sw_io_1 4894 * Please Place Description here. 4895 * @var mac_ax_gpio_info::sw_io_2 4896 * Please Place Description here. 4897 * @var mac_ax_gpio_info::sw_io_3 4898 * Please Place Description here. 4899 * @var mac_ax_gpio_info::sw_io_4 4900 * Please Place Description here. 4901 * @var mac_ax_gpio_info::sw_io_5 4902 * Please Place Description here. 4903 * @var mac_ax_gpio_info::sw_io_6 4904 * Please Place Description here. 4905 * @var mac_ax_gpio_info::sw_io_7 4906 * Please Place Description here. 4907 * @var mac_ax_gpio_info::sw_io_8 4908 * Please Place Description here. 4909 * @var mac_ax_gpio_info::sw_io_9 4910 * Please Place Description here. 4911 * @var mac_ax_gpio_info::sw_io_10 4912 * Please Place Description here. 4913 * @var mac_ax_gpio_info::sw_io_11 4914 * Please Place Description here. 4915 * @var mac_ax_gpio_info::sw_io_12 4916 * Please Place Description here. 4917 * @var mac_ax_gpio_info::sw_io_13 4918 * Please Place Description here. 4919 * @var mac_ax_gpio_info::sw_io_14 4920 * Please Place Description here. 4921 * @var mac_ax_gpio_info::sw_io_15 4922 * Please Place Description here. 4923 * @var mac_ax_gpio_info::uart_tx_gpio5 4924 * Please Place Description here. 4925 * @var mac_ax_gpio_info::uart_tx_gpio7 4926 * Please Place Description here. 4927 * @var mac_ax_gpio_info::uart_tx_gpio8 4928 * Please Place Description here. 4929 * @var mac_ax_gpio_info::uart_rx_gpio6 4930 * Please Place Description here. 4931 * @var mac_ax_gpio_info::uart_rx_gpio14 4932 * Please Place Description here. 4933 * @var mac_ax_gpio_info::status 4934 * Please Place Description here. 4935 * @var mac_ax_gpio_info::sw_io_output 4936 * Please Place Description here. 4937 */ 4938 struct mac_ax_gpio_info { 4939 #define MAC_AX_GPIO_NUM 19 4940 /* byte0 */ 4941 u8 sw_io_0:1; 4942 u8 sw_io_1:1; 4943 u8 sw_io_2:1; 4944 u8 sw_io_3:1; 4945 u8 sw_io_4:1; 4946 u8 sw_io_5:1; 4947 u8 sw_io_6:1; 4948 u8 sw_io_7:1; 4949 /* byte1 */ 4950 u8 sw_io_8:1; 4951 u8 sw_io_9:1; 4952 u8 sw_io_10:1; 4953 u8 sw_io_11:1; 4954 u8 sw_io_12:1; 4955 u8 sw_io_13:1; 4956 u8 sw_io_14:1; 4957 u8 sw_io_15:1; 4958 /* byte2 */ 4959 u8 uart_tx_gpio5:1; 4960 u8 uart_tx_gpio7:1; 4961 u8 uart_tx_gpio8:1; 4962 u8 uart_rx_gpio6:1; 4963 u8 uart_rx_gpio14:1; 4964 enum rtw_mac_gfunc status[MAC_AX_GPIO_NUM]; 4965 #define MAC_AX_SW_IO_OUT_PP 0 4966 #define MAC_AX_SW_IO_OUT_OD 1 4967 u8 sw_io_output[MAC_AX_GPIO_NUM]; 4968 }; 4969 4970 /** 4971 * @struct mac_ax_trx_info 4972 * @brief mac_ax_trx_info 4973 * 4974 * @var mac_ax_trx_info::trx_mode 4975 * Please Place Description here. 4976 * @var mac_ax_trx_info::qta_mode 4977 * Please Place Description here. 4978 * @var mac_ax_trx_info::rpr_cfg 4979 * Please Place Description here. 4980 */ 4981 struct mac_ax_trx_info { 4982 enum mac_ax_trx_mode trx_mode; 4983 enum mac_ax_qta_mode qta_mode; 4984 struct mac_ax_host_rpr_cfg *rpr_cfg; 4985 }; 4986 4987 /** 4988 * @struct mac_ax_fwdl_info 4989 * @brief mac_ax_fwdl_info 4990 * 4991 * @var mac_ax_fwdl_info::fw_en 4992 * Please Place Description here. 4993 * @var mac_ax_fwdl_info::dlrom_en 4994 * Please Place Description here. 4995 * @var mac_ax_fwdl_info::dlram_en 4996 * Please Place Description here. 4997 * @var mac_ax_fwdl_info::fw_from_hdr 4998 * Please Place Description here. 4999 * @var mac_ax_fwdl_info::fw_cat 5000 * Please Place Description here. 5001 * @var mac_ax_fwdl_info::rom_buff 5002 * Please Place Description here. 5003 * @var mac_ax_fwdl_info::rom_size 5004 * Please Place Description here. 5005 * @var mac_ax_fwdl_info::ram_buff 5006 * Please Place Description here. 5007 * @var mac_ax_fwdl_info::ram_size 5008 * Please Place Description here. 5009 */ 5010 struct mac_ax_fwdl_info { 5011 u8 fw_en; 5012 u8 dlrom_en; 5013 u8 dlram_en; 5014 u8 fw_from_hdr; 5015 enum rtw_fw_type fw_cat; 5016 u8 *rom_buff; 5017 u32 rom_size; 5018 u8 *ram_buff; 5019 u32 ram_size; 5020 }; 5021 5022 /** 5023 * @struct mac_ax_txdma_ch_map 5024 * @brief mac_ax_txdma_ch_map 5025 * 5026 * @var mac_ax_txdma_ch_map::ch0 5027 * Please Place Description here. 5028 * @var mac_ax_txdma_ch_map::ch1 5029 * Please Place Description here. 5030 * @var mac_ax_txdma_ch_map::ch2 5031 * Please Place Description here. 5032 * @var mac_ax_txdma_ch_map::ch3 5033 * Please Place Description here. 5034 * @var mac_ax_txdma_ch_map::ch4 5035 * Please Place Description here. 5036 * @var mac_ax_txdma_ch_map::ch5 5037 * Please Place Description here. 5038 * @var mac_ax_txdma_ch_map::ch6 5039 * Please Place Description here. 5040 * @var mac_ax_txdma_ch_map::ch7 5041 * Please Place Description here. 5042 * @var mac_ax_txdma_ch_map::ch8 5043 * Please Place Description here. 5044 * @var mac_ax_txdma_ch_map::ch9 5045 * Please Place Description here. 5046 * @var mac_ax_txdma_ch_map::ch10 5047 * Please Place Description here. 5048 * @var mac_ax_txdma_ch_map::ch11 5049 * Please Place Description here. 5050 * @var mac_ax_txdma_ch_map::ch12 5051 * Please Place Description here. 5052 */ 5053 struct mac_ax_txdma_ch_map { 5054 enum mac_ax_pcie_func_ctrl ch0; 5055 enum mac_ax_pcie_func_ctrl ch1; 5056 enum mac_ax_pcie_func_ctrl ch2; 5057 enum mac_ax_pcie_func_ctrl ch3; 5058 enum mac_ax_pcie_func_ctrl ch4; 5059 enum mac_ax_pcie_func_ctrl ch5; 5060 enum mac_ax_pcie_func_ctrl ch6; 5061 enum mac_ax_pcie_func_ctrl ch7; 5062 enum mac_ax_pcie_func_ctrl ch8; 5063 enum mac_ax_pcie_func_ctrl ch9; 5064 enum mac_ax_pcie_func_ctrl ch10; 5065 enum mac_ax_pcie_func_ctrl ch11; 5066 enum mac_ax_pcie_func_ctrl ch12; 5067 }; 5068 5069 /** 5070 * @struct mac_ax_rxdma_ch_map 5071 * @brief mac_ax_rxdma_ch_map 5072 * 5073 * @var mac_ax_rxdma_ch_map::rxq 5074 * Please Place Description here. 5075 * @var mac_ax_rxdma_ch_map::rpq 5076 * Please Place Description here. 5077 */ 5078 struct mac_ax_rxdma_ch_map { 5079 enum mac_ax_pcie_func_ctrl rxq; 5080 enum mac_ax_pcie_func_ctrl rpq; 5081 }; 5082 5083 /** 5084 * @struct mac_ax_intf_info 5085 * @brief mac_ax_intf_info 5086 * 5087 * @var mac_ax_intf_info::txbd_trunc_mode 5088 * Please Place Description here. 5089 * @var mac_ax_intf_info::rxbd_trunc_mode 5090 * Please Place Description here. 5091 * @var mac_ax_intf_info::rxbd_mode 5092 * Please Place Description here. 5093 * @var mac_ax_intf_info::tag_mode 5094 * Please Place Description here. 5095 * @var mac_ax_intf_info::tx_burst 5096 * Please Place Description here. 5097 * @var mac_ax_intf_info::rx_burst 5098 * Please Place Description here. 5099 * @var mac_ax_intf_info::wd_dma_idle_intvl 5100 * Please Place Description here. 5101 * @var mac_ax_intf_info::wd_dma_act_intvl 5102 * Please Place Description here. 5103 * @var mac_ax_intf_info::multi_tag_num 5104 * Please Place Description here. 5105 * @var mac_ax_intf_info::rx_sep_append_len 5106 * Please Place Description here. 5107 * @var mac_ax_intf_info::txbd_buf 5108 * Please Place Description here. 5109 * @var mac_ax_intf_info::rxbd_buf 5110 * Please Place Description here. 5111 * @var mac_ax_intf_info::skip_all 5112 * Please Place Description here. 5113 * @var mac_ax_intf_info::txch_map 5114 * Please Place Description here. 5115 * @var mac_ax_intf_info::lbc_en 5116 * Please Place Description here. 5117 * @var mac_ax_intf_info::lbc_tmr 5118 * Please Place Description here. 5119 * @var mac_ax_intf_info::autok_en 5120 * Please Place Description here. 5121 */ 5122 struct mac_ax_intf_info { 5123 enum mac_ax_bd_trunc_mode txbd_trunc_mode; 5124 enum mac_ax_bd_trunc_mode rxbd_trunc_mode; 5125 enum mac_ax_rxbd_mode rxbd_mode; 5126 enum mac_ax_tag_mode tag_mode; 5127 enum mac_ax_tx_burst tx_burst; 5128 enum mac_ax_rx_burst rx_burst; 5129 enum mac_ax_wd_dma_intvl wd_dma_idle_intvl; 5130 enum mac_ax_wd_dma_intvl wd_dma_act_intvl; 5131 enum mac_ax_multi_tag_num multi_tag_num; 5132 u16 rx_sep_append_len; 5133 u8 *txbd_buf; 5134 u8 *rxbd_buf; 5135 u8 skip_all; 5136 struct mac_ax_txdma_ch_map *txch_map; 5137 enum mac_ax_pcie_func_ctrl lbc_en; 5138 enum mac_ax_lbc_tmr lbc_tmr; 5139 enum mac_ax_pcie_func_ctrl autok_en; 5140 enum mac_ax_pcie_func_ctrl io_rcy_en; 5141 enum mac_ax_io_rcy_tmr io_rcy_tmr; 5142 }; 5143 5144 /** 5145 * @struct mac_ax_pcie_trx_mitigation 5146 * @brief mac_ax_pcie_trx_mitigation 5147 * 5148 * @var mac_ax_pcie_trx_mitigation::txch_map 5149 * Please Place Description here. 5150 * @var mac_ax_pcie_trx_mitigation::tx_timer_unit 5151 * Please Place Description here. 5152 * @var mac_ax_pcie_trx_mitigation::tx_timer 5153 * Please Place Description here. 5154 * @var mac_ax_pcie_trx_mitigation::tx_counter 5155 * Please Place Description here. 5156 * @var mac_ax_pcie_trx_mitigation::rxch_map 5157 * Please Place Description here. 5158 * @var mac_ax_pcie_trx_mitigation::rx_timer_unit 5159 * Please Place Description here. 5160 * @var mac_ax_pcie_trx_mitigation::rx_timer 5161 * Please Place Description here. 5162 * @var mac_ax_pcie_trx_mitigation::rx_counter 5163 * Please Place Description here. 5164 */ 5165 struct mac_ax_pcie_trx_mitigation { 5166 struct mac_ax_txdma_ch_map *txch_map; 5167 enum mac_ax_trx_mitigation_timer_unit tx_timer_unit; 5168 u8 tx_timer; 5169 u8 tx_counter; 5170 struct mac_ax_rxdma_ch_map *rxch_map; 5171 enum mac_ax_trx_mitigation_timer_unit rx_timer_unit; 5172 u8 rx_timer; 5173 u8 rx_counter; 5174 }; 5175 5176 /** 5177 * @struct mac_mu_table 5178 * @brief mac_mu_table 5179 * 5180 * @var mac_mu_table::mu_score_tbl_ctrl 5181 * Please Place Description here. 5182 * @var mac_mu_table::mu_score_tbl_0 5183 * Please Place Description here. 5184 * @var mac_mu_table::mu_score_tbl_1 5185 * Please Place Description here. 5186 * @var mac_mu_table::mu_score_tbl_2 5187 * Please Place Description here. 5188 * @var mac_mu_table::mu_score_tbl_3 5189 * Please Place Description here. 5190 * @var mac_mu_table::mu_score_tbl_4 5191 * Please Place Description here. 5192 * @var mac_mu_table::mu_score_tbl_5 5193 * Please Place Description here. 5194 */ 5195 struct mac_mu_table { 5196 u32 mu_score_tbl_ctrl; 5197 u32 mu_score_tbl_0; 5198 u32 mu_score_tbl_1; 5199 u32 mu_score_tbl_2; 5200 u32 mu_score_tbl_3; 5201 u32 mu_score_tbl_4; 5202 u32 mu_score_tbl_5; 5203 }; 5204 5205 /** 5206 * @struct mac_ax_ss_dl_grp_upd 5207 * @brief mac_ax_ss_dl_grp_upd 5208 * 5209 * @var mac_ax_ss_dl_grp_upd::grp_valid 5210 * Please Place Description here. 5211 * @var mac_ax_ss_dl_grp_upd::grp_id 5212 * Please Place Description here. 5213 * @var mac_ax_ss_dl_grp_upd::is_hwgrp 5214 * Please Place Description here. 5215 * @var mac_ax_ss_dl_grp_upd::rsvd 5216 * Please Place Description here. 5217 * @var mac_ax_ss_dl_grp_upd::macid_u0 5218 * Please Place Description here. 5219 * @var mac_ax_ss_dl_grp_upd::macid_u1 5220 * Please Place Description here. 5221 * @var mac_ax_ss_dl_grp_upd::macid_u2 5222 * Please Place Description here. 5223 * @var mac_ax_ss_dl_grp_upd::macid_u3 5224 * Please Place Description here. 5225 * @var mac_ax_ss_dl_grp_upd::macid_u4 5226 * Please Place Description here. 5227 * @var mac_ax_ss_dl_grp_upd::macid_u5 5228 * Please Place Description here. 5229 * @var mac_ax_ss_dl_grp_upd::macid_u6 5230 * Please Place Description here. 5231 * @var mac_ax_ss_dl_grp_upd::macid_u7 5232 * Please Place Description here. 5233 * @var mac_ax_ss_dl_grp_upd::ac_bitmap_u0 5234 * Please Place Description here. 5235 * @var mac_ax_ss_dl_grp_upd::ac_bitmap_u1 5236 * Please Place Description here. 5237 * @var mac_ax_ss_dl_grp_upd::ac_bitmap_u2 5238 * Please Place Description here. 5239 * @var mac_ax_ss_dl_grp_upd::ac_bitmap_u3 5240 * Please Place Description here. 5241 * @var mac_ax_ss_dl_grp_upd::ac_bitmap_u4 5242 * Please Place Description here. 5243 * @var mac_ax_ss_dl_grp_upd::ac_bitmap_u5 5244 * Please Place Description here. 5245 * @var mac_ax_ss_dl_grp_upd::ac_bitmap_u6 5246 * Please Place Description here. 5247 * @var mac_ax_ss_dl_grp_upd::ac_bitmap_u7 5248 * Please Place Description here. 5249 * @var mac_ax_ss_dl_grp_upd::next_protecttype 5250 * Please Place Description here. 5251 * @var mac_ax_ss_dl_grp_upd::next_rsptype 5252 * Please Place Description here. 5253 */ 5254 struct mac_ax_ss_dl_grp_upd { 5255 u8 grp_valid:1; //0: non valid 1: valid 5256 u8 grp_id:5; //grp 0~16 5257 u8 is_hwgrp:1; 5258 u8 rsvd:1; 5259 u8 macid_u0; 5260 u8 macid_u1; 5261 u8 macid_u2; 5262 u8 macid_u3; 5263 u8 macid_u4; 5264 u8 macid_u5; 5265 u8 macid_u6; 5266 u8 macid_u7; 5267 u8 ac_bitmap_u0:4; 5268 u8 ac_bitmap_u1:4; 5269 u8 ac_bitmap_u2:4; 5270 u8 ac_bitmap_u3:4; 5271 u8 ac_bitmap_u4:4; 5272 u8 ac_bitmap_u5:4; 5273 u8 ac_bitmap_u6:4; 5274 u8 ac_bitmap_u7:4; 5275 u8 next_protecttype:4; 5276 u8 next_rsptype:4; 5277 }; 5278 5279 /** 5280 * @struct mac_ax_ss_ul_grp_upd 5281 * @brief mac_ax_ss_ul_grp_upd 5282 * 5283 * @var mac_ax_ss_ul_grp_upd::macid_u0 5284 * Please Place Description here. 5285 * @var mac_ax_ss_ul_grp_upd::macid_u1 5286 * Please Place Description here. 5287 * @var mac_ax_ss_ul_grp_upd::grp_bitmap 5288 * Please Place Description here. 5289 */ 5290 struct mac_ax_ss_ul_grp_upd { 5291 u8 macid_u0; 5292 u8 macid_u1; 5293 u16 grp_bitmap; 5294 }; 5295 5296 /** 5297 * @struct mac_ax_ss_ul_sta_upd 5298 * @brief mac_ax_ss_ul_sta_upd 5299 * 5300 * @var mac_ax_ss_ul_sta_upd::mode 5301 * Please Place Description here. 5302 * @var mac_ax_ss_ul_sta_upd::rsvd 5303 * Please Place Description here. 5304 * @var mac_ax_ss_ul_sta_upd::macid 5305 * Please Place Description here. 5306 * @var mac_ax_ss_ul_sta_upd::bsr_len 5307 * Please Place Description here. 5308 */ 5309 struct mac_ax_ss_ul_sta_upd { 5310 u32 mode:8; //0:del; 1: add 5311 u32 rsvd:24; 5312 u8 macid[4]; 5313 u16 bsr_len[2]; 5314 }; 5315 5316 /** 5317 * @struct mac_ax_2nav_info 5318 * @brief mac_ax_2nav_info 5319 * 5320 * @var mac_ax_2nav_info::plcp_upd_nav_en 5321 * Please Place Description here. 5322 * @var mac_ax_2nav_info::tgr_fram_upd_nav_en 5323 * Please Place Description here. 5324 * @var mac_ax_2nav_info::nav_up 5325 * Please Place Description here. 5326 */ 5327 struct mac_ax_2nav_info { 5328 u8 plcp_upd_nav_en; 5329 u8 tgr_fram_upd_nav_en; 5330 u8 nav_up; 5331 }; 5332 5333 /** 5334 * @struct mac_ax_bcn_info 5335 * @brief mac_ax_bcn_info 5336 * 5337 * @var mac_ax_bcn_info::port 5338 * Please Place Description here. 5339 * @var mac_ax_bcn_info::mbssid 5340 * Please Place Description here. 5341 * @var mac_ax_bcn_info::band 5342 * Please Place Description here. 5343 * @var mac_ax_bcn_info::grp_ie_ofst 5344 * Please Place Description here. 5345 * @var mac_ax_bcn_info::macid 5346 * Please Place Description here. 5347 * @var mac_ax_bcn_info::ssn_sel 5348 * Please Place Description here. 5349 * @var mac_ax_bcn_info::ssn_mode 5350 * Please Place Description here. 5351 * @var mac_ax_bcn_info::rate_sel 5352 * Please Place Description here. 5353 * @var mac_ax_bcn_info::txpwr 5354 * Please Place Description here. 5355 * @var mac_ax_bcn_info::txinfo_ctrl_en 5356 * Please Place Description here. 5357 * @var mac_ax_bcn_info::ntx_path_en 5358 * Please Place Description here. 5359 * @var mac_ax_bcn_info::path_map_a 5360 * Please Place Description here. 5361 * @var mac_ax_bcn_info::path_map_b 5362 * Please Place Description here. 5363 * @var mac_ax_bcn_info::path_map_c 5364 * Please Place Description here. 5365 * @var mac_ax_bcn_info::path_map_d 5366 * Please Place Description here. 5367 * @var mac_ax_bcn_info::antsel_a 5368 * Please Place Description here. 5369 * @var mac_ax_bcn_info::antsel_b 5370 * Please Place Description here. 5371 * @var mac_ax_bcn_info::antsel_c 5372 * Please Place Description here. 5373 * @var mac_ax_bcn_info::antsel_d 5374 * Please Place Description here. 5375 * @var mac_ax_bcn_info::sw_tsf 5376 * Please Place Description here. 5377 * @var mac_ax_bcn_info::pld_buf 5378 * Please Place Description here. 5379 * @var mac_ax_bcn_info::pld_len 5380 * Please Place Description here. 5381 * @var mac_ax_bcn_info::csa_ofst 5382 * Please Place Description here. 5383 */ 5384 struct mac_ax_bcn_info { 5385 u8 port; 5386 u8 mbssid; 5387 u8 band; 5388 u8 grp_ie_ofst; 5389 u8 macid; 5390 u8 ssn_sel; 5391 u8 ssn_mode; 5392 u16 rate_sel; 5393 u8 txpwr; 5394 u8 txinfo_ctrl_en; 5395 u8 ntx_path_en; 5396 u8 path_map_a; 5397 u8 path_map_b; 5398 u8 path_map_c; 5399 u8 path_map_d; 5400 u8 antsel_a; 5401 u8 antsel_b; 5402 u8 antsel_c; 5403 u8 antsel_d; 5404 u8 sw_tsf; 5405 u8 *pld_buf; 5406 u16 pld_len; 5407 u16 csa_ofst; 5408 }; 5409 5410 /** 5411 * @struct mac_ax_twt_para 5412 * @brief mac_ax_twt_para 5413 * 5414 * @var mac_ax_twt_para::nego_tp 5415 * Please Place Description here. 5416 * @var mac_ax_twt_para::act 5417 * Please Place Description here. 5418 * @var mac_ax_twt_para::trig 5419 * Please Place Description here. 5420 * @var mac_ax_twt_para::flow_tp 5421 * Please Place Description here. 5422 * @var mac_ax_twt_para::proct 5423 * Please Place Description here. 5424 * @var mac_ax_twt_para::flow_id 5425 * Please Place Description here. 5426 * @var mac_ax_twt_para::id 5427 * Please Place Description here. 5428 * @var mac_ax_twt_para::wake_exp 5429 * Please Place Description here. 5430 * @var mac_ax_twt_para::band 5431 * Please Place Description here. 5432 * @var mac_ax_twt_para::port 5433 * Please Place Description here. 5434 * @var mac_ax_twt_para::rsp_pm 5435 * Please Place Description here. 5436 * @var mac_ax_twt_para::wake_unit 5437 * Please Place Description here. 5438 * @var mac_ax_twt_para::impt 5439 * Please Place Description here. 5440 * @var mac_ax_twt_para::twtulfixmode 5441 * Please Place Description here. 5442 * @var mac_ax_twt_para::rsvd 5443 * Please Place Description here. 5444 * @var mac_ax_twt_para::wake_man 5445 * Please Place Description here. 5446 * @var mac_ax_twt_para::dur 5447 * Please Place Description here. 5448 * @var mac_ax_twt_para::trgt_l 5449 * Please Place Description here. 5450 * @var mac_ax_twt_para::trgt_h 5451 * Please Place Description here. 5452 */ 5453 struct mac_ax_twt_para { 5454 enum mac_ax_twt_nego_tp nego_tp; 5455 enum mac_ax_twt_act_tp act; 5456 u32 trig:1; 5457 u32 flow_tp:1; 5458 u32 proct:1; 5459 u32 flow_id:3; 5460 u32 id:3; 5461 u32 wake_exp:5; 5462 u32 band:1; 5463 u32 port:3; 5464 u32 rsp_pm:1; 5465 u32 wake_unit:1; 5466 u32 impt:1; 5467 u32 twtulfixmode:3; 5468 u32 rsvd:8; 5469 5470 u16 wake_man; 5471 u8 dur; 5472 u32 trgt_l; 5473 u32 trgt_h; 5474 }; 5475 5476 /** 5477 * @struct mac_ax_twtact_para 5478 * @brief mac_ax_twtact_para 5479 * 5480 * @var mac_ax_twtact_para::act 5481 * Please Place Description here. 5482 * @var mac_ax_twtact_para::macid 5483 * Please Place Description here. 5484 * @var mac_ax_twtact_para::id 5485 * Please Place Description here. 5486 * @var mac_ax_twtact_para::rsvd 5487 * Please Place Description here. 5488 */ 5489 struct mac_ax_twtact_para { 5490 enum mac_ax_twtact_act_tp act; 5491 u16 macid; 5492 u8 id:3; 5493 u8 rsvd:5; 5494 }; 5495 5496 /** 5497 * @struct mac_ax_twtanno_para 5498 * @brief mac_ax_twtanno_para 5499 * 5500 * @var mac_ax_twtanno_para::macid 5501 * Please Place Description here. 5502 */ 5503 struct mac_ax_twtanno_para { 5504 u8 macid; 5505 }; 5506 5507 /** 5508 * @struct mac_ax_twtanno_c2hpara 5509 * @brief mac_ax_twtanno_c2hpara 5510 * 5511 * @var mac_ax_twtanno_c2hpara::wait_case 5512 * Please Place Description here. 5513 * @var mac_ax_twtanno_c2hpara::rsvd 5514 * Please Place Description here. 5515 * @var mac_ax_twtanno_c2hpara::macid0 5516 * Please Place Description here. 5517 * @var mac_ax_twtanno_c2hpara::macid1 5518 * Please Place Description here. 5519 * @var mac_ax_twtanno_c2hpara::macid2 5520 * Please Place Description here. 5521 */ 5522 struct mac_ax_twtanno_c2hpara { 5523 u32 wait_case:4; 5524 u32 rsvd:4; 5525 u32 macid0:8; 5526 u32 macid1:8; 5527 u32 macid2:8; 5528 }; 5529 5530 /** 5531 * @struct mac_ax_port_cfg_para 5532 * @brief mac_ax_port_cfg_para 5533 * 5534 * @var mac_ax_port_cfg_para::mbssid_idx 5535 * Please Place Description here. 5536 * @var mac_ax_port_cfg_para::val 5537 * Please Place Description here. 5538 * @var mac_ax_port_cfg_para::port 5539 * Please Place Description here. 5540 * @var mac_ax_port_cfg_para::band 5541 * Please Place Description here. 5542 */ 5543 struct mac_ax_port_cfg_para { 5544 u32 mbssid_idx; 5545 u32 val; 5546 u8 port; 5547 u8 band; 5548 }; 5549 5550 /** 5551 * @struct mac_ax_port_init_para 5552 * @brief mac_ax_port_init_para 5553 * 5554 * @var mac_ax_port_init_para::port_idx 5555 * Please Place Description here. 5556 * @var mac_ax_port_init_para::band_idx 5557 * Please Place Description here. 5558 * @var mac_ax_port_init_para::net_type 5559 * Please Place Description here. 5560 * @var mac_ax_port_init_para::dtim_period 5561 * Please Place Description here. 5562 * @var mac_ax_port_init_para::mbid_num 5563 * Please Place Description here. 5564 * @var mac_ax_port_init_para::bss_color 5565 * Please Place Description here. 5566 * @var mac_ax_port_init_para::bcn_interval 5567 * Please Place Description here. 5568 * @var mac_ax_port_init_para::hiq_win 5569 * Please Place Description here. 5570 */ 5571 struct mac_ax_port_init_para { 5572 enum mac_ax_port port_idx; 5573 enum mac_ax_band band_idx; 5574 enum mac_ax_net_type net_type; 5575 u8 dtim_period; 5576 u8 mbid_num; 5577 u8 bss_color; 5578 u16 bcn_interval; 5579 u32 hiq_win; 5580 }; 5581 5582 /** 5583 * @struct mac_ax_fw_log 5584 * @brief mac_ax_fw_log 5585 * 5586 * @var mac_ax_fw_log::level 5587 * Please Place Description here. 5588 * @var mac_ax_fw_log::output 5589 * Please Place Description here. 5590 * @var mac_ax_fw_log::comp 5591 * Please Place Description here. 5592 * @var mac_ax_fw_log::comp_ext 5593 * Please Place Description here. 5594 */ 5595 struct mac_ax_fw_log { 5596 #define MAC_AX_FL_LV_OFF 0 5597 #define MAC_AX_FL_LV_CRT 1 5598 #define MAC_AX_FL_LV_SER 2 5599 #define MAC_AX_FL_LV_WARN 3 5600 #define MAC_AX_FL_LV_LOUD 4 5601 #define MAC_AX_FL_LV_TR 5 5602 u32 level; 5603 #define MAC_AX_FL_LV_UART BIT(0) 5604 #define MAC_AX_FL_LV_C2H BIT(1) 5605 #define MAC_AX_FL_LV_SNI BIT(2) 5606 u32 output; 5607 #define MAC_AX_FL_COMP_VER BIT(0) 5608 #define MAC_AX_FL_COMP_INIT BIT(1) 5609 #define MAC_AX_FL_COMP_TASK BIT(2) 5610 #define MAC_AX_FL_COMP_CNS BIT(3) 5611 #define MAC_AX_FL_COMP_H2C BIT(4) 5612 #define MAC_AX_FL_COMP_C2H BIT(5) 5613 #define MAC_AX_FL_COMP_TX BIT(6) 5614 #define MAC_AX_FL_COMP_RX BIT(7) 5615 #define MAC_AX_FL_COMP_IPSEC BIT(8) 5616 #define MAC_AX_FL_COMP_TIMER BIT(9) 5617 #define MAC_AX_FL_COMP_DBGPKT BIT(10) 5618 #define MAC_AX_FL_COMP_PS BIT(11) 5619 #define MAC_AX_FL_COMP_ERROR BIT(12) 5620 #define MAC_AX_FL_COMP_WOWLAN BIT(13) 5621 #define MAC_AX_FL_COMP_SECURE_BOOT BIT(14) 5622 #define MAC_AX_FL_COMP_BTC BIT(15) 5623 #define MAC_AX_FL_COMP_BB BIT(16) 5624 #define MAC_AX_FL_COMP_TWT BIT(17) 5625 #define MAC_AX_FL_COMP_RF BIT(18) 5626 #define MAC_AX_FL_COMP_MCC BIT(20) 5627 u32 comp; 5628 u32 comp_ext; 5629 }; 5630 5631 /** 5632 * @struct mac_ax_dbgpkg 5633 * @brief mac_ax_dbgpkg 5634 * 5635 * @var mac_ax_dbgpkg::ss_dbg_0 5636 * Please Place Description here. 5637 * @var mac_ax_dbgpkg::ss_dbg_1 5638 * Please Place Description here. 5639 */ 5640 struct mac_ax_dbgpkg { 5641 u32 ss_dbg_0; 5642 u32 ss_dbg_1; 5643 }; 5644 5645 /** 5646 * @struct mac_ax_dbgport_hw_en 5647 * @brief mac_ax_dbgport_hw_en 5648 * 5649 * @var mac_ax_dbgport_hw_en::system 5650 * Please Place Description here. 5651 * @var mac_ax_dbgport_hw_en::wl_cpu 5652 * Please Place Description here. 5653 */ 5654 struct mac_ax_dbgport_hw_en { 5655 u8 system:1; 5656 u8 pinmux:1; 5657 u8 loader:1; 5658 u8 hmux:1; 5659 u8 pcie:1; 5660 u8 usb:1; 5661 u8 sdio:1; 5662 u8 bt:1; 5663 5664 // WLAN_MAC 5665 u8 axidma:1; 5666 u8 wlphydbg_gpio:1; 5667 u8 btcoexist:1; 5668 u8 ltecoex:1; 5669 u8 wlphydbg:1; 5670 u8 wlan_mac_reg:1; 5671 u8 wlan_mac_pmc:1; 5672 u8 calib_top:1; 5673 5674 //DMAC 5675 u16 dispatcher_top:1; 5676 u16 wde_dle:1; 5677 u16 ple_dle:1; 5678 u16 wdrls:1; 5679 u16 dle_cpuio:1; 5680 u16 bbrpt:1; 5681 u16 txpktctl:1; 5682 u16 pktbuffer:1; 5683 5684 u16 dmac_table:1; 5685 u16 sta_scheduler:1; 5686 u16 dmac_pktin:1; 5687 u16 wsec_top:1; 5688 u16 mpdu_processor:1; 5689 u16 dmac_apb_bridge:1; 5690 u16 ltr_ctrl:1; 5691 u16 rsvd0:1; 5692 5693 //CMAC 0 5694 u8 cmac0_cmac_dma_top:1; 5695 u8 cmac0_ptcltop:1; 5696 u8 cmac0_schedulertop:1; 5697 u8 cmac0_txpwr_ctrl:1; 5698 u8 cmac0_cmac_apb_bridge:1; 5699 u8 cmac0_mactx:1; 5700 u8 cmac0_macrx:1; 5701 u8 cmac0_wmac_trxptcl:1; 5702 5703 //CMAC 1 5704 u8 cmac1_cmac_dma_top:1; 5705 u8 cmac1_ptcltop:1; 5706 u8 cmac1_schedulertop:1; 5707 u8 cmac1_txpwr_ctrl:1; 5708 u8 cmac1_cmac_apb_bridge:1; 5709 u8 cmac1_mactx:1; 5710 u8 cmac1_macrx:1; 5711 u8 cmac1_wmac_trxptcl:1; 5712 5713 //others 5714 u8 cmac_share:1; 5715 u8 wl_cpu:1; 5716 u8 rsvd1:6; 5717 }; 5718 5719 /** 5720 * @struct mac_ax_dbgpkg_en 5721 * @brief mac_ax_dbgpkg_en 5722 * 5723 * @var mac_ax_dbgpkg_en::ss_dbg 5724 * Please Place Description here. 5725 * @var mac_ax_dbgpkg_en::dle_dbg 5726 * Please Place Description here. 5727 * @var mac_ax_dbgpkg_en::dmac_dbg 5728 * Please Place Description here. 5729 * @var mac_ax_dbgpkg_en::cmac_dbg 5730 * Please Place Description here. 5731 * @var mac_ax_dbgpkg_en::mac_dbg_port 5732 * Please Place Description here. 5733 * @var mac_ax_dbgpkg_en::plersvd_dbg 5734 * Please Place Description here. 5735 * @var mac_ax_dbgpkg_en::dp_hw_en 5736 * Please Place Description here. 5737 */ 5738 struct mac_ax_dbgpkg_en { 5739 u8 ss_dbg:1; 5740 u8 dle_dbg:1; 5741 u8 dmac_dbg:1; 5742 u8 cmac_dbg:1; 5743 u8 mac_dbg_port:1; 5744 u8 plersvd_dbg:1; 5745 u8 tx_flow_dbg:1; 5746 u8 rsvd:1; 5747 struct mac_ax_dbgport_hw_en dp_hw_en; 5748 }; 5749 5750 /** 5751 * @struct mac_ax_dbgport_hw 5752 * @brief mac_ax_dbgport_hw 5753 * 5754 * @var mac_ax_dbgport_hw::dbg_sel 5755 * valid value: enum mac_ax_dbgport_sel 5756 * @var mac_ax_dbgport_hw::dbg_sel_16b 5757 * valid value: enum mac_ax_dbgport_sel0_16b 5758 * enum mac_ax_dbgport_sel1_16b 5759 * @var mac_ax_dbgport_hw::dbg_sel_4b 5760 * valid value: enum mac_ax_dbgport_sel_4b 5761 * @var mac_ax_dbgport_hw::intn_idx 5762 * valid value: #define MAC_AX_DP_INTN_IDX_XXX_XXX 5763 * @var mac_ax_dbgport_hw::mode 5764 * 0x0: for dump mode 5765 * 0x1: for LA mode 5766 * @var mac_ax_dbgport_hw::rsp_val 5767 * return value: debug port info 5768 */ 5769 struct mac_ax_dbgport_hw { 5770 // input 5771 u8 dbg_sel[MAC_AX_DP_SEL_NUM]; 5772 u8 dbg_sel_16b[MAC_AX_DP_SEL_NUM]; 5773 u8 dbg_sel_4b[MAC_AX_DP_SEL_NUM]; 5774 u8 intn_idx[MAC_AX_DP_SEL_NUM]; 5775 u8 mode; 5776 // output 5777 u32 rsp_val; 5778 }; 5779 5780 /** 5781 * @struct mac_ax_fwdbg_en 5782 * @brief mac_ax_fwdbg_en 5783 * 5784 * @var mac_ax_fwdbg_en::status_dbg 5785 * Please Place Description here. 5786 * @var mac_ax_fwdbg_en::rsv_ple_dbg 5787 * Please Place Description here. 5788 * @var mac_ax_fwdbg_en::ps_dbg 5789 * Please Place Description here. 5790 */ 5791 struct mac_ax_fwdbg_en { 5792 u8 status_dbg:1; 5793 u8 rsv_ple_dbg:1; 5794 u8 ps_dbg:1; 5795 }; 5796 5797 union mac_conf_ofld_hioe_param0 { 5798 u32 register_addr; 5799 u32 delay_value; 5800 }; 5801 5802 union mac_conf_ofld_hioe_param1 { 5803 u16 byte_data_h; 5804 u16 bit_mask; 5805 }; 5806 5807 union mac_conf_ofld_hioe_param2 { 5808 u16 byte_data_l; 5809 u16 bit_data; 5810 }; 5811 5812 /** 5813 * @struct mac_conf_ofld_hioe 5814 * @brief mac_conf_ofld_hioe 5815 * 5816 * @var mac_conf_ofld_hioe::hioe_op 5817 * Please Place Description here. 5818 * @var mac_conf_ofld_hioe::inst_type 5819 * Please Place Description here. 5820 * @var mac_conf_ofld_hioe::rsvd 5821 * Please Place Description here. 5822 * @var mac_conf_ofld_hioe::data_mode 5823 * Please Place Description here. 5824 * @var mac_conf_ofld_hioe::param0 5825 * Please Place Description here. 5826 * @var mac_conf_ofld_hioe::param1 5827 * Please Place Description here. 5828 * @var mac_conf_ofld_hioe::param2 5829 * Please Place Description here. 5830 */ 5831 struct mac_conf_ofld_hioe { 5832 #define CONF_OFLD_HIOE_OP_RESTORE 0 5833 #define CONF_OFLD_HIOE_OP_BACKUP 1 5834 #define CONF_OFLD_HIOE_OP_BOTH 2 5835 u8 hioe_op; 5836 #define CONF_OFLD_HIOE_INST_IO 0 5837 #define CONF_OFLD_HIOE_INST_POLLING 1 5838 #define CONF_OFLD_HIOE_INST_DELAY 2 5839 u8 inst_type; 5840 u8 rsvd; 5841 #define CONF_OFLD_HIOE_INST_DATA_BYTE 0 5842 #define CONF_OFLD_HIOE_INST_DATA_BIT 3 5843 u8 data_mode; 5844 union mac_conf_ofld_hioe_param0 param0; 5845 union mac_conf_ofld_hioe_param1 param1; 5846 union mac_conf_ofld_hioe_param2 param2; 5847 }; 5848 5849 /** 5850 * @struct mac_conf_ofld_ddma 5851 * @brief mac_conf_ofld_ddma 5852 * 5853 * @var mac_conf_ofld_ddma::ddma_mode 5854 * Please Place Description here. 5855 * @var mac_conf_ofld_ddma::finish 5856 * Please Place Description here. 5857 * @var mac_conf_ofld_ddma::dma_len 5858 * Please Place Description here. 5859 * @var mac_conf_ofld_ddma::dma_src_addr 5860 * Please Place Description here. 5861 * @var mac_conf_ofld_ddma::dma_dst_addr 5862 * Please Place Description here. 5863 */ 5864 struct mac_conf_ofld_ddma { 5865 #define CONF_OFLD_DDMA_OP_RESTORE 0 5866 #define CONF_OFLD_DDMA_OP_BACKUP 1 5867 #define CONF_OFLD_DDMA_OP_BOTH 2 5868 u8 ddma_mode; 5869 u8 finish; 5870 u16 dma_len; 5871 u32 dma_src_addr; 5872 u32 dma_dst_addr; 5873 }; 5874 5875 union mac_conf_ofld_req_bd { 5876 struct mac_conf_ofld_hioe hioe; 5877 struct mac_conf_ofld_ddma ddma; 5878 }; 5879 5880 /** 5881 * @struct mac_ax_conf_ofld_req 5882 * @brief mac_ax_conf_ofld_req 5883 * 5884 * @var mac_ax_conf_ofld_req::device 5885 * Please Place Description here. 5886 * @var mac_ax_conf_ofld_req::rsvd 5887 * Please Place Description here. 5888 * @var mac_ax_conf_ofld_req::req 5889 * Please Place Description here. 5890 */ 5891 struct mac_ax_conf_ofld_req { 5892 #define CONF_OFLD_DEVICE_HIOE 0 5893 #define CONF_OFLD_DEVICE_DDMA 1 5894 u32 device:8; 5895 u32 rsvd:24; 5896 union mac_conf_ofld_req_bd req; 5897 }; 5898 5899 /** 5900 * @struct mac_defeature_value 5901 * @brief mac_defeature_value 5902 * 5903 * @var mac_defeature_value::rx_spatial_stream 5904 * Please Place Description here. 5905 * @var mac_defeature_value::bandwidth 5906 * Please Place Description here. 5907 * @var mac_defeature_value::tx_spatial_stream 5908 * Please Place Description here. 5909 * @var mac_defeature_value::protocol_80211 5910 * Please Place Description here. 5911 * @var mac_defeature_value::NIC_router 5912 * Please Place Description here. 5913 * @var mac_defeature_value::wl_func_support 5914 * Please Place Description here. 5915 * @var mac_defeature_value::hw_special_type 5916 * Please Place Description here. 5917 * @var mac_defeature_value::uuid 5918 * Please Place Description here. 5919 */ 5920 struct mac_defeature_value { 5921 u8 rx_spatial_stream; 5922 u8 bandwidth; 5923 u8 tx_spatial_stream; 5924 u8 protocol_80211; 5925 u8 NIC_router; 5926 u8 wl_func_support; 5927 u8 hw_special_type; 5928 u32 uuid; 5929 }; 5930 5931 /** 5932 * @struct mac_ax_wowlan_info 5933 * @brief mac_ax_wowlan_info 5934 * 5935 * @var mac_ax_wowlan_info::aoac_report 5936 * Please Place Description here. 5937 */ 5938 struct mac_ax_wowlan_info { 5939 u8 *aoac_report; 5940 }; 5941 5942 /** 5943 * @struct mac_ax_p2p_info 5944 * @brief mac_ax_p2p_info 5945 * 5946 * @var mac_ax_p2p_info::macid 5947 * Please Place Description here. 5948 * @var mac_ax_p2p_info::p2pid 5949 * Please Place Description here. 5950 */ 5951 struct mac_ax_p2p_info { 5952 u8 macid; 5953 5954 u8 run:1; 5955 u8 wait_dack:1; 5956 u8 rsvd:6; 5957 }; 5958 5959 /** 5960 * @struct mac_ax_p2p_act_info 5961 * @brief mac_ax_p2p_act_info 5962 * 5963 * @var mac_ax_p2p_act_info::macid 5964 * Please Place Description here. 5965 * @var mac_ax_p2p_act_info::noaid 5966 * Please Place Description here. 5967 * @var mac_ax_p2p_act_info::act 5968 * Please Place Description here. 5969 * @var mac_ax_p2p_act_info::type 5970 * Please Place Description here. 5971 * @var mac_ax_p2p_act_info::all_slep 5972 * Please Place Description here. 5973 * @var mac_ax_p2p_act_info::srt 5974 * Please Place Description here. 5975 * @var mac_ax_p2p_act_info::itvl 5976 * Please Place Description here. 5977 * @var mac_ax_p2p_act_info::dur 5978 * Please Place Description here. 5979 * @var mac_ax_p2p_act_info::cnt 5980 * Please Place Description here. 5981 * @var mac_ax_p2p_act_info::ctw 5982 * Please Place Description here. 5983 */ 5984 struct mac_ax_p2p_act_info { 5985 u8 macid; 5986 u8 noaid; 5987 u8 act; 5988 u8 type; 5989 u8 all_slep; 5990 u32 srt; 5991 u32 itvl; 5992 u32 dur; 5993 u8 cnt; 5994 u16 ctw; 5995 }; 5996 5997 struct mac_ax_p2p_macid_info { 5998 u8 main_macid; 5999 u8 ctrl_type; 6000 u8 *bitmap; 6001 u32 bmap_len; 6002 }; 6003 6004 struct mac_ax_t32_togl_info { 6005 u8 band; 6006 u8 port; 6007 u8 en; 6008 u16 early; 6009 }; 6010 6011 struct mac_ax_t32_togl_rpt { 6012 u8 band; 6013 u8 port; 6014 u8 valid; 6015 u16 early; 6016 u16 status; 6017 u32 tsf_l; 6018 u32 tsf_h; 6019 }; 6020 6021 struct mac_ax_port_info { 6022 u8 stat; 6023 #define MAC_AX_PORT_H2C_IDLE 0 6024 #define MAC_AX_PORT_H2C_BUSY 1 6025 #define MAC_AX_PORT_H2C_FAIL 2 6026 u8 h2c_sm; 6027 }; 6028 6029 struct mac_ax_int_stats { 6030 u32 h2c_reg_uninit; 6031 u32 h2c_pkt_uninit; 6032 u32 c2h_reg_uninit; 6033 }; 6034 6035 /*-------------------- Define Struct needed to be moved-----------------------*/ 6036 6037 /** 6038 * @struct mac_ax_tbl_hdr 6039 * @brief mac_ax_tbl_hdr 6040 * 6041 * @var mac_ax_tbl_hdr::rw 6042 * Please Place Description here. 6043 * @var mac_ax_tbl_hdr::idx 6044 * Please Place Description here. 6045 * @var mac_ax_tbl_hdr::offset 6046 * Please Place Description here. 6047 * @var mac_ax_tbl_hdr::len 6048 * Please Place Description here. 6049 * @var mac_ax_tbl_hdr::type 6050 * Please Place Description here. 6051 */ 6052 struct mac_ax_tbl_hdr { 6053 u8 rw:1; 6054 u8 idx:7; 6055 u16 offset:5; 6056 u16 len:10; 6057 u16 type:1; 6058 }; 6059 6060 /** 6061 * @struct mac_ax_ru_rate_ent 6062 * @brief mac_ax_ru_rate_ent 6063 * 6064 * @var mac_ax_ru_rate_ent::dcm 6065 * Please Place Description here. 6066 * @var mac_ax_ru_rate_ent::ss 6067 * Please Place Description here. 6068 * @var mac_ax_ru_rate_ent::mcs 6069 * Please Place Description here. 6070 */ 6071 struct mac_ax_ru_rate_ent { 6072 u8 dcm:1; 6073 u8 ss:3; 6074 u8 mcs:4; 6075 }; 6076 6077 /** 6078 * @struct mac_ax_dl_fix_sta_ent 6079 * @brief mac_ax_dl_fix_sta_ent 6080 * 6081 * @var mac_ax_dl_fix_sta_ent::mac_id 6082 * Please Place Description here. 6083 * @var mac_ax_dl_fix_sta_ent::ru_pos 6084 * Please Place Description here. 6085 * @var mac_ax_dl_fix_sta_ent::fix_rate 6086 * Please Place Description here. 6087 * @var mac_ax_dl_fix_sta_ent::fix_coding 6088 * Please Place Description here. 6089 * @var mac_ax_dl_fix_sta_ent::fix_txbf 6090 * Please Place Description here. 6091 * @var mac_ax_dl_fix_sta_ent::fix_pwr_fac 6092 * Please Place Description here. 6093 * @var mac_ax_dl_fix_sta_ent::rsvd0 6094 * Please Place Description here. 6095 * @var mac_ax_dl_fix_sta_ent::rate 6096 * Please Place Description here. 6097 * @var mac_ax_dl_fix_sta_ent::txbf 6098 * Please Place Description here. 6099 * @var mac_ax_dl_fix_sta_ent::coding 6100 * Please Place Description here. 6101 * @var mac_ax_dl_fix_sta_ent::pwr_boost_fac 6102 * Please Place Description here. 6103 * @var mac_ax_dl_fix_sta_ent::rsvd1 6104 * Please Place Description here. 6105 * @var mac_ax_dl_fix_sta_ent::rsvd2 6106 * Please Place Description here. 6107 */ 6108 struct mac_ax_dl_fix_sta_ent { 6109 u8 mac_id; 6110 u8 ru_pos[3]; 6111 u8 fix_rate:1; 6112 u8 fix_coding:1; 6113 u8 fix_txbf:1; 6114 u8 fix_pwr_fac:1; 6115 u8 rsvd0: 4; 6116 struct mac_ax_ru_rate_ent rate; 6117 u8 txbf:1; 6118 u8 coding:1; 6119 u8 pwr_boost_fac:5; 6120 u8 rsvd1: 1; 6121 u8 rsvd2; 6122 }; 6123 6124 /** 6125 * @struct mac_ax_dlru_fixtbl 6126 * @brief mac_ax_dlru_fixtbl 6127 * 6128 * @var mac_ax_dlru_fixtbl::tbl_hdr 6129 * Please Place Description here. 6130 * @var mac_ax_dlru_fixtbl::max_sta_num 6131 * Please Place Description here. 6132 * @var mac_ax_dlru_fixtbl::min_sta_num 6133 * Please Place Description here. 6134 * @var mac_ax_dlru_fixtbl::doppler 6135 * Please Place Description here. 6136 * @var mac_ax_dlru_fixtbl::stbc 6137 * Please Place Description here. 6138 * @var mac_ax_dlru_fixtbl::gi_ltf 6139 * Please Place Description here. 6140 * @var mac_ax_dlru_fixtbl::ma_type 6141 * Please Place Description here. 6142 * @var mac_ax_dlru_fixtbl::fixru_flag 6143 * Please Place Description here. 6144 * @var mac_ax_dlru_fixtbl::sta 6145 * Please Place Description here. 6146 */ 6147 struct mac_ax_dlru_fixtbl { 6148 struct mac_ax_tbl_hdr tbl_hdr; 6149 u8 max_sta_num:3; 6150 u8 min_sta_num:3; 6151 u8 doppler:1; 6152 u8 stbc:1; 6153 u8 gi_ltf:3; 6154 u8 ma_type:1; 6155 u8 fixru_flag:1; 6156 struct mac_ax_dl_fix_sta_ent sta[MAC_AX_MAX_RU_NUM]; 6157 }; 6158 6159 /** 6160 * @struct mac_ax_ul_fix_sta_ent 6161 * @brief mac_ax_ul_fix_sta_ent 6162 * 6163 * @var mac_ax_ul_fix_sta_ent::mac_id 6164 * Please Place Description here. 6165 * @var mac_ax_ul_fix_sta_ent::ru_pos 6166 * Please Place Description here. 6167 * @var mac_ax_ul_fix_sta_ent::tgt_rssi 6168 * Please Place Description here. 6169 * @var mac_ax_ul_fix_sta_ent::fix_tgt_rssi 6170 * Please Place Description here. 6171 * @var mac_ax_ul_fix_sta_ent::fix_rate 6172 * Please Place Description here. 6173 * @var mac_ax_ul_fix_sta_ent::fix_coding 6174 * Please Place Description here. 6175 * @var mac_ax_ul_fix_sta_ent::coding 6176 * Please Place Description here. 6177 * @var mac_ax_ul_fix_sta_ent::rsvd1 6178 * Please Place Description here. 6179 * @var mac_ax_ul_fix_sta_ent::rate 6180 * Please Place Description here. 6181 */ 6182 struct mac_ax_ul_fix_sta_ent { 6183 u8 mac_id; 6184 u8 ru_pos[3]; 6185 u8 tgt_rssi[3]; 6186 u8 fix_tgt_rssi: 1; 6187 u8 fix_rate: 1; 6188 u8 fix_coding: 1; 6189 u8 coding: 1; 6190 u8 rsvd1: 4; 6191 struct mac_ax_ru_rate_ent rate; 6192 }; 6193 6194 /** 6195 * @struct mac_ax_ulru_fixtbl 6196 * @brief mac_ax_ulru_fixtbl 6197 * 6198 * @var mac_ax_ulru_fixtbl::tbl_hdr 6199 * Please Place Description here. 6200 * @var mac_ax_ulru_fixtbl::max_sta_num 6201 * Please Place Description here. 6202 * @var mac_ax_ulru_fixtbl::min_sta_num 6203 * Please Place Description here. 6204 * @var mac_ax_ulru_fixtbl::doppler 6205 * Please Place Description here. 6206 * @var mac_ax_ulru_fixtbl::ma_type 6207 * Please Place Description here. 6208 * @var mac_ax_ulru_fixtbl::gi_ltf 6209 * Please Place Description here. 6210 * @var mac_ax_ulru_fixtbl::stbc 6211 * Please Place Description here. 6212 * @var mac_ax_ulru_fixtbl::fix_tb_t_pe_nom 6213 * Please Place Description here. 6214 * @var mac_ax_ulru_fixtbl::tb_t_pe_nom 6215 * Please Place Description here. 6216 * @var mac_ax_ulru_fixtbl::fixru_flag 6217 * Please Place Description here. 6218 * @var mac_ax_ulru_fixtbl::rsvd 6219 * Please Place Description here. 6220 * @var mac_ax_ulru_fixtbl::sta 6221 * Please Place Description here. 6222 */ 6223 struct mac_ax_ulru_fixtbl { 6224 struct mac_ax_tbl_hdr tbl_hdr; 6225 u8 max_sta_num: 3; 6226 u8 min_sta_num: 3; 6227 u8 doppler: 1; 6228 u8 ma_type: 1; 6229 u8 gi_ltf: 3; 6230 u8 stbc: 1; 6231 u8 fix_tb_t_pe_nom: 1; 6232 u8 tb_t_pe_nom: 2; 6233 u8 fixru_flag: 1; 6234 u16 rsvd; 6235 struct mac_ax_ul_fix_sta_ent sta[MAC_AX_MAX_RU_NUM]; 6236 }; 6237 6238 /** 6239 * @struct mac_ax_scanofld_chinfo 6240 * @brief mac_ax_scanofld_chinfo 6241 * 6242 * @var mac_ax_scanofld_chinfo::period 6243 * how long to stay on this ch. unit: ms 6244 * @var mac_ax_scanofld_chinfo::dwell_time 6245 * dwell time if recv bcn. unit: ms. set 0 to disable dwell 6246 * @var mac_ax_scanofld_chinfo::central_ch 6247 * central ch 6248 * @var mac_ax_scanofld_chinfo::pri_ch 6249 * pri ch 6250 * @var mac_ax_scanofld_chinfo::bw 6251 * bandwidth 6252 * @var mac_ax_scanofld_chinfo::c2h_notify_dwell 6253 * notify if dwell 6254 * @var mac_ax_scanofld_chinfo::c2h_notify_preTX 6255 * notify before tx pkt 6256 * @var mac_ax_scanofld_chinfo::c2h_notify_postTX 6257 * notify after tx pkt 6258 * @var mac_ax_scanofld_chinfo::c2h_notify_enterCH 6259 * notify when entering ch 6260 * @var mac_ax_scanofld_chinfo::c2h_notify_leaveCH 6261 * notify when leaving ch 6262 * @var mac_ax_scanofld_chinfo::num_addition_pkt 6263 * num of additional pkt to send. Max=8 6264 * @var mac_ax_scanofld_chinfo::tx_pkt 6265 * whether tx probe req + additional pkt or not 6266 * @var mac_ax_scanofld_chinfo::pause_tx_data 6267 * wherther disable tx (except manage pkt) after sending probe req 6268 * @var mac_ax_scanofld_chinfo::rsvd0 6269 * Please Place Description here. 6270 * @var mac_ax_scanofld_chinfo::rsvd1 6271 * Please Place Description here. 6272 * @var mac_ax_scanofld_chinfo::additional_pkt_id 6273 * id of additional pkts to send 6274 */ 6275 #pragma pack(push) 6276 #pragma pack(1) 6277 struct mac_ax_scanofld_chinfo { 6278 /* dword 0 */ 6279 u8 period; 6280 u8 dwell_time; 6281 u8 central_ch; 6282 u8 pri_ch; 6283 /* dword 1 */ 6284 u8 bw: 3; 6285 u8 c2h_notify_dwell: 1; 6286 u8 c2h_notify_preTX: 1; 6287 u8 c2h_notify_postTX: 1; 6288 u8 c2h_notify_enterCH: 1; 6289 u8 c2h_notify_leaveCH: 1; 6290 u8 num_addition_pkt:4; 6291 u8 tx_pkt: 1; 6292 u8 pause_tx_data: 1; 6293 u8 rsvd0: 2; 6294 u16 rsvd1; 6295 /* dword 2 2*/ 6296 u8 additional_pkt_id[SCANOFLD_MAX_ADDITION_PKT_NUM]; 6297 }; 6298 6299 #pragma pack(pop) 6300 6301 /** 6302 * @struct mac_ax_scanofld_param 6303 * @brief mac_ax_scanofld_param 6304 * 6305 * @var mac_ax_scanofld_param::macid 6306 * macid 6307 * @var mac_ax_scanofld_param::norm_cy 6308 * normal cycle. available when scan_type=2 6309 * @var mac_ax_scanofld_param::port_id 6310 * port id 6311 * @var mac_ax_scanofld_param::band 6312 * band 6313 * @var mac_ax_scanofld_param::operation 6314 * 1: start scanning. 0: stop. 2: set param 6315 * @var mac_ax_scanofld_param::rsvd0 6316 * rsvd 6317 * @var mac_ax_scanofld_param::c2h_end 6318 * whether notify when scan end 6319 * @var mac_ax_scanofld_param::target_ch_mode 6320 * whether switch to target (op) channel after walking through list. available when scan_type!=3 6321 * @var mac_ax_scanofld_param::start_mode 6322 * 0: start immediatly. 1: start at assigned TSF 6323 * @var mac_ax_scanofld_param::scan_type 6324 * 0: scan once. 6325 * 1: normal repeat mode. period = normal_pd. 6326 * 2: normal_slow repeat mode. normal_pd for norm_cy times, then slow_pd 6327 * 3: seamless repeat mode 6328 * @var mac_ax_scanofld_param::target_ch_bw 6329 * BW of target (op) channel. available when target_ch_mode = 1 6330 * @var mac_ax_scanofld_param::target_pri_ch 6331 * pri ch of target (op) channel. available when target_ch_mode = 1 6332 * @var mac_ax_scanofld_param::target_central_ch 6333 * central ch of target (op) channel. available when target_ch_mode = 1 6334 * @var mac_ax_scanofld_param::probe_req_pkt_id 6335 * offloaded pkt id of probe request 6336 * @var mac_ax_scanofld_param::norm_pd 6337 * normal period. available when scan_type = 1,2 6338 * @var mac_ax_scanofld_param::slow_pd 6339 * slow period. available when scan_type = 2 6340 * @var mac_ax_scanofld_param::tsf_high 6341 * higher 32 bit of start tsf. available when start_mode = 1 6342 * @var mac_ax_scanofld_param::tsf_low 6343 * lower 32 bit of start tsf. available when start_mode = 1 6344 */ 6345 struct mac_ax_scanofld_param { 6346 /* dword0 */ 6347 u32 macid:8; 6348 u32 norm_cy:8; 6349 u32 port_id:3; 6350 u32 band:1; 6351 u32 operation:2; 6352 u32 rsvd0:10; 6353 /* dword1 */ 6354 u32 c2h_end:1; 6355 u32 target_ch_mode:1; 6356 u32 start_mode:1; 6357 u32 scan_type:2; 6358 u32 target_ch_bw:3; 6359 u32 target_pri_ch:8; 6360 u32 target_central_ch:8; 6361 u32 probe_req_pkt_id:8; 6362 /* dword2 */ 6363 u32 norm_pd:16; 6364 u32 slow_pd:16; 6365 /* dword3 */ 6366 u32 tsf_high; 6367 /* dword4 */ 6368 u32 tsf_low; 6369 }; 6370 6371 /** 6372 * @struct mac_ax_scanofld_info 6373 * @brief mac_ax_scanofld_info 6374 * 6375 * @var mac_ax_scanofld_info::list 6376 * halmac-hold CHlist 6377 * @var mac_ax_scanofld_info::HalmacChListBusy 6378 * halmac CHlist is busy or not 6379 * @var mac_ax_scanofld_info::FwChListBusy 6380 * fw CHlist is busy or not 6381 * @var mac_ax_scanofld_info::clearHalmacList 6382 * clear halmac-hold CHlist after sending to fw or not 6383 * @var mac_ax_scanofld_info::scanBusy 6384 * fw scanning or not 6385 */ 6386 struct mac_ax_scanofld_info{ 6387 struct scan_chinfo_list *list; 6388 mac_ax_mutex drv_chlist_state_lock; 6389 mac_ax_mutex fw_chlist_state_lock; 6390 u8 drv_chlist_busy; 6391 u8 fw_chlist_busy; 6392 u8 clear_drv_ch_list; 6393 u8 fw_scan_busy; 6394 }; 6395 6396 /*--------------------END Define Struct needed to be moved--------------------*/ 6397 /*--------------------Define HCI related structure----------------------------*/ 6398 6399 /** 6400 * @struct mac_ax_hfc_ch_cfg 6401 * @brief mac_ax_hfc_ch_cfg 6402 * 6403 * @var mac_ax_hfc_ch_cfg::min 6404 * Please Place Description here. 6405 * @var mac_ax_hfc_ch_cfg::max 6406 * Please Place Description here. 6407 * @var mac_ax_hfc_ch_cfg::grp 6408 * Please Place Description here. 6409 */ 6410 struct mac_ax_hfc_ch_cfg { 6411 u16 min; 6412 u16 max; 6413 #define grp_0 0 6414 #define grp_1 1 6415 #define grp_num 2 6416 u8 grp; 6417 }; 6418 6419 /** 6420 * @struct mac_ax_hfc_ch_info 6421 * @brief mac_ax_hfc_ch_info 6422 * 6423 * @var mac_ax_hfc_ch_info::aval 6424 * Please Place Description here. 6425 * @var mac_ax_hfc_ch_info::used 6426 * Please Place Description here. 6427 */ 6428 struct mac_ax_hfc_ch_info { 6429 u16 aval; 6430 u16 used; 6431 }; 6432 6433 /** 6434 * @struct mac_ax_hfc_pub_cfg 6435 * @brief mac_ax_hfc_pub_cfg 6436 * 6437 * @var mac_ax_hfc_pub_cfg::group0 6438 * Please Place Description here. 6439 * @var mac_ax_hfc_pub_cfg::group1 6440 * Please Place Description here. 6441 * @var mac_ax_hfc_pub_cfg::pub_max 6442 * Please Place Description here. 6443 * @var mac_ax_hfc_pub_cfg::wp_thrd 6444 * Please Place Description here. 6445 */ 6446 struct mac_ax_hfc_pub_cfg { 6447 u16 group0; 6448 u16 group1; 6449 u16 pub_max; 6450 u16 wp_thrd; 6451 }; 6452 6453 /** 6454 * @struct mac_ax_hfc_pub_info 6455 * @brief mac_ax_hfc_pub_info 6456 * 6457 * @var mac_ax_hfc_pub_info::g0_used 6458 * Please Place Description here. 6459 * @var mac_ax_hfc_pub_info::g1_used 6460 * Please Place Description here. 6461 * @var mac_ax_hfc_pub_info::g0_aval 6462 * Please Place Description here. 6463 * @var mac_ax_hfc_pub_info::g1_aval 6464 * Please Place Description here. 6465 * @var mac_ax_hfc_pub_info::pub_aval 6466 * Please Place Description here. 6467 * @var mac_ax_hfc_pub_info::wp_aval 6468 * Please Place Description here. 6469 */ 6470 struct mac_ax_hfc_pub_info { 6471 u16 g0_used; 6472 u16 g1_used; 6473 u16 g0_aval; 6474 u16 g1_aval; 6475 u16 pub_aval; 6476 u16 wp_aval; 6477 }; 6478 6479 /** 6480 * @struct mac_ax_hfc_prec_cfg 6481 * @brief mac_ax_hfc_prec_cfg 6482 * 6483 * @var mac_ax_hfc_prec_cfg::ch011_prec 6484 * Please Place Description here. 6485 * @var mac_ax_hfc_prec_cfg::h2c_prec 6486 * Please Place Description here. 6487 * @var mac_ax_hfc_prec_cfg::wp_ch07_prec 6488 * Please Place Description here. 6489 * @var mac_ax_hfc_prec_cfg::wp_ch811_prec 6490 * Please Place Description here. 6491 * @var mac_ax_hfc_prec_cfg::ch011_full_cond 6492 * Please Place Description here. 6493 * @var mac_ax_hfc_prec_cfg::h2c_full_cond 6494 * Please Place Description here. 6495 * @var mac_ax_hfc_prec_cfg::wp_ch07_full_cond 6496 * Please Place Description here. 6497 * @var mac_ax_hfc_prec_cfg::wp_ch811_full_cond 6498 * Please Place Description here. 6499 */ 6500 struct mac_ax_hfc_prec_cfg { 6501 u16 ch011_prec; 6502 u16 h2c_prec; 6503 u16 wp_ch07_prec; 6504 u16 wp_ch811_prec; 6505 u8 ch011_full_cond; 6506 u8 h2c_full_cond; 6507 u8 wp_ch07_full_cond; 6508 u8 wp_ch811_full_cond; 6509 }; 6510 6511 /** 6512 * @struct mac_ax_hfc_param 6513 * @brief mac_ax_hfc_param 6514 * 6515 * @var mac_ax_hfc_param::en 6516 * Please Place Description here. 6517 * @var mac_ax_hfc_param::h2c_en 6518 * Please Place Description here. 6519 * @var mac_ax_hfc_param::mode 6520 * Please Place Description here. 6521 * @var mac_ax_hfc_param::ch_cfg 6522 * Please Place Description here. 6523 * @var mac_ax_hfc_param::ch_info 6524 * Please Place Description here. 6525 * @var mac_ax_hfc_param::pub_cfg 6526 * Please Place Description here. 6527 * @var mac_ax_hfc_param::pub_info 6528 * Please Place Description here. 6529 * @var mac_ax_hfc_param::prec_cfg 6530 * Please Place Description here. 6531 */ 6532 struct mac_ax_hfc_param { 6533 u8 en; 6534 u8 h2c_en; 6535 u8 mode; 6536 struct mac_ax_hfc_ch_cfg *ch_cfg; 6537 struct mac_ax_hfc_ch_info *ch_info; 6538 struct mac_ax_hfc_pub_cfg *pub_cfg; 6539 struct mac_ax_hfc_pub_info *pub_info; 6540 struct mac_ax_hfc_prec_cfg *prec_cfg; 6541 }; 6542 6543 /** 6544 * @struct mac_ax_sdio_tx_info 6545 * @brief mac_ax_sdio_tx_info 6546 * 6547 * @var mac_ax_sdio_tx_info::total_size 6548 * Please Place Description here. 6549 * @var mac_ax_sdio_tx_info::dma_txagg_num 6550 * Please Place Description here. 6551 * @var mac_ax_sdio_tx_info::ch_dma 6552 * Please Place Description here. 6553 * @var mac_ax_sdio_tx_info::pkt_size 6554 * Please Place Description here. 6555 * @var mac_ax_sdio_tx_info::wp_offset 6556 * Please Place Description here. 6557 * @var mac_ax_sdio_tx_info::chk_cnt 6558 * Please Place Description here. 6559 * @var mac_ax_sdio_tx_info::wde_rqd_num 6560 * Please Place Description here. 6561 * @var mac_ax_sdio_tx_info::ple_rqd_num 6562 * Please Place Description here. 6563 */ 6564 struct mac_ax_sdio_tx_info { 6565 u32 total_size; 6566 u8 dma_txagg_num; 6567 u8 ch_dma; 6568 u8 *pkt_size; 6569 u8 *wp_offset; 6570 u8 chk_cnt; 6571 u16 wde_rqd_num; 6572 u16 ple_rqd_num; 6573 }; 6574 6575 /** 6576 * @struct mac_ax_sdio_clk_mon_cfg 6577 * @brief mac_ax_sdio_clk_mon_cfg 6578 * 6579 * @var mac_ax_sdio_clk_mon_cfg::mon 6580 * Please Place Description here. 6581 * @var mac_ax_sdio_clk_mon_cfg::cycle 6582 * Please Place Description here. 6583 */ 6584 struct mac_ax_sdio_clk_mon_cfg { 6585 enum mac_ax_sdio_clk_mon mon; 6586 u32 cycle; 6587 }; 6588 6589 /** 6590 * @struct mac_ax_pcie_ltr_rx_th_ctrl 6591 * @brief mac_ax_pcie_ltr_rx_th_ctrl 6592 * 6593 * @var mac_ax_pcie_ltr_rx_th_ctrl::ctrl 6594 * Please Place Description here. 6595 * @var mac_ax_pcie_ltr_rx_th_ctrl::val 6596 * Please Place Description here. 6597 */ 6598 struct mac_ax_pcie_ltr_rx_th_ctrl { 6599 enum mac_ax_pcie_func_ctrl ctrl; 6600 u16 val; 6601 }; 6602 6603 /** 6604 * @struct mac_ax_pcie_ltr_lat_ctrl 6605 * @brief mac_ax_pcie_ltr_lat_ctrl 6606 * 6607 * @var mac_ax_pcie_ltr_lat_ctrl::ctrl 6608 * Please Place Description here. 6609 * @var mac_ax_pcie_ltr_lat_ctrl::val 6610 * Please Place Description here. 6611 */ 6612 struct mac_ax_pcie_ltr_lat_ctrl { 6613 enum mac_ax_pcie_func_ctrl ctrl; 6614 u32 val; 6615 }; 6616 6617 /** 6618 * @struct mac_ax_pcie_ltr_param 6619 * @brief mac_ax_pcie_ltr_param 6620 * 6621 * @var mac_ax_pcie_ltr_param::write 6622 * Please Place Description here. 6623 * @var mac_ax_pcie_ltr_param::read 6624 * Please Place Description here. 6625 * @var mac_ax_pcie_ltr_param::ltr_ctrl 6626 * Please Place Description here. 6627 * @var mac_ax_pcie_ltr_param::ltr_hw_ctrl 6628 * Please Place Description here. 6629 * @var mac_ax_pcie_ltr_param::ltr_spc_ctrl 6630 * Please Place Description here. 6631 * @var mac_ax_pcie_ltr_param::ltr_idle_timer_ctrl 6632 * Please Place Description here. 6633 * @var mac_ax_pcie_ltr_param::ltr_rx0_th_ctrl 6634 * Please Place Description here. 6635 * @var mac_ax_pcie_ltr_param::ltr_rx1_th_ctrl 6636 * Please Place Description here. 6637 * @var mac_ax_pcie_ltr_param::ltr_idle_lat_ctrl 6638 * Please Place Description here. 6639 * @var mac_ax_pcie_ltr_param::ltr_act_lat_ctrl 6640 * Please Place Description here. 6641 */ 6642 struct mac_ax_pcie_ltr_param { 6643 u8 write; 6644 u8 read; 6645 enum mac_ax_pcie_func_ctrl ltr_ctrl; 6646 enum mac_ax_pcie_func_ctrl ltr_hw_ctrl; 6647 enum mac_ax_pcie_ltr_spc ltr_spc_ctrl; 6648 enum mac_ax_pcie_ltr_idle_timer ltr_idle_timer_ctrl; 6649 struct mac_ax_pcie_ltr_rx_th_ctrl ltr_rx0_th_ctrl; 6650 struct mac_ax_pcie_ltr_rx_th_ctrl ltr_rx1_th_ctrl; 6651 struct mac_ax_pcie_ltr_lat_ctrl ltr_idle_lat_ctrl; 6652 struct mac_ax_pcie_ltr_lat_ctrl ltr_act_lat_ctrl; 6653 }; 6654 6655 /** 6656 * @struct mac_ax_usb_tx_agg_cfg 6657 * @brief mac_ax_usb_tx_agg_cfg 6658 * 6659 * @var mac_ax_usb_tx_agg_cfg::pkt 6660 * Please Place Description here. 6661 * @var mac_ax_usb_tx_agg_cfg::agg_num 6662 * Please Place Description here. 6663 */ 6664 struct mac_ax_usb_tx_agg_cfg { 6665 u8 *pkt; 6666 u32 agg_num; 6667 }; 6668 6669 /** 6670 * @struct mac_ax_pcie_cfgspc_param 6671 * @brief mac_ax_pcie_cfgspc_param 6672 * 6673 * @var mac_ax_pcie_cfgspc_param::write 6674 * Please Place Description here. 6675 * @var mac_ax_pcie_cfgspc_param::read 6676 * Please Place Description here. 6677 * @var mac_ax_pcie_cfgspc_param::l0s_ctrl 6678 * Please Place Description here. 6679 * @var mac_ax_pcie_cfgspc_param::l1_ctrl 6680 * Please Place Description here. 6681 * @var mac_ax_pcie_cfgspc_param::l1ss_ctrl 6682 * Please Place Description here. 6683 * @var mac_ax_pcie_cfgspc_param::wake_ctrl 6684 * Please Place Description here. 6685 * @var mac_ax_pcie_cfgspc_param::crq_ctrl 6686 * Please Place Description here. 6687 * @var mac_ax_pcie_cfgspc_param::clkdly_ctrl 6688 * Please Place Description here. 6689 * @var mac_ax_pcie_cfgspc_param::l0sdly_ctrl 6690 * Please Place Description here. 6691 * @var mac_ax_pcie_cfgspc_param::l1dly_ctrl 6692 * Please Place Description here. 6693 */ 6694 struct mac_ax_pcie_cfgspc_param { 6695 u8 write; 6696 u8 read; 6697 enum mac_ax_pcie_func_ctrl l0s_ctrl; 6698 enum mac_ax_pcie_func_ctrl l1_ctrl; 6699 enum mac_ax_pcie_func_ctrl l1ss_ctrl; 6700 enum mac_ax_pcie_func_ctrl wake_ctrl; 6701 enum mac_ax_pcie_func_ctrl crq_ctrl; 6702 enum mac_ax_pcie_clkdly clkdly_ctrl; 6703 enum mac_ax_pcie_l0sdly l0sdly_ctrl; 6704 enum mac_ax_pcie_l1dly l1dly_ctrl; 6705 }; 6706 6707 /** 6708 * @struct mac_ax_rx_agg_thold 6709 * @brief mac_ax_rx_agg_thold 6710 * 6711 * @var mac_ax_rx_agg_thold::drv_define 6712 * Please Place Description here. 6713 * @var mac_ax_rx_agg_thold::timeout 6714 * Please Place Description here. 6715 * @var mac_ax_rx_agg_thold::size 6716 * Please Place Description here. 6717 * @var mac_ax_rx_agg_thold::pkt_num 6718 * Please Place Description here. 6719 */ 6720 struct mac_ax_rx_agg_thold { 6721 u8 drv_define; 6722 u8 timeout; 6723 u8 size; 6724 u8 pkt_num; 6725 }; 6726 6727 /** 6728 * @struct mac_ax_lifetime_en 6729 * @brief mac_ax_lifetime_en 6730 * 6731 * @var mac_ax_lifetime_en::acq_en 6732 * Please Place Description here. 6733 * @var mac_ax_lifetime_en::mgq_en 6734 * Please Place Description here. 6735 */ 6736 struct mac_ax_lifetime_en { 6737 u8 acq_en; 6738 u8 mgq_en; 6739 }; 6740 6741 /** 6742 * @struct mac_ax_lifetime_val 6743 * @brief mac_ax_lifetime_val 6744 * 6745 * @var mac_ax_lifetime_val::acq_val_1 6746 * Please Place Description here. 6747 * @var mac_ax_lifetime_val::acq_val_2 6748 * Please Place Description here. 6749 * @var mac_ax_lifetime_val::acq_val_3 6750 * Please Place Description here. 6751 * @var mac_ax_lifetime_val::acq_val_4 6752 * Please Place Description here. 6753 * @var mac_ax_lifetime_val::mgq_val 6754 * Please Place Description here. 6755 */ 6756 struct mac_ax_lifetime_val { 6757 u16 acq_val_1; 6758 u16 acq_val_2; 6759 u16 acq_val_3; 6760 u16 acq_val_4; 6761 u16 mgq_val; 6762 }; 6763 6764 /** 6765 * @struct mac_ax_cfg_bw 6766 * @brief mac_ax_cfg_bw 6767 * 6768 * @var mac_ax_cfg_bw::pri_ch 6769 * Please Place Description here. 6770 * @var mac_ax_cfg_bw::central_ch 6771 * Please Place Description here. 6772 * @var mac_ax_cfg_bw::band 6773 * Please Place Description here. 6774 * @var mac_ax_cfg_bw::rsvd 6775 * Please Place Description here. 6776 * @var mac_ax_cfg_bw::cbw 6777 * Please Place Description here. 6778 */ 6779 struct mac_ax_cfg_bw { 6780 u8 pri_ch; 6781 u8 central_ch; 6782 u16 band: 1; 6783 u16 rsvd: 15; 6784 enum channel_width cbw; 6785 }; 6786 6787 /*-------------------- Define Efuse related structure ------------------------*/ 6788 6789 /** 6790 * @struct mac_ax_pg_efuse_info 6791 * @brief mac_ax_pg_efuse_info 6792 * 6793 * @var mac_ax_pg_efuse_info::efuse_map 6794 * Please Place Description here. 6795 * @var mac_ax_pg_efuse_info::efuse_map_size 6796 * Please Place Description here. 6797 * @var mac_ax_pg_efuse_info::efuse_mask 6798 * Please Place Description here. 6799 * @var mac_ax_pg_efuse_info::efuse_mask_size 6800 * Please Place Description here. 6801 */ 6802 struct mac_ax_pg_efuse_info { 6803 u8 *efuse_map; 6804 u32 efuse_map_size; 6805 u8 *efuse_mask; 6806 u32 efuse_mask_size; 6807 }; 6808 6809 /** 6810 * @struct mac_ax_efuse_param 6811 * @brief mac_ax_efuse_param 6812 * 6813 * @var mac_ax_efuse_param::efuse_map 6814 * Please Place Description here. 6815 * @var mac_ax_efuse_param::bt_efuse_map 6816 * Please Place Description here. 6817 * @var mac_ax_efuse_param::log_efuse_map 6818 * Please Place Description here. 6819 * @var mac_ax_efuse_param::bt_log_efuse_map 6820 * Please Place Description here. 6821 * @var mac_ax_efuse_param::efuse_end 6822 * Please Place Description here. 6823 * @var mac_ax_efuse_param::bt_efuse_end 6824 * Please Place Description here. 6825 * @var mac_ax_efuse_param::efuse_map_valid 6826 * Please Place Description here. 6827 * @var mac_ax_efuse_param::bt_efuse_map_valid 6828 * Please Place Description here. 6829 * @var mac_ax_efuse_param::log_efuse_map_valid 6830 * Please Place Description here. 6831 * @var mac_ax_efuse_param::bt_log_efuse_map_valid 6832 * Please Place Description here. 6833 * @var mac_ax_efuse_param::auto_ck_en 6834 * Please Place Description here. 6835 * @var mac_ax_efuse_param::dav_efuse_map 6836 * Please Place Description here. 6837 * @var mac_ax_efuse_param::dav_log_efuse_map 6838 * Please Place Description here. 6839 * @var mac_ax_efuse_param::dav_efuse_end 6840 * Please Place Description here. 6841 * @var mac_ax_efuse_param::dav_efuse_map_valid 6842 * Please Place Description here. 6843 * @var mac_ax_efuse_param::dav_log_efuse_map_valid 6844 * Please Place Description here. 6845 */ 6846 struct mac_ax_efuse_param { 6847 u8 *efuse_map; 6848 u8 *bt_efuse_map; 6849 u8 *log_efuse_map; 6850 u8 *bt_log_efuse_map; 6851 u32 efuse_end; 6852 u32 bt_efuse_end; 6853 u8 efuse_map_valid; 6854 u8 bt_efuse_map_valid; 6855 u8 log_efuse_map_valid; 6856 u8 bt_log_efuse_map_valid; 6857 u8 auto_ck_en; 6858 u8 *dav_efuse_map; 6859 u8 *dav_log_efuse_map; 6860 u32 dav_efuse_end; 6861 u8 dav_efuse_map_valid; 6862 u8 dav_log_efuse_map_valid; 6863 }; 6864 6865 /*-------------------- Define offload related Struct -------------------------*/ 6866 6867 /** 6868 * @struct mac_ax_read_req 6869 * @brief mac_ax_read_req 6870 * 6871 * @var mac_ax_read_req::value_len 6872 * Please Place Description here. 6873 * @var mac_ax_read_req::rsvd0 6874 * Please Place Description here. 6875 * @var mac_ax_read_req::ls 6876 * Please Place Description here. 6877 * @var mac_ax_read_req::ofld_id 6878 * Please Place Description here. 6879 * @var mac_ax_read_req::entry_num 6880 * Please Place Description here. 6881 * @var mac_ax_read_req::offset 6882 * Please Place Description here. 6883 * @var mac_ax_read_req::rsvd1 6884 * Please Place Description here. 6885 */ 6886 struct mac_ax_read_req { 6887 u16 value_len:11; 6888 u16 rsvd0: 4; 6889 u16 ls: 1; 6890 u8 ofld_id; 6891 u8 entry_num; 6892 u16 offset; 6893 u16 rsvd1; 6894 }; 6895 6896 /** 6897 * @struct mac_ax_read_ofld_info 6898 * @brief mac_ax_read_ofld_info 6899 * 6900 * @var mac_ax_read_ofld_info::buf 6901 * Please Place Description here. 6902 * @var mac_ax_read_ofld_info::buf_wptr 6903 * Please Place Description here. 6904 * @var mac_ax_read_ofld_info::last_req 6905 * Please Place Description here. 6906 * @var mac_ax_read_ofld_info::buf_size 6907 * Please Place Description here. 6908 * @var mac_ax_read_ofld_info::avl_buf_size 6909 * Please Place Description here. 6910 * @var mac_ax_read_ofld_info::used_size 6911 * Please Place Description here. 6912 * @var mac_ax_read_ofld_info::req_num 6913 * Please Place Description here. 6914 */ 6915 struct mac_ax_read_ofld_info { 6916 u8 *buf; 6917 u8 *buf_wptr; 6918 struct mac_ax_read_req *last_req; 6919 u32 buf_size; 6920 u32 avl_buf_size; 6921 u32 used_size; 6922 u32 req_num; 6923 }; 6924 6925 /** 6926 * @struct mac_ax_read_ofld_value 6927 * @brief mac_ax_read_ofld_value 6928 * 6929 * @var mac_ax_read_ofld_value::len 6930 * Please Place Description here. 6931 * @var mac_ax_read_ofld_value::rsvd 6932 * Please Place Description here. 6933 * @var mac_ax_read_ofld_value::buf 6934 * Please Place Description here. 6935 */ 6936 struct mac_ax_read_ofld_value { 6937 u16 len; 6938 u16 rsvd; 6939 u8 *buf; 6940 }; 6941 6942 /** 6943 * @struct mac_ax_efuse_ofld_info 6944 * @brief mac_ax_efuse_ofld_info 6945 * 6946 * @var mac_ax_efuse_ofld_info::buf 6947 * Please Place Description here. 6948 */ 6949 struct mac_ax_efuse_ofld_info { 6950 u8 *buf; 6951 }; 6952 6953 /** 6954 * @struct mac_ax_write_req 6955 * @brief mac_ax_write_req 6956 * 6957 * @var mac_ax_write_req::value_len 6958 * Please Place Description here. 6959 * @var mac_ax_write_req::rsvd0 6960 * Please Place Description here. 6961 * @var mac_ax_write_req::polling 6962 * Please Place Description here. 6963 * @var mac_ax_write_req::mask_en 6964 * Please Place Description here. 6965 * @var mac_ax_write_req::ls 6966 * Please Place Description here. 6967 * @var mac_ax_write_req::ofld_id 6968 * Please Place Description here. 6969 * @var mac_ax_write_req::entry_num 6970 * Please Place Description here. 6971 * @var mac_ax_write_req::offset 6972 * Please Place Description here. 6973 * @var mac_ax_write_req::rsvd1 6974 * Please Place Description here. 6975 */ 6976 struct mac_ax_write_req { 6977 u16 value_len:11; 6978 u16 rsvd0: 2; 6979 u16 polling: 1; 6980 u16 mask_en: 1; 6981 u16 ls: 1; 6982 u8 ofld_id; 6983 u8 entry_num; 6984 u16 offset; 6985 u16 rsvd1; 6986 }; 6987 6988 /** 6989 * @struct mac_ax_write_ofld_info 6990 * @brief mac_ax_write_ofld_info 6991 * 6992 * @var mac_ax_write_ofld_info::buf 6993 * Please Place Description here. 6994 * @var mac_ax_write_ofld_info::buf_wptr 6995 * Please Place Description here. 6996 * @var mac_ax_write_ofld_info::last_req 6997 * Please Place Description here. 6998 * @var mac_ax_write_ofld_info::buf_size 6999 * Please Place Description here. 7000 * @var mac_ax_write_ofld_info::avl_buf_size 7001 * Please Place Description here. 7002 * @var mac_ax_write_ofld_info::used_size 7003 * Please Place Description here. 7004 * @var mac_ax_write_ofld_info::req_num 7005 * Please Place Description here. 7006 */ 7007 struct mac_ax_write_ofld_info { 7008 u8 *buf; 7009 u8 *buf_wptr; 7010 struct mac_ax_write_req *last_req; 7011 u32 buf_size; 7012 u32 avl_buf_size; 7013 u32 used_size; 7014 u32 req_num; 7015 }; 7016 7017 /** 7018 * @struct mac_ax_conf_ofld_info 7019 * @brief mac_ax_conf_ofld_info 7020 * 7021 * @var mac_ax_conf_ofld_info::buf 7022 * Please Place Description here. 7023 * @var mac_ax_conf_ofld_info::buf_wptr 7024 * Please Place Description here. 7025 * @var mac_ax_conf_ofld_info::buf_size 7026 * Please Place Description here. 7027 * @var mac_ax_conf_ofld_info::avl_buf_size 7028 * Please Place Description here. 7029 * @var mac_ax_conf_ofld_info::used_size 7030 * Please Place Description here. 7031 * @var mac_ax_conf_ofld_info::req_num 7032 * Please Place Description here. 7033 */ 7034 struct mac_ax_conf_ofld_info { 7035 u8 *buf; 7036 u8 *buf_wptr; 7037 u32 buf_size; 7038 u32 avl_buf_size; 7039 u32 used_size; 7040 u16 req_num; 7041 }; 7042 7043 /** 7044 * @struct mac_ax_pkt_ofld_info 7045 * @brief mac_ax_pkt_ofld_info 7046 * 7047 * @var mac_ax_pkt_ofld_info::last_op 7048 * Please Place Description here. 7049 * @var mac_ax_pkt_ofld_info::free_id_count 7050 * Please Place Description here. 7051 * @var mac_ax_pkt_ofld_info::used_id_count 7052 * Please Place Description here. 7053 * @var mac_ax_pkt_ofld_info::id_bitmap 7054 * Please Place Description here. 7055 */ 7056 struct mac_ax_pkt_ofld_info { 7057 #define PKT_OFLD_MAX_COUNT 256 7058 u8 last_op; 7059 u16 free_id_count; 7060 u16 used_id_count; 7061 u8 id_bitmap[PKT_OFLD_MAX_COUNT >> 3]; 7062 }; 7063 7064 /** 7065 * @struct mac_ax_pkt_ofld_pkt 7066 * @brief mac_ax_pkt_ofld_pkt 7067 * 7068 * @var mac_ax_pkt_ofld_pkt::pkt_id 7069 * Please Place Description here. 7070 * @var mac_ax_pkt_ofld_pkt::rsvd 7071 * Please Place Description here. 7072 * @var mac_ax_pkt_ofld_pkt::pkt_len 7073 * Please Place Description here. 7074 * @var mac_ax_pkt_ofld_pkt::pkt 7075 * Please Place Description here. 7076 */ 7077 struct mac_ax_pkt_ofld_pkt { 7078 u8 pkt_id; 7079 u8 rsvd; 7080 u16 pkt_len; 7081 u8 *pkt; 7082 }; 7083 7084 /** 7085 * @struct mac_ax_general_pkt_ids 7086 * @brief mac_ax_general_pkt_ids 7087 * 7088 * @var mac_ax_general_pkt_ids::macid 7089 * Please Place Description here. 7090 * @var mac_ax_general_pkt_ids::probersp 7091 * Please Place Description here. 7092 * @var mac_ax_general_pkt_ids::pspoll 7093 * Please Place Description here. 7094 * @var mac_ax_general_pkt_ids::nulldata 7095 * Please Place Description here. 7096 * @var mac_ax_general_pkt_ids::qosnull 7097 * Please Place Description here. 7098 * @var mac_ax_general_pkt_ids::cts2self 7099 * Please Place Description here. 7100 * @var mac_ax_general_pkt_ids::probereq 7101 * offloaded probe request pkt id 7102 * @var mac_ax_general_pkt_ids::apcsa 7103 * offloaded CSA frame id 7104 */ 7105 struct mac_ax_general_pkt_ids { 7106 u8 macid; 7107 u8 probersp; 7108 u8 pspoll; 7109 u8 nulldata; 7110 u8 qosnull; 7111 u8 cts2self; 7112 u8 probereq; 7113 u8 apcsa; 7114 }; 7115 7116 #ifndef CONFIG_FW_IO_OFLD_SUPPORT 7117 /** 7118 * @struct rtw_mac_cmd 7119 * @brief rtw_mac_cmd 7120 * 7121 * @var rtw_mac_cmd::src 7122 * Please Place Description here. 7123 * @var rtw_mac_cmd::type 7124 * Please Place Description here. 7125 * @var rtw_mac_cmd::lc 7126 * Please Place Description here. 7127 * @var rtw_mac_cmd::rf_path 7128 * Please Place Description here. 7129 * @var rtw_mac_cmd::offset 7130 * Please Place Description here. 7131 * @var rtw_mac_cmd::id 7132 * Please Place Description here. 7133 * @var rtw_mac_cmd::value 7134 * Please Place Description here. 7135 * @var rtw_mac_cmd::mask 7136 * Please Place Description here. 7137 */ 7138 struct rtw_mac_cmd { 7139 enum rtw_mac_src_cmd_ofld src; 7140 enum rtw_mac_cmd_type_ofld type; 7141 u8 lc; 7142 enum rtw_mac_rf_path rf_path; 7143 u16 offset; 7144 u16 id; 7145 u32 value; 7146 u32 mask; 7147 }; 7148 7149 #endif 7150 7151 /** 7152 * @struct mac_ax_cmd_ofld_info 7153 * @brief mac_ax_cmd_ofld_info 7154 * 7155 * @var mac_ax_cmd_ofld_info::buf 7156 * Please Place Description here. 7157 * @var mac_ax_cmd_ofld_info::end_ptr 7158 * Please Place Description here. 7159 * @var mac_ax_cmd_ofld_info::buf_size 7160 * Please Place Description here. 7161 * @var mac_ax_cmd_ofld_info::avl_buf_size 7162 * Please Place Description here. 7163 * @var mac_ax_cmd_ofld_info::used_size 7164 * Please Place Description here. 7165 * @var mac_ax_cmd_ofld_info::cmd_num 7166 * Please Place Description here. 7167 */ 7168 struct mac_ax_cmd_ofld_info { 7169 u8 *buf; 7170 u8 *buf_wptr; 7171 u8 *last_wptr; 7172 u16 buf_size; 7173 u16 avl_buf_size; 7174 u16 used_size; 7175 u8 cmd_num; 7176 u8 result; 7177 u32 accu_delay; 7178 mac_ax_mutex cmd_ofld_lock; 7179 }; 7180 7181 /** 7182 * @struct mac_ax_tx_duty_ofld_info 7183 * @brief mac_ax_tx_duty_ofld_info 7184 * 7185 * @var mac_ax_tx_duty_ofld_info::timer_err 7186 * Please Place Description here. 7187 */ 7188 struct mac_ax_tx_duty_ofld_info { 7189 u8 timer_err; 7190 }; 7191 7192 /*--------------------Define OutSrc related ----------------------------------*/ 7193 7194 /** 7195 * @struct mac_ax_la_cfg 7196 * @brief mac_ax_la_cfg 7197 * 7198 * @var mac_ax_la_cfg::la_func_en 7199 * Please Place Description here. 7200 * @var mac_ax_la_cfg::la_restart_en 7201 * Please Place Description here. 7202 * @var mac_ax_la_cfg::la_timeout_en 7203 * Please Place Description here. 7204 * @var mac_ax_la_cfg::la_timeout_val 7205 * Please Place Description here. 7206 * @var mac_ax_la_cfg::la_data_loss_imr 7207 * Please Place Description here. 7208 * @var mac_ax_la_cfg::la_tgr_tu_sel 7209 * Please Place Description here. 7210 * @var mac_ax_la_cfg::la_tgr_time_val 7211 * Please Place Description here. 7212 * @var mac_ax_la_cfg::rsvd 7213 * Please Place Description here. 7214 */ 7215 struct mac_ax_la_cfg { 7216 u32 la_func_en:1; 7217 u32 la_restart_en:1; 7218 u32 la_timeout_en:1; 7219 /* 2'h0: 1s, 2'h1: 2s, 2'h2: 4s, 2'h3: 8s */ 7220 u32 la_timeout_val:2; 7221 /*Error flag mask bit for LA data loss due to pktbuffer busy */ 7222 u32 la_data_loss_imr:1; 7223 /* TU (time unit) = 2^ B_AX_LA_TRIG_TU_SEL */ 7224 u32 la_tgr_tu_sel:4; 7225 /* 6'h0: No delay, 6'h1: 1 TU, 6'h2: 2TU, ??*/ 7226 u32 la_tgr_time_val:7; 7227 u32 rsvd:15; 7228 }; 7229 7230 /** 7231 * @struct mac_ax_la_status 7232 * @brief mac_ax_la_status 7233 * 7234 * @var mac_ax_la_status::la_buf_wptr 7235 * Please Place Description here. 7236 * @var mac_ax_la_status::la_buf_rndup_ind 7237 * Please Place Description here. 7238 * @var mac_ax_la_status::la_sw_fsmst 7239 * Please Place Description here. 7240 * @var mac_ax_la_status::la_data_loss 7241 * Please Place Description here. 7242 */ 7243 struct mac_ax_la_status { 7244 /* LA data dump finish address = (la_buf_wptr -1) */ 7245 u16 la_buf_wptr; 7246 /*1: round up, 0: No round up */ 7247 u8 la_buf_rndup_ind:1; 7248 /*3'h0: LA idle ; 3'h1: LA start; 3'h2: LA finish stop;*/ 7249 /*3'h3:LA finish timeout; 3'h4: LA re-start*/ 7250 u8 la_sw_fsmst:3; 7251 /* LA data loss due to pktbuffer busy */ 7252 u8 la_data_loss:1; 7253 }; 7254 7255 /** 7256 * @struct mac_ax_la_buf_param 7257 * @brief mac_ax_la_buf_param 7258 * 7259 * @var mac_ax_la_buf_param::start_addr 7260 * Please Place Description here. 7261 * @var mac_ax_la_buf_param::end_addr 7262 * Please Place Description here. 7263 * @var mac_ax_la_buf_param::la_buf_sel 7264 * Please Place Description here. 7265 */ 7266 struct mac_ax_la_buf_param { 7267 u32 start_addr; 7268 u32 end_addr; 7269 u8 la_buf_sel; /*0: 64KB; 1: 128KB; 2: 192KB; 3: 256KB; 4: 320KB*/ 7270 }; 7271 7272 /*--------------------Define TRX PKT INFO/RPT---------------------------------*/ 7273 7274 /** 7275 * @struct mac_ax_pkt_data 7276 * @brief mac_ax_pkt_data 7277 * 7278 * @var mac_ax_pkt_data::wifi_seq 7279 * Please Place Description here. 7280 * @var mac_ax_pkt_data::hw_ssn_sel 7281 * Please Place Description here. 7282 * @var mac_ax_pkt_data::hw_seq_mode 7283 * Please Place Description here. 7284 * @var mac_ax_pkt_data::chk_en 7285 * Please Place Description here. 7286 * @var mac_ax_pkt_data::hw_amsdu 7287 * Please Place Description here. 7288 * @var mac_ax_pkt_data::shcut_camid 7289 * Please Place Description here. 7290 * @var mac_ax_pkt_data::headerwllc_len 7291 * Please Place Description here. 7292 * @var mac_ax_pkt_data::smh_en 7293 * Please Place Description here. 7294 * @var mac_ax_pkt_data::wd_page 7295 * Please Place Description here. 7296 * @var mac_ax_pkt_data::wp_offset 7297 * Please Place Description here. 7298 * @var mac_ax_pkt_data::wdinfo_en 7299 * Please Place Description here. 7300 * @var mac_ax_pkt_data::hw_aes_iv 7301 * Please Place Description here. 7302 * @var mac_ax_pkt_data::hdr_len 7303 * Please Place Description here. 7304 * @var mac_ax_pkt_data::ch 7305 * Please Place Description here. 7306 * @var mac_ax_pkt_data::macid 7307 * Please Place Description here. 7308 * @var mac_ax_pkt_data::agg_en 7309 * Please Place Description here. 7310 * @var mac_ax_pkt_data::bk 7311 * Please Place Description here. 7312 * @var mac_ax_pkt_data::max_agg_num 7313 * Please Place Description here. 7314 * @var mac_ax_pkt_data::bmc 7315 * Please Place Description here. 7316 * @var mac_ax_pkt_data::lifetime_sel 7317 * Please Place Description here. 7318 * @var mac_ax_pkt_data::ampdu_density 7319 * Please Place Description here. 7320 * @var mac_ax_pkt_data::userate 7321 * Please Place Description here. 7322 * @var mac_ax_pkt_data::data_rate 7323 * Please Place Description here. 7324 * @var mac_ax_pkt_data::data_bw 7325 * Please Place Description here. 7326 * @var mac_ax_pkt_data::er_bw 7327 * Please Place Description here. 7328 * @var mac_ax_pkt_data::data_gi_ltf 7329 * Please Place Description here. 7330 * @var mac_ax_pkt_data::data_er 7331 * Please Place Description here. 7332 * @var mac_ax_pkt_data::data_dcm 7333 * Please Place Description here. 7334 * @var mac_ax_pkt_data::data_stbc 7335 * Please Place Description here. 7336 * @var mac_ax_pkt_data::data_ldpc 7337 * Please Place Description here. 7338 * @var mac_ax_pkt_data::hw_sec_en 7339 * Please Place Description here. 7340 * @var mac_ax_pkt_data::sec_cam_idx 7341 * Please Place Description here. 7342 * @var mac_ax_pkt_data::sec_type 7343 * Please Place Description here. 7344 * @var mac_ax_pkt_data::dis_data_fb 7345 * Please Place Description here. 7346 * @var mac_ax_pkt_data::dis_rts_fb 7347 * Please Place Description here. 7348 * @var mac_ax_pkt_data::tid 7349 * Please Place Description here. 7350 * @var mac_ax_pkt_data::rts_en 7351 * Please Place Description here. 7352 * @var mac_ax_pkt_data::cts2self 7353 * Please Place Description here. 7354 * @var mac_ax_pkt_data::cca_rts 7355 * Please Place Description here. 7356 * @var mac_ax_pkt_data::hw_rts_en 7357 * Please Place Description here. 7358 * @var mac_ax_pkt_data::ndpa 7359 * Please Place Description here. 7360 * @var mac_ax_pkt_data::snd_pkt_sel 7361 * Please Place Description here. 7362 * @var mac_ax_pkt_data::sifs_tx 7363 * Please Place Description here. 7364 * @var mac_ax_pkt_data::tx_cnt_lmt_sel 7365 * Please Place Description here. 7366 * @var mac_ax_pkt_data::tx_cnt_lmt 7367 * Please Place Description here. 7368 * @var mac_ax_pkt_data::ndpa_dur 7369 * Please Place Description here. 7370 * @var mac_ax_pkt_data::nav_use_hdr 7371 * Please Place Description here. 7372 * @var mac_ax_pkt_data::multiport_id 7373 * Please Place Description here. 7374 * @var mac_ax_pkt_data::mbssid 7375 * Please Place Description here. 7376 * @var mac_ax_pkt_data::null_0 7377 * Please Place Description here. 7378 * @var mac_ax_pkt_data::null_1 7379 * Please Place Description here. 7380 * @var mac_ax_pkt_data::tri_frame 7381 * Please Place Description here. 7382 * @var mac_ax_pkt_data::ack_ch_info 7383 * Please Place Description here. 7384 * @var mac_ax_pkt_data::pkt_offset 7385 * Please Place Description here. 7386 * @var mac_ax_pkt_data::a_ctrl_uph 7387 * Please Place Description here. 7388 * @var mac_ax_pkt_data::a_ctrl_bsr 7389 * Please Place Description here. 7390 * @var mac_ax_pkt_data::a_ctrl_cas 7391 * Please Place Description here. 7392 * @var mac_ax_pkt_data::rtt 7393 * Please Place Description here. 7394 * @var mac_ax_pkt_data::ht_data_snd 7395 * Please Place Description here. 7396 * @var mac_ax_pkt_data::no_ack 7397 * Please Place Description here. 7398 * @var mac_ax_pkt_data::sw_define 7399 * Please Place Description here. 7400 */ 7401 struct mac_ax_pkt_data { 7402 u16 wifi_seq; 7403 u8 hw_ssn_sel; 7404 u8 hw_seq_mode; 7405 u8 chk_en; 7406 u8 hw_amsdu; 7407 u8 shcut_camid; 7408 u8 headerwllc_len; 7409 u8 smh_en; 7410 u8 wd_page; 7411 u8 wp_offset; 7412 u8 wdinfo_en; 7413 u8 hw_aes_iv; 7414 u8 hdr_len; 7415 u8 ch; 7416 u8 macid; 7417 u8 wmm; 7418 u8 band; 7419 u8 agg_en; 7420 u8 bk; 7421 u8 max_agg_num; 7422 u8 bmc; 7423 u8 lifetime_sel; 7424 u8 ampdu_density; 7425 u8 userate; 7426 u16 data_rate; 7427 u8 data_bw; 7428 u8 er_bw; 7429 u8 data_gi_ltf; 7430 u8 data_er; 7431 u8 data_dcm; 7432 u8 data_stbc; 7433 u8 data_ldpc; 7434 u8 hw_sec_en; 7435 u8 sec_cam_idx; 7436 u8 sec_type; 7437 u8 dis_data_fb; 7438 u8 dis_rts_fb; 7439 u8 tid; 7440 u8 rts_en; 7441 u8 cts2self; 7442 u8 cca_rts; 7443 u8 hw_rts_en; 7444 u8 ndpa; 7445 u8 snd_pkt_sel; 7446 u8 sifs_tx; 7447 u8 tx_cnt_lmt_sel; 7448 u8 tx_cnt_lmt; 7449 u16 ndpa_dur; 7450 u8 nav_use_hdr; 7451 u8 multiport_id; 7452 u8 mbssid; 7453 u8 null_0; 7454 u8 null_1; 7455 u8 tri_frame; 7456 u8 ack_ch_info; 7457 u8 pkt_offset; 7458 u8 a_ctrl_uph; 7459 u8 a_ctrl_bsr; 7460 u8 a_ctrl_cas; 7461 u8 rtt; 7462 u8 ht_data_snd; 7463 u8 no_ack; 7464 u8 sw_define; 7465 u8 addr_info_num; 7466 u8 reuse_start_num; 7467 u8 reuse_size; 7468 u8 reuse_num; 7469 u8 hw_sec_iv; 7470 u8 sw_sec_iv; 7471 u8 sec_keyid; 7472 u8 rls_to_cpuio; 7473 u8 force_key_en; 7474 u8 upd_wlan_hdr; 7475 u16 data_rty_lowest_rate; 7476 u8 spe_rpt; 7477 }; 7478 7479 /** 7480 * @struct mac_ax_pkt_mgnt 7481 * @brief mac_ax_pkt_mgnt 7482 * 7483 * @var mac_ax_pkt_mgnt::wifi_seq 7484 * Please Place Description here. 7485 * @var mac_ax_pkt_mgnt::hw_ssn_sel 7486 * Please Place Description here. 7487 * @var mac_ax_pkt_mgnt::hw_seq_mode 7488 * Please Place Description here. 7489 * @var mac_ax_pkt_mgnt::chk_en 7490 * Please Place Description here. 7491 * @var mac_ax_pkt_mgnt::hw_amsdu 7492 * Please Place Description here. 7493 * @var mac_ax_pkt_mgnt::shcut_camid 7494 * Please Place Description here. 7495 * @var mac_ax_pkt_mgnt::headerwllc_len 7496 * Please Place Description here. 7497 * @var mac_ax_pkt_mgnt::smh_en 7498 * Please Place Description here. 7499 * @var mac_ax_pkt_mgnt::wd_page 7500 * Please Place Description here. 7501 * @var mac_ax_pkt_mgnt::wp_offset 7502 * Please Place Description here. 7503 * @var mac_ax_pkt_mgnt::wdinfo_en 7504 * Please Place Description here. 7505 * @var mac_ax_pkt_mgnt::hw_aes_iv 7506 * Please Place Description here. 7507 * @var mac_ax_pkt_mgnt::hdr_len 7508 * Please Place Description here. 7509 * @var mac_ax_pkt_mgnt::rsvd0 7510 * Please Place Description here. 7511 * @var mac_ax_pkt_mgnt::macid 7512 * Please Place Description here. 7513 * @var mac_ax_pkt_mgnt::rsvd1 7514 * Please Place Description here. 7515 * @var mac_ax_pkt_mgnt::bk 7516 * Please Place Description here. 7517 * @var mac_ax_pkt_mgnt::max_agg_num 7518 * Please Place Description here. 7519 * @var mac_ax_pkt_mgnt::bmc 7520 * Please Place Description here. 7521 * @var mac_ax_pkt_mgnt::lifetime_sel 7522 * Please Place Description here. 7523 * @var mac_ax_pkt_mgnt::ampdu_density 7524 * Please Place Description here. 7525 * @var mac_ax_pkt_mgnt::userate 7526 * Please Place Description here. 7527 * @var mac_ax_pkt_mgnt::data_rate 7528 * Please Place Description here. 7529 * @var mac_ax_pkt_mgnt::data_bw 7530 * Please Place Description here. 7531 * @var mac_ax_pkt_mgnt::er_bw 7532 * Please Place Description here. 7533 * @var mac_ax_pkt_mgnt::data_gi_ltf 7534 * Please Place Description here. 7535 * @var mac_ax_pkt_mgnt::data_er 7536 * Please Place Description here. 7537 * @var mac_ax_pkt_mgnt::data_dcm 7538 * Please Place Description here. 7539 * @var mac_ax_pkt_mgnt::data_stbc 7540 * Please Place Description here. 7541 * @var mac_ax_pkt_mgnt::data_ldpc 7542 * Please Place Description here. 7543 * @var mac_ax_pkt_mgnt::hw_sec_en 7544 * Please Place Description here. 7545 * @var mac_ax_pkt_mgnt::sec_cam_idx 7546 * Please Place Description here. 7547 * @var mac_ax_pkt_mgnt::sec_type 7548 * Please Place Description here. 7549 * @var mac_ax_pkt_mgnt::dis_data_fb 7550 * Please Place Description here. 7551 * @var mac_ax_pkt_mgnt::dis_rts_fb 7552 * Please Place Description here. 7553 * @var mac_ax_pkt_mgnt::tid 7554 * Please Place Description here. 7555 * @var mac_ax_pkt_mgnt::rts_en 7556 * Please Place Description here. 7557 * @var mac_ax_pkt_mgnt::cts2self 7558 * Please Place Description here. 7559 * @var mac_ax_pkt_mgnt::cca_rts 7560 * Please Place Description here. 7561 * @var mac_ax_pkt_mgnt::hw_rts_en 7562 * Please Place Description here. 7563 * @var mac_ax_pkt_mgnt::ndpa 7564 * Please Place Description here. 7565 * @var mac_ax_pkt_mgnt::snd_pkt_sel 7566 * Please Place Description here. 7567 * @var mac_ax_pkt_mgnt::sifs_tx 7568 * Please Place Description here. 7569 * @var mac_ax_pkt_mgnt::tx_cnt_lmt_sel 7570 * Please Place Description here. 7571 * @var mac_ax_pkt_mgnt::tx_cnt_lmt 7572 * Please Place Description here. 7573 * @var mac_ax_pkt_mgnt::ndpa_dur 7574 * Please Place Description here. 7575 * @var mac_ax_pkt_mgnt::nav_use_hdr 7576 * Please Place Description here. 7577 * @var mac_ax_pkt_mgnt::multiport_id 7578 * Please Place Description here. 7579 * @var mac_ax_pkt_mgnt::mbssid 7580 * Please Place Description here. 7581 * @var mac_ax_pkt_mgnt::null_0 7582 * Please Place Description here. 7583 * @var mac_ax_pkt_mgnt::null_1 7584 * Please Place Description here. 7585 * @var mac_ax_pkt_mgnt::tri_frame 7586 * Please Place Description here. 7587 * @var mac_ax_pkt_mgnt::ack_ch_info 7588 * Please Place Description here. 7589 * @var mac_ax_pkt_mgnt::pkt_offset 7590 * Please Place Description here. 7591 * @var mac_ax_pkt_mgnt::a_ctrl_bsr 7592 * Please Place Description here. 7593 * @var mac_ax_pkt_mgnt::rtt 7594 * Please Place Description here. 7595 * @var mac_ax_pkt_mgnt::ht_data_snd 7596 * Please Place Description here. 7597 * @var mac_ax_pkt_mgnt::no_ack 7598 * Please Place Description here. 7599 */ 7600 struct mac_ax_pkt_mgnt { 7601 u16 wifi_seq; 7602 u8 hw_ssn_sel; 7603 u8 hw_seq_mode; 7604 u8 chk_en; 7605 u8 hw_amsdu; 7606 u8 shcut_camid; 7607 u8 headerwllc_len; 7608 u8 smh_en; 7609 u8 wd_page; 7610 u8 wp_offset; 7611 u8 wdinfo_en; 7612 u8 hw_aes_iv; 7613 u8 hdr_len; 7614 u8 ch; 7615 u8 macid; 7616 u8 wmm; 7617 u8 band; 7618 u8 agg_en; 7619 u8 bk; 7620 u8 max_agg_num; 7621 u8 bmc; 7622 u8 lifetime_sel; 7623 u8 ampdu_density; 7624 u8 userate; 7625 u16 data_rate; 7626 u8 data_bw; 7627 u8 er_bw; 7628 u8 data_gi_ltf; 7629 u8 data_er; 7630 u8 data_dcm; 7631 u8 data_stbc; 7632 u8 data_ldpc; 7633 u8 hw_sec_en; 7634 u8 sec_cam_idx; 7635 u8 sec_type; 7636 u8 dis_data_fb; 7637 u8 dis_rts_fb; 7638 u8 tid; 7639 u8 rts_en; 7640 u8 cts2self; 7641 u8 cca_rts; 7642 u8 hw_rts_en; 7643 u8 ndpa; 7644 u8 snd_pkt_sel; 7645 u8 sifs_tx; 7646 u8 tx_cnt_lmt_sel; 7647 u8 tx_cnt_lmt; 7648 u16 ndpa_dur; 7649 u8 nav_use_hdr; 7650 u8 multiport_id; 7651 u8 mbssid; 7652 u8 null_0; 7653 u8 null_1; 7654 u8 tri_frame; 7655 u8 ack_ch_info; 7656 u8 pkt_offset; 7657 u8 a_ctrl_uph; 7658 u8 a_ctrl_bsr; 7659 u8 a_ctrl_cas; 7660 u8 rtt; 7661 u8 ht_data_snd; 7662 u8 no_ack; 7663 u8 sw_define; 7664 u8 addr_info_num; 7665 u8 reuse_start_num; 7666 u8 reuse_size; 7667 u8 reuse_num; 7668 u8 hw_sec_iv; 7669 u8 sw_sec_iv; 7670 u8 sec_keyid; 7671 u8 rls_to_cpuio; 7672 u8 force_key_en; 7673 u8 upd_wlan_hdr; 7674 u16 data_rty_lowest_rate; 7675 u8 spe_rpt; 7676 }; 7677 7678 /** 7679 * @struct mac_ax_rpkt_data 7680 * @brief mac_ax_rpkt_data 7681 * 7682 * @var mac_ax_rpkt_data::crc_err 7683 * Please Place Description here. 7684 * @var mac_ax_rpkt_data::icv_err 7685 * Please Place Description here. 7686 */ 7687 struct mac_ax_rpkt_data { 7688 u8 crc_err; 7689 u8 icv_err; 7690 }; 7691 7692 /** 7693 * @struct mac_ax_txpkt_info 7694 * @brief mac_ax_txpkt_info 7695 * 7696 * @var mac_ax_txpkt_info::type 7697 * Please Place Description here. 7698 * @var mac_ax_txpkt_info::pktsize 7699 * Please Place Description here. 7700 * @var mac_ax_txpkt_info::data 7701 * Please Place Description here. 7702 * @var mac_ax_txpkt_info::mgnt 7703 * Please Place Description here. 7704 * @var mac_ax_txpkt_info::u 7705 * Please Place Description here. 7706 */ 7707 struct mac_ax_txpkt_info { 7708 enum mac_ax_pkt_t type; 7709 u32 pktsize; 7710 union { 7711 struct mac_ax_pkt_data data; 7712 struct mac_ax_pkt_mgnt mgnt; 7713 } u; 7714 }; 7715 7716 /** 7717 * @struct mac_ax_bcn_cnt 7718 * @brief mac_ax_bcn_cnt 7719 * 7720 * @var mac_ax_bcn_cnt::port 7721 * Please Place Description here. 7722 * @var mac_ax_bcn_cnt::mbssid 7723 * Please Place Description here. 7724 * @var mac_ax_bcn_cnt::ok_cnt 7725 * Please Place Description here. 7726 * @var mac_ax_bcn_cnt::fail_cnt 7727 * Please Place Description here. 7728 */ 7729 struct mac_ax_bcn_cnt { 7730 u8 port; 7731 u8 mbssid; 7732 u8 band; 7733 u8 ok_cnt; 7734 u8 cca_cnt; 7735 u8 edcca_cnt; 7736 u8 nav_cnt; 7737 u8 txon_cnt; 7738 u8 mac_cnt; 7739 u8 others_cnt; 7740 u8 lock_cnt; 7741 u8 cmp_cnt; 7742 u8 invalid_cnt; 7743 u8 srchend_cnt; 7744 }; 7745 7746 /** 7747 * @struct mac_ax_refill_info 7748 * @brief mac_ax_refill_info 7749 * 7750 * @var mac_ax_refill_info::pkt 7751 * Please Place Description here. 7752 * @var mac_ax_refill_info::agg_num 7753 * Please Place Description here. 7754 * @var mac_ax_refill_info::packet_offset 7755 * Please Place Description here. 7756 */ 7757 struct mac_ax_refill_info { 7758 u8 *pkt; 7759 u32 agg_num; 7760 u8 packet_offset; 7761 }; 7762 7763 /** 7764 * @struct mac_ax_rpkt_ppdu 7765 * @brief mac_ax_rpkt_ppdu 7766 * 7767 * @var mac_ax_rpkt_ppdu::mac_info 7768 * Please Place Description here. 7769 */ 7770 struct mac_ax_rpkt_ppdu { 7771 u8 mac_info; 7772 }; 7773 7774 /** 7775 * @struct mac_ax_mac_tx_mode_sel 7776 * @brief mac_ax_mac_tx_mode_sel 7777 * 7778 * @var mac_ax_mac_tx_mode_sel::txop_rot_wmm0_en 7779 * Please Place Description here. 7780 * @var mac_ax_mac_tx_mode_sel::txop_rot_wmm1_en 7781 * Please Place Description here. 7782 * @var mac_ax_mac_tx_mode_sel::txop_rot_wmm2_en 7783 * Please Place Description here. 7784 * @var mac_ax_mac_tx_mode_sel::txop_rot_wmm3_en 7785 * Please Place Description here. 7786 */ 7787 struct mac_ax_mac_tx_mode_sel { 7788 u8 txop_rot_wmm0_en; 7789 u8 txop_rot_wmm1_en; 7790 u8 txop_rot_wmm2_en; 7791 u8 txop_rot_wmm3_en; 7792 7793 u8 sw_mode_band0_en; /* shall remove when v0_22 release, Rick */ 7794 }; 7795 7796 /** 7797 * @struct mac_ax_rxpkt_info 7798 * @brief mac_ax_rxpkt_info 7799 * 7800 * @var mac_ax_rxpkt_info::type 7801 * Please Place Description here. 7802 * @var mac_ax_rxpkt_info::rxdlen 7803 * Please Place Description here. 7804 * @var mac_ax_rxpkt_info::drvsize 7805 * Please Place Description here. 7806 * @var mac_ax_rxpkt_info::shift 7807 * Please Place Description here. 7808 * @var mac_ax_rxpkt_info::pktsize 7809 * Please Place Description here. 7810 * @var mac_ax_rxpkt_info::data 7811 * Please Place Description here. 7812 * @var mac_ax_rxpkt_info::ppdu 7813 * Please Place Description here. 7814 * @var mac_ax_rxpkt_info::u 7815 * Please Place Description here. 7816 */ 7817 struct mac_ax_rxpkt_info { 7818 enum mac_ax_pkt_t type; 7819 u16 rxdlen; 7820 u8 drvsize; 7821 u8 shift; 7822 u32 pktsize; 7823 union { 7824 struct mac_ax_rpkt_data data; 7825 struct mac_ax_rpkt_ppdu ppdu; 7826 } u; 7827 }; 7828 7829 /** 7830 * @struct mac_ax_pm_cam_ctrl_t 7831 * @brief mac_ax_pm_cam_ctrl_t 7832 * 7833 * @var mac_ax_pm_cam_ctrl_t::pld_mask0 7834 * Please Place Description here. 7835 * @var mac_ax_pm_cam_ctrl_t::pld_mask1 7836 * Please Place Description here. 7837 * @var mac_ax_pm_cam_ctrl_t::pld_mask2 7838 * Please Place Description here. 7839 * @var mac_ax_pm_cam_ctrl_t::pld_mask3 7840 * Please Place Description here. 7841 * @var mac_ax_pm_cam_ctrl_t::entry_index 7842 * Please Place Description here. 7843 * @var mac_ax_pm_cam_ctrl_t::valid 7844 * Please Place Description here. 7845 * @var mac_ax_pm_cam_ctrl_t::type 7846 * Please Place Description here. 7847 * @var mac_ax_pm_cam_ctrl_t::subtype 7848 * Please Place Description here. 7849 * @var mac_ax_pm_cam_ctrl_t::skip_mac_iv_hdr 7850 * Please Place Description here. 7851 * @var mac_ax_pm_cam_ctrl_t::target_ind 7852 * Please Place Description here. 7853 * @var mac_ax_pm_cam_ctrl_t::crc16 7854 * Please Place Description here. 7855 */ 7856 struct mac_ax_pm_cam_ctrl_t { 7857 u32 pld_mask0; 7858 u32 pld_mask1; 7859 u32 pld_mask2; 7860 u32 pld_mask3; 7861 u8 entry_index; 7862 u8 valid; 7863 u8 type; 7864 u8 subtype; 7865 u8 skip_mac_iv_hdr; 7866 u8 target_ind; 7867 u16 crc16; 7868 }; 7869 7870 /** 7871 * @struct mac_ax_af_ud_ctrl_t 7872 * @brief mac_ax_af_ud_ctrl_t 7873 * 7874 * @var mac_ax_af_ud_ctrl_t::index 7875 * Please Place Description here. 7876 * @var mac_ax_af_ud_ctrl_t::fwd_tg 7877 * Please Place Description here. 7878 * @var mac_ax_af_ud_ctrl_t::category 7879 * Please Place Description here. 7880 * @var mac_ax_af_ud_ctrl_t::action_field 7881 * Please Place Description here. 7882 */ 7883 struct mac_ax_af_ud_ctrl_t { 7884 u8 index; 7885 u8 fwd_tg; 7886 u8 category; 7887 u8 action_field; 7888 }; 7889 7890 /** 7891 * @struct mac_ax_rx_fwd_ctrl_t 7892 * @brief mac_ax_rx_fwd_ctrl_t 7893 * 7894 * @var mac_ax_rx_fwd_ctrl_t::pm_cam_ctrl 7895 * Please Place Description here. 7896 * @var mac_ax_rx_fwd_ctrl_t::af_ud_ctrl 7897 * Please Place Description here. 7898 * @var mac_ax_rx_fwd_ctrl_t::type 7899 * Please Place Description here. 7900 * @var mac_ax_rx_fwd_ctrl_t::frame 7901 * Please Place Description here. 7902 * @var mac_ax_rx_fwd_ctrl_t::fwd_tg 7903 * Please Place Description here. 7904 */ 7905 struct mac_ax_rx_fwd_ctrl_t { 7906 struct mac_ax_pm_cam_ctrl_t pm_cam_ctrl; 7907 struct mac_ax_af_ud_ctrl_t af_ud_ctrl; 7908 u8 type; 7909 u8 frame; 7910 u8 fwd_tg; 7911 }; 7912 7913 /** 7914 * @struct mac_ax_rx_fltr_ctrl_t 7915 * @brief mac_ax_rx_fltr_ctrl_t 7916 * 7917 * @var mac_ax_rx_fltr_ctrl_t::sniffer_mode 7918 * Please Place Description here. 7919 * @var mac_ax_rx_fltr_ctrl_t::acpt_a1_match_pkt 7920 * Please Place Description here. 7921 * @var mac_ax_rx_fltr_ctrl_t::acpt_bc_pkt 7922 * Please Place Description here. 7923 * @var mac_ax_rx_fltr_ctrl_t::acpt_mc_pkt 7924 * Please Place Description here. 7925 * @var mac_ax_rx_fltr_ctrl_t::uc_pkt_chk_cam_match 7926 * Please Place Description here. 7927 * @var mac_ax_rx_fltr_ctrl_t::bc_pkt_chk_cam_match 7928 * Please Place Description here. 7929 * @var mac_ax_rx_fltr_ctrl_t::mc_pkt_white_lst_mode 7930 * Please Place Description here. 7931 * @var mac_ax_rx_fltr_ctrl_t::bcn_chk_en 7932 * Please Place Description here. 7933 * @var mac_ax_rx_fltr_ctrl_t::bcn_chk_rule 7934 * Please Place Description here. 7935 * @var mac_ax_rx_fltr_ctrl_t::acpt_pwr_mngt_pkt 7936 * Please Place Description here. 7937 * @var mac_ax_rx_fltr_ctrl_t::acpt_crc32_err_pkt 7938 * Please Place Description here. 7939 * @var mac_ax_rx_fltr_ctrl_t::acpt_unsupport_pkt 7940 * Please Place Description here. 7941 * @var mac_ax_rx_fltr_ctrl_t::acpt_mac_hdr_content_err_pkt 7942 * Please Place Description here. 7943 * @var mac_ax_rx_fltr_ctrl_t::acpt_ftm_req_pkt 7944 * Please Place Description here. 7945 * @var mac_ax_rx_fltr_ctrl_t::pkt_len_fltr 7946 * Please Place Description here. 7947 * @var mac_ax_rx_fltr_ctrl_t::unsp_pkt_target 7948 * Please Place Description here. 7949 * @var mac_ax_rx_fltr_ctrl_t::uid_fltr 7950 * Please Place Description here. 7951 * @var mac_ax_rx_fltr_ctrl_t::cck_crc_chk_enable 7952 * Please Place Description here. 7953 * @var mac_ax_rx_fltr_ctrl_t::cck_sig_chk_enable 7954 * Please Place Description here. 7955 * @var mac_ax_rx_fltr_ctrl_t::lsig_parity_chk_enable 7956 * Please Place Description here. 7957 * @var mac_ax_rx_fltr_ctrl_t::siga_crc_chk_enable 7958 * Please Place Description here. 7959 * @var mac_ax_rx_fltr_ctrl_t::vht_su_sigb_crc_chk_enable 7960 * Please Place Description here. 7961 * @var mac_ax_rx_fltr_ctrl_t::vht_mu_sigb_crc_chk_enable 7962 * Please Place Description here. 7963 * @var mac_ax_rx_fltr_ctrl_t::he_sigb_crc_chk_enable 7964 * Please Place Description here. 7965 * @var mac_ax_rx_fltr_ctrl_t::min_len_chk_disable 7966 * Please Place Description here. 7967 */ 7968 struct mac_ax_rx_fltr_ctrl_t { 7969 // mac fltr 7970 u8 sniffer_mode:1; 7971 u8 acpt_a1_match_pkt:1; 7972 u8 acpt_bc_pkt:1; 7973 u8 acpt_mc_pkt:1; 7974 u8 uc_pkt_chk_cam_match:1; 7975 u8 bc_pkt_chk_cam_match:1; 7976 u8 mc_pkt_white_lst_mode:1; 7977 u8 bcn_chk_en:1; 7978 u8 bcn_chk_rule:2; 7979 u8 acpt_pwr_mngt_pkt:1; 7980 u8 acpt_crc32_err_pkt:1; 7981 u8 acpt_unsupport_pkt:1; 7982 u8 acpt_mac_hdr_content_err_pkt:1; 7983 u8 acpt_ftm_req_pkt:1; 7984 u8 pkt_len_fltr:6; 7985 u8 unsp_pkt_target:2; 7986 u8 uid_fltr:2; 7987 // plcp fltr 7988 u8 cck_crc_chk_enable:1; 7989 u8 cck_sig_chk_enable:1; 7990 u8 lsig_parity_chk_enable:1; 7991 u8 siga_crc_chk_enable:1; 7992 u8 vht_su_sigb_crc_chk_enable:1; 7993 u8 vht_mu_sigb_crc_chk_enable:1; 7994 u8 he_sigb_crc_chk_enable:1; 7995 u8 min_len_chk_disable:1; 7996 }; 7997 7998 struct mac_ax_rx_fltr_elem { 7999 u16 subtype_mask; 8000 enum mac_ax_fwd_target target_arr[16]; 8001 }; 8002 8003 /** 8004 * @struct mac_ax_addrcam_ctrl_t 8005 * @brief mac_ax_addrcam_ctrl_t 8006 */ 8007 struct mac_ax_addrcam_ctrl_t { 8008 u8 addrcam_en:1; 8009 u8 srch_per_mpdu:1; 8010 u8 a2_bit0_cmp_en:1; 8011 u8 rsvd1:5; 8012 u8 clr_all_content:1; 8013 u8 rsvd2:3; 8014 u8 srch_time_lmt:4; 8015 u8 srch_range_lmt; 8016 u8 rsvd3; 8017 }; 8018 8019 /** 8020 * @struct mac_ax_addrcam_dis_ctrl_t 8021 * @brief mac_ax_addrcam_dis_ctrl_t 8022 * 8023 */ 8024 struct mac_ax_addrcam_dis_ctrl_t { 8025 u8 def_hit_idx; 8026 u8 def_hit_result : 1; 8027 u8 def_a1_hit_result : 1; 8028 u8 def_a2_hit_result : 1; 8029 u8 def_a3_hit_result : 1; 8030 u8 def_port : 3; 8031 u8 rsvd : 1; 8032 u8 def_sec_idx; 8033 u8 def_macid; 8034 }; 8035 8036 /** 8037 * @struct mac_ax_dfs_rpt 8038 * @brief mac_ax_dfs_rpt 8039 * 8040 * @var mac_ax_dfs_rpt::dfs_ptr 8041 * Please Place Description here. 8042 * @var mac_ax_dfs_rpt::drop_num 8043 * Please Place Description here. 8044 * @var mac_ax_dfs_rpt::max_cont_drop 8045 * Please Place Description here. 8046 * @var mac_ax_dfs_rpt::total_drop 8047 * Please Place Description here. 8048 * @var mac_ax_dfs_rpt::dfs_num 8049 * Please Place Description here. 8050 */ 8051 struct mac_ax_dfs_rpt { 8052 u8 *dfs_ptr; 8053 u16 drop_num; 8054 u16 max_cont_drop; 8055 u16 total_drop; 8056 u16 dfs_num; 8057 }; 8058 8059 /** 8060 * @struct mac_ax_ppdu_usr 8061 * @brief mac_ax_ppdu_usr 8062 * 8063 * @var mac_ax_ppdu_usr::vld 8064 * Please Place Description here. 8065 * @var mac_ax_ppdu_usr::has_data 8066 * Please Place Description here. 8067 * @var mac_ax_ppdu_usr::has_ctrl 8068 * Please Place Description here. 8069 * @var mac_ax_ppdu_usr::has_mgnt 8070 * Please Place Description here. 8071 * @var mac_ax_ppdu_usr::has_bcn 8072 * Please Place Description here. 8073 * @var mac_ax_ppdu_usr::macid 8074 * Please Place Description here. 8075 */ 8076 struct mac_ax_ppdu_usr { 8077 u8 vld:1; 8078 u8 has_data:1; 8079 u8 has_ctrl:1; 8080 u8 has_mgnt:1; 8081 u8 has_bcn:1; 8082 u8 macid; 8083 }; 8084 8085 /** 8086 * @struct mac_ax_ppdu_stat 8087 * @brief mac_ax_ppdu_stat 8088 * 8089 * @var mac_ax_ppdu_stat::band 8090 * Please Place Description here. 8091 * @var mac_ax_ppdu_stat::bmp_append_info 8092 * Please Place Description here. 8093 * @var mac_ax_ppdu_stat::bmp_filter 8094 * Please Place Description here. 8095 * @var mac_ax_ppdu_stat::dup2fw_en 8096 * Please Place Description here. 8097 * @var mac_ax_ppdu_stat::dup2fw_len 8098 * Please Place Description here. 8099 */ 8100 struct mac_ax_ppdu_stat { 8101 u8 band; 8102 #define MAC_AX_PPDU_MAC_INFO BIT(1) 8103 #define MAC_AX_PPDU_PLCP BIT(3) 8104 #define MAC_AX_PPDU_RX_CNT BIT(2) 8105 u8 bmp_append_info; 8106 #define MAC_AX_PPDU_HAS_A1M BIT(4) 8107 #define MAC_AX_PPDU_HAS_CRC_OK BIT(5) 8108 u8 bmp_filter; 8109 u8 dup2fw_en; 8110 u8 dup2fw_len; 8111 }; 8112 8113 /** 8114 * @struct mac_ax_ch_info 8115 * @brief mac_ax_ch_info 8116 * 8117 * @var mac_ax_ch_info::trigger 8118 * Please Place Description here. 8119 * @var mac_ax_ch_info::macid 8120 * Please Place Description here. 8121 * @var mac_ax_ch_info::bmp_filter 8122 * Please Place Description here. 8123 * @var mac_ax_ch_info::dis_to 8124 * Please Place Description here. 8125 * @var mac_ax_ch_info::seg_size 8126 * Please Place Description here. 8127 */ 8128 struct mac_ax_ch_info { 8129 #define MAC_AX_CH_INFO_MACID 0 8130 #define MAC_AX_CH_INFO_NDP 1 8131 #define MAC_AX_CH_INFO_SND 2 8132 #define MAC_AX_CH_INFO_ACK 3 8133 u8 trigger; 8134 u8 macid; 8135 #define MAC_AX_CH_INFO_CRC_FAIL BIT(0) 8136 #define MAC_AX_CH_INFO_DATA_FRM BIT(1) 8137 #define MAC_AX_CH_INFO_CTRL_FRM BIT(2) 8138 #define MAC_AX_CH_INFO_MGNT_FRM BIT(3) 8139 u8 bmp_filter; 8140 u8 dis_to; 8141 #define MAC_AX_CH_IFNO_SEG_128 0 8142 #define MAC_AX_CH_IFNO_SEG_256 1 8143 #define MAC_AX_CH_IFNO_SEG_512 2 8144 #define MAC_AX_CH_IFNO_SEG_1024 3 8145 u8 seg_size; 8146 }; 8147 8148 /** 8149 * @struct mac_ax_dfs 8150 * @brief mac_ax_dfs 8151 * 8152 * @var mac_ax_dfs::num_th 8153 * Please Place Description here. 8154 * @var mac_ax_dfs::en_timeout 8155 * Please Place Description here. 8156 */ 8157 struct mac_ax_dfs { 8158 #define MAC_AX_DFS_TH_29 0 8159 #define MAC_AX_DFS_TH_61 1 8160 #define MAC_AX_DFS_TH_93 2 8161 #define MAC_AX_DFS_TH_125 3 8162 u8 num_th; 8163 u8 en_timeout; 8164 }; 8165 8166 /** 8167 * @struct mac_ax_ppdu_rpt 8168 * @brief mac_ax_ppdu_rpt 8169 * 8170 * @var mac_ax_ppdu_rpt::rx_cnt_ptr 8171 * Please Place Description here. 8172 * @var mac_ax_ppdu_rpt::plcp_ptr 8173 * Please Place Description here. 8174 * @var mac_ax_ppdu_rpt::phy_st_ptr 8175 * Please Place Description here. 8176 * @var mac_ax_ppdu_rpt::phy_st_size 8177 * Please Place Description here. 8178 * @var mac_ax_ppdu_rpt::rx_cnt_size 8179 * Please Place Description here. 8180 * @var mac_ax_ppdu_rpt::lsig_len 8181 * Please Place Description here. 8182 * @var mac_ax_ppdu_rpt::service 8183 * Please Place Description here. 8184 * @var mac_ax_ppdu_rpt::usr_num 8185 * Please Place Description here. 8186 * @var mac_ax_ppdu_rpt::fw_def 8187 * Please Place Description here. 8188 * @var mac_ax_ppdu_rpt::is_to_self 8189 * Please Place Description here. 8190 * @var mac_ax_ppdu_rpt::plcp_size 8191 * Please Place Description here. 8192 * @var mac_ax_ppdu_rpt::usr 8193 * Please Place Description here. 8194 */ 8195 struct mac_ax_ppdu_rpt { 8196 #define MAC_AX_PPDU_MAX_USR 4 8197 u8 *rx_cnt_ptr; 8198 u8 *plcp_ptr; 8199 u8 *phy_st_ptr; 8200 u32 phy_st_size; 8201 u32 rx_cnt_size; 8202 u16 lsig_len; 8203 u16 service; 8204 u8 usr_num; 8205 u8 fw_def; 8206 u8 is_to_self; 8207 u8 plcp_size; 8208 struct mac_ax_ppdu_usr usr[MAC_AX_PPDU_MAX_USR]; 8209 }; 8210 8211 /** 8212 * @struct mac_ax_phy_rpt_cfg 8213 * @brief mac_ax_phy_rpt_cfg 8214 * 8215 * @var mac_ax_phy_rpt_cfg::type 8216 * Please Place Description here. 8217 * @var mac_ax_phy_rpt_cfg::en 8218 * Please Place Description here. 8219 * @var mac_ax_phy_rpt_cfg::dest 8220 * Please Place Description here. 8221 * @var mac_ax_phy_rpt_cfg::ppdu 8222 * Please Place Description here. 8223 * @var mac_ax_phy_rpt_cfg::chif 8224 * Please Place Description here. 8225 * @var mac_ax_phy_rpt_cfg::dfs 8226 * Please Place Description here. 8227 * @var mac_ax_phy_rpt_cfg::u 8228 * Please Place Description here. 8229 */ 8230 struct mac_ax_phy_rpt_cfg { 8231 enum mac_ax_phy_rpt type; 8232 u8 en; 8233 #define MAC_AX_PRPT_DEST_HOST 0 8234 #define MAC_AX_PRPT_DEST_WLCPU 1 8235 u8 dest; 8236 union { 8237 struct mac_ax_ppdu_stat ppdu; 8238 struct mac_ax_ch_info chif; 8239 struct mac_ax_dfs dfs; 8240 } u; 8241 }; 8242 8243 /** 8244 * @struct mac_ax_pkt_drop_info 8245 * @brief mac_ax_pkt_drop_info 8246 * 8247 * @var mac_ax_pkt_drop_info::sel 8248 * Please Place Description here. 8249 * @var mac_ax_pkt_drop_info::macid 8250 * Please Place Description here. 8251 * @var mac_ax_pkt_drop_info::band 8252 * Please Place Description here. 8253 * @var mac_ax_pkt_drop_info::port 8254 * Please Place Description here. 8255 * @var mac_ax_pkt_drop_info::mbssid 8256 * Please Place Description here. 8257 */ 8258 struct mac_ax_pkt_drop_info { 8259 enum mac_ax_pkt_drop_sel sel; 8260 u8 macid; 8261 u8 band; 8262 u8 port; 8263 u8 mbssid; 8264 }; 8265 8266 /** 8267 * @struct mac_ax_ch_busy_cnt_ref 8268 * @brief mac_ax_ch_busy_cnt_ref 8269 * 8270 * @var mac_ax_ch_busy_cnt_ref::basic_nav 8271 * Please Place Description here. 8272 * @var mac_ax_ch_busy_cnt_ref::intra_nav 8273 * Please Place Description here. 8274 * @var mac_ax_ch_busy_cnt_ref::data_on 8275 * Please Place Description here. 8276 * @var mac_ax_ch_busy_cnt_ref::edcca_p20 8277 * Please Place Description here. 8278 * @var mac_ax_ch_busy_cnt_ref::cca_p20 8279 * Please Place Description here. 8280 * @var mac_ax_ch_busy_cnt_ref::cca_s20 8281 * Please Place Description here. 8282 * @var mac_ax_ch_busy_cnt_ref::cca_s40 8283 * Please Place Description here. 8284 * @var mac_ax_ch_busy_cnt_ref::cca_s80 8285 * Please Place Description here. 8286 */ 8287 struct mac_ax_ch_busy_cnt_ref { 8288 u16 basic_nav:1; 8289 u16 intra_nav:1; 8290 u16 data_on:1; 8291 u16 edcca_p20:1; 8292 u16 cca_p20:1; 8293 u16 cca_s20:1; 8294 u16 cca_s40:1; 8295 u16 cca_s80:1; 8296 u16 phy_txon:1; 8297 u16 rsvd:7; 8298 }; 8299 8300 /** 8301 * @struct mac_ax_tx_queue_empty 8302 * @brief mac_ax_tx_queue_empty 8303 * 8304 * @var mac_ax_tx_queue_empty::macid_txq_empty 8305 * Please Place Description here. 8306 * @var mac_ax_tx_queue_empty::band0_mgnt_empty 8307 * Please Place Description here. 8308 * @var mac_ax_tx_queue_empty::band1_mgnt_empty 8309 * Please Place Description here. 8310 * @var mac_ax_tx_queue_empty::fw_txq_empty 8311 * Please Place Description here. 8312 * @var mac_ax_tx_queue_empty::h2c_empty 8313 * Please Place Description here. 8314 * @var mac_ax_tx_queue_empty::others_empty 8315 * Please Place Description here. 8316 * @var mac_ax_tx_queue_empty::rsvd 8317 * Please Place Description here. 8318 */ 8319 struct mac_ax_tx_queue_empty { 8320 #define WDE_QEMPTY_ACQ_NUM_MAX 16 /* shall be the max num of all chip */ 8321 u8 macid_txq_empty[WDE_QEMPTY_ACQ_NUM_MAX]; 8322 u8 band0_mgnt_empty:1; 8323 u8 band1_mgnt_empty:1; 8324 u8 fw_txq_empty:1; 8325 u8 h2c_empty:1; 8326 u8 others_empty:1; 8327 u8 rsvd:3; 8328 }; 8329 8330 /** 8331 * @struct mac_ax_rx_queue_empty 8332 * @brief mac_ax_rx_queue_empty 8333 * 8334 * @var mac_ax_rx_queue_empty::band0_rxq_empty 8335 * Please Place Description here. 8336 * @var mac_ax_rx_queue_empty::band1_rxq_empty 8337 * Please Place Description here. 8338 * @var mac_ax_rx_queue_empty::c2h_empty 8339 * Please Place Description here. 8340 * @var mac_ax_rx_queue_empty::others_empty 8341 * Please Place Description here. 8342 * @var mac_ax_rx_queue_empty::rsvd 8343 * Please Place Description here. 8344 */ 8345 struct mac_ax_rx_queue_empty { 8346 u8 band0_rxq_empty:1; 8347 u8 band1_rxq_empty:1; 8348 u8 c2h_empty:1; 8349 u8 others_empty:1; 8350 u8 rsvd:4; 8351 }; 8352 8353 /** 8354 * @struct mac_ax_dbcc_info 8355 * @brief mac_ax_dbcc_info 8356 * 8357 * @var mac_ax_dbcc_info::ppdu_rpt_bkp 8358 * Please Place Description here. 8359 * @var mac_ax_dbcc_info::chinfo_bkp 8360 * Please Place Description here. 8361 * @var mac_ax_dbcc_info::dbcc_role_cnt 8362 * Please Place Description here. 8363 * @var mac_ax_dbcc_info::dbcc_wmm_type 8364 * Please Place Description here. 8365 * @var mac_ax_dbcc_info::dbcc_wmm_bp 8366 * Please Place Description here. 8367 * @var mac_ax_dbcc_info::bkp_flag 8368 * Please Place Description here. 8369 * @var mac_ax_dbcc_info::dbcc_wmm_list 8370 * Please Place Description here. 8371 */ 8372 struct mac_ax_dbcc_info { 8373 struct mac_ax_phy_rpt_cfg ppdu_rpt_bkp[MAC_AX_BAND_NUM]; 8374 struct mac_ax_phy_rpt_cfg chinfo_bkp[MAC_AX_BAND_NUM]; 8375 u8 dbcc_role_cnt[MAC_AX_DBCC_WMM_MAX]; 8376 u8 dbcc_wmm_type[MAC_AX_DBCC_WMM_MAX]; // enum mac_ax_net_type 8377 u8 dbcc_wmm_bp[MAC_AX_DBCC_WMM_MAX]; 8378 u8 bkp_flag[MAC_AX_BAND_NUM]; 8379 u8 *dbcc_wmm_list; 8380 }; 8381 8382 /*--------------------Define TF2PCMD related struct --------------------------*/ 8383 8384 /** 8385 * @struct mac_ax_rura_report 8386 * @brief mac_ax_rura_report 8387 * 8388 * @var mac_ax_rura_report::rt_tblcol 8389 * Please Place Description here. 8390 * @var mac_ax_rura_report::prtl_alloc 8391 * Please Place Description here. 8392 * @var mac_ax_rura_report::rate_chg 8393 * Please Place Description here. 8394 */ 8395 struct mac_ax_rura_report { 8396 u8 rt_tblcol: 6; 8397 u8 prtl_alloc: 1; 8398 u8 rate_chg: 1; 8399 }; 8400 8401 //for ul rua output 8402 8403 /** 8404 * @struct mac_ax_ulru_out_sta_ent 8405 * @brief mac_ax_ulru_out_sta_ent 8406 * 8407 * @var mac_ax_ulru_out_sta_ent::dropping 8408 * Please Place Description here. 8409 * @var mac_ax_ulru_out_sta_ent::tgt_rssi 8410 * Please Place Description here. 8411 * @var mac_ax_ulru_out_sta_ent::mac_id 8412 * Please Place Description here. 8413 * @var mac_ax_ulru_out_sta_ent::ru_pos 8414 * Please Place Description here. 8415 * @var mac_ax_ulru_out_sta_ent::coding 8416 * Please Place Description here. 8417 * @var mac_ax_ulru_out_sta_ent::vip_flag 8418 * Please Place Description here. 8419 * @var mac_ax_ulru_out_sta_ent::rsvd1 8420 * Please Place Description here. 8421 * @var mac_ax_ulru_out_sta_ent::bsr_length 8422 * Please Place Description here. 8423 * @var mac_ax_ulru_out_sta_ent::rsvd2 8424 * Please Place Description here. 8425 * @var mac_ax_ulru_out_sta_ent::rate 8426 * Please Place Description here. 8427 * @var mac_ax_ulru_out_sta_ent::rpt 8428 * Please Place Description here. 8429 */ 8430 struct mac_ax_ulru_out_sta_ent { 8431 u8 dropping: 1; 8432 u8 tgt_rssi: 7; 8433 u8 mac_id; 8434 u8 ru_pos; 8435 u8 coding: 1; 8436 u8 vip_flag: 1; 8437 u8 rsvd1: 6; 8438 u16 bsr_length: 15; 8439 u16 rsvd2: 1; 8440 struct mac_ax_ru_rate_ent rate; 8441 struct mac_ax_rura_report rpt; 8442 }; 8443 8444 /** 8445 * @struct mac_ax_ulrua_output 8446 * @brief mac_ax_ulrua_output 8447 * 8448 * @var mac_ax_ulrua_output::ru2su 8449 * Please Place Description here. 8450 * @var mac_ax_ulrua_output::ppdu_bw 8451 * Please Place Description here. 8452 * @var mac_ax_ulrua_output::gi_ltf 8453 * Please Place Description here. 8454 * @var mac_ax_ulrua_output::stbc 8455 * Please Place Description here. 8456 * @var mac_ax_ulrua_output::doppler 8457 * Please Place Description here. 8458 * @var mac_ax_ulrua_output::n_ltf_and_ma 8459 * Please Place Description here. 8460 * @var mac_ax_ulrua_output::sta_num 8461 * Please Place Description here. 8462 * @var mac_ax_ulrua_output::rsvd1 8463 * Please Place Description here. 8464 * @var mac_ax_ulrua_output::rf_gain_fix 8465 * Please Place Description here. 8466 * @var mac_ax_ulrua_output::rf_gain_idx 8467 * Please Place Description here. 8468 * @var mac_ax_ulrua_output::tb_t_pe_nom 8469 * Please Place Description here. 8470 * @var mac_ax_ulrua_output::rsvd2 8471 * Please Place Description here. 8472 * @var mac_ax_ulrua_output::grp_mode 8473 * Please Place Description here. 8474 * @var mac_ax_ulrua_output::grp_id 8475 * Please Place Description here. 8476 * @var mac_ax_ulrua_output::fix_mode 8477 * Please Place Description here. 8478 * @var mac_ax_ulrua_output::rsvd3 8479 * Please Place Description here. 8480 * @var mac_ax_ulrua_output::sta 8481 * Please Place Description here. 8482 */ 8483 struct mac_ax_ulrua_output { 8484 u8 ru2su: 1; 8485 u8 ppdu_bw: 2; 8486 u8 gi_ltf: 3; 8487 u8 stbc: 1; 8488 u8 doppler: 1; 8489 u8 n_ltf_and_ma: 3; 8490 u8 sta_num: 4; 8491 u8 rsvd1: 1; 8492 u16 rf_gain_fix: 1; 8493 u16 rf_gain_idx: 10; 8494 u16 tb_t_pe_nom: 2; 8495 u16 rsvd2: 3; 8496 8497 u32 grp_mode: 1; 8498 u32 grp_id: 6; 8499 u32 fix_mode: 1; 8500 u32 rsvd3: 24; 8501 struct mac_ax_ulru_out_sta_ent sta[MAC_AX_MAX_RU_NUM]; 8502 }; 8503 8504 /** 8505 * @struct mac_ul_macid_info 8506 * @brief mac_ul_macid_info 8507 * 8508 * @var mac_ul_macid_info::macid 8509 * Please Place Description here. 8510 * @var mac_ul_macid_info::pref_AC 8511 * Please Place Description here. 8512 * @var mac_ul_macid_info::rsvd 8513 * Please Place Description here. 8514 */ 8515 struct mac_ul_macid_info { 8516 u8 macid; 8517 u8 pref_AC:2; 8518 u8 rsvd:6; 8519 }; 8520 8521 /** 8522 * @struct mac_ul_mode_cfg 8523 * @brief mac_ul_mode_cfg 8524 * 8525 * @var mac_ul_mode_cfg::mode 8526 * Please Place Description here. 8527 * @var mac_ul_mode_cfg::interval 8528 * Please Place Description here. 8529 * @var mac_ul_mode_cfg::bsr_thold 8530 * Please Place Description here. 8531 * @var mac_ul_mode_cfg::storemode 8532 * Please Place Description here. 8533 * @var mac_ul_mode_cfg::rsvd 8534 * Please Place Description here. 8535 */ 8536 struct mac_ul_mode_cfg { 8537 u32 mode:2; /* 0: peoridic ; 1: normal ; 2: non_tgr */ 8538 u32 interval:6; /* unit: sec */ 8539 u32 bsr_thold:8; 8540 u32 storemode:2; 8541 u32 rsvd:14; 8542 }; 8543 8544 /** 8545 * @struct mac_ax_ul_fixinfo 8546 * @brief mac_ax_ul_fixinfo 8547 * 8548 * @var mac_ax_ul_fixinfo::tbl_hdr 8549 * Please Place Description here. 8550 * @var mac_ax_ul_fixinfo::cfg 8551 * Please Place Description here. 8552 * @var mac_ax_ul_fixinfo::ndpa_dur 8553 * Please Place Description here. 8554 * @var mac_ax_ul_fixinfo::tf_type 8555 * Please Place Description here. 8556 * @var mac_ax_ul_fixinfo::sig_ta_pkten 8557 * Please Place Description here. 8558 * @var mac_ax_ul_fixinfo::sig_ta_pktsc 8559 * Please Place Description here. 8560 * @var mac_ax_ul_fixinfo::murts_flag 8561 * Please Place Description here. 8562 * @var mac_ax_ul_fixinfo::ndpa 8563 * Please Place Description here. 8564 * @var mac_ax_ul_fixinfo::snd_pkt_sel 8565 * Please Place Description here. 8566 * @var mac_ax_ul_fixinfo::gi_ltf 8567 * Please Place Description here. 8568 * @var mac_ax_ul_fixinfo::data_rate 8569 * Please Place Description here. 8570 * @var mac_ax_ul_fixinfo::data_er 8571 * Please Place Description here. 8572 * @var mac_ax_ul_fixinfo::data_bw 8573 * Please Place Description here. 8574 * @var mac_ax_ul_fixinfo::data_stbc 8575 * Please Place Description here. 8576 * @var mac_ax_ul_fixinfo::data_ldpc 8577 * Please Place Description here. 8578 * @var mac_ax_ul_fixinfo::data_dcm 8579 * Please Place Description here. 8580 * @var mac_ax_ul_fixinfo::apep_len 8581 * Please Place Description here. 8582 * @var mac_ax_ul_fixinfo::more_tf 8583 * Please Place Description here. 8584 * @var mac_ax_ul_fixinfo::data_bw_er 8585 * Please Place Description here. 8586 * @var mac_ax_ul_fixinfo::istwt 8587 * Please Place Description here. 8588 * @var mac_ax_ul_fixinfo::rsvd0 8589 * Please Place Description here. 8590 * @var mac_ax_ul_fixinfo::multiport_id 8591 * Please Place Description here. 8592 * @var mac_ax_ul_fixinfo::mbssid 8593 * Please Place Description here. 8594 * @var mac_ax_ul_fixinfo::txpwr_mode 8595 * Please Place Description here. 8596 * @var mac_ax_ul_fixinfo::ulfix_usage 8597 * Please Place Description here. 8598 * @var mac_ax_ul_fixinfo::twtgrp_stanum_sel 8599 * Please Place Description here. 8600 * @var mac_ax_ul_fixinfo::store_idx 8601 * Please Place Description here. 8602 * @var mac_ax_ul_fixinfo::rsvd1 8603 * Please Place Description here. 8604 * @var mac_ax_ul_fixinfo::sta 8605 * Please Place Description here. 8606 * @var mac_ax_ul_fixinfo::ulrua 8607 * Please Place Description here. 8608 */ 8609 struct mac_ax_ul_fixinfo { 8610 struct mac_ax_tbl_hdr tbl_hdr; 8611 struct mac_ul_mode_cfg cfg; 8612 8613 u32 ndpa_dur:16; 8614 u32 tf_type:3; 8615 u32 sig_ta_pkten:1; 8616 u32 sig_ta_pktsc:4; 8617 u32 murts_flag:1; 8618 u32 ndpa:2; 8619 u32 snd_pkt_sel:2; 8620 u32 gi_ltf:3; 8621 8622 u32 data_rate:9; 8623 u32 data_er:1; 8624 u32 data_bw:2; 8625 u32 data_stbc:2; 8626 u32 data_ldpc:1; 8627 u32 data_dcm:1; 8628 u32 apep_len:12; 8629 u32 more_tf:1; 8630 u32 data_bw_er:1; 8631 u32 istwt:1; 8632 u32 rsvd0:1; 8633 8634 u32 multiport_id:3; 8635 u32 mbssid:4; 8636 u32 txpwr_mode:3; 8637 u32 ulfix_usage:3; 8638 u32 twtgrp_stanum_sel:2; 8639 u32 store_idx:4; 8640 u32 rsvd1:13; 8641 struct mac_ul_macid_info sta[4]; 8642 struct mac_ax_ulrua_output ulrua; 8643 }; 8644 8645 /** 8646 * @struct mac_ax_mudecision_para 8647 * @brief mac_ax_mudecision_para 8648 * 8649 * @var mac_ax_mudecision_para::tbl_hdr 8650 * Please Place Description here. 8651 * @var mac_ax_mudecision_para::mu_thold 8652 * Please Place Description here. 8653 * @var mac_ax_mudecision_para::bypass_thold 8654 * Please Place Description here. 8655 * @var mac_ax_mudecision_para::bypass_tp 8656 * Please Place Description here. 8657 */ 8658 struct mac_ax_mudecision_para { 8659 struct mac_ax_tbl_hdr tbl_hdr; 8660 u32 mu_thold:30; 8661 u32 bypass_thold:1; //macid bypass tx time thold check 8662 u32 bypass_tp:1; //T1 unit:us 8663 u32 init_rate: 4; 8664 u32 retry_th: 3; 8665 u32 rsvd: 25; 8666 }; 8667 8668 /** 8669 * @struct mac_ax_protect_rsp_field 8670 * @brief mac_ax_protect_rsp_field 8671 * 8672 * @var mac_ax_protect_rsp_field::protect 8673 * Please Place Description here. 8674 * @var mac_ax_protect_rsp_field::rsp 8675 * Please Place Description here. 8676 */ 8677 struct mac_ax_protect_rsp_field { 8678 u8 protect: 4; 8679 u8 rsp: 4; 8680 }; 8681 8682 /** 8683 * @struct mac_ax_mu_protect_rsp_type 8684 * @brief mac_ax_mu_protect_rsp_type 8685 * 8686 * @var mac_ax_mu_protect_rsp_type::byte_type 8687 * Please Place Description here. 8688 * @var mac_ax_mu_protect_rsp_type::feld_type 8689 * Please Place Description here. 8690 * @var mac_ax_mu_protect_rsp_type::u 8691 * Please Place Description here. 8692 */ 8693 struct mac_ax_mu_protect_rsp_type { 8694 union { 8695 u8 byte_type; 8696 struct mac_ax_protect_rsp_field feld_type; 8697 } u; 8698 }; 8699 8700 /** 8701 * @struct mac_ax_mu_sta_upd 8702 * @brief mac_ax_mu_sta_upd 8703 * 8704 * @var mac_ax_mu_sta_upd::macid 8705 * Please Place Description here. 8706 * @var mac_ax_mu_sta_upd::mu_idx 8707 * Please Place Description here. 8708 * @var mac_ax_mu_sta_upd::prot_rsp_type 8709 * Please Place Description here. 8710 * @var mac_ax_mu_sta_upd::mugrp_bitmap 8711 * Please Place Description here. 8712 * @var mac_ax_mu_sta_upd::dis_256q 8713 * Please Place Description here. 8714 * @var mac_ax_mu_sta_upd::dis_1024q 8715 * Please Place Description here. 8716 * @var mac_ax_mu_sta_upd::rsvd 8717 * Please Place Description here. 8718 */ 8719 struct mac_ax_mu_sta_upd { 8720 u8 macid; 8721 u8 mu_idx; 8722 struct mac_ax_mu_protect_rsp_type prot_rsp_type[5]; 8723 u8 mugrp_bitmap: 5; 8724 u8 dis_256q: 1; 8725 u8 dis_1024q: 1; 8726 u8 rsvd: 1; 8727 }; 8728 8729 /** 8730 * @struct mac_ax_wlaninfo_get 8731 * @brief mac_ax_wlaninfo_get 8732 * 8733 * @var mac_ax_wlaninfo_get::info_sel 8734 * Please Place Description here. 8735 * @var mac_ax_wlaninfo_get::rsvd0 8736 * Please Place Description here. 8737 * @var mac_ax_wlaninfo_get::argv0 8738 * Please Place Description here. 8739 * @var mac_ax_wlaninfo_get::argv1 8740 * Please Place Description here. 8741 * @var mac_ax_wlaninfo_get::argv2 8742 * Please Place Description here. 8743 * @var mac_ax_wlaninfo_get::argv3 8744 * Please Place Description here. 8745 * @var mac_ax_wlaninfo_get::argv4 8746 * Please Place Description here. 8747 * @var mac_ax_wlaninfo_get::argv5 8748 * Please Place Description here. 8749 * @var mac_ax_wlaninfo_get::argv6 8750 * Please Place Description here. 8751 * @var mac_ax_wlaninfo_get::argv7 8752 * Please Place Description here. 8753 * @var mac_ax_wlaninfo_get::rsvd1 8754 * Please Place Description here. 8755 */ 8756 struct mac_ax_wlaninfo_get { 8757 u32 info_sel:4; 8758 u32 rsvd0:4; 8759 u32 argv0:8; 8760 u32 argv1:8; 8761 u32 argv2:8; 8762 u32 argv3:8; 8763 u32 argv4:8; 8764 u32 argv5:8; 8765 u32 argv6:8; 8766 u32 argv7:8; 8767 u32 rsvd1:24; 8768 }; 8769 8770 /** 8771 * @struct mac_ax_ccxrpt 8772 * @brief mac_ax_ccxrpt 8773 * 8774 * @var mac_ax_ccxrpt::macid 8775 * Please Place Description here. 8776 * @var mac_ax_ccxrpt::tx_state 8777 * Please Place Description here. 8778 * @var mac_ax_ccxrpt::sw_define 8779 * Please Place Description here. 8780 * @var mac_ax_ccxrpt::pkt_ok_num 8781 * Please Place Description here. 8782 * @var mac_ax_ccxrpt::rsvd0 8783 * Please Place Description here. 8784 */ 8785 struct mac_ax_ccxrpt { 8786 u32 macid:7; 8787 u32 tx_state:2; 8788 u32 sw_define:4; 8789 u32 pkt_ok_num:8; 8790 u32 data_txcnt:6; 8791 u32 rsvd0:5; 8792 }; 8793 8794 /** 8795 * @struct mac_ax_dumpwlanc 8796 * @brief mac_ax_dumpwlanc 8797 * 8798 * @var mac_ax_dumpwlanc::cmdid 8799 * Please Place Description here. 8800 * @var mac_ax_dumpwlanc::rsvd0 8801 * Please Place Description here. 8802 */ 8803 struct mac_ax_dumpwlanc { 8804 u32 cmdid:8; 8805 u32 rsvd0:24; 8806 }; 8807 8808 /** 8809 * @struct mac_ax_dumpwlans 8810 * @brief mac_ax_dumpwlans 8811 * 8812 * @var mac_ax_dumpwlans::cmdid 8813 * Please Place Description here. 8814 * @var mac_ax_dumpwlans::macid_grp 8815 * Please Place Description here. 8816 * @var mac_ax_dumpwlans::rsvd0 8817 * Please Place Description here. 8818 */ 8819 struct mac_ax_dumpwlans { 8820 u32 cmdid:8; 8821 u32 macid_grp:8; 8822 u32 rsvd0:16; 8823 }; 8824 8825 /** 8826 * @struct mac_ax_dumpwland 8827 * @brief mac_ax_dumpwland 8828 * 8829 * @var mac_ax_dumpwland::cmdid 8830 * Please Place Description here. 8831 * @var mac_ax_dumpwland::grp_type 8832 * Please Place Description here. 8833 * @var mac_ax_dumpwland::grp_id 8834 * Please Place Description here. 8835 * @var mac_ax_dumpwland::muru 8836 * Please Place Description here. 8837 * @var mac_ax_dumpwland::macid 8838 * Please Place Description here. 8839 */ 8840 struct mac_ax_dumpwland { 8841 u32 cmdid:8; 8842 u32 grp_type:8; 8843 u32 grp_id:8; 8844 u32 muru:8; 8845 u8 macid[4]; 8846 }; 8847 8848 /** 8849 * @struct mac_ax_fixmode_para 8850 * @brief mac_ax_fixmode_para 8851 * 8852 * @var mac_ax_fixmode_para::tbl_hdr 8853 * Please Place Description here. 8854 * @var mac_ax_fixmode_para::force_sumuru_en 8855 * Please Place Description here. 8856 * @var mac_ax_fixmode_para::forcesu 8857 * Please Place Description here. 8858 * @var mac_ax_fixmode_para::forcemu 8859 * Please Place Description here. 8860 * @var mac_ax_fixmode_para::forceru 8861 * Please Place Description here. 8862 * @var mac_ax_fixmode_para::fix_fe_su_en 8863 * Please Place Description here. 8864 * @var mac_ax_fixmode_para::fix_fe_vhtmu_en 8865 * Please Place Description here. 8866 * @var mac_ax_fixmode_para::fix_fe_hemu_en 8867 * Please Place Description here. 8868 * @var mac_ax_fixmode_para::fix_fe_heru_en 8869 * Please Place Description here. 8870 * @var mac_ax_fixmode_para::fix_fe_ul_en 8871 * Please Place Description here. 8872 * @var mac_ax_fixmode_para::fix_frame_seq_su 8873 * Please Place Description here. 8874 * @var mac_ax_fixmode_para::fix_frame_seq_vhtmu 8875 * Please Place Description here. 8876 * @var mac_ax_fixmode_para::fix_frame_seq_hemu 8877 * Please Place Description here. 8878 * @var mac_ax_fixmode_para::fix_frame_seq_heru 8879 * Please Place Description here. 8880 * @var mac_ax_fixmode_para::fix_frame_seq_ul 8881 * Please Place Description here. 8882 * @var mac_ax_fixmode_para::is_dlruhwgrp 8883 * Please Place Description here. 8884 * @var mac_ax_fixmode_para::is_ulruhwgrp 8885 * Please Place Description here. 8886 * @var mac_ax_fixmode_para::prot_type_su 8887 * Please Place Description here. 8888 * @var mac_ax_fixmode_para::prot_type_vhtmu 8889 * Please Place Description here. 8890 * @var mac_ax_fixmode_para::resp_type_vhtmu 8891 * Please Place Description here. 8892 * @var mac_ax_fixmode_para::prot_type_hemu 8893 * Please Place Description here. 8894 * @var mac_ax_fixmode_para::resp_type_hemu 8895 * Please Place Description here. 8896 * @var mac_ax_fixmode_para::prot_type_heru 8897 * Please Place Description here. 8898 * @var mac_ax_fixmode_para::resp_type_heru 8899 * Please Place Description here. 8900 * @var mac_ax_fixmode_para::ul_prot_type 8901 * Please Place Description here. 8902 * @var mac_ax_fixmode_para::rugrpid 8903 * Please Place Description here. 8904 * @var mac_ax_fixmode_para::mugrpid 8905 * Please Place Description here. 8906 * @var mac_ax_fixmode_para::ulgrpid 8907 * Please Place Description here. 8908 * @var mac_ax_fixmode_para::rsvd1 8909 * Please Place Description here. 8910 */ 8911 struct mac_ax_fixmode_para { 8912 struct mac_ax_tbl_hdr tbl_hdr; 8913 u32 force_sumuru_en: 1; 8914 u32 forcesu: 1; 8915 u32 forcemu: 1; 8916 u32 forceru: 1; 8917 u32 fix_fe_su_en:1; 8918 u32 fix_fe_vhtmu_en:1; 8919 u32 fix_fe_hemu_en:1; 8920 u32 fix_fe_heru_en:1; 8921 u32 fix_fe_ul_en:1; 8922 u32 fix_frame_seq_su: 1; 8923 u32 fix_frame_seq_vhtmu: 1; 8924 u32 fix_frame_seq_hemu: 1; 8925 u32 fix_frame_seq_heru: 1; 8926 u32 fix_frame_seq_ul: 1; 8927 u32 is_dlruhwgrp: 1; 8928 u32 is_ulruhwgrp:1; 8929 u32 prot_type_su: 4; 8930 u32 prot_type_vhtmu: 4; 8931 u32 resp_type_vhtmu: 4; 8932 u32 prot_type_hemu: 4; 8933 u32 resp_type_hemu: 4; 8934 u32 prot_type_heru: 4; 8935 u32 resp_type_heru: 4; 8936 u32 ul_prot_type: 4; 8937 u32 rugrpid: 5; 8938 u32 mugrpid:5; 8939 u32 ulgrpid:5; 8940 u32 rsvd1:1; 8941 }; 8942 8943 /** 8944 * @struct mac_ax_tf_ba 8945 * @brief mac_ax_tf_ba 8946 * 8947 * @var mac_ax_tf_ba::fix_ba 8948 * Please Place Description here. 8949 * @var mac_ax_tf_ba::ru_psd 8950 * Please Place Description here. 8951 * @var mac_ax_tf_ba::tf_rate 8952 * Please Place Description here. 8953 * @var mac_ax_tf_ba::rf_gain_fix 8954 * Please Place Description here. 8955 * @var mac_ax_tf_ba::rf_gain_idx 8956 * Please Place Description here. 8957 * @var mac_ax_tf_ba::tb_ppdu_bw 8958 * Please Place Description here. 8959 * @var mac_ax_tf_ba::rate 8960 * Please Place Description here. 8961 * @var mac_ax_tf_ba::gi_ltf 8962 * Please Place Description here. 8963 * @var mac_ax_tf_ba::doppler 8964 * Please Place Description here. 8965 * @var mac_ax_tf_ba::stbc 8966 * Please Place Description here. 8967 * @var mac_ax_tf_ba::sta_coding 8968 * Please Place Description here. 8969 * @var mac_ax_tf_ba::tb_t_pe_nom 8970 * Please Place Description here. 8971 * @var mac_ax_tf_ba::pr20_bw_en 8972 * Please Place Description here. 8973 * @var mac_ax_tf_ba::ma_type 8974 * Please Place Description here. 8975 * @var mac_ax_tf_ba::rsvd1 8976 * Please Place Description here. 8977 */ 8978 struct mac_ax_tf_ba { 8979 u32 fix_ba:1; 8980 u32 ru_psd:9; 8981 u32 tf_rate:9; 8982 u32 rf_gain_fix:1; 8983 u32 rf_gain_idx:10; 8984 u32 tb_ppdu_bw:2; 8985 struct mac_ax_ru_rate_ent rate; 8986 u8 gi_ltf:3; 8987 u8 doppler:1; 8988 u8 stbc:1; 8989 u8 sta_coding:1; 8990 u8 tb_t_pe_nom:2; 8991 u8 pr20_bw_en:1; 8992 u8 ma_type: 1; 8993 u8 rsvd1: 6; 8994 }; 8995 8996 /** 8997 * @struct mac_ax_ba_infotbl 8998 * @brief mac_ax_ba_infotbl 8999 * 9000 * @var mac_ax_ba_infotbl::tbl_hdr 9001 * Please Place Description here. 9002 * @var mac_ax_ba_infotbl::tfba 9003 * Please Place Description here. 9004 */ 9005 struct mac_ax_ba_infotbl { 9006 struct mac_ax_tbl_hdr tbl_hdr; 9007 struct mac_ax_tf_ba tfba; 9008 }; 9009 9010 /** 9011 * @struct mac_ax_dl_ru_grptbl 9012 * @brief mac_ax_dl_ru_grptbl 9013 * 9014 * @var mac_ax_dl_ru_grptbl::tbl_hdr 9015 * Please Place Description here. 9016 * @var mac_ax_dl_ru_grptbl::ppdu_bw 9017 * Please Place Description here. 9018 * @var mac_ax_dl_ru_grptbl::tx_pwr 9019 * Please Place Description here. 9020 * @var mac_ax_dl_ru_grptbl::pwr_boost_fac 9021 * Please Place Description here. 9022 * @var mac_ax_dl_ru_grptbl::fix_mode_flag 9023 * Please Place Description here. 9024 * @var mac_ax_dl_ru_grptbl::rsvd1 9025 * Please Place Description here. 9026 * @var mac_ax_dl_ru_grptbl::rsvd 9027 * Please Place Description here. 9028 * @var mac_ax_dl_ru_grptbl::tf 9029 * Please Place Description here. 9030 */ 9031 struct mac_ax_dl_ru_grptbl { 9032 struct mac_ax_tbl_hdr tbl_hdr; 9033 u16 ppdu_bw:2; 9034 u16 tx_pwr:9; 9035 u16 pwr_boost_fac:5; 9036 u8 fix_mode_flag:1; 9037 u8 rsvd1:7; 9038 u8 rsvd; 9039 struct mac_ax_tf_ba tf; 9040 }; 9041 9042 /** 9043 * @struct mac_ax_ul_ru_grptbl 9044 * @brief mac_ax_ul_ru_grptbl 9045 * 9046 * @var mac_ax_ul_ru_grptbl::tbl_hdr 9047 * Please Place Description here. 9048 * @var mac_ax_ul_ru_grptbl::grp_psd_max 9049 * Please Place Description here. 9050 * @var mac_ax_ul_ru_grptbl::grp_psd_min 9051 * Please Place Description here. 9052 * @var mac_ax_ul_ru_grptbl::tf_rate 9053 * Please Place Description here. 9054 * @var mac_ax_ul_ru_grptbl::fix_tf_rate 9055 * Please Place Description here. 9056 * @var mac_ax_ul_ru_grptbl::rsvd2 9057 * Please Place Description here. 9058 * @var mac_ax_ul_ru_grptbl::ppdu_bw 9059 * Please Place Description here. 9060 * @var mac_ax_ul_ru_grptbl::rf_gain_fix 9061 * Please Place Description here. 9062 * @var mac_ax_ul_ru_grptbl::rf_gain_idx 9063 * Please Place Description here. 9064 * @var mac_ax_ul_ru_grptbl::fix_mode_flag 9065 * Please Place Description here. 9066 * @var mac_ax_ul_ru_grptbl::rsvd1 9067 * Please Place Description here. 9068 */ 9069 struct mac_ax_ul_ru_grptbl { 9070 struct mac_ax_tbl_hdr tbl_hdr; 9071 u32 grp_psd_max: 9; 9072 u32 grp_psd_min: 9; 9073 u32 tf_rate: 9; 9074 u32 fix_tf_rate: 1; 9075 u32 rsvd2: 4; 9076 u16 ppdu_bw: 2; 9077 u16 rf_gain_fix: 1; 9078 u16 rf_gain_idx: 10; 9079 u16 fix_mode_flag: 1; 9080 u16 rsvd1: 2; 9081 }; 9082 9083 /** 9084 * @struct mac_ax_bb_stainfo 9085 * @brief mac_ax_bb_stainfo 9086 * 9087 * @var mac_ax_bb_stainfo::tbl_hdr 9088 * Please Place Description here. 9089 * @var mac_ax_bb_stainfo::gi_ltf_48spt 9090 * Please Place Description here. 9091 * @var mac_ax_bb_stainfo::gi_ltf_18spt 9092 * Please Place Description here. 9093 * @var mac_ax_bb_stainfo::rsvd3 9094 * Please Place Description here. 9095 * @var mac_ax_bb_stainfo::dlsu_info_en 9096 * Please Place Description here. 9097 * @var mac_ax_bb_stainfo::dlsu_bw 9098 * Please Place Description here. 9099 * @var mac_ax_bb_stainfo::dlsu_gi_ltf 9100 * Please Place Description here. 9101 * @var mac_ax_bb_stainfo::dlsu_doppler_ctrl 9102 * Please Place Description here. 9103 * @var mac_ax_bb_stainfo::dlsu_coding 9104 * Please Place Description here. 9105 * @var mac_ax_bb_stainfo::dlsu_txbf 9106 * Please Place Description here. 9107 * @var mac_ax_bb_stainfo::dlsu_stbc 9108 * Please Place Description here. 9109 * @var mac_ax_bb_stainfo::dl_fwcqi_flag 9110 * Please Place Description here. 9111 * @var mac_ax_bb_stainfo::dlru_ratetbl_ridx 9112 * Please Place Description here. 9113 * @var mac_ax_bb_stainfo::csi_info_bitmap 9114 * Please Place Description here. 9115 * @var mac_ax_bb_stainfo::dl_swgrp_bitmap 9116 * Please Place Description here. 9117 * @var mac_ax_bb_stainfo::dlsu_dcm 9118 * Please Place Description here. 9119 * @var mac_ax_bb_stainfo::rsvd1 9120 * Please Place Description here. 9121 * @var mac_ax_bb_stainfo::dlsu_rate 9122 * Please Place Description here. 9123 * @var mac_ax_bb_stainfo::dlsu_pwr 9124 * Please Place Description here. 9125 * @var mac_ax_bb_stainfo::rsvd2 9126 * Please Place Description here. 9127 * @var mac_ax_bb_stainfo::rsvd4 9128 * Please Place Description here. 9129 * @var mac_ax_bb_stainfo::ulsu_info_en 9130 * Please Place Description here. 9131 * @var mac_ax_bb_stainfo::ulsu_bw 9132 * Please Place Description here. 9133 * @var mac_ax_bb_stainfo::ulsu_gi_ltf 9134 * Please Place Description here. 9135 * @var mac_ax_bb_stainfo::ulsu_doppler_ctrl 9136 * Please Place Description here. 9137 * @var mac_ax_bb_stainfo::ulsu_dcm 9138 * Please Place Description here. 9139 * @var mac_ax_bb_stainfo::ulsu_ss 9140 * Please Place Description here. 9141 * @var mac_ax_bb_stainfo::ulsu_mcs 9142 * Please Place Description here. 9143 * @var mac_ax_bb_stainfo::ul_fwcqi_flag 9144 * Please Place Description here. 9145 * @var mac_ax_bb_stainfo::ulru_ratetbl_ridx 9146 * Please Place Description here. 9147 * @var mac_ax_bb_stainfo::ulsu_stbc 9148 * Please Place Description here. 9149 * @var mac_ax_bb_stainfo::ulsu_coding 9150 * Please Place Description here. 9151 * @var mac_ax_bb_stainfo::ulsu_rssi_m 9152 * Please Place Description here. 9153 * @var mac_ax_bb_stainfo::ul_swgrp_bitmap 9154 * Please Place Description here. 9155 */ 9156 struct mac_ax_bb_stainfo { 9157 struct mac_ax_tbl_hdr tbl_hdr; 9158 //sta capability 9159 u8 gi_ltf_48spt:1; 9160 u8 gi_ltf_18spt:1; 9161 u8 rsvd3:6; 9162 //downlink su 9163 u8 dlsu_info_en:1; 9164 u8 dlsu_bw:2; 9165 u8 dlsu_gi_ltf:3; 9166 u8 dlsu_doppler_ctrl:2; 9167 u8 dlsu_coding:1; 9168 u8 dlsu_txbf:1; 9169 u8 dlsu_stbc:1; 9170 u8 dl_fwcqi_flag:1; 9171 u8 dlru_ratetbl_ridx:4; 9172 u8 csi_info_bitmap; 9173 u32 dl_swgrp_bitmap; 9174 u16 dlsu_dcm:1; 9175 u16 rsvd1:6; 9176 u16 dlsu_rate:9; 9177 u8 dlsu_pwr:6; 9178 u8 rsvd2:2; 9179 u8 rsvd4; 9180 //uplink su 9181 u8 ulsu_info_en:1; 9182 u8 ulsu_bw:2; 9183 u8 ulsu_gi_ltf:3; 9184 u8 ulsu_doppler_ctrl:2; 9185 u8 ulsu_dcm:1; 9186 u8 ulsu_ss:3; 9187 u8 ulsu_mcs:4; 9188 u16 ul_fwcqi_flag:1; 9189 u16 ulru_ratetbl_ridx:4; 9190 u16 ulsu_stbc:1; 9191 u16 ulsu_coding:1; 9192 u16 ulsu_rssi_m:9; 9193 u32 ul_swgrp_bitmap; 9194 //tb info 9195 }; 9196 9197 /** 9198 * @struct mac_ax_tf_depend_user_para 9199 * @brief mac_ax_tf_depend_user_para 9200 * 9201 * @var mac_ax_tf_depend_user_para::pref_AC 9202 * Please Place Description here. 9203 * @var mac_ax_tf_depend_user_para::rsvd 9204 * Please Place Description here. 9205 */ 9206 struct mac_ax_tf_depend_user_para { 9207 u8 pref_AC: 2; 9208 u8 rsvd: 6; 9209 }; 9210 9211 /** 9212 * @struct mac_ax_tf_user_para 9213 * @brief mac_ax_tf_user_para 9214 * 9215 * @var mac_ax_tf_user_para::aid12 9216 * Please Place Description here. 9217 * @var mac_ax_tf_user_para::ul_mcs 9218 * Please Place Description here. 9219 * @var mac_ax_tf_user_para::macid 9220 * Please Place Description here. 9221 * @var mac_ax_tf_user_para::ru_pos 9222 * Please Place Description here. 9223 * @var mac_ax_tf_user_para::ul_fec_code 9224 * Please Place Description here. 9225 * @var mac_ax_tf_user_para::ul_dcm 9226 * Please Place Description here. 9227 * @var mac_ax_tf_user_para::ss_alloc 9228 * Please Place Description here. 9229 * @var mac_ax_tf_user_para::ul_tgt_rssi 9230 * Please Place Description here. 9231 * @var mac_ax_tf_user_para::rsvd 9232 * Please Place Description here. 9233 * @var mac_ax_tf_user_para::rsvd2 9234 * Please Place Description here. 9235 */ 9236 struct mac_ax_tf_user_para { 9237 u16 aid12: 12; 9238 u16 ul_mcs: 4; 9239 u8 macid; 9240 u8 ru_pos; 9241 9242 u8 ul_fec_code: 1; 9243 u8 ul_dcm: 1; 9244 u8 ss_alloc: 6; 9245 u8 ul_tgt_rssi: 7; 9246 u8 rsvd: 1; 9247 u16 rsvd2; 9248 }; 9249 9250 /** 9251 * @struct mac_ax_tf_pkt_para 9252 * @brief mac_ax_tf_pkt_para 9253 * 9254 * @var mac_ax_tf_pkt_para::ul_bw 9255 * Please Place Description here. 9256 * @var mac_ax_tf_pkt_para::gi_ltf 9257 * Please Place Description here. 9258 * @var mac_ax_tf_pkt_para::num_he_ltf 9259 * Please Place Description here. 9260 * @var mac_ax_tf_pkt_para::ul_stbc 9261 * Please Place Description here. 9262 * @var mac_ax_tf_pkt_para::doppler 9263 * Please Place Description here. 9264 * @var mac_ax_tf_pkt_para::ap_tx_power 9265 * Please Place Description here. 9266 * @var mac_ax_tf_pkt_para::rsvd0 9267 * Please Place Description here. 9268 * @var mac_ax_tf_pkt_para::user_num 9269 * Please Place Description here. 9270 * @var mac_ax_tf_pkt_para::pktnum 9271 * Please Place Description here. 9272 * @var mac_ax_tf_pkt_para::rsvd1 9273 * Please Place Description here. 9274 * @var mac_ax_tf_pkt_para::pri20_bitmap 9275 * Please Place Description here. 9276 * @var mac_ax_tf_pkt_para::user 9277 * Please Place Description here. 9278 * @var mac_ax_tf_pkt_para::dep_user 9279 * Please Place Description here. 9280 */ 9281 struct mac_ax_tf_pkt_para { 9282 u8 ul_bw: 2; 9283 u8 gi_ltf: 2; 9284 u8 num_he_ltf: 3; 9285 u8 ul_stbc: 1; 9286 u8 doppler: 1; 9287 u8 ap_tx_power: 6; 9288 u8 rsvd0: 1; 9289 u8 user_num: 3; 9290 u8 pktnum: 3; 9291 u8 rsvd1: 2; 9292 u8 pri20_bitmap; 9293 9294 struct mac_ax_tf_user_para user[MAC_AX_MAX_RU_NUM]; 9295 struct mac_ax_tf_depend_user_para dep_user[MAC_AX_MAX_RU_NUM]; 9296 }; 9297 9298 /** 9299 * @struct mac_ax_tf_wd_para 9300 * @brief mac_ax_tf_wd_para 9301 * 9302 * @var mac_ax_tf_wd_para::datarate 9303 * Please Place Description here. 9304 * @var mac_ax_tf_wd_para::mulport_id 9305 * Please Place Description here. 9306 * @var mac_ax_tf_wd_para::pwr_ofset 9307 * Please Place Description here. 9308 * @var mac_ax_tf_wd_para::rsvd 9309 * Please Place Description here. 9310 */ 9311 struct mac_ax_tf_wd_para { 9312 u16 datarate: 9; 9313 u16 mulport_id: 3; 9314 u16 pwr_ofset: 3; 9315 u16 rsvd: 1; 9316 }; 9317 9318 /** 9319 * @struct mac_ax_f2p_test_para 9320 * @brief mac_ax_f2p_test_para 9321 * 9322 * @var mac_ax_f2p_test_para::tf_pkt 9323 * Please Place Description here. 9324 * @var mac_ax_f2p_test_para::tf_wd 9325 * Please Place Description here. 9326 * @var mac_ax_f2p_test_para::mode 9327 * Please Place Description here. 9328 * @var mac_ax_f2p_test_para::frexch_type 9329 * Please Place Description here. 9330 * @var mac_ax_f2p_test_para::sigb_len 9331 * Please Place Description here. 9332 */ 9333 struct mac_ax_f2p_test_para { 9334 struct mac_ax_tf_pkt_para tf_pkt; 9335 struct mac_ax_tf_wd_para tf_wd; 9336 u8 mode: 2; 9337 u8 frexch_type: 6; 9338 u8 sigb_len; 9339 }; 9340 9341 /** 9342 * @struct mac_ax_f2p_wd 9343 * @brief mac_ax_f2p_wd 9344 * 9345 * @var mac_ax_f2p_wd::cmd_qsel 9346 * Please Place Description here. 9347 * @var mac_ax_f2p_wd::rsvd0 9348 * Please Place Description here. 9349 * @var mac_ax_f2p_wd::rsvd1 9350 * Please Place Description here. 9351 * @var mac_ax_f2p_wd::ls 9352 * Please Place Description here. 9353 * @var mac_ax_f2p_wd::fs 9354 * Please Place Description here. 9355 * @var mac_ax_f2p_wd::total_number 9356 * Please Place Description here. 9357 * @var mac_ax_f2p_wd::seq 9358 * Please Place Description here. 9359 * @var mac_ax_f2p_wd::length 9360 * Please Place Description here. 9361 * @var mac_ax_f2p_wd::rsvd2 9362 * Please Place Description here. 9363 */ 9364 struct mac_ax_f2p_wd { 9365 /* dword 0 */ 9366 u32 cmd_qsel:6; 9367 u32 rsvd0:2; 9368 u32 rsvd1:2; 9369 u32 ls:1; 9370 u32 fs:1; 9371 u32 total_number:4; 9372 u32 seq:8; 9373 u32 length:8; 9374 /* dword 1 */ 9375 u32 rsvd2; 9376 }; 9377 9378 /** 9379 * @struct mac_ax_f2p_tx_cmd 9380 * @brief mac_ax_f2p_tx_cmd 9381 * 9382 * @var mac_ax_f2p_tx_cmd::cmd_type 9383 * Please Place Description here. 9384 * @var mac_ax_f2p_tx_cmd::cmd_sub_type 9385 * Please Place Description here. 9386 * @var mac_ax_f2p_tx_cmd::dl_user_num 9387 * Please Place Description here. 9388 * @var mac_ax_f2p_tx_cmd::bw 9389 * Please Place Description here. 9390 * @var mac_ax_f2p_tx_cmd::tx_power 9391 * Please Place Description here. 9392 * @var mac_ax_f2p_tx_cmd::fw_define 9393 * Please Place Description here. 9394 * @var mac_ax_f2p_tx_cmd::ss_sel_mode 9395 * Please Place Description here. 9396 * @var mac_ax_f2p_tx_cmd::next_qsel 9397 * Please Place Description here. 9398 * @var mac_ax_f2p_tx_cmd::twt_group 9399 * Please Place Description here. 9400 * @var mac_ax_f2p_tx_cmd::dis_chk_slp 9401 * Please Place Description here. 9402 * @var mac_ax_f2p_tx_cmd::ru_mu_2_su 9403 * Please Place Description here. 9404 * @var mac_ax_f2p_tx_cmd::dl_t_pe 9405 * Please Place Description here. 9406 * @var mac_ax_f2p_tx_cmd::sigb_ch1_len 9407 * Please Place Description here. 9408 * @var mac_ax_f2p_tx_cmd::sigb_ch2_len 9409 * Please Place Description here. 9410 * @var mac_ax_f2p_tx_cmd::sigb_sym_num 9411 * Please Place Description here. 9412 * @var mac_ax_f2p_tx_cmd::sigb_ch2_ofs 9413 * Please Place Description here. 9414 * @var mac_ax_f2p_tx_cmd::dis_htp_ack 9415 * Please Place Description here. 9416 * @var mac_ax_f2p_tx_cmd::tx_time_ref 9417 * Please Place Description here. 9418 * @var mac_ax_f2p_tx_cmd::pri_user_idx 9419 * Please Place Description here. 9420 * @var mac_ax_f2p_tx_cmd::ampdu_max_txtime 9421 * Please Place Description here. 9422 * @var mac_ax_f2p_tx_cmd::rsvd0 9423 * Please Place Description here. 9424 * @var mac_ax_f2p_tx_cmd::group_id 9425 * Please Place Description here. 9426 * @var mac_ax_f2p_tx_cmd::rsvd1 9427 * Please Place Description here. 9428 * @var mac_ax_f2p_tx_cmd::rsvd2 9429 * Please Place Description here. 9430 * @var mac_ax_f2p_tx_cmd::twt_chk_en 9431 * Please Place Description here. 9432 * @var mac_ax_f2p_tx_cmd::twt_port_id 9433 * Please Place Description here. 9434 * @var mac_ax_f2p_tx_cmd::twt_start_time 9435 * Please Place Description here. 9436 * @var mac_ax_f2p_tx_cmd::twt_end_time 9437 * Please Place Description here. 9438 * @var mac_ax_f2p_tx_cmd::apep_len 9439 * Please Place Description here. 9440 * @var mac_ax_f2p_tx_cmd::tri_pad 9441 * Please Place Description here. 9442 * @var mac_ax_f2p_tx_cmd::ul_t_pe 9443 * Please Place Description here. 9444 * @var mac_ax_f2p_tx_cmd::rf_gain_idx 9445 * Please Place Description here. 9446 * @var mac_ax_f2p_tx_cmd::fixed_gain_en 9447 * Please Place Description here. 9448 * @var mac_ax_f2p_tx_cmd::ul_gi_ltf 9449 * Please Place Description here. 9450 * @var mac_ax_f2p_tx_cmd::ul_doppler 9451 * Please Place Description here. 9452 * @var mac_ax_f2p_tx_cmd::ul_stbc 9453 * Please Place Description here. 9454 * @var mac_ax_f2p_tx_cmd::ul_mid_per 9455 * Please Place Description here. 9456 * @var mac_ax_f2p_tx_cmd::ul_cqi_rrp_tri 9457 * Please Place Description here. 9458 * @var mac_ax_f2p_tx_cmd::rsvd3 9459 * Please Place Description here. 9460 * @var mac_ax_f2p_tx_cmd::rsvd4 9461 * Please Place Description here. 9462 * @var mac_ax_f2p_tx_cmd::sigb_dcm 9463 * Please Place Description here. 9464 * @var mac_ax_f2p_tx_cmd::sigb_comp 9465 * Please Place Description here. 9466 * @var mac_ax_f2p_tx_cmd::doppler 9467 * Please Place Description here. 9468 * @var mac_ax_f2p_tx_cmd::stbc 9469 * Please Place Description here. 9470 * @var mac_ax_f2p_tx_cmd::mid_per 9471 * Please Place Description here. 9472 * @var mac_ax_f2p_tx_cmd::gi_ltf_size 9473 * Please Place Description here. 9474 * @var mac_ax_f2p_tx_cmd::sigb_mcs 9475 * Please Place Description here. 9476 * @var mac_ax_f2p_tx_cmd::rsvd5 9477 * Please Place Description here. 9478 * @var mac_ax_f2p_tx_cmd::macid_u0 9479 * Please Place Description here. 9480 * @var mac_ax_f2p_tx_cmd::ac_type_u0 9481 * Please Place Description here. 9482 * @var mac_ax_f2p_tx_cmd::mu_sta_pos_u0 9483 * Please Place Description here. 9484 * @var mac_ax_f2p_tx_cmd::dl_rate_idx_u0 9485 * Please Place Description here. 9486 * @var mac_ax_f2p_tx_cmd::dl_dcm_en_u0 9487 * Please Place Description here. 9488 * @var mac_ax_f2p_tx_cmd::rsvd6 9489 * Please Place Description here. 9490 * @var mac_ax_f2p_tx_cmd::ru_alo_idx_u0 9491 * Please Place Description here. 9492 * @var mac_ax_f2p_tx_cmd::pwr_boost_u0 9493 * Please Place Description here. 9494 * @var mac_ax_f2p_tx_cmd::agg_bmp_alo_u0 9495 * Please Place Description here. 9496 * @var mac_ax_f2p_tx_cmd::ampdu_max_txnum_u0 9497 * Please Place Description here. 9498 * @var mac_ax_f2p_tx_cmd::user_define_u0 9499 * Please Place Description here. 9500 * @var mac_ax_f2p_tx_cmd::user_define_ext_u0 9501 * Please Place Description here. 9502 * @var mac_ax_f2p_tx_cmd::ul_addr_idx_u0 9503 * Please Place Description here. 9504 * @var mac_ax_f2p_tx_cmd::ul_dcm_u0 9505 * Please Place Description here. 9506 * @var mac_ax_f2p_tx_cmd::ul_fec_cod_u0 9507 * Please Place Description here. 9508 * @var mac_ax_f2p_tx_cmd::ul_ru_rate_u0 9509 * Please Place Description here. 9510 * @var mac_ax_f2p_tx_cmd::rsvd8 9511 * Please Place Description here. 9512 * @var mac_ax_f2p_tx_cmd::ul_ru_alo_idx_u0 9513 * Please Place Description here. 9514 * @var mac_ax_f2p_tx_cmd::rsvd9 9515 * Please Place Description here. 9516 * @var mac_ax_f2p_tx_cmd::macid_u1 9517 * Please Place Description here. 9518 * @var mac_ax_f2p_tx_cmd::ac_type_u1 9519 * Please Place Description here. 9520 * @var mac_ax_f2p_tx_cmd::mu_sta_pos_u1 9521 * Please Place Description here. 9522 * @var mac_ax_f2p_tx_cmd::dl_rate_idx_u1 9523 * Please Place Description here. 9524 * @var mac_ax_f2p_tx_cmd::dl_dcm_en_u1 9525 * Please Place Description here. 9526 * @var mac_ax_f2p_tx_cmd::rsvd10 9527 * Please Place Description here. 9528 * @var mac_ax_f2p_tx_cmd::ru_alo_idx_u1 9529 * Please Place Description here. 9530 * @var mac_ax_f2p_tx_cmd::pwr_boost_u1 9531 * Please Place Description here. 9532 * @var mac_ax_f2p_tx_cmd::agg_bmp_alo_u1 9533 * Please Place Description here. 9534 * @var mac_ax_f2p_tx_cmd::ampdu_max_txnum_u1 9535 * Please Place Description here. 9536 * @var mac_ax_f2p_tx_cmd::user_define_u1 9537 * Please Place Description here. 9538 * @var mac_ax_f2p_tx_cmd::user_define_ext_u1 9539 * Please Place Description here. 9540 * @var mac_ax_f2p_tx_cmd::ul_addr_idx_u1 9541 * Please Place Description here. 9542 * @var mac_ax_f2p_tx_cmd::ul_dcm_u1 9543 * Please Place Description here. 9544 * @var mac_ax_f2p_tx_cmd::ul_fec_cod_u1 9545 * Please Place Description here. 9546 * @var mac_ax_f2p_tx_cmd::ul_ru_rate_u1 9547 * Please Place Description here. 9548 * @var mac_ax_f2p_tx_cmd::rsvd12 9549 * Please Place Description here. 9550 * @var mac_ax_f2p_tx_cmd::ul_ru_alo_idx_u1 9551 * Please Place Description here. 9552 * @var mac_ax_f2p_tx_cmd::rsvd13 9553 * Please Place Description here. 9554 * @var mac_ax_f2p_tx_cmd::macid_u2 9555 * Please Place Description here. 9556 * @var mac_ax_f2p_tx_cmd::ac_type_u2 9557 * Please Place Description here. 9558 * @var mac_ax_f2p_tx_cmd::mu_sta_pos_u2 9559 * Please Place Description here. 9560 * @var mac_ax_f2p_tx_cmd::dl_rate_idx_u2 9561 * Please Place Description here. 9562 * @var mac_ax_f2p_tx_cmd::dl_dcm_en_u2 9563 * Please Place Description here. 9564 * @var mac_ax_f2p_tx_cmd::rsvd14 9565 * Please Place Description here. 9566 * @var mac_ax_f2p_tx_cmd::ru_alo_idx_u2 9567 * Please Place Description here. 9568 * @var mac_ax_f2p_tx_cmd::pwr_boost_u2 9569 * Please Place Description here. 9570 * @var mac_ax_f2p_tx_cmd::agg_bmp_alo_u2 9571 * Please Place Description here. 9572 * @var mac_ax_f2p_tx_cmd::ampdu_max_txnum_u2 9573 * Please Place Description here. 9574 * @var mac_ax_f2p_tx_cmd::user_define_u2 9575 * Please Place Description here. 9576 * @var mac_ax_f2p_tx_cmd::user_define_ext_u2 9577 * Please Place Description here. 9578 * @var mac_ax_f2p_tx_cmd::ul_addr_idx_u2 9579 * Please Place Description here. 9580 * @var mac_ax_f2p_tx_cmd::ul_dcm_u2 9581 * Please Place Description here. 9582 * @var mac_ax_f2p_tx_cmd::ul_fec_cod_u2 9583 * Please Place Description here. 9584 * @var mac_ax_f2p_tx_cmd::ul_ru_rate_u2 9585 * Please Place Description here. 9586 * @var mac_ax_f2p_tx_cmd::rsvd16 9587 * Please Place Description here. 9588 * @var mac_ax_f2p_tx_cmd::ul_ru_alo_idx_u2 9589 * Please Place Description here. 9590 * @var mac_ax_f2p_tx_cmd::rsvd17 9591 * Please Place Description here. 9592 * @var mac_ax_f2p_tx_cmd::macid_u3 9593 * Please Place Description here. 9594 * @var mac_ax_f2p_tx_cmd::ac_type_u3 9595 * Please Place Description here. 9596 * @var mac_ax_f2p_tx_cmd::mu_sta_pos_u3 9597 * Please Place Description here. 9598 * @var mac_ax_f2p_tx_cmd::dl_rate_idx_u3 9599 * Please Place Description here. 9600 * @var mac_ax_f2p_tx_cmd::dl_dcm_en_u3 9601 * Please Place Description here. 9602 * @var mac_ax_f2p_tx_cmd::rsvd18 9603 * Please Place Description here. 9604 * @var mac_ax_f2p_tx_cmd::ru_alo_idx_u3 9605 * Please Place Description here. 9606 * @var mac_ax_f2p_tx_cmd::pwr_boost_u3 9607 * Please Place Description here. 9608 * @var mac_ax_f2p_tx_cmd::agg_bmp_alo_u3 9609 * Please Place Description here. 9610 * @var mac_ax_f2p_tx_cmd::ampdu_max_txnum_u3 9611 * Please Place Description here. 9612 * @var mac_ax_f2p_tx_cmd::user_define_u3 9613 * Please Place Description here. 9614 * @var mac_ax_f2p_tx_cmd::user_define_ext_u3 9615 * Please Place Description here. 9616 * @var mac_ax_f2p_tx_cmd::ul_addr_idx_u3 9617 * Please Place Description here. 9618 * @var mac_ax_f2p_tx_cmd::ul_dcm_u3 9619 * Please Place Description here. 9620 * @var mac_ax_f2p_tx_cmd::ul_fec_cod_u3 9621 * Please Place Description here. 9622 * @var mac_ax_f2p_tx_cmd::ul_ru_rate_u3 9623 * Please Place Description here. 9624 * @var mac_ax_f2p_tx_cmd::rsvd20 9625 * Please Place Description here. 9626 * @var mac_ax_f2p_tx_cmd::ul_ru_alo_idx_u3 9627 * Please Place Description here. 9628 * @var mac_ax_f2p_tx_cmd::rsvd21 9629 * Please Place Description here. 9630 * @var mac_ax_f2p_tx_cmd::pkt_id_0 9631 * Please Place Description here. 9632 * @var mac_ax_f2p_tx_cmd::rsvd22 9633 * Please Place Description here. 9634 * @var mac_ax_f2p_tx_cmd::valid_0 9635 * Please Place Description here. 9636 * @var mac_ax_f2p_tx_cmd::ul_user_num_0 9637 * Please Place Description here. 9638 * @var mac_ax_f2p_tx_cmd::rsvd23 9639 * Please Place Description here. 9640 * @var mac_ax_f2p_tx_cmd::pkt_id_1 9641 * Please Place Description here. 9642 * @var mac_ax_f2p_tx_cmd::rsvd24 9643 * Please Place Description here. 9644 * @var mac_ax_f2p_tx_cmd::valid_1 9645 * Please Place Description here. 9646 * @var mac_ax_f2p_tx_cmd::ul_user_num_1 9647 * Please Place Description here. 9648 * @var mac_ax_f2p_tx_cmd::rsvd25 9649 * Please Place Description here. 9650 * @var mac_ax_f2p_tx_cmd::pkt_id_2 9651 * Please Place Description here. 9652 * @var mac_ax_f2p_tx_cmd::rsvd26 9653 * Please Place Description here. 9654 * @var mac_ax_f2p_tx_cmd::valid_2 9655 * Please Place Description here. 9656 * @var mac_ax_f2p_tx_cmd::ul_user_num_2 9657 * Please Place Description here. 9658 * @var mac_ax_f2p_tx_cmd::rsvd27 9659 * Please Place Description here. 9660 * @var mac_ax_f2p_tx_cmd::pkt_id_3 9661 * Please Place Description here. 9662 * @var mac_ax_f2p_tx_cmd::rsvd28 9663 * Please Place Description here. 9664 * @var mac_ax_f2p_tx_cmd::valid_3 9665 * Please Place Description here. 9666 * @var mac_ax_f2p_tx_cmd::ul_user_num_3 9667 * Please Place Description here. 9668 * @var mac_ax_f2p_tx_cmd::rsvd29 9669 * Please Place Description here. 9670 * @var mac_ax_f2p_tx_cmd::pkt_id_4 9671 * Please Place Description here. 9672 * @var mac_ax_f2p_tx_cmd::rsvd30 9673 * Please Place Description here. 9674 * @var mac_ax_f2p_tx_cmd::valid_4 9675 * Please Place Description here. 9676 * @var mac_ax_f2p_tx_cmd::ul_user_num_4 9677 * Please Place Description here. 9678 * @var mac_ax_f2p_tx_cmd::rsvd31 9679 * Please Place Description here. 9680 * @var mac_ax_f2p_tx_cmd::pkt_id_5 9681 * Please Place Description here. 9682 * @var mac_ax_f2p_tx_cmd::rsvd32 9683 * Please Place Description here. 9684 * @var mac_ax_f2p_tx_cmd::valid_5 9685 * Please Place Description here. 9686 * @var mac_ax_f2p_tx_cmd::ul_user_num_5 9687 * Please Place Description here. 9688 * @var mac_ax_f2p_tx_cmd::rsvd33 9689 * Please Place Description here. 9690 */ 9691 struct mac_ax_f2p_tx_cmd { 9692 /* dword 0 */ 9693 u32 cmd_type:8; 9694 u32 cmd_sub_type:8; 9695 u32 dl_user_num:5; 9696 u32 bw:2; 9697 u32 tx_power:9; 9698 /* dword 1 */ 9699 u32 fw_define:16; 9700 u32 ss_sel_mode:2; 9701 u32 next_qsel:6; 9702 u32 twt_group:4; 9703 u32 dis_chk_slp:1; 9704 u32 ru_mu_2_su:1; 9705 u32 dl_t_pe:2; 9706 /* dword 2 */ 9707 u32 sigb_ch1_len:8; 9708 u32 sigb_ch2_len:8; 9709 u32 sigb_sym_num:6; 9710 u32 sigb_ch2_ofs:5; 9711 u32 dis_htp_ack:1; 9712 u32 tx_time_ref:2; 9713 u32 pri_user_idx:2; 9714 /* dword 3 */ 9715 u32 ampdu_max_txtime:14; 9716 u32 rsvd0:2; 9717 u32 group_id:6; 9718 u32 rsvd1:2; 9719 u32 rsvd2:4; 9720 u32 twt_chk_en:1; 9721 u32 twt_port_id:3; 9722 /* dword 4 */ 9723 u32 twt_start_time:32; 9724 /* dword 5 */ 9725 u32 twt_end_time:32; 9726 /* dword 6 */ 9727 u32 apep_len:12; 9728 u32 tri_pad:2; 9729 u32 ul_t_pe:2; 9730 u32 rf_gain_idx:10; 9731 u32 fixed_gain_en:1; 9732 u32 ul_gi_ltf:3; 9733 u32 ul_doppler:1; 9734 u32 ul_stbc:1; 9735 /* dword 7 */ 9736 u32 ul_mid_per:1; 9737 u32 ul_cqi_rrp_tri:1; 9738 u32 rsvd3:6; 9739 u32 rsvd4:8; 9740 u32 sigb_dcm:1; 9741 u32 sigb_comp:1; 9742 u32 doppler:1; 9743 u32 stbc:1; 9744 u32 mid_per:1; 9745 u32 gi_ltf_size:3; 9746 u32 sigb_mcs:3; 9747 u32 rsvd5:5; 9748 /* dword 8 */ 9749 u32 macid_u0:8; 9750 u32 ac_type_u0:2; 9751 u32 mu_sta_pos_u0:2; 9752 u32 dl_rate_idx_u0:9; 9753 u32 dl_dcm_en_u0:1; 9754 u32 rsvd6:2; 9755 u32 ru_alo_idx_u0:8; 9756 /* dword 9 */ 9757 u32 pwr_boost_u0:5; 9758 u32 agg_bmp_alo_u0:3; 9759 u32 ampdu_max_txnum_u0:8; 9760 u32 user_define_u0:8; 9761 u32 user_define_ext_u0:8; 9762 /* dword 10 */ 9763 u32 ul_addr_idx_u0:8; 9764 u32 ul_dcm_u0:1; 9765 u32 ul_fec_cod_u0:1; 9766 u32 ul_ru_rate_u0:7; 9767 u32 rsvd8:7; 9768 u32 ul_ru_alo_idx_u0:8; 9769 /* dword 11 */ 9770 u32 rsvd9:32; 9771 /* dword 12 */ 9772 u32 macid_u1:8; 9773 u32 ac_type_u1:2; 9774 u32 mu_sta_pos_u1:2; 9775 u32 dl_rate_idx_u1:9; 9776 u32 dl_dcm_en_u1:1; 9777 u32 rsvd10:2; 9778 u32 ru_alo_idx_u1:8; 9779 /* dword 13 */ 9780 u32 pwr_boost_u1:5; 9781 u32 agg_bmp_alo_u1:3; 9782 u32 ampdu_max_txnum_u1:8; 9783 u32 user_define_u1:8; 9784 u32 user_define_ext_u1:8; 9785 /* dword 14 */ 9786 u32 ul_addr_idx_u1:8; 9787 u32 ul_dcm_u1:1; 9788 u32 ul_fec_cod_u1:1; 9789 u32 ul_ru_rate_u1:7; 9790 u32 rsvd12:7; 9791 u32 ul_ru_alo_idx_u1:8; 9792 /* dword 15 */ 9793 u32 rsvd13:32; 9794 /* dword 16 */ 9795 u32 macid_u2:8; 9796 u32 ac_type_u2:2; 9797 u32 mu_sta_pos_u2:2; 9798 u32 dl_rate_idx_u2:9; 9799 u32 dl_dcm_en_u2:1; 9800 u32 rsvd14:2; 9801 u32 ru_alo_idx_u2:8; 9802 /* dword 17 */ 9803 u32 pwr_boost_u2:5; 9804 u32 agg_bmp_alo_u2:3; 9805 u32 ampdu_max_txnum_u2:8; 9806 u32 user_define_u2:8; 9807 u32 user_define_ext_u2:8; 9808 /* dword 18 */ 9809 u32 ul_addr_idx_u2:8; 9810 u32 ul_dcm_u2:1; 9811 u32 ul_fec_cod_u2:1; 9812 u32 ul_ru_rate_u2:7; 9813 u32 rsvd16:7; 9814 u32 ul_ru_alo_idx_u2:8; 9815 /* dword 19 */ 9816 u32 rsvd17:32; 9817 /* dword 20 */ 9818 u32 macid_u3:8; 9819 u32 ac_type_u3:2; 9820 u32 mu_sta_pos_u3:2; 9821 u32 dl_rate_idx_u3:9; 9822 u32 dl_dcm_en_u3:1; 9823 u32 rsvd18:2; 9824 u32 ru_alo_idx_u3:8; 9825 /* dword 21 */ 9826 u32 pwr_boost_u3:5; 9827 u32 agg_bmp_alo_u3:3; 9828 u32 ampdu_max_txnum_u3:8; 9829 u32 user_define_u3:8; 9830 u32 user_define_ext_u3:8; 9831 /* dword 22 */ 9832 u32 ul_addr_idx_u3:8; 9833 u32 ul_dcm_u3:1; 9834 u32 ul_fec_cod_u3:1; 9835 u32 ul_ru_rate_u3:7; 9836 u32 rsvd20:7; 9837 u32 ul_ru_alo_idx_u3:8; 9838 /* dword 23 */ 9839 u32 rsvd21:32; 9840 /* dword 24 */ 9841 u32 pkt_id_0:12; 9842 u32 rsvd22:3; 9843 u32 valid_0:1; 9844 u32 ul_user_num_0:4; 9845 u32 rsvd23:12; 9846 /* dword 25 */ 9847 u32 pkt_id_1:12; 9848 u32 rsvd24:3; 9849 u32 valid_1:1; 9850 u32 ul_user_num_1:4; 9851 u32 rsvd25:12; 9852 /* dword 26 */ 9853 u32 pkt_id_2:12; 9854 u32 rsvd26:3; 9855 u32 valid_2:1; 9856 u32 ul_user_num_2:4; 9857 u32 rsvd27:12; 9858 /* dword 27 */ 9859 u32 pkt_id_3:12; 9860 u32 rsvd28:3; 9861 u32 valid_3:1; 9862 u32 ul_user_num_3:4; 9863 u32 rsvd29:12; 9864 /* dword 28 */ 9865 u32 pkt_id_4:12; 9866 u32 rsvd30:3; 9867 u32 valid_4:1; 9868 u32 ul_user_num_4:4; 9869 u32 rsvd31:12; 9870 /* dword 29 */ 9871 u32 pkt_id_5:12; 9872 u32 rsvd32:3; 9873 u32 valid_5:1; 9874 u32 ul_user_num_5:4; 9875 u32 rsvd33:12; 9876 }; 9877 9878 /*--------------------Define Sounding related struct -------------------------*/ 9879 9880 /** 9881 * @struct mac_reg_csi_para 9882 * @brief mac_reg_csi_para 9883 * 9884 * @var mac_reg_csi_para::band 9885 * Please Place Description here. 9886 * @var mac_reg_csi_para::portsel 9887 * Please Place Description here. 9888 * @var mac_reg_csi_para::nc 9889 * Please Place Description here. 9890 * @var mac_reg_csi_para::nr 9891 * Please Place Description here. 9892 * @var mac_reg_csi_para::ng 9893 * Please Place Description here. 9894 * @var mac_reg_csi_para::cb 9895 * Please Place Description here. 9896 * @var mac_reg_csi_para::cs 9897 * Please Place Description here. 9898 * @var mac_reg_csi_para::ldpc_en 9899 * Please Place Description here. 9900 * @var mac_reg_csi_para::stbc_en 9901 * Please Place Description here. 9902 * @var mac_reg_csi_para::bf_en 9903 * Please Place Description here. 9904 */ 9905 struct mac_reg_csi_para { 9906 u32 band: 1; 9907 u32 portsel: 1; 9908 u32 nc: 3; 9909 u32 nr: 3; 9910 u32 ng: 2; 9911 u32 cb: 2; 9912 u32 cs: 2; 9913 u32 ldpc_en: 1; 9914 u32 stbc_en: 1; 9915 u32 bf_en: 1; 9916 }; 9917 9918 /** 9919 * @struct mac_cctl_csi_para 9920 * @brief mac_cctl_csi_para 9921 * 9922 * @var mac_cctl_csi_para::macid 9923 * Please Place Description here. 9924 * @var mac_cctl_csi_para::band 9925 * Please Place Description here. 9926 * @var mac_cctl_csi_para::nc 9927 * Please Place Description here. 9928 * @var mac_cctl_csi_para::nr 9929 * Please Place Description here. 9930 * @var mac_cctl_csi_para::ng 9931 * Please Place Description here. 9932 * @var mac_cctl_csi_para::cb 9933 * Please Place Description here. 9934 * @var mac_cctl_csi_para::cs 9935 * Please Place Description here. 9936 * @var mac_cctl_csi_para::bf_en 9937 * Please Place Description here. 9938 * @var mac_cctl_csi_para::stbc_en 9939 * Please Place Description here. 9940 * @var mac_cctl_csi_para::ldpc_en 9941 * Please Place Description here. 9942 * @var mac_cctl_csi_para::rate 9943 * Please Place Description here. 9944 * @var mac_cctl_csi_para::gi_ltf 9945 * Please Place Description here. 9946 * @var mac_cctl_csi_para::gid_sel 9947 * Please Place Description here. 9948 * @var mac_cctl_csi_para::bw 9949 * Please Place Description here. 9950 */ 9951 struct mac_cctl_csi_para { 9952 u8 macid; 9953 u32 band: 1; 9954 u32 nc: 3; 9955 u32 nr: 3; 9956 u32 ng: 2; 9957 u32 cb: 2; 9958 u32 cs: 2; 9959 u32 bf_en: 1; 9960 u32 stbc_en: 1; 9961 u32 ldpc_en: 1; 9962 u32 rate: 9; 9963 u32 gi_ltf: 3; 9964 u32 gid_sel: 1; 9965 u32 bw: 2; 9966 }; 9967 9968 /** 9969 * @struct mac_bf_sup 9970 * @brief mac_bf_sup 9971 * 9972 * @var mac_bf_sup::bf_entry_num 9973 * Please Place Description here. 9974 * @var mac_bf_sup::su_buffer_num 9975 * Please Place Description here. 9976 * @var mac_bf_sup::mu_buffer_num 9977 * Please Place Description here. 9978 */ 9979 struct mac_bf_sup { 9980 u32 bf_entry_num; 9981 u32 su_buffer_num; 9982 u32 mu_buffer_num; 9983 }; 9984 9985 /** 9986 * @struct mac_gid_pos 9987 * @brief mac_gid_pos 9988 * 9989 * @var mac_gid_pos::gid_en 9990 * Please Place Description here. 9991 * @var mac_gid_pos::gid_pos 9992 * Please Place Description here. 9993 */ 9994 struct mac_gid_pos { 9995 u32 band; 9996 u32 gid_tab[2]; 9997 u32 user_pos[4]; 9998 }; 9999 10000 /** 10001 * @struct mac_ax_ndpa_hdr 10002 * @brief mac_ax_ndpa_hdr 10003 * 10004 * @var mac_ax_ndpa_hdr::frame_ctl 10005 * Please Place Description here. 10006 * @var mac_ax_ndpa_hdr::duration 10007 * Please Place Description here. 10008 * @var mac_ax_ndpa_hdr::addr1 10009 * Please Place Description here. 10010 * @var mac_ax_ndpa_hdr::addr2 10011 * Please Place Description here. 10012 */ 10013 struct mac_ax_ndpa_hdr { 10014 u16 frame_ctl; 10015 u16 duration; 10016 u8 addr1[6]; 10017 u8 addr2[6]; 10018 }; 10019 10020 /** 10021 * @struct mac_ax_snd_dialog 10022 * @brief mac_ax_snd_dialog 10023 * 10024 * @var mac_ax_snd_dialog::he 10025 * Please Place Description here. 10026 * @var mac_ax_snd_dialog::dialog 10027 * Please Place Description here. 10028 * @var mac_ax_snd_dialog::rsvd 10029 * Please Place Description here. 10030 */ 10031 struct mac_ax_snd_dialog { 10032 u32 he: 1; 10033 u32 dialog: 6; 10034 u32 rsvd: 25; 10035 }; 10036 10037 /** 10038 * @struct mac_ax_ht_ndpa_para 10039 * @brief mac_ax_ht_ndpa_para 10040 * 10041 * @var mac_ax_ht_ndpa_para::addr3 10042 * Please Place Description here. 10043 * @var mac_ax_ht_ndpa_para::seq_control 10044 * Please Place Description here. 10045 */ 10046 struct mac_ax_ht_ndpa_para { 10047 u8 addr3[WLAN_ADDR_LEN]; 10048 u16 seq_control; 10049 }; 10050 10051 /** 10052 * @struct mac_ax_vht_ndpa_sta_info 10053 * @brief mac_ax_vht_ndpa_sta_info 10054 * 10055 * @var mac_ax_vht_ndpa_sta_info::aid 10056 * Please Place Description here. 10057 * @var mac_ax_vht_ndpa_sta_info::fb_type 10058 * Please Place Description here. 10059 * @var mac_ax_vht_ndpa_sta_info::nc 10060 * Please Place Description here. 10061 */ 10062 struct mac_ax_vht_ndpa_sta_info { 10063 u16 aid: 12; 10064 u16 fb_type: 1; 10065 u16 nc: 3; 10066 }; 10067 10068 /** 10069 * @struct mac_ax_vht_ndpa_para 10070 * @brief mac_ax_vht_ndpa_para 10071 * 10072 * @var mac_ax_vht_ndpa_para::sta_info 10073 * Please Place Description here. 10074 */ 10075 struct mac_ax_vht_ndpa_para { 10076 struct mac_ax_vht_ndpa_sta_info sta_info[MAX_VHT_SUPPORT_SOUND_STA]; 10077 }; 10078 10079 /** 10080 * @struct mac_ax_he_ndpa_sta_info 10081 * @brief mac_ax_he_ndpa_sta_info 10082 * 10083 * @var mac_ax_he_ndpa_sta_info::aid 10084 * Please Place Description here. 10085 * @var mac_ax_he_ndpa_sta_info::bw 10086 * Please Place Description here. 10087 * @var mac_ax_he_ndpa_sta_info::fb_ng 10088 * Please Place Description here. 10089 * @var mac_ax_he_ndpa_sta_info::disambiguation 10090 * Please Place Description here. 10091 * @var mac_ax_he_ndpa_sta_info::cb 10092 * Please Place Description here. 10093 * @var mac_ax_he_ndpa_sta_info::nc 10094 * Please Place Description here. 10095 */ 10096 struct mac_ax_he_ndpa_sta_info { 10097 u32 aid: 11; 10098 u32 bw: 14; 10099 u32 fb_ng: 2; 10100 u32 disambiguation: 1; 10101 u32 cb: 1; 10102 u32 nc: 3; 10103 }; 10104 10105 /** 10106 * @struct mac_ax_he_ndpa_para 10107 * @brief mac_ax_he_ndpa_para 10108 * 10109 * @var mac_ax_he_ndpa_para::sta_info 10110 * Please Place Description here. 10111 */ 10112 struct mac_ax_he_ndpa_para { 10113 struct mac_ax_he_ndpa_sta_info sta_info[MAX_HE_SUPPORT_SOUND_STA]; 10114 }; 10115 10116 /** 10117 * @struct mac_ax_ndpa_para 10118 * @brief mac_ax_ndpa_para 10119 * 10120 * @var mac_ax_ndpa_para::common 10121 * Please Place Description here. 10122 * @var mac_ax_ndpa_para::snd_dialog 10123 * Please Place Description here. 10124 * @var mac_ax_ndpa_para::ht_para 10125 * Please Place Description here. 10126 * @var mac_ax_ndpa_para::vht_para 10127 * Please Place Description here. 10128 * @var mac_ax_ndpa_para::he_para 10129 * Please Place Description here. 10130 */ 10131 struct mac_ax_ndpa_para { 10132 struct mac_ax_ndpa_hdr common; 10133 struct mac_ax_snd_dialog snd_dialog; 10134 struct mac_ax_ht_ndpa_para ht_para; 10135 struct mac_ax_vht_ndpa_para vht_para; 10136 struct mac_ax_he_ndpa_para he_para; 10137 }; 10138 10139 /** 10140 * @struct mac_ax_bfrp_hdr 10141 * @brief mac_ax_bfrp_hdr 10142 * 10143 * @var mac_ax_bfrp_hdr::frame_ctl 10144 * Please Place Description here. 10145 * @var mac_ax_bfrp_hdr::duration 10146 * Please Place Description here. 10147 * @var mac_ax_bfrp_hdr::addr1 10148 * Please Place Description here. 10149 * @var mac_ax_bfrp_hdr::addr2 10150 * Please Place Description here. 10151 */ 10152 struct mac_ax_bfrp_hdr { 10153 u16 frame_ctl; 10154 u16 duration; 10155 u8 addr1[WLAN_ADDR_LEN]; 10156 u8 addr2[WLAN_ADDR_LEN]; 10157 }; 10158 10159 /** 10160 * @struct mac_ax_vht_bfrp_para 10161 * @brief mac_ax_vht_bfrp_para 10162 * 10163 * @var mac_ax_vht_bfrp_para::retransmission_bitmap 10164 * Please Place Description here. 10165 */ 10166 struct mac_ax_vht_bfrp_para { 10167 u8 retransmission_bitmap; 10168 }; 10169 10170 /** 10171 * @struct mac_ax_he_bfrp_common 10172 * @brief mac_ax_he_bfrp_common 10173 * 10174 * @var mac_ax_he_bfrp_common::tgr_info 10175 * Please Place Description here. 10176 * @var mac_ax_he_bfrp_common::ul_len 10177 * Please Place Description here. 10178 * @var mac_ax_he_bfrp_common::more_tf 10179 * Please Place Description here. 10180 * @var mac_ax_he_bfrp_common::cs_rqd 10181 * Please Place Description here. 10182 * @var mac_ax_he_bfrp_common::ul_bw 10183 * Please Place Description here. 10184 * @var mac_ax_he_bfrp_common::gi_ltf 10185 * Please Place Description here. 10186 * @var mac_ax_he_bfrp_common::mimo_ltfmode 10187 * Please Place Description here. 10188 * @var mac_ax_he_bfrp_common::num_heltf 10189 * Please Place Description here. 10190 * @var mac_ax_he_bfrp_common::ul_pktext 10191 * Please Place Description here. 10192 * @var mac_ax_he_bfrp_common::ul_stbc 10193 * Please Place Description here. 10194 * @var mac_ax_he_bfrp_common::ldpc_extra_sym 10195 * Please Place Description here. 10196 * @var mac_ax_he_bfrp_common::dplr 10197 * Please Place Description here. 10198 * @var mac_ax_he_bfrp_common::ap_tx_pwr 10199 * Please Place Description here. 10200 * @var mac_ax_he_bfrp_common::ul_sr 10201 * Please Place Description here. 10202 * @var mac_ax_he_bfrp_common::ul_siga2_rsvd 10203 * Please Place Description here. 10204 * @var mac_ax_he_bfrp_common::rsvd 10205 * Please Place Description here. 10206 */ 10207 struct mac_ax_he_bfrp_common { 10208 u32 tgr_info: 4; 10209 u32 ul_len: 12; 10210 u32 more_tf: 1; 10211 u32 cs_rqd: 1; 10212 u32 ul_bw: 2; 10213 u32 gi_ltf: 2; 10214 u32 mimo_ltfmode: 1; 10215 u32 num_heltf: 3; 10216 u32 ul_pktext: 3; 10217 u32 ul_stbc: 1; 10218 u32 ldpc_extra_sym: 1; 10219 u32 dplr: 1; 10220 10221 u32 ap_tx_pwr: 6; 10222 u32 ul_sr: 16; 10223 u32 ul_siga2_rsvd: 9; 10224 u32 rsvd: 1; 10225 }; 10226 10227 /** 10228 * @struct mac_ax_he_bfrp_user 10229 * @brief mac_ax_he_bfrp_user 10230 * 10231 * @var mac_ax_he_bfrp_user::aid12 10232 * Please Place Description here. 10233 * @var mac_ax_he_bfrp_user::ru_pos 10234 * Please Place Description here. 10235 * @var mac_ax_he_bfrp_user::ul_fec_code 10236 * Please Place Description here. 10237 * @var mac_ax_he_bfrp_user::ul_mcs 10238 * Please Place Description here. 10239 * @var mac_ax_he_bfrp_user::ul_dcm 10240 * Please Place Description here. 10241 * @var mac_ax_he_bfrp_user::ss_alloc 10242 * Please Place Description here. 10243 * @var mac_ax_he_bfrp_user::fbseg_rexmit_bmp 10244 * Please Place Description here. 10245 * @var mac_ax_he_bfrp_user::ul_tgt_rssi 10246 * Please Place Description here. 10247 * @var mac_ax_he_bfrp_user::rsvd 10248 * Please Place Description here. 10249 */ 10250 struct mac_ax_he_bfrp_user { 10251 u32 aid12: 12; 10252 u32 ru_pos: 8; 10253 u32 ul_fec_code: 1; 10254 u32 ul_mcs: 4; 10255 u32 ul_dcm: 1; 10256 u32 ss_alloc: 6; 10257 10258 u32 fbseg_rexmit_bmp: 8; 10259 u32 ul_tgt_rssi: 7; 10260 u32 rsvd: 17; 10261 }; 10262 10263 /** 10264 * @struct mac_ax_he_bfrp_para 10265 * @brief mac_ax_he_bfrp_para 10266 * 10267 * @var mac_ax_he_bfrp_para::common 10268 * Please Place Description here. 10269 * @var mac_ax_he_bfrp_para::user 10270 * Please Place Description here. 10271 */ 10272 struct mac_ax_he_bfrp_para { 10273 struct mac_ax_he_bfrp_common common; 10274 struct mac_ax_he_bfrp_user user[4]; 10275 }; 10276 10277 /** 10278 * @struct mac_ax_bfrp_para 10279 * @brief mac_ax_bfrp_para 10280 * 10281 * @var mac_ax_bfrp_para::hdr 10282 * Please Place Description here. 10283 * @var mac_ax_bfrp_para::he_para 10284 * Please Place Description here. 10285 * @var mac_ax_bfrp_para::vht_para 10286 * Please Place Description here. 10287 * @var mac_ax_bfrp_para::rsvd 10288 * Please Place Description here. 10289 */ 10290 struct mac_ax_bfrp_para { 10291 struct mac_ax_bfrp_hdr hdr[3]; 10292 struct mac_ax_he_bfrp_para he_para[2]; 10293 struct mac_ax_vht_bfrp_para vht_para[3]; 10294 u8 rsvd; 10295 }; 10296 10297 /** 10298 * @struct mac_ax_snd_wd_para 10299 * @brief mac_ax_snd_wd_para 10300 * 10301 * @var mac_ax_snd_wd_para::txpktsize 10302 * Please Place Description here. 10303 * @var mac_ax_snd_wd_para::ndpa_duration 10304 * Please Place Description here. 10305 * @var mac_ax_snd_wd_para::datarate 10306 * Please Place Description here. 10307 * @var mac_ax_snd_wd_para::macid 10308 * Please Place Description here. 10309 * @var mac_ax_snd_wd_para::force_txop 10310 * Please Place Description here. 10311 * @var mac_ax_snd_wd_para::data_bw 10312 * Please Place Description here. 10313 * @var mac_ax_snd_wd_para::gi_ltf 10314 * Please Place Description here. 10315 * @var mac_ax_snd_wd_para::data_er 10316 * Please Place Description here. 10317 * @var mac_ax_snd_wd_para::data_dcm 10318 * Please Place Description here. 10319 * @var mac_ax_snd_wd_para::data_stbc 10320 * Please Place Description here. 10321 * @var mac_ax_snd_wd_para::data_ldpc 10322 * Please Place Description here. 10323 * @var mac_ax_snd_wd_para::data_bw_er 10324 * Please Place Description here. 10325 * @var mac_ax_snd_wd_para::multiport_id 10326 * Please Place Description here. 10327 * @var mac_ax_snd_wd_para::mbssid 10328 * Please Place Description here. 10329 * @var mac_ax_snd_wd_para::signaling_ta_pkt_sc 10330 * Please Place Description here. 10331 * @var mac_ax_snd_wd_para::sw_define 10332 * Please Place Description here. 10333 * @var mac_ax_snd_wd_para::txpwr_ofset_type 10334 * Please Place Description here. 10335 * @var mac_ax_snd_wd_para::lifetime_sel 10336 * Please Place Description here. 10337 * @var mac_ax_snd_wd_para::stf_mode 10338 * Please Place Description here. 10339 * @var mac_ax_snd_wd_para::disdatafb 10340 * Please Place Description here. 10341 * @var mac_ax_snd_wd_para::data_txcnt_lmt_sel 10342 * Please Place Description here. 10343 * @var mac_ax_snd_wd_para::data_txcnt_lmt 10344 * Please Place Description here. 10345 * @var mac_ax_snd_wd_para::sifs_tx 10346 * Please Place Description here. 10347 * @var mac_ax_snd_wd_para::snd_pkt_sel 10348 * Please Place Description here. 10349 * @var mac_ax_snd_wd_para::ndpa 10350 * Please Place Description here. 10351 * @var mac_ax_snd_wd_para::rsvd 10352 * Please Place Description here. 10353 */ 10354 struct mac_ax_snd_wd_para { 10355 u16 txpktsize; 10356 u16 ndpa_duration; 10357 10358 u16 datarate: 9; 10359 u16 macid: 7;//wd 10360 u8 force_txop: 1; 10361 u8 data_bw: 2; 10362 u8 gi_ltf: 3; 10363 u8 data_er: 1; 10364 u8 data_dcm: 1; 10365 u8 data_stbc: 1; 10366 u8 data_ldpc: 1; 10367 u8 data_bw_er : 1; 10368 u8 multiport_id: 1; 10369 u8 mbssid: 4; 10370 10371 u8 signaling_ta_pkt_sc: 4; 10372 u8 sw_define: 4; 10373 u8 txpwr_ofset_type: 3; 10374 u8 lifetime_sel: 3; 10375 u8 stf_mode: 1; 10376 u8 disdatafb: 1; 10377 u8 data_txcnt_lmt_sel: 1; 10378 u8 data_txcnt_lmt: 6; 10379 u8 sifs_tx: 1; 10380 u8 snd_pkt_sel: 3; 10381 u8 ndpa: 2; 10382 u8 rsvd: 3; 10383 }; 10384 10385 /** 10386 * @struct mac_ax_snd_f2P 10387 * @brief mac_ax_snd_f2P 10388 * 10389 * @var mac_ax_snd_f2P::csi_len_bfrp 10390 * Please Place Description here. 10391 * @var mac_ax_snd_f2P::tb_t_pe_bfrp 10392 * Please Place Description here. 10393 * @var mac_ax_snd_f2P::tri_pad_bfrp 10394 * Please Place Description here. 10395 * @var mac_ax_snd_f2P::ul_cqi_rpt_tri_bfrp 10396 * Please Place Description here. 10397 * @var mac_ax_snd_f2P::rf_gain_idx_bfrp 10398 * Please Place Description here. 10399 * @var mac_ax_snd_f2P::fix_gain_en_bfrp 10400 * Please Place Description here. 10401 * @var mac_ax_snd_f2P::rsvd 10402 * Please Place Description here. 10403 */ 10404 struct mac_ax_snd_f2P { 10405 u16 csi_len_bfrp: 12; 10406 u16 tb_t_pe_bfrp: 2; 10407 u16 tri_pad_bfrp: 2; 10408 10409 u16 ul_cqi_rpt_tri_bfrp: 1; 10410 u16 rf_gain_idx_bfrp: 10; 10411 u16 fix_gain_en_bfrp: 1; 10412 u16 rsvd: 4; 10413 }; 10414 10415 /** 10416 * @struct mac_ax_snd_f2P_info 10417 * @brief mac_ax_snd_f2P_info 10418 * 10419 * @var mac_ax_snd_f2p_info::f2p_type 10420 * Please Place Description here. 10421 * @var mac_ax_snd_f2p_info::f2p_index 10422 * Please Place Description here. 10423 * @var mac_ax_snd_f2p_info::f2p_period 10424 * Please Place Description here. 10425 * @var mac_ax_snd_f2p_info::f2p_updcnt 10426 * Please Place Description here. 10427 * @var mac_ax_snd_f2p_info:cr_idx 10428 * Please Place Description here. 10429 * @var mac_ax_snd_f2p_info::rsvd 10430 * Please Place Description here.. 10431 */ 10432 struct mac_ax_snd_f2p_info { 10433 u16 f2p_type: 8; 10434 u16 f2p_index: 8; 10435 u16 f2p_period; 10436 10437 u32 f2p_updcnt: 8; 10438 u32 cr_idx: 22; 10439 u32 rsvd: 2; 10440 }; 10441 10442 /** 10443 * @struct mac_ax_fwcmd_snd 10444 * @brief mac_ax_fwcmd_snd 10445 * 10446 * @var mac_ax_fwcmd_snd::frexgtype 10447 * Please Place Description here. 10448 * @var mac_ax_fwcmd_snd::mode 10449 * Please Place Description here. 10450 * @var mac_ax_fwcmd_snd::bfrp0_user_num 10451 * Please Place Description here. 10452 * @var mac_ax_fwcmd_snd::bfrp1_user_num 10453 * Please Place Description here. 10454 * @var mac_ax_fwcmd_snd::rsvd 10455 * Please Place Description here. 10456 * @var mac_ax_fwcmd_snd::macid 10457 * Please Place Description here. 10458 * @var mac_ax_fwcmd_snd::pndpa 10459 * Please Place Description here. 10460 * @var mac_ax_fwcmd_snd::pbfrp 10461 * Please Place Description here. 10462 * @var mac_ax_fwcmd_snd::wd 10463 * Please Place Description here. 10464 * @var mac_ax_fwcmd_snd::f2p 10465 * Please Place Description here. 10466 */ 10467 struct mac_ax_fwcmd_snd { 10468 u32 frexgtype: 6; 10469 u32 mode: 2; 10470 u32 bfrp0_user_num: 3; 10471 u32 bfrp1_user_num: 3; 10472 u32 rsvd: 18; 10473 u8 macid[8]; 10474 struct mac_ax_ndpa_para pndpa; 10475 struct mac_ax_bfrp_para pbfrp; 10476 struct mac_ax_snd_wd_para wd[5]; 10477 struct mac_ax_snd_f2P f2p[2]; 10478 struct mac_ax_snd_f2p_info sfp; 10479 }; 10480 10481 /** 10482 * @struct mac_ax_ie_cam_info 10483 * @brief mac_ax_ie_cam_info 10484 * 10485 * @var mac_ax_ie_cam_info::type 10486 * Please Place Description here. 10487 * @var mac_ax_ie_cam_info::ienum_ie 10488 * Please Place Description here. 10489 * @var mac_ax_ie_cam_info::ie_ofst_len 10490 * Please Place Description here. 10491 * @var mac_ax_ie_cam_info::ie_msk_crc 10492 * Please Place Description here. 10493 * @var mac_ax_ie_cam_info::ie_val 10494 * Please Place Description here. 10495 * @var mac_ax_ie_cam_info::rsvd0 10496 * Please Place Description here. 10497 * @var mac_ax_ie_cam_info::rsvd1 10498 * Please Place Description here. 10499 * @var mac_ax_ie_cam_info::rsvd2 10500 * Please Place Description here. 10501 */ 10502 struct mac_ax_ie_cam_info { 10503 u8 type; 10504 u8 ienum_ie; 10505 u8 ie_ofst_len; 10506 u8 ie_msk_crc; 10507 u8 ie_val; 10508 u8 rsvd0; 10509 u8 rsvd1; 10510 u8 rsvd2; 10511 }; 10512 10513 /*--------------------Define wowlan related struct ---------------------------*/ 10514 10515 /** 10516 * @struct mac_ax_keep_alive_info 10517 * @brief mac_ax_keep_alive_info 10518 * 10519 * @var mac_ax_keep_alive_info::keepalive_en 10520 * Please Place Description here. 10521 * @var mac_ax_keep_alive_info::rsvd 10522 * Please Place Description here. 10523 * @var mac_ax_keep_alive_info::packet_id 10524 * Please Place Description here. 10525 * @var mac_ax_keep_alive_info::period 10526 * Please Place Description here. 10527 */ 10528 struct mac_ax_keep_alive_info { 10529 u8 keepalive_en: 1; 10530 u8 rsvd: 7; 10531 u8 packet_id; 10532 u8 period; 10533 }; 10534 10535 /** 10536 * @struct mac_ax_disconnect_det_info 10537 * @brief mac_ax_disconnect_det_info 10538 * 10539 * @var mac_ax_disconnect_det_info::disconnect_detect_en 10540 * Please Place Description here. 10541 * @var mac_ax_disconnect_det_info::tryok_bcnfail_count_en 10542 * Please Place Description here. 10543 * @var mac_ax_disconnect_det_info::disconnect_en 10544 * Please Place Description here. 10545 * @var mac_ax_disconnect_det_info::rsvd 10546 * Please Place Description here. 10547 * @var mac_ax_disconnect_det_info::check_period 10548 * Please Place Description here. 10549 * @var mac_ax_disconnect_det_info::try_pkt_count 10550 * Please Place Description here. 10551 * @var mac_ax_disconnect_det_info::tryok_bcnfail_count_limit 10552 * Please Place Description here. 10553 */ 10554 struct mac_ax_disconnect_det_info { 10555 u8 disconnect_detect_en: 1; 10556 u8 tryok_bcnfail_count_en: 1; 10557 u8 disconnect_en: 1; 10558 u8 rsvd: 5; 10559 u8 check_period; 10560 u8 try_pkt_count; 10561 u8 tryok_bcnfail_count_limit; 10562 }; 10563 10564 /** 10565 * @enum mac_ax_enc_alg 10566 * 10567 * @brief mac_ax_enc_alg 10568 * 10569 * @var mac_ax_enc_alg::MAC_AX_RTW_ENC_NONE 10570 * Please Place Description here. 10571 * @var mac_ax_enc_alg::MAC_AX_RTW_ENC_WEP40 10572 * Please Place Description here. 10573 * @var mac_ax_enc_alg::MAC_AX_RTW_ENC_WEP104 10574 * Please Place Description here. 10575 * @var mac_ax_enc_alg::MAC_AX_RTW_ENC_TKIP 10576 * Please Place Description here. 10577 * @var mac_ax_enc_alg::MAC_AX_RTW_ENC_WAPI 10578 * Please Place Description here. 10579 * @var mac_ax_enc_alg::MAC_AX_RTW_ENC_GCMSMS4 10580 * Please Place Description here. 10581 * @var mac_ax_enc_alg::MAC_AX_RTW_ENC_CCMP 10582 * Please Place Description here. 10583 * @var mac_ax_enc_alg::MAC_AX_RTW_ENC_CCMP256 10584 * Please Place Description here. 10585 * @var mac_ax_enc_alg::MAC_AX_RTW_ENC_GCMP 10586 * Please Place Description here. 10587 * @var mac_ax_enc_alg::MAC_AX_RTW_ENC_GCMP256 10588 * Please Place Description here. 10589 * @var mac_ax_enc_alg::MAC_AX_RTW_ENC_BIP_CCMP128 10590 * Please Place Description here. 10591 * @var mac_ax_enc_alg::MAC_AX_RTW_ENC_MAX 10592 * Please Place Description here. 10593 */ 10594 enum mac_ax_enc_alg { 10595 MAC_AX_RTW_ENC_NONE = 0, 10596 MAC_AX_RTW_ENC_WEP40 = 1, 10597 MAC_AX_RTW_ENC_WEP104, 10598 MAC_AX_RTW_ENC_TKIP, 10599 MAC_AX_RTW_ENC_WAPI, 10600 MAC_AX_RTW_ENC_GCMSMS4, 10601 MAC_AX_RTW_ENC_CCMP, 10602 MAC_AX_RTW_ENC_CCMP256, 10603 MAC_AX_RTW_ENC_GCMP, 10604 MAC_AX_RTW_ENC_GCMP256, 10605 MAC_AX_RTW_ENC_BIP_CCMP128, 10606 MAC_AX_RTW_ENC_MAX 10607 }; 10608 10609 /** 10610 * @enum bip_sec_algo_type 10611 * 10612 * @brief bip_sec_algo_type 10613 * 10614 * @var bip_sec_algo_type::BIP_CMAC_128 10615 * Please Place Description here. 10616 * @var bip_sec_algo_type::BIP_CMAC_256 10617 * Please Place Description here. 10618 * @var bip_sec_algo_type::BIP_GMAC_128 10619 * Please Place Description here. 10620 * @var bip_sec_algo_type::BIP_GMAC_256 10621 * Please Place Description here. 10622 */ 10623 enum bip_sec_algo_type { 10624 BIP_CMAC_128 = 0, 10625 BIP_CMAC_256 = 1, 10626 BIP_GMAC_128 = 2, 10627 BIP_GMAC_256 = 3 10628 }; 10629 10630 /** 10631 * @struct mac_ax_wow_wake_info 10632 * @brief mac_ax_wow_wake_info 10633 * 10634 * @var mac_ax_wow_wake_info::wow_en 10635 * Please Place Description here. 10636 * @var mac_ax_wow_wake_info::drop_all_pkt 10637 * Please Place Description here. 10638 * @var mac_ax_wow_wake_info::rx_parse_after_wake 10639 * Please Place Description here. 10640 * @var mac_ax_wow_wake_info::rsvd 10641 * Please Place Description here. 10642 * @var mac_ax_wow_wake_info::pairwise_sec_algo 10643 * Please Place Description here. 10644 * @var mac_ax_wow_wake_info::group_sec_algo 10645 * Please Place Description here. 10646 * @var mac_ax_wow_wake_info::remotectrl_info_content 10647 * Please Place Description here. 10648 * @var mac_ax_wow_wake_info::pattern_match_en 10649 * Please Place Description here. 10650 * @var mac_ax_wow_wake_info::magic_en 10651 * Please Place Description here. 10652 * @var mac_ax_wow_wake_info::hw_unicast_en 10653 * Please Place Description here. 10654 * @var mac_ax_wow_wake_info::fw_unicast_en 10655 * Please Place Description here. 10656 * @var mac_ax_wow_wake_info::deauth_wakeup 10657 * Please Place Description here. 10658 * @var mac_ax_wow_wake_info::rekey_wakeup 10659 * Please Place Description here. 10660 * @var mac_ax_wow_wake_info::eap_wakeup 10661 * Please Place Description here. 10662 * @var mac_ax_wow_wake_info::all_data_wakeup 10663 * Please Place Description here. 10664 */ 10665 struct mac_ax_wow_wake_info { 10666 u8 wow_en: 1; 10667 u8 drop_all_pkt: 1; 10668 u8 rx_parse_after_wake: 1; 10669 u8 rsvd: 5; 10670 enum mac_ax_enc_alg pairwise_sec_algo; 10671 enum mac_ax_enc_alg group_sec_algo; 10672 u32 remotectrl_info_content; 10673 u8 pattern_match_en: 1; 10674 u8 magic_en: 1; 10675 u8 hw_unicast_en: 1; 10676 u8 fw_unicast_en: 1; 10677 u8 deauth_wakeup: 1; 10678 u8 rekey_wakeup: 1; 10679 u8 eap_wakeup: 1; 10680 u8 all_data_wakeup: 1; 10681 }; 10682 10683 #define IV_LENGTH 8 10684 10685 /** 10686 * @struct mac_ax_remotectrl_info_parm_ 10687 * @brief mac_ax_remotectrl_info_parm_ 10688 * 10689 * @var mac_ax_remotectrl_info_parm_::ptktxiv 10690 * Please Place Description here. 10691 * @var mac_ax_remotectrl_info_parm_::validcheck 10692 * Please Place Description here. 10693 * @var mac_ax_remotectrl_info_parm_::symbolchecken 10694 * Please Place Description here. 10695 * @var mac_ax_remotectrl_info_parm_::lastkeyid 10696 * Please Place Description here. 10697 * @var mac_ax_remotectrl_info_parm_::rsvd 10698 * Please Place Description here. 10699 * @var mac_ax_remotectrl_info_parm_::rxptkiv 10700 * Please Place Description here. 10701 * @var mac_ax_remotectrl_info_parm_::rxgtkiv_0 10702 * Please Place Description here. 10703 * @var mac_ax_remotectrl_info_parm_::rxgtkiv_1 10704 * Please Place Description here. 10705 * @var mac_ax_remotectrl_info_parm_::rxgtkiv_2 10706 * Please Place Description here. 10707 * @var mac_ax_remotectrl_info_parm_::rxgtkiv_3 10708 * Please Place Description here. 10709 */ 10710 struct mac_ax_remotectrl_info_parm_ { 10711 u8 ptktxiv[IV_LENGTH]; 10712 /* value = 0xdd */ 10713 u8 validcheck; 10714 /* bit0 : check ptk, bit1 : check gtk */ 10715 u8 symbolchecken; 10716 /* the last gtk index used by driver */ 10717 u8 lastkeyid; 10718 u8 rsvd[5]; 10719 /* unicast iv */ 10720 u8 rxptkiv[IV_LENGTH]; 10721 /* broadcast/mulicast iv, 4 gtk index */ 10722 u8 rxgtkiv_0[IV_LENGTH]; 10723 u8 rxgtkiv_1[IV_LENGTH]; 10724 u8 rxgtkiv_2[IV_LENGTH]; 10725 u8 rxgtkiv_3[IV_LENGTH]; 10726 }; 10727 10728 /** 10729 * @struct mac_ax_wake_ctrl_info 10730 * @brief mac_ax_wake_ctrl_info 10731 * 10732 * @var mac_ax_wake_ctrl_info::pattern_match_en 10733 * Please Place Description here. 10734 * @var mac_ax_wake_ctrl_info::magic_en 10735 * Please Place Description here. 10736 * @var mac_ax_wake_ctrl_info::hw_unicast_en 10737 * Please Place Description here. 10738 * @var mac_ax_wake_ctrl_info::fw_unicast_en 10739 * Please Place Description here. 10740 * @var mac_ax_wake_ctrl_info::deauth_wakeup 10741 * Please Place Description here. 10742 * @var mac_ax_wake_ctrl_info::rekey_wakeup 10743 * Please Place Description here. 10744 * @var mac_ax_wake_ctrl_info::eap_wakeup 10745 * Please Place Description here. 10746 * @var mac_ax_wake_ctrl_info::all_data_wakeup 10747 * Please Place Description here. 10748 */ 10749 struct mac_ax_wake_ctrl_info { 10750 u8 pattern_match_en: 1; 10751 u8 magic_en: 1; 10752 u8 hw_unicast_en: 1; 10753 u8 fw_unicast_en: 1; 10754 u8 deauth_wakeup: 1; 10755 u8 rekey_wakeup: 1; 10756 u8 eap_wakeup: 1; 10757 u8 all_data_wakeup: 1; 10758 }; 10759 10760 /** 10761 * @struct mac_ax_gtk_ofld_info 10762 * @brief mac_ax_gtk_ofld_info 10763 * 10764 * @var mac_ax_gtk_ofld_info::gtk_en 10765 * Please Place Description here. 10766 * @var mac_ax_gtk_ofld_info::tkip_en 10767 * Please Place Description here. 10768 * @var mac_ax_gtk_ofld_info::ieee80211w_en 10769 * Please Place Description here. 10770 * @var mac_ax_gtk_ofld_info::pairwise_wakeup 10771 * Please Place Description here. 10772 * @var mac_ax_gtk_ofld_info::bip_sec_algo 10773 * Please Place Description here. 10774 * @var mac_ax_gtk_ofld_info::rsvd 10775 * Please Place Description here. 10776 * @var mac_ax_gtk_ofld_info::gtk_rsp_id 10777 * Please Place Description here. 10778 * @var mac_ax_gtk_ofld_info::pmf_sa_query_id 10779 * Please Place Description here. 10780 */ 10781 struct mac_ax_gtk_ofld_info { 10782 u8 gtk_en: 1; 10783 u8 tkip_en: 1; 10784 u8 ieee80211w_en: 1; 10785 u8 pairwise_wakeup: 1; 10786 u8 bip_sec_algo: 2; 10787 u8 rsvd: 2; 10788 u8 gtk_rsp_id: 8; 10789 u8 pmf_sa_query_id: 8; 10790 u8 algo_akm_suit: 8; 10791 }; 10792 10793 #define AOAC_REPORT_VERSION 1 10794 10795 /** 10796 * @struct mac_ax_aoac_report 10797 * @brief mac_ax_aoac_report 10798 * 10799 * @var mac_ax_aoac_report::rpt_ver 10800 * Please Place Description here. 10801 * @var mac_ax_aoac_report::sec_type 10802 * Please Place Description here. 10803 * @var mac_ax_aoac_report::key_idx 10804 * Please Place Description here. 10805 * @var mac_ax_aoac_report::pattern_idx 10806 * Please Place Description here. 10807 * @var mac_ax_aoac_report::rekey_ok 10808 * Please Place Description here. 10809 * @var mac_ax_aoac_report::rsvd0 10810 * Please Place Description here. 10811 * @var mac_ax_aoac_report::rsvd1 10812 * Please Place Description here. 10813 * @var mac_ax_aoac_report::ptk_tx_iv 10814 * Please Place Description here. 10815 * @var mac_ax_aoac_report::eapol_key_replay_count 10816 * Please Place Description here. 10817 * @var mac_ax_aoac_report::gtk 10818 * Please Place Description here. 10819 * @var mac_ax_aoac_report::ptk_rx_iv 10820 * Please Place Description here. 10821 * @var mac_ax_aoac_report::gtk_rx_iv_0 10822 * Please Place Description here. 10823 * @var mac_ax_aoac_report::gtk_rx_iv_1 10824 * Please Place Description here. 10825 * @var mac_ax_aoac_report::gtk_rx_iv_2 10826 * Please Place Description here. 10827 * @var mac_ax_aoac_report::gtk_rx_iv_3 10828 * Please Place Description here. 10829 * @var mac_ax_aoac_report::igtk_key_id 10830 * Please Place Description here. 10831 * @var mac_ax_aoac_report::igtk_ipn 10832 * Please Place Description here. 10833 * @var mac_ax_aoac_report::igtk 10834 * Please Place Description here. 10835 */ 10836 struct mac_ax_aoac_report { 10837 u8 rpt_ver; 10838 u8 sec_type; 10839 u8 key_idx; 10840 u8 pattern_idx; 10841 u8 rekey_ok: 1; 10842 u8 rsvd0: 7; 10843 u8 rsvd1[3]; 10844 u8 ptk_tx_iv[IV_LENGTH]; 10845 u8 eapol_key_replay_count[8]; 10846 u8 gtk[32]; 10847 u8 ptk_rx_iv[IV_LENGTH]; 10848 u8 gtk_rx_iv_0[IV_LENGTH]; 10849 u8 gtk_rx_iv_1[IV_LENGTH]; 10850 u8 gtk_rx_iv_2[IV_LENGTH]; 10851 u8 gtk_rx_iv_3[IV_LENGTH]; 10852 u8 igtk_key_id[8]; 10853 u8 igtk_ipn[8]; 10854 u8 igtk[32]; 10855 }; 10856 10857 #define EAPOL_KCK_LENGTH 32 10858 #define EAPOL_KEK_LENGTH 32 10859 #define TKIP_TK_LENGTH 16 10860 #define TKIP_MIC_KEY_LENGTH 8 10861 #define IGTK_KEY_ID_LENGTH 4 10862 #define IGTK_PKT_NUM_LENGTH 8 10863 #define IGTK_LENGTH 16 10864 #define IGTK_OFFSET 4 10865 10866 union keytype { 10867 u8 SKEY[32]; 10868 u32 LKEY[4]; 10869 }; 10870 10871 /** 10872 * @struct mac_ax_gtk_info_parm_ 10873 * @brief mac_ax_gtk_info_parm_ 10874 * 10875 * @var mac_ax_gtk_info_parm_::kck 10876 * Please Place Description here. 10877 * @var mac_ax_gtk_info_parm_::kek 10878 * Please Place Description here. 10879 * @var mac_ax_gtk_info_parm_::tk1 10880 * Please Place Description here. 10881 * @var mac_ax_gtk_info_parm_::txmickey 10882 * Please Place Description here. 10883 * @var mac_ax_gtk_info_parm_::rxmickey 10884 * Please Place Description here. 10885 * @var mac_ax_gtk_info_parm_::igtk_keyid 10886 * Please Place Description here. 10887 * @var mac_ax_gtk_info_parm_::ipn 10888 * Please Place Description here. 10889 * @var mac_ax_gtk_info_parm_::igtk 10890 * Please Place Description here. 10891 * @var mac_ax_gtk_info_parm_::sk 10892 * Please Place Description here. 10893 */ 10894 struct mac_ax_gtk_info_parm_ { 10895 /* eapol - key confirmation key (kck) */ 10896 u8 kck[EAPOL_KCK_LENGTH]; 10897 /* eapol - key encryption key (kek) */ 10898 u8 kek[EAPOL_KEK_LENGTH]; 10899 /* temporal key 1 (tk1) */ 10900 u8 tk1[TKIP_TK_LENGTH]; 10901 u8 txmickey[TKIP_MIC_KEY_LENGTH]; 10902 u8 rxmickey[TKIP_MIC_KEY_LENGTH]; 10903 u8 igtk_keyid[IGTK_KEY_ID_LENGTH]; 10904 u8 ipn[IGTK_PKT_NUM_LENGTH]; 10905 union keytype igtk[2]; 10906 union keytype sk[1]; 10907 }; 10908 10909 /** 10910 * @struct mac_ax_arp_ofld_info 10911 * @brief mac_ax_arp_ofld_info 10912 * 10913 * @var mac_ax_arp_ofld_info::arp_en 10914 * Please Place Description here. 10915 * @var mac_ax_arp_ofld_info::arp_action 10916 * Please Place Description here. 10917 * @var mac_ax_arp_ofld_info::rsvd 10918 * Please Place Description here. 10919 * @var mac_ax_arp_ofld_info::arp_rsp_id 10920 * Please Place Description here. 10921 */ 10922 struct mac_ax_arp_ofld_info { 10923 u8 arp_en: 1; 10924 u8 arp_action: 1; 10925 u8 rsvd: 6; 10926 u8 arp_rsp_id: 8; 10927 }; 10928 10929 /** 10930 * @struct mac_ax_ndp_ofld_info 10931 * @brief mac_ax_ndp_ofld_info 10932 * 10933 * @var mac_ax_ndp_ofld_info::ndp_en 10934 * Please Place Description here. 10935 * @var mac_ax_ndp_ofld_info::rsvd 10936 * Please Place Description here. 10937 * @var mac_ax_ndp_ofld_info::na_id 10938 * Please Place Description here. 10939 */ 10940 struct mac_ax_ndp_ofld_info { 10941 u8 ndp_en: 1; 10942 u8 rsvd: 7; 10943 u8 na_id: 8; 10944 }; 10945 10946 #define MAC_ADDRESS_LENGTH 6 10947 #define IPV6_ADDRESS_LENGTH 16 10948 10949 /** 10950 * @struct mac_ax_ndp_info_parm_ 10951 * @brief mac_ax_ndp_info_parm_ 10952 * 10953 * @var mac_ax_ndp_info_parm_::enable 10954 * Please Place Description here. 10955 * @var mac_ax_ndp_info_parm_::checkremoveip 10956 * Please Place Description here. 10957 * @var mac_ax_ndp_info_parm_::rsvd 10958 * Please Place Description here. 10959 * @var mac_ax_ndp_info_parm_::numberoftargetip 10960 * Please Place Description here. 10961 * @var mac_ax_ndp_info_parm_::targetlinkaddress 10962 * Please Place Description here. 10963 * @var mac_ax_ndp_info_parm_::remoteipv6address 10964 * Please Place Description here. 10965 * @var mac_ax_ndp_info_parm_::targetip 10966 * Please Place Description here. 10967 */ 10968 struct mac_ax_ndp_info_parm_ { 10969 u8 enable: 1; 10970 /* need to check sender ip or not */ 10971 u8 checkremoveip: 1; 10972 /* need to check sender ip or not */ 10973 u8 rsvd: 6; 10974 /* number of check ip which na query ip */ 10975 u8 numberoftargetip; 10976 /* maybe support change mac address !! */ 10977 u8 targetlinkaddress[MAC_ADDRESS_LENGTH]; 10978 /* just respond ip */ 10979 u8 remoteipv6address[IPV6_ADDRESS_LENGTH]; 10980 /* target ip */ 10981 u8 targetip[2][IPV6_ADDRESS_LENGTH]; 10982 }; 10983 10984 /** 10985 * @struct mac_ax_realwow_info 10986 * @brief mac_ax_realwow_info 10987 * 10988 * @var mac_ax_realwow_info::realwow_en 10989 * Please Place Description here. 10990 * @var mac_ax_realwow_info::auto_wakeup 10991 * Please Place Description here. 10992 * @var mac_ax_realwow_info::rsvd0 10993 * Please Place Description here. 10994 * @var mac_ax_realwow_info::keepalive_id 10995 * Please Place Description here. 10996 * @var mac_ax_realwow_info::wakeup_pattern_id 10997 * Please Place Description here. 10998 * @var mac_ax_realwow_info::ack_pattern_id 10999 * Please Place Description here. 11000 */ 11001 struct mac_ax_realwow_info { 11002 u8 realwow_en: 1; 11003 u8 auto_wakeup: 1; 11004 u8 rsvd0: 6; 11005 u8 keepalive_id: 8; 11006 u8 wakeup_pattern_id: 8; 11007 u8 ack_pattern_id: 8; 11008 }; 11009 11010 /** 11011 * @struct mac_ax_realwowv2_info_parm_ 11012 * @brief mac_ax_realwowv2_info_parm_ 11013 * 11014 * @var mac_ax_realwowv2_info_parm_::interval 11015 * Please Place Description here. 11016 * @var mac_ax_realwowv2_info_parm_::kapktsize 11017 * Please Place Description here. 11018 * @var mac_ax_realwowv2_info_parm_::acklostlimit 11019 * Please Place Description here. 11020 * @var mac_ax_realwowv2_info_parm_::ackpatternsize 11021 * Please Place Description here. 11022 * @var mac_ax_realwowv2_info_parm_::wakeuppatternsize 11023 * Please Place Description here. 11024 * @var mac_ax_realwowv2_info_parm_::rsvd 11025 * Please Place Description here. 11026 * @var mac_ax_realwowv2_info_parm_::wakeupsecnum 11027 * Please Place Description here. 11028 */ 11029 struct mac_ax_realwowv2_info_parm_ { 11030 u16 interval; /*unit : 1 ms */ 11031 u16 kapktsize; 11032 u16 acklostlimit; 11033 u16 ackpatternsize; 11034 u16 wakeuppatternsize; 11035 u16 rsvd; 11036 u32 wakeupsecnum; 11037 }; 11038 11039 /** 11040 * @struct mac_ax_nlo_info 11041 * @brief mac_ax_nlo_info 11042 * 11043 * @var mac_ax_nlo_info::nlo_en 11044 * Please Place Description here. 11045 * @var mac_ax_nlo_info::nlo_32k_en 11046 * Please Place Description here. 11047 * @var mac_ax_nlo_info::ignore_cipher_type 11048 * Please Place Description here. 11049 * @var mac_ax_nlo_info::rsvd 11050 * Please Place Description here. 11051 */ 11052 struct mac_ax_nlo_info { 11053 u8 nlo_en: 1; 11054 u8 nlo_32k_en: 1; 11055 u8 ignore_cipher_type: 1; 11056 u8 rsvd: 5; 11057 }; 11058 11059 #define MAX_SUPPORT_NL_NUM 16 11060 #define MAX_PROBE_REQ_NUM 8 11061 #define SSID_MAX_LEN 32 11062 11063 /** 11064 * @struct mac_ax_nlo_networklist_parm_ 11065 * @brief mac_ax_nlo_networklist_parm_ 11066 * 11067 * @var mac_ax_nlo_networklist_parm_::numofentries 11068 * Please Place Description here. 11069 * @var mac_ax_nlo_networklist_parm_::numofhiddenap 11070 * Please Place Description here. 11071 * @var mac_ax_nlo_networklist_parm_::rsvd 11072 * Please Place Description here. 11073 * @var mac_ax_nlo_networklist_parm_::patterncheck 11074 * Please Place Description here. 11075 * @var mac_ax_nlo_networklist_parm_::rsvd1 11076 * Please Place Description here. 11077 * @var mac_ax_nlo_networklist_parm_::rsvd2 11078 * Please Place Description here. 11079 * @var mac_ax_nlo_networklist_parm_::ssidlen 11080 * Please Place Description here. 11081 * @var mac_ax_nlo_networklist_parm_::chipertype 11082 * Please Place Description here. 11083 * @var mac_ax_nlo_networklist_parm_::rsvd3 11084 * Please Place Description here. 11085 * @var mac_ax_nlo_networklist_parm_::locprobereq 11086 * Please Place Description here. 11087 * @var mac_ax_nlo_networklist_parm_::ssid 11088 * Please Place Description here. 11089 */ 11090 struct mac_ax_nlo_networklist_parm_ { 11091 u8 numofentries; 11092 u8 numofhiddenap; 11093 u8 rsvd[2]; 11094 u32 patterncheck; 11095 u32 rsvd1; 11096 u32 rsvd2; 11097 u8 ssidlen[MAX_SUPPORT_NL_NUM]; 11098 u8 chipertype[MAX_SUPPORT_NL_NUM]; 11099 u8 rsvd3[MAX_SUPPORT_NL_NUM]; 11100 u8 locprobereq[MAX_PROBE_REQ_NUM]; 11101 u8 ssid[MAX_SUPPORT_NL_NUM][SSID_MAX_LEN]; 11102 }; 11103 11104 /** 11105 * @struct mac_ax_negative_pattern_info 11106 * @brief mac_ax_negative_pattern_info 11107 * 11108 * @var mac_ax_negative_pattern_info::negative_pattern_en 11109 * Please Place Description here. 11110 * @var mac_ax_negative_pattern_info::rsvd 11111 * Please Place Description here. 11112 * @var mac_ax_negative_pattern_info::pattern_count 11113 * Please Place Description here. 11114 */ 11115 struct mac_ax_negative_pattern_info { 11116 u8 negative_pattern_en: 1; 11117 u8 rsvd: 3; 11118 u8 pattern_count: 4; 11119 }; 11120 11121 /** 11122 * @struct mac_ax_dev2hst_gpio_info 11123 * @brief mac_ax_dev2hst_gpio_info 11124 * 11125 * @var mac_ax_dev2hst_gpio_info::dev2hst_gpio_en 11126 * Please Place Description here. 11127 * @var mac_ax_dev2hst_gpio_info::disable_inband 11128 * Please Place Description here. 11129 * @var mac_ax_dev2hst_gpio_info::gpio_output_input 11130 * Please Place Description here. 11131 * @var mac_ax_dev2hst_gpio_info::gpio_active 11132 * Please Place Description here. 11133 * @var mac_ax_dev2hst_gpio_info::toggle_pulse 11134 * Please Place Description here. 11135 * @var mac_ax_dev2hst_gpio_info::data_pin_wakeup 11136 * Please Place Description here. 11137 * @var mac_ax_dev2hst_gpio_info::gpio_pulse_nonstop 11138 * Please Place Description here. 11139 * @var mac_ax_dev2hst_gpio_info::gpio_time_unit 11140 * Please Place Description here. 11141 * @var mac_ax_dev2hst_gpio_info::gpio_num 11142 * Please Place Description here. 11143 * @var mac_ax_dev2hst_gpio_info::gpio_pulse_dura 11144 * Please Place Description here. 11145 * @var mac_ax_dev2hst_gpio_info::gpio_pulse_period 11146 * Please Place Description here. 11147 * @var mac_ax_dev2hst_gpio_info::gpio_pulse_count 11148 * Please Place Description here. 11149 * @var mac_ax_dev2hst_gpio_info::rsvd0 11150 * Please Place Description here. 11151 * @var mac_ax_dev2hst_gpio_info::customer_id 11152 * Please Place Description here. 11153 * @var mac_ax_dev2hst_gpio_info::rsvd1 11154 * Please Place Description here. 11155 * @var mac_ax_dev2hst_gpio_info::gpio_pulse_en_a 11156 * Please Place Description here. 11157 * @var mac_ax_dev2hst_gpio_info::gpio_duration_unit_a 11158 * Please Place Description here. 11159 * @var mac_ax_dev2hst_gpio_info::gpio_pulse_nonstop_a 11160 * Please Place Description here. 11161 * @var mac_ax_dev2hst_gpio_info::rsvd2 11162 * Please Place Description here. 11163 * @var mac_ax_dev2hst_gpio_info::special_reason_a 11164 * Please Place Description here. 11165 * @var mac_ax_dev2hst_gpio_info::gpio_duration_a 11166 * Please Place Description here. 11167 * @var mac_ax_dev2hst_gpio_info::gpio_pulse_count_a 11168 * Please Place Description here. 11169 * @var mac_ax_dev2hst_gpio_info::gpio_pulse_en_b 11170 * Please Place Description here. 11171 * @var mac_ax_dev2hst_gpio_info::gpio_duration_unit_b 11172 * Please Place Description here. 11173 * @var mac_ax_dev2hst_gpio_info::gpio_pulse_nonstop_b 11174 * Please Place Description here. 11175 * @var mac_ax_dev2hst_gpio_info::rsvd3 11176 * Please Place Description here. 11177 * @var mac_ax_dev2hst_gpio_info::special_reason_b 11178 * Please Place Description here. 11179 * @var mac_ax_dev2hst_gpio_info::gpio_duration_b 11180 * Please Place Description here. 11181 * @var mac_ax_dev2hst_gpio_info::gpio_pulse_count_b 11182 * Please Place Description here. 11183 */ 11184 struct mac_ax_dev2hst_gpio_info { 11185 /* dword0 */ 11186 u32 dev2hst_gpio_en:1; 11187 u32 disable_inband:1; 11188 u32 gpio_output_input:1; 11189 u32 gpio_active:1; 11190 u32 toggle_pulse:1; 11191 u32 data_pin_wakeup:1; 11192 u32 gpio_pulse_nonstop:1; 11193 u32 gpio_time_unit:1; 11194 u32 gpio_num:8; 11195 u32 gpio_pulse_dura:8; 11196 u32 gpio_pulse_period:8; 11197 /* dword1 */ 11198 u32 gpio_pulse_count:8; 11199 u32 rsvd0:24; 11200 /* dword2 */ 11201 u32 customer_id:8; 11202 u32 rsvd1:24; 11203 /* dword3 */ 11204 u32 rsn_a_en:1; 11205 u32 rsn_a_toggle_pulse:1; 11206 u32 rsn_a_pulse_nonstop:1; 11207 u32 rsn_a_time_unit:1; 11208 u32 rsvd2:28; 11209 /* dword4 */ 11210 u32 rsn_a:8; 11211 u32 rsn_a_pulse_duration:8; 11212 u32 rsn_a_pulse_period:8; 11213 u32 rsn_a_pulse_count:8; 11214 /* dword5 */ 11215 u32 rsn_b_en:1; 11216 u32 rsn_b_toggle_pulse:1; 11217 u32 rsn_b_pulse_nonstop:1; 11218 u32 rsn_b_time_unit:1; 11219 u32 rsvd3:28; 11220 /* dword6 */ 11221 u32 rsn_b:8; 11222 u32 rsn_b_pulse_duration:8; 11223 u32 rsn_b_pulse_period:8; 11224 u32 rsn_b_pulse_count:8; 11225 /* dword7 */ 11226 u32 gpio_pulse_en_a:8; /*deprecated*/ 11227 u32 gpio_duration_unit_a:8; /*deprecated*/ 11228 u32 gpio_pulse_nonstop_a:8; /*deprecated*/ 11229 u32 special_reason_a:8; /*deprecated*/ 11230 u32 gpio_duration_a:8; /*deprecated*/ 11231 u32 gpio_pulse_count_a:8; /*deprecated*/ 11232 11233 }; 11234 11235 /** 11236 * @struct mac_ax_uphy_ctrl_info 11237 * @brief mac_ax_uphy_ctrl_info 11238 * 11239 * @var mac_ax_uphy_ctrl_info::disable_uphy 11240 * Please Place Description here. 11241 * @var mac_ax_uphy_ctrl_info::handshake_mode 11242 * Please Place Description here. 11243 * @var mac_ax_uphy_ctrl_info::rsvd0 11244 * Please Place Description here. 11245 * @var mac_ax_uphy_ctrl_info::rise_hst2dev_dis_uphy 11246 * Please Place Description here. 11247 * @var mac_ax_uphy_ctrl_info::uphy_dis_delay_unit 11248 * Please Place Description here. 11249 * @var mac_ax_uphy_ctrl_info::pdn_as_uphy_dis 11250 * Please Place Description here. 11251 * @var mac_ax_uphy_ctrl_info::pdn_to_enable_uphy 11252 * Please Place Description here. 11253 * @var mac_ax_uphy_ctrl_info::rsvd1 11254 * Please Place Description here. 11255 * @var mac_ax_uphy_ctrl_info::hst2dev_gpio_num 11256 * Please Place Description here. 11257 * @var mac_ax_uphy_ctrl_info::uphy_dis_delay_count 11258 * Please Place Description here. 11259 */ 11260 struct mac_ax_uphy_ctrl_info { 11261 u8 disable_uphy: 1; 11262 u8 handshake_mode: 3; 11263 u8 rsvd0: 4; 11264 u8 rise_hst2dev_dis_uphy: 1; 11265 u8 uphy_dis_delay_unit: 1; 11266 u8 pdn_as_uphy_dis: 1; 11267 u8 pdn_to_enable_uphy: 1; 11268 u8 rsvd1: 4; 11269 u8 hst2dev_gpio_num: 8; 11270 u8 uphy_dis_delay_count: 8; 11271 }; 11272 11273 /** 11274 * @struct mac_ax_wowcam_upd_info 11275 * @brief mac_ax_wowcam_upd_info 11276 * 11277 * @var mac_ax_wowcam_upd_info::r_w 11278 * Please Place Description here. 11279 * @var mac_ax_wowcam_upd_info::idx 11280 * Please Place Description here. 11281 * @var mac_ax_wowcam_upd_info::rsvd0 11282 * Please Place Description here. 11283 * @var mac_ax_wowcam_upd_info::wkfm1 11284 * Please Place Description here. 11285 * @var mac_ax_wowcam_upd_info::wkfm2 11286 * Please Place Description here. 11287 * @var mac_ax_wowcam_upd_info::wkfm3 11288 * Please Place Description here. 11289 * @var mac_ax_wowcam_upd_info::wkfm4 11290 * Please Place Description here. 11291 * @var mac_ax_wowcam_upd_info::crc 11292 * Please Place Description here. 11293 * @var mac_ax_wowcam_upd_info::rsvd1 11294 * Please Place Description here. 11295 * @var mac_ax_wowcam_upd_info::negative_pattern_match 11296 * Please Place Description here. 11297 * @var mac_ax_wowcam_upd_info::skip_mac_hdr 11298 * Please Place Description here. 11299 * @var mac_ax_wowcam_upd_info::uc 11300 * Please Place Description here. 11301 * @var mac_ax_wowcam_upd_info::mc 11302 * Please Place Description here. 11303 * @var mac_ax_wowcam_upd_info::bc 11304 * Please Place Description here. 11305 * @var mac_ax_wowcam_upd_info::rsvd2 11306 * Please Place Description here. 11307 * @var mac_ax_wowcam_upd_info::valid 11308 * Please Place Description here. 11309 */ 11310 struct mac_ax_wowcam_upd_info { 11311 u8 r_w: 1; 11312 u8 idx: 7; 11313 u8 rsvd0[3]; 11314 u32 wkfm1: 32; 11315 u32 wkfm2: 32; 11316 u32 wkfm3: 32; 11317 u32 wkfm4: 32; 11318 u16 crc: 16; 11319 u8 rsvd1: 6; 11320 u8 negative_pattern_match: 1; 11321 u8 skip_mac_hdr: 1; 11322 u8 uc: 1; 11323 u8 mc: 1; 11324 u8 bc: 1; 11325 u8 rsvd2: 4; 11326 u8 valid: 1; 11327 }; 11328 11329 /*--------------------Define SET/GET HW VALUE struct -------------------------*/ 11330 11331 /** 11332 * @struct mac_ax_sdio_info 11333 * @brief mac_ax_sdio_info 11334 * 11335 * @var mac_ax_sdio_info::sdio_4byte 11336 * Please Place Description here. 11337 * @var mac_ax_sdio_info::tx_mode 11338 * Please Place Description here. 11339 * @var mac_ax_sdio_info::spec_ver 11340 * Please Place Description here. 11341 * @var mac_ax_sdio_info::block_size 11342 * Please Place Description here. 11343 * @var mac_ax_sdio_info::tx_seq 11344 * Please Place Description here. 11345 * @var mac_ax_sdio_info::tx_align_size 11346 * Please Place Description here. 11347 * @var mac_ax_sdio_info::rpwm_bak 11348 * Please Place Description here. 11349 */ 11350 struct mac_ax_sdio_info { 11351 enum mac_ax_sdio_4byte_mode sdio_4byte; 11352 enum mac_ax_sdio_tx_mode tx_mode; 11353 enum mac_ax_sdio_spec_ver spec_ver; 11354 enum mac_ax_sdio_opn_mode opn_mode; 11355 u16 block_size; 11356 u8 tx_seq; 11357 u16 tx_align_size; 11358 u32 rpwm_bak; 11359 }; 11360 11361 /** 11362 * @struct mac_ax_sdio_txagg_cfg 11363 * @brief mac_ax_sdio_txagg_cfg 11364 * 11365 * @var mac_ax_sdio_txagg_cfg::en 11366 * Please Place Description here. 11367 * @var mac_ax_sdio_txagg_cfg::align_size 11368 * Please Place Description here. 11369 */ 11370 struct mac_ax_sdio_txagg_cfg { 11371 u8 en; 11372 u16 align_size; 11373 }; 11374 11375 /** 11376 * @struct mac_ax_usb_info 11377 * @brief mac_ax_usb_info 11378 * 11379 * @var mac_ax_usb_info::ep5 11380 * Please Place Description here. 11381 * @var mac_ax_usb_info::ep6 11382 * Please Place Description here. 11383 * @var mac_ax_usb_info::ep10 11384 * Please Place Description here. 11385 * @var mac_ax_usb_info::ep11 11386 * Please Place Description here. 11387 * @var mac_ax_usb_info::ep12 11388 * Please Place Description here. 11389 * @var mac_ax_usb_info::max_bulkout_wd_num 11390 * Please Place Description here. 11391 * @var mac_ax_usb_info::usb_mode 11392 * Please Place Description here. 11393 */ 11394 struct mac_ax_usb_info { 11395 u8 ep5; 11396 u8 ep6; 11397 u8 ep10; 11398 u8 ep11; 11399 u8 ep12; 11400 u8 max_bulkout_wd_num; 11401 enum mac_ax_use_mode usb_mode; 11402 }; 11403 11404 /** 11405 * @struct mac_ax_pcie_info 11406 * @brief mac_ax_pcie_info 11407 * 11408 * @var mac_ax_pcie_info::autok_total 11409 * @var mac_ax_pcie_info::autok_2s_cnt 11410 * Please Place Description here. 11411 */ 11412 struct mac_ax_pcie_info { 11413 u32 autok_total; 11414 u8 autok_2s_cnt; 11415 }; 11416 11417 struct mac_ax_flash_info { 11418 u8 read_done; 11419 u8 reading; 11420 u32 read_addr; 11421 u8 write_done; 11422 u8 writing; 11423 u32 write_addr; 11424 u8 erasing; 11425 u8 erase_done; 11426 u32 erase_addr; 11427 u8 *buf_addr; 11428 mac_ax_mutex lock; 11429 }; 11430 11431 /** 11432 * @struct mac_ax_fw_dbgcmd 11433 * @brief mac_ax_fw_dbgcmd 11434 * 11435 * @var mac_ax_fw_dbgcmd::buf 11436 * Please Place Description here. 11437 * @var mac_ax_fw_dbgcmd::out_len 11438 * Please Place Description here. 11439 * @var mac_ax_fw_dbgcmd::used 11440 * Please Place Description here. 11441 * @var mac_ax_fw_dbgcmd::cmd_idle 11442 * Please Place Description here. 11443 * @var mac_ax_fw_dbgcmd::lock 11444 * Please Place Description here. 11445 */ 11446 struct mac_ax_fw_dbgcmd { 11447 char *buf; 11448 u32 out_len; 11449 u32 used; 11450 u32 cmd_idle; 11451 mac_ax_mutex lock; 11452 }; 11453 11454 /** 11455 * @struct mac_ax_aval_page_cfg 11456 * @brief mac_ax_aval_page_cfg 11457 * 11458 * @var mac_ax_aval_page_cfg::thold_wd 11459 * Please Place Description here. 11460 * @var mac_ax_aval_page_cfg::thold_wp 11461 * Please Place Description here. 11462 * @var mac_ax_aval_page_cfg::ch_dma 11463 * Please Place Description here. 11464 * @var mac_ax_aval_page_cfg::en 11465 * Please Place Description here. 11466 */ 11467 struct mac_ax_aval_page_cfg { 11468 u32 thold_wd; 11469 u32 thold_wp; 11470 u8 ch_dma; 11471 u8 en; 11472 }; 11473 11474 /** 11475 * @struct mac_ax_rx_agg_cfg 11476 * @brief mac_ax_rx_agg_cfg 11477 * 11478 * @var mac_ax_rx_agg_cfg::mode 11479 * Please Place Description here. 11480 * @var mac_ax_rx_agg_cfg::thold 11481 * Please Place Description here. 11482 */ 11483 struct mac_ax_rx_agg_cfg { 11484 enum mac_ax_rx_agg_mode mode; 11485 struct mac_ax_rx_agg_thold thold; 11486 }; 11487 11488 /** 11489 * @struct mac_ax_usr_tx_rpt_cfg 11490 * @brief mac_ax_usr_tx_rpt_cfg 11491 * 11492 * @var mac_ax_usr_tx_rpt_cfg::mode 11493 * sel report mode 11494 * @var mac_ax_usr_tx_rpt_cfg::rpt_start 11495 * flag of first packet 11496 * @var mac_ax_usr_tx_rpt_cfg::macid 11497 * target macid 11498 * @var mac_ax_usr_tx_rpt_cfg::rpt_period_us 11499 * period of report, unit:us 11500 */ 11501 struct mac_ax_usr_tx_rpt_cfg { 11502 enum mac_ax_usr_tx_rpt_mode mode; 11503 u8 rpt_start; 11504 u8 macid; 11505 u8 band; 11506 u8 port; 11507 u32 rpt_period_us; 11508 }; 11509 11510 /** 11511 * @struct mac_ax_ofld_cfg 11512 * @brief disable ofld feature 11513 * 11514 * @var mac_ax_ofld_cfg::usr_edca_dis 11515 * 1: disable; 0:enable 11516 */ 11517 struct mac_ax_ofld_cfg { 11518 enum mac_ax_ofld_mode mode; 11519 u8 usr_txop_be; 11520 u16 usr_txop_be_val; 11521 }; 11522 11523 /** 11524 * @struct mac_ax_ac_edca_param 11525 * @brief mac_ax_ac_edca_param 11526 * 11527 * @var mac_ax_ac_edca_param::txop_32us 11528 * Please Place Description here. 11529 * @var mac_ax_ac_edca_param::ecw_max 11530 * Please Place Description here. 11531 * @var mac_ax_ac_edca_param::ecw_min 11532 * Please Place Description here. 11533 * @var mac_ax_ac_edca_param::aifs_us 11534 * Please Place Description here. 11535 */ 11536 struct mac_ax_ac_edca_param { 11537 u16 txop_32us; 11538 u8 ecw_max; 11539 u8 ecw_min; 11540 u8 aifs_us; 11541 }; 11542 11543 /** 11544 * @struct mac_ax_usr_edca_param 11545 * @brief mac_ax_usr_edca_param 11546 * 11547 * @var mac_ax_usr_edca_param::idx 11548 * Please Place Description here. 11549 * @var mac_ax_usr_edca_param::enable 11550 * Please Place Description here. 11551 * @var mac_ax_usr_edca_param::band 11552 * Please Place Description here. 11553 * @var mac_ax_usr_edca_param::wmm 11554 * Please Place Description here. 11555 * @var mac_ax_usr_edca_param::ac 11556 * Please Place Description here. 11557 * @var mac_ax_usr_edca_param::aggressive 11558 * Please Place Description here. 11559 * @var mac_ax_usr_edca_param::moderate 11560 * Please Place Description here. 11561 */ 11562 struct mac_ax_usr_edca_param { 11563 enum mac_ax_cmac_usr_edca_idx idx; 11564 u8 enable; 11565 u8 band; 11566 enum mac_ax_cmac_wmm_sel wmm; 11567 enum mac_ax_cmac_ac_sel ac; 11568 struct mac_ax_ac_edca_param aggressive; 11569 struct mac_ax_ac_edca_param moderate; 11570 }; 11571 11572 /** 11573 * @struct mac_ax_edca_param 11574 * @brief mac_ax_edca_param 11575 * 11576 * @var mac_ax_edca_param::band 11577 * Please Place Description here. 11578 * @var mac_ax_edca_param::path 11579 * Please Place Description here. 11580 * @var mac_ax_edca_param::txop_32us 11581 * Please Place Description here. 11582 * @var mac_ax_edca_param::ecw_max 11583 * Please Place Description here. 11584 * @var mac_ax_edca_param::ecw_min 11585 * Please Place Description here. 11586 * @var mac_ax_edca_param::aifs_us 11587 * Please Place Description here. 11588 */ 11589 struct mac_ax_edca_param { 11590 u8 band; 11591 enum mac_ax_cmac_path_sel path; 11592 u16 txop_32us; 11593 u8 ecw_max; 11594 u8 ecw_min; 11595 u8 aifs_us; 11596 }; 11597 11598 /** 11599 * @struct mac_ax_muedca_param 11600 * @brief mac_ax_muedca_param 11601 * 11602 * @var mac_ax_muedca_param::band 11603 * Please Place Description here. 11604 * @var mac_ax_muedca_param::ac 11605 * Please Place Description here. 11606 * @var mac_ax_muedca_param::muedca_timer_32us 11607 * Please Place Description here. 11608 * @var mac_ax_muedca_param::ecw_max 11609 * Please Place Description here. 11610 * @var mac_ax_muedca_param::ecw_min 11611 * Please Place Description here. 11612 * @var mac_ax_muedca_param::aifs_us 11613 * Please Place Description here. 11614 */ 11615 struct mac_ax_muedca_param { 11616 u8 band; 11617 enum mac_ax_cmac_ac_sel ac; 11618 u16 muedca_timer_32us; 11619 u8 ecw_max; 11620 u8 ecw_min; 11621 u8 aifs_us; 11622 }; 11623 11624 /** 11625 * @struct mac_ax_muedca_timer 11626 * @brief mac_ax_muedca_timer 11627 * 11628 * @var mac_ax_muedca_timer::band 11629 * Please Place Description here. 11630 * @var mac_ax_muedca_timer::ac 11631 * Please Place Description here. 11632 * @var mac_ax_muedca_timer::muedca_timer_32us 11633 * Please Place Description here. 11634 */ 11635 struct mac_ax_muedca_timer { 11636 u8 band; 11637 enum mac_ax_cmac_ac_sel ac; 11638 u16 muedca_timer_32us; 11639 }; 11640 11641 /** 11642 * @struct mac_ax_muedca_cfg 11643 * @brief mac_ax_muedca_cfg 11644 * 11645 * @var mac_ax_muedca_cfg::band 11646 * Please Place Description here. 11647 * @var mac_ax_muedca_cfg::wmm_sel 11648 * Please Place Description here. 11649 * @var mac_ax_muedca_cfg::countdown_en 11650 * Please Place Description here. 11651 * @var mac_ax_muedca_cfg::tb_update_en 11652 * Please Place Description here. 11653 */ 11654 struct mac_ax_muedca_cfg { 11655 u8 band; 11656 enum mac_ax_cmac_wmm_sel wmm_sel; 11657 u8 countdown_en; 11658 u8 tb_update_en; 11659 }; 11660 11661 /** 11662 * @struct mac_ax_sch_tx_en_cfg 11663 * @brief mac_ax_sch_tx_en_cfg 11664 * 11665 * @var mac_ax_sch_tx_en_cfg::band 11666 * Please Place Description here. 11667 * @var mac_ax_sch_tx_en_cfg::tx_en 11668 * Please Place Description here. 11669 * @var mac_ax_sch_tx_en_cfg::tx_en_mask 11670 * Please Place Description here. 11671 */ 11672 struct mac_ax_sch_tx_en_cfg { 11673 u8 band; 11674 struct mac_ax_sch_tx_en tx_en; 11675 struct mac_ax_sch_tx_en tx_en_mask; 11676 }; 11677 11678 struct mac_ax_tx_idle_poll_cfg { 11679 u8 band; 11680 enum mac_ax_tx_idle_poll_sel sel; 11681 }; 11682 11683 /** 11684 * @struct mac_ax_lifetime_cfg 11685 * @brief mac_ax_lifetime_cfg 11686 * 11687 * @var mac_ax_lifetime_cfg::band 11688 * Please Place Description here. 11689 * @var mac_ax_lifetime_cfg::en 11690 * Please Place Description here. 11691 * @var mac_ax_lifetime_cfg::val 11692 * Please Place Description here. 11693 */ 11694 struct mac_ax_lifetime_cfg { 11695 u8 band; 11696 struct mac_ax_lifetime_en en; 11697 struct mac_ax_lifetime_val val; 11698 }; 11699 11700 /** 11701 * @struct mac_ax_tb_ppdu_ctrl 11702 * @brief mac_ax_tb_ppdu_ctrl 11703 * 11704 * @var mac_ax_tb_ppdu_ctrl::band 11705 * Please Place Description here. 11706 * @var mac_ax_tb_ppdu_ctrl::pri_ac 11707 * Please Place Description here. 11708 * @var mac_ax_tb_ppdu_ctrl::be_dis 11709 * Please Place Description here. 11710 * @var mac_ax_tb_ppdu_ctrl::bk_dis 11711 * Please Place Description here. 11712 * @var mac_ax_tb_ppdu_ctrl::vi_dis 11713 * Please Place Description here. 11714 * @var mac_ax_tb_ppdu_ctrl::vo_dis 11715 * Please Place Description here. 11716 */ 11717 struct mac_ax_tb_ppdu_ctrl { 11718 u8 band; 11719 enum mac_ax_cmac_ac_sel pri_ac; 11720 u8 be_dis; 11721 u8 bk_dis; 11722 u8 vi_dis; 11723 u8 vo_dis; 11724 }; 11725 11726 /** 11727 * @struct macid_tx_bak 11728 * @brief macid_tx_bak 11729 * 11730 * @var macid_tx_bak::sch_bak 11731 * Please Place Description here. 11732 * @var macid_tx_bak::ac_dis_bak 11733 * Please Place Description here. 11734 */ 11735 struct macid_tx_bak { 11736 struct mac_ax_sch_tx_en_cfg sch_bak; 11737 struct mac_ax_tb_ppdu_ctrl ac_dis_bak; 11738 }; 11739 11740 /** 11741 * @struct mac_ax_edcca_param 11742 * @brief mac_ax_edcca_param 11743 * 11744 * @var mac_ax_edcca_param::band 11745 * Please Place Description here. 11746 * @var mac_ax_edcca_param::tb_check_en 11747 * Please Place Description here. 11748 * @var mac_ax_edcca_param::sifs_check_en 11749 * Please Place Description here. 11750 * @var mac_ax_edcca_param::ctn_check_en 11751 * Please Place Description here. 11752 * @var mac_ax_edcca_param::rsvd 11753 * Please Place Description here. 11754 * @var mac_ax_edcca_param::sel 11755 * Please Place Description here. 11756 */ 11757 struct mac_ax_edcca_param { 11758 u8 band:1; 11759 u8 tb_check_en:1; 11760 u8 sifs_check_en:1; 11761 u8 ctn_check_en:1; 11762 u8 rsvd:4; 11763 enum mac_ax_edcca_sel sel; 11764 }; 11765 11766 /** 11767 * @struct mac_ax_host_rpr_cfg 11768 * @brief mac_ax_host_rpr_cfg 11769 * 11770 * @var mac_ax_host_rpr_cfg::agg 11771 * Please Place Description here. 11772 * @var mac_ax_host_rpr_cfg::tmr 11773 * Please Place Description here. 11774 * @var mac_ax_host_rpr_cfg::agg_def 11775 * Please Place Description here. 11776 * @var mac_ax_host_rpr_cfg::tmr_def 11777 * Please Place Description here. 11778 * @var mac_ax_host_rpr_cfg::rsvd 11779 * Please Place Description here. 11780 * @var mac_ax_host_rpr_cfg::txok_en 11781 * Please Place Description here. 11782 * @var mac_ax_host_rpr_cfg::rty_lmt_en 11783 * Please Place Description here. 11784 * @var mac_ax_host_rpr_cfg::lft_drop_en 11785 * Please Place Description here. 11786 * @var mac_ax_host_rpr_cfg::macid_drop_en 11787 * Please Place Description here. 11788 */ 11789 struct mac_ax_host_rpr_cfg { 11790 u8 agg; 11791 u8 tmr; 11792 u8 agg_def:1; 11793 u8 tmr_def:1; 11794 u8 rsvd:5; 11795 enum mac_ax_func_sw txok_en; 11796 enum mac_ax_func_sw rty_lmt_en; 11797 enum mac_ax_func_sw lft_drop_en; 11798 enum mac_ax_func_sw macid_drop_en; 11799 }; 11800 11801 /** 11802 * @struct mac_ax_macid_pause_cfg 11803 * @brief mac_ax_macid_pause_cfg 11804 * 11805 * @var mac_ax_macid_pause_cfg::macid 11806 * Please Place Description here. 11807 * @var mac_ax_macid_pause_cfg::pause 11808 * Please Place Description here. 11809 */ 11810 struct mac_ax_macid_pause_cfg { 11811 u8 macid; 11812 u8 pause; 11813 }; 11814 11815 /** 11816 * @struct mac_ax_macid_pause_grp 11817 * @brief mac_ax_macid_pause_grp 11818 * 11819 * @var mac_ax_macid_pause_grp::pause_grp 11820 * Please Place Description here. 11821 * @var mac_ax_macid_pause_grp::mask_grp 11822 * Please Place Description here. 11823 */ 11824 struct mac_ax_macid_pause_grp { 11825 u32 pause_grp[4]; 11826 u32 mask_grp[4]; 11827 }; 11828 11829 /** 11830 * @struct mac_ax_ampdu_cfg 11831 * @brief mac_ax_ampdu_cfg 11832 * 11833 * @var mac_ax_ampdu_cfg::band 11834 * Please Place Description here. 11835 * @var mac_ax_ampdu_cfg::wdbk_mode 11836 * Please Place Description here. 11837 * @var mac_ax_ampdu_cfg::rty_bk_mode 11838 * Please Place Description here. 11839 * @var mac_ax_ampdu_cfg::max_agg_num 11840 * Please Place Description here. 11841 * @var mac_ax_ampdu_cfg::max_agg_time_32us 11842 * Please Place Description here. 11843 */ 11844 struct mac_ax_ampdu_cfg { 11845 u8 band; 11846 enum mac_ax_wdbk_mode wdbk_mode; 11847 enum mac_ax_rty_bk_mode rty_bk_mode; 11848 u16 max_agg_num; 11849 u8 max_agg_time_32us; 11850 }; 11851 11852 /** 11853 * @struct mac_ax_ch_stat_cnt 11854 * @brief mac_ax_ch_stat_cnt 11855 * 11856 * @var mac_ax_ch_stat_cnt::band 11857 * Please Place Description here. 11858 * @var mac_ax_ch_stat_cnt::busy_cnt 11859 * Please Place Description here. 11860 * @var mac_ax_ch_stat_cnt::idle_cnt 11861 * Please Place Description here. 11862 */ 11863 struct mac_ax_ch_stat_cnt { 11864 u8 band; 11865 u32 busy_cnt; 11866 u32 idle_cnt; 11867 }; 11868 11869 /** 11870 * @struct mac_ax_ch_busy_cnt_cfg 11871 * @brief mac_ax_ch_busy_cnt_cfg 11872 * 11873 * @var mac_ax_ch_busy_cnt_cfg::band 11874 * Please Place Description here. 11875 * @var mac_ax_ch_busy_cnt_cfg::cnt_ctrl 11876 * Please Place Description here. 11877 * @var mac_ax_ch_busy_cnt_cfg::ref 11878 * Please Place Description here. 11879 */ 11880 struct mac_ax_ch_busy_cnt_cfg { 11881 u8 band; 11882 enum mac_ax_ch_busy_cnt_ctrl cnt_ctrl; 11883 struct mac_ax_ch_busy_cnt_ref ref; 11884 }; 11885 11886 /** 11887 * @struct mac_ax_ss_wmm_tbl_ctrl 11888 * @brief mac_ax_ss_wmm_tbl_ctrl 11889 * 11890 * @var mac_ax_ss_wmm_tbl_ctrl::wmm 11891 * Please Place Description here. 11892 * @var mac_ax_ss_wmm_tbl_ctrl::wmm_mapping 11893 * Please Place Description here. 11894 */ 11895 struct mac_ax_ss_wmm_tbl_ctrl { 11896 u8 wmm; 11897 enum mac_ax_ss_wmm_tbl wmm_mapping; 11898 }; 11899 11900 /** 11901 * @struct mac_ax_bt_block_tx 11902 * @brief mac_ax_bt_block_tx 11903 * 11904 * @var mac_ax_bt_block_tx::band 11905 * Please Place Description here. 11906 * @var mac_ax_bt_block_tx::en 11907 * Please Place Description here. 11908 */ 11909 struct mac_ax_block_tx { 11910 u8 band; 11911 u8 en; 11912 }; 11913 11914 /** 11915 * @struct mac_ax_gt3_cfg 11916 * @brief mac_ax_gt3_cfg 11917 * 11918 * @var mac_ax_gt3_cfg::count_en 11919 * Please Place Description here. 11920 * @var mac_ax_gt3_cfg::mode 11921 * Please Place Description here. 11922 * @var mac_ax_gt3_cfg::gt3_en 11923 * Please Place Description here. 11924 * @var mac_ax_gt3_cfg::sort_en 11925 * Please Place Description here. 11926 * @var mac_ax_gt3_cfg::timeout 11927 * Please Place Description here. 11928 */ 11929 struct mac_ax_gt3_cfg { 11930 u32 count_en:1; 11931 u32 mode:1; /*0 = counter mode; 1 = timer mode"*/ 11932 u32 gt3_en:1; /*HW clear when count down to zero in counter mode."*/ 11933 u32 sort_en:1; 11934 u32 timeout:28; 11935 }; 11936 11937 /** 11938 * @struct mac_ax_rty_lmt 11939 * @brief mac_ax_rty_lmt 11940 * 11941 * @var mac_ax_rty_lmt::tx_cnt 11942 * Please Place Description here. 11943 * @var mac_ax_rty_lmt::macid 11944 * Please Place Description here. 11945 */ 11946 struct mac_ax_rty_lmt { 11947 u32 tx_cnt; 11948 u8 macid; 11949 }; 11950 11951 /** 11952 * @struct mac_ax_cctl_rty_lmt_cfg 11953 * @brief mac_ax_cctl_rty_lmt_cfg 11954 * 11955 * @var mac_ax_cctl_rty_lmt_cfg::macid 11956 * Please Place Description here. 11957 * @var mac_ax_cctl_rty_lmt_cfg::data_lmt_sel 11958 * Please Place Description here. 11959 * @var mac_ax_cctl_rty_lmt_cfg::data_lmt_val 11960 * Please Place Description here. 11961 * @var mac_ax_cctl_rty_lmt_cfg::rsvd0 11962 * Please Place Description here. 11963 * @var mac_ax_cctl_rty_lmt_cfg::rts_lmt_sel 11964 * Please Place Description here. 11965 * @var mac_ax_cctl_rty_lmt_cfg::rts_lmt_val 11966 * Please Place Description here. 11967 * @var mac_ax_cctl_rty_lmt_cfg::rsvd1 11968 * Please Place Description here. 11969 */ 11970 struct mac_ax_cctl_rty_lmt_cfg { 11971 u8 macid; 11972 u8 data_lmt_sel:1; 11973 u8 data_lmt_val:6; 11974 u8 rsvd0:1; 11975 u8 rts_lmt_sel:1; 11976 u8 rts_lmt_val:4; 11977 u8 rsvd1:3; 11978 }; 11979 11980 /** 11981 * @struct mac_ax_cr_rty_lmt_cfg 11982 * @brief mac_ax_cr_rty_lmt_cfg 11983 * 11984 * @var mac_ax_cr_rty_lmt_cfg::long_tx_cnt_lmt 11985 * Please Place Description here. 11986 * @var mac_ax_cr_rty_lmt_cfg::short_tx_cnt_lmt 11987 * Please Place Description here. 11988 * @var mac_ax_cr_rty_lmt_cfg::band 11989 * Please Place Description here. 11990 */ 11991 struct mac_ax_cr_rty_lmt_cfg { 11992 u16 long_tx_cnt_lmt:6; /*CR: long rty*/ 11993 u16 short_tx_cnt_lmt:6; /*CR: short rty*/ 11994 enum mac_ax_band band; 11995 }; 11996 11997 /** 11998 * @struct mac_ax_rrsr_cfg 11999 * @brief mac_ax_rrsr_cfg 12000 * 12001 * @var mac_ax_rrsr_cfg::rrsr_rate_en 12002 * Please Place Description here. 12003 * @var mac_ax_rrsr_cfg::rsc 12004 * Please Place Description here. 12005 * @var mac_ax_rrsr_cfg::doppler_en 12006 * Please Place Description here. 12007 * @var mac_ax_rrsr_cfg::dcm_en 12008 * Please Place Description here. 12009 * @var mac_ax_rrsr_cfg::ref_rate_sel 12010 * Please Place Description here. 12011 * @var mac_ax_rrsr_cfg::ref_rate 12012 * Please Place Description here. 12013 * @var mac_ax_rrsr_cfg::cck_cfg 12014 * Please Place Description here. 12015 * @var mac_ax_rrsr_cfg::rsvd 12016 * Please Place Description here. 12017 * @var mac_ax_rrsr_cfg::ofdm_cfg 12018 * Please Place Description here. 12019 * @var mac_ax_rrsr_cfg::ht_cfg 12020 * Please Place Description here. 12021 * @var mac_ax_rrsr_cfg::vht_cfg 12022 * Please Place Description here. 12023 * @var mac_ax_rrsr_cfg::he_cfg 12024 * Please Place Description here. 12025 */ 12026 struct mac_ax_rrsr_cfg { 12027 u32 rrsr_rate_en:4; 12028 u32 rsc:2; 12029 u32 doppler_en:1; 12030 u32 dcm_en:1; 12031 u32 ref_rate_sel:1; 12032 u32 ref_rate:9; 12033 u32 cck_cfg:4; 12034 u32 rsvd:10; 12035 12036 u32 ofdm_cfg:8; 12037 u32 ht_cfg:8; 12038 u32 vht_cfg:8; 12039 u32 he_cfg:8; 12040 u8 band; 12041 }; 12042 12043 /** 12044 * @struct mac_ax_cts_rrsr_cfg 12045 * @brief mac_ax_cts_rrsr_cfg 12046 * 12047 * @var mac_ax_rrsr_cfg::cts_rrsr_rsc 12048 * Please Place Description here. 12049 * @var mac_ax_rrsr_cfg::cts_rrsr_opt 12050 * Please Place Description here. 12051 * @var mac_ax_rrsr_cfg::cts_rrsr_cck_cfg 12052 * Please Place Description here. 12053 * @var mac_ax_rrsr_cfg::cts_rrsr_ofdm_cfg 12054 * Please Place Description here. 12055 * @var mac_ax_rrsr_cfg::rsvd 12056 * Please Place Description here. 12057 */ 12058 struct mac_ax_cts_rrsr_cfg { 12059 u32 cts_rrsr_rsc:2; 12060 u32 cts_rrsr_opt:1; 12061 u32 cts_rrsr_cck_cfg:4; 12062 u32 cts_rrsr_ofdm_cfg:8; 12063 u32 rsvd:17; 12064 u8 band; 12065 }; 12066 12067 /** 12068 * @struct mac_ax_ss_quota_mode_ctrl 12069 * @brief mac_ax_ss_quota_mode_ctrl 12070 * 12071 * @var mac_ax_ss_quota_mode_ctrl::wmm 12072 * Please Place Description here. 12073 * @var mac_ax_ss_quota_mode_ctrl::mode 12074 * Please Place Description here. 12075 */ 12076 struct mac_ax_ss_quota_mode_ctrl { 12077 enum mac_ax_ss_wmm wmm; 12078 enum mac_ax_ss_quota_mode mode; 12079 }; 12080 12081 /** 12082 * @struct mac_ax_ss_quota_setting 12083 * @brief mac_ax_ss_quota_setting 12084 * 12085 * @var mac_ax_ss_quota_setting::macid 12086 * Please Place Description here. 12087 * @var mac_ax_ss_quota_setting::ac_type 12088 * Please Place Description here. 12089 * @var mac_ax_ss_quota_setting::val 12090 * Please Place Description here. 12091 * @var mac_ax_ss_quota_setting::ul_dl 12092 * Please Place Description here. 12093 */ 12094 struct mac_ax_ss_quota_setting { 12095 u8 macid; 12096 u8 ac_type; 12097 u8 val; 12098 enum mac_ax_issue_uldl_type ul_dl; 12099 }; 12100 12101 /** 12102 * @struct mac_ax_bt_polt_cnt 12103 * @brief mac_ax_bt_polt_cnt 12104 * 12105 * @var mac_ax_bt_polt_cnt::band 12106 * Please Place Description here. 12107 * @var mac_ax_bt_polt_cnt::cnt 12108 * Please Place Description here. 12109 */ 12110 struct mac_ax_bt_polt_cnt { 12111 u8 band; 12112 u16 cnt; 12113 }; 12114 12115 /** 12116 * @struct mac_ax_prebkf_setting 12117 * @brief mac_ax_prebkf_setting 12118 * 12119 * @var mac_ax_prebkf_setting::band 12120 * Please Place Description here. 12121 * @var mac_ax_prebkf_setting::val 12122 * Please Place Description here. 12123 */ 12124 struct mac_ax_prebkf_setting { 12125 u8 band; 12126 u8 val; 12127 }; 12128 12129 /*--------------------Define SRAM FIFO ---------------------------------------*/ 12130 12131 /** 12132 * @struct mac_ax_bacam_info 12133 * @brief mac_ax_bacam_info 12134 * 12135 * @var mac_ax_bacam_info::valid 12136 * Please Place Description here. 12137 * @var mac_ax_bacam_info::init_req 12138 * Please Place Description here. 12139 * @var mac_ax_bacam_info::entry_idx 12140 * Tha var is only for 8852A. 12141 * @var mac_ax_bacam_info::tid 12142 * Please Place Description here. 12143 * @var mac_ax_bacam_info::macid 12144 * Please Place Description here. 12145 * @var mac_ax_bacam_info::bmap_size 12146 * Please Place Description here. 12147 * @var mac_ax_bacam_info::ssn 12148 * Please Place Description here. 12149 * @var mac_ax_bacam_info::uid_value 12150 * The var is for 8852C. 12151 * @var mac_ax_bacam_info::std_entry_en 12152 * The var is for 8852C. 12153 * @var mac_ax_bacam_info::band_sel 12154 * The var is for 8852C. 12155 * @var mac_ax_bacam_info::entry_idx_v1 12156 * The var is for 8852C. 12157 */ 12158 struct mac_ax_bacam_info { 12159 u32 valid: 1; 12160 u32 init_req: 1; 12161 u32 entry_idx: 2; 12162 u32 tid: 4; 12163 u32 macid: 8; 12164 u32 bmap_size: 4; 12165 u32 ssn: 12; 12166 u32 uid_value: 8; 12167 u32 std_entry_en: 1; 12168 u32 band_sel: 1; 12169 u32 rsvd: 18; 12170 u32 entry_idx_v1: 4; 12171 }; 12172 12173 /** 12174 * @struct mac_ax_shcut_mhdr 12175 * @brief mac_ax_shcut_mhdr 12176 * 12177 * @var mac_ax_shcut_mhdr::mac_header_length 12178 * Please Place Description here. 12179 * @var mac_ax_shcut_mhdr::dword0 12180 * Please Place Description here. 12181 * @var mac_ax_shcut_mhdr::dword1 12182 * Please Place Description here. 12183 * @var mac_ax_shcut_mhdr::dword2 12184 * Please Place Description here. 12185 * @var mac_ax_shcut_mhdr::dword3 12186 * Please Place Description here. 12187 * @var mac_ax_shcut_mhdr::dword4 12188 * Please Place Description here. 12189 * @var mac_ax_shcut_mhdr::dword5 12190 * Please Place Description here. 12191 * @var mac_ax_shcut_mhdr::dword6 12192 * Please Place Description here. 12193 * @var mac_ax_shcut_mhdr::dword7 12194 * Please Place Description here. 12195 * @var mac_ax_shcut_mhdr::dword8 12196 * Please Place Description here. 12197 * @var mac_ax_shcut_mhdr::dword9 12198 * Please Place Description here. 12199 * @var mac_ax_shcut_mhdr::dword10 12200 * Please Place Description here. 12201 * @var mac_ax_shcut_mhdr::dword11 12202 * Please Place Description here. 12203 * @var mac_ax_shcut_mhdr::dword12 12204 * Please Place Description here. 12205 * @var mac_ax_shcut_mhdr::dword13 12206 * Please Place Description here. 12207 */ 12208 struct mac_ax_shcut_mhdr {/*need to revise note by kkbomb 0204*/ 12209 // dword 0 12210 u32 mac_header_length:8; 12211 u32 dword0:24; 12212 u32 dword1; 12213 u32 dword2; 12214 u32 dword3; 12215 u32 dword4; 12216 u32 dword5; 12217 u32 dword6; 12218 u32 dword7; 12219 u32 dword8; 12220 u32 dword9; 12221 u32 dword10; 12222 u32 dword11; 12223 u32 dword12; 12224 u32 dword13; 12225 }; 12226 12227 /** 12228 * @struct mac_ax_fwstatus_payload 12229 * @brief mac_ax_fwstatus_payload 12230 * 12231 * @var mac_ax_fwstatus_payload::dword0 12232 * Please Place Description here. 12233 * @var mac_ax_fwstatus_payload::dword1 12234 * Please Place Description here. 12235 */ 12236 struct mac_ax_fwstatus_payload { 12237 u32 dword0; 12238 u32 dword1; 12239 }; 12240 12241 /** 12242 * @struct mac_ax_ie_cam_cmd_info 12243 * @brief mac_ax_ie_cam_cmd_info 12244 * 12245 * @var mac_ax_ie_cam_cmd_info::en 12246 * Please Place Description here. 12247 * @var mac_ax_ie_cam_cmd_info::band 12248 * Please Place Description here. 12249 * @var mac_ax_ie_cam_cmd_info::port 12250 * Please Place Description here. 12251 * @var mac_ax_ie_cam_cmd_info::hit_en 12252 * Please Place Description here. 12253 * @var mac_ax_ie_cam_cmd_info::miss_en 12254 * Please Place Description here. 12255 * @var mac_ax_ie_cam_cmd_info::rst 12256 * Please Place Description here. 12257 * @var mac_ax_ie_cam_cmd_info::hit_sel 12258 * Please Place Description here. 12259 * @var mac_ax_ie_cam_cmd_info::miss_sel 12260 * Please Place Description here. 12261 * @var mac_ax_ie_cam_cmd_info::rsvd0 12262 * Please Place Description here. 12263 * @var mac_ax_ie_cam_cmd_info::num 12264 * Please Place Description here. 12265 * @var mac_ax_ie_cam_cmd_info::rsvd1 12266 * Please Place Description here. 12267 * @var mac_ax_ie_cam_cmd_info::buf 12268 * Please Place Description here. 12269 * @var mac_ax_ie_cam_cmd_info::buf_len 12270 * Please Place Description here. 12271 */ 12272 struct mac_ax_ie_cam_cmd_info { 12273 u8 en:1; 12274 u8 band:1; 12275 u8 port:3; 12276 u8 hit_en:1; 12277 u8 miss_en:1; 12278 u8 rst:1; 12279 u8 hit_sel:2; 12280 u8 miss_sel:2; 12281 u8 rsvd0:4; 12282 u8 num:5; 12283 u8 rsvd1:3; 12284 u8 *buf; 12285 u32 buf_len; 12286 }; 12287 12288 /** 12289 * @struct mac_ax_addr_cam_info 12290 * @brief mac_ax_addr_cam_info 12291 * 12292 * @var mac_ax_addr_cam_info::addr_cam_idx 12293 * Please Place Description here. 12294 * @var mac_ax_addr_cam_info::offset 12295 * Please Place Description here. 12296 * @var mac_ax_addr_cam_info::len 12297 * Please Place Description here. 12298 * @var mac_ax_addr_cam_info::valid 12299 * Please Place Description here. 12300 * @var mac_ax_addr_cam_info::net_type 12301 * Please Place Description here. 12302 * @var mac_ax_addr_cam_info::bcn_hit_cond 12303 * Please Place Description here. 12304 * @var mac_ax_addr_cam_info::hit_rule 12305 * Please Place Description here. 12306 * @var mac_ax_addr_cam_info::bb_sel 12307 * Please Place Description here. 12308 * @var mac_ax_addr_cam_info::addr_mask 12309 * Please Place Description here. 12310 * @var mac_ax_addr_cam_info::mask_sel 12311 * Please Place Description here. 12312 * @var mac_ax_addr_cam_info::bssid_cam_idx 12313 * Please Place Description here. 12314 * @var mac_ax_addr_cam_info::is_mul_ent 12315 * Please Place Description here. 12316 * @var mac_ax_addr_cam_info::sma 12317 * Please Place Description here. 12318 * @var mac_ax_addr_cam_info::tma 12319 * Please Place Description here. 12320 * @var mac_ax_addr_cam_info::macid 12321 * Please Place Description here. 12322 * @var mac_ax_addr_cam_info::port_int 12323 * Please Place Description here. 12324 * @var mac_ax_addr_cam_info::tsf_sync 12325 * Please Place Description here. 12326 * @var mac_ax_addr_cam_info::tf_trs 12327 * Please Place Description here. 12328 * @var mac_ax_addr_cam_info::lsig_txop 12329 * Please Place Description here. 12330 * @var mac_ax_addr_cam_info::tgt_ind 12331 * Please Place Description here. 12332 * @var mac_ax_addr_cam_info::frm_tgt_ind 12333 * Please Place Description here. 12334 * @var mac_ax_addr_cam_info::aid12 12335 * Please Place Description here. 12336 * @var mac_ax_addr_cam_info::wol_pattern 12337 * Please Place Description here. 12338 * @var mac_ax_addr_cam_info::wol_uc 12339 * Please Place Description here. 12340 * @var mac_ax_addr_cam_info::wol_magic 12341 * Please Place Description here. 12342 * @var mac_ax_addr_cam_info::wapi 12343 * Please Place Description here. 12344 * @var mac_ax_addr_cam_info::sec_ent_mode 12345 * Please Place Description here. 12346 * @var mac_ax_addr_cam_info::sec_ent_keyid 12347 * Please Place Description here. 12348 * @var mac_ax_addr_cam_info::sec_ent_valid 12349 * Please Place Description here. 12350 * @var mac_ax_addr_cam_info::sec_ent 12351 * Please Place Description here. 12352 */ 12353 struct mac_ax_addr_cam_info { 12354 u8 addr_cam_idx; /* Addr cam entry index */ 12355 u8 offset; /* Offset */ 12356 u8 len; /* Length */ 12357 u8 valid : 1; 12358 u8 net_type : 2; 12359 u8 bcn_hit_cond : 2; 12360 u8 hit_rule : 2; 12361 u8 bb_sel : 1; 12362 u8 addr_mask : 6; 12363 u8 mask_sel : 2; 12364 u8 bssid_cam_idx : 6; 12365 u8 is_mul_ent : 1; 12366 u8 sma[6]; 12367 u8 tma[6]; 12368 u8 macid; 12369 u8 port_int: 3; 12370 u8 tsf_sync: 3; 12371 u8 tf_trs: 1; 12372 u8 lsig_txop: 1; 12373 u8 tgt_ind: 3; 12374 u8 frm_tgt_ind: 3; 12375 u16 aid12: 12; 12376 u8 wol_pattern: 1; 12377 u8 wol_uc: 1; 12378 u8 wol_magic: 1; 12379 u8 wapi: 1; 12380 u8 sec_ent_mode: 2; 12381 u8 sec_ent_keyid[7]; 12382 u8 sec_ent_valid; 12383 u8 sec_ent[7]; 12384 }; 12385 12386 /** 12387 * @struct mac_ax_bssid_cam_info 12388 * @brief mac_ax_bssid_cam_info 12389 * 12390 * @var mac_ax_bssid_cam_info::bssid_cam_idx 12391 * Please Place Description here. 12392 * @var mac_ax_bssid_cam_info::offset 12393 * Please Place Description here. 12394 * @var mac_ax_bssid_cam_info::len 12395 * Please Place Description here. 12396 * @var mac_ax_bssid_cam_info::valid 12397 * Please Place Description here. 12398 * @var mac_ax_bssid_cam_info::bb_sel 12399 * Please Place Description here. 12400 * @var mac_ax_bssid_cam_info::bss_color 12401 * Please Place Description here. 12402 * @var mac_ax_bssid_cam_info::bssid 12403 * Please Place Description here. 12404 */ 12405 struct mac_ax_bssid_cam_info { 12406 u8 bssid_cam_idx; /* BSSID cam entry index */ 12407 u8 offset; /* Offset */ 12408 u8 len; /* Length */ 12409 u8 valid : 1; 12410 u8 bb_sel : 1; 12411 u8 addr_mask : 6; 12412 u8 bss_color : 7; 12413 u8 bssid[6]; 12414 }; 12415 12416 /** 12417 * @struct mac_ax_sec_cam_info 12418 * @brief mac_ax_sec_cam_info 12419 * 12420 * @var mac_ax_sec_cam_info::sec_cam_idx 12421 * Please Place Description here. 12422 * @var mac_ax_sec_cam_info::offset 12423 * Please Place Description here. 12424 * @var mac_ax_sec_cam_info::len 12425 * Please Place Description here. 12426 * @var mac_ax_sec_cam_info::type 12427 * Please Place Description here. 12428 * @var mac_ax_sec_cam_info::ext_key 12429 * Please Place Description here. 12430 * @var mac_ax_sec_cam_info::spp_mode 12431 * Please Place Description here. 12432 * @var mac_ax_sec_cam_info::key 12433 * Please Place Description here. 12434 */ 12435 struct mac_ax_sec_cam_info { 12436 u8 sec_cam_idx; /* Security cam entry index */ 12437 u8 offset; /* Offset */ 12438 u8 len; /* Length */ 12439 u8 type : 4; 12440 u8 ext_key : 1; 12441 u8 spp_mode : 1; 12442 u32 key[4]; 12443 }; 12444 12445 struct mac_ax_ftm_para { 12446 u8 pktid; 12447 u8 rsp_ch; 12448 u8 tsf_timer_offset; 12449 u8 asap; 12450 }; 12451 12452 /** 12453 * @struct mac_ax_macaddr 12454 * @brief mac_ax_macaddr 12455 * 12456 * @var mac_ax_macaddr::macaddr 12457 * Please Place Description here. 12458 */ 12459 struct mac_ax_macaddr { 12460 u8 macaddr[6]; 12461 }; 12462 12463 /** 12464 * @struct mac_ax_sta_init_info 12465 * @brief mac_ax_sta_init_info 12466 * 12467 * @var mac_ax_sta_init_info::macid 12468 * Please Place Description here. 12469 * @var mac_ax_sta_init_info::opmode 12470 * Please Place Description here. 12471 * @var mac_ax_sta_init_info::band 12472 * Please Place Description here. 12473 * @var mac_ax_sta_init_info::wmm 12474 * Please Place Description here. 12475 * @var mac_ax_sta_init_info::trigger 12476 * Please Place Description here. 12477 * @var mac_ax_sta_init_info::is_hesta 12478 * Please Place Description here. 12479 * @var mac_ax_sta_init_info::dl_bw 12480 * Please Place Description here. 12481 * @var mac_ax_sta_init_info::tf_mac_padding 12482 * Please Place Description here. 12483 * @var mac_ax_sta_init_info::dl_t_pe 12484 * Please Place Description here. 12485 * @var mac_ax_sta_init_info::port_id 12486 * Please Place Description here. 12487 * @var mac_ax_sta_init_info::net_type 12488 * Please Place Description here. 12489 * @var mac_ax_sta_init_info::wifi_role 12490 * Please Place Description here. 12491 * @var mac_ax_sta_init_info::self_role 12492 * Please Place Description here. 12493 */ 12494 struct mac_ax_sta_init_info { 12495 u8 macid; 12496 u8 opmode:1; 12497 u8 band:1; 12498 u8 wmm:2; 12499 u8 trigger:1; 12500 u8 is_hesta: 1; 12501 u8 dl_bw: 2; 12502 u8 tf_mac_padding:2; 12503 u8 dl_t_pe:3; 12504 u8 port_id:3; 12505 u8 net_type:2; 12506 u8 wifi_role:4; 12507 u8 self_role:2; 12508 }; 12509 12510 /** 12511 * @struct mac_ax_fwrole_maintain 12512 * @brief mac_ax_fwrole_maintain 12513 * 12514 * @var mac_ax_fwrole_maintain::macid 12515 * Please Place Description here. 12516 * @var mac_ax_fwrole_maintain::self_role 12517 * Please Place Description here. 12518 * @var mac_ax_fwrole_maintain::upd_mode 12519 * Please Place Description here. 12520 * @var mac_ax_fwrole_maintain::wifi_role 12521 * Please Place Description here. 12522 */ 12523 struct mac_ax_fwrole_maintain { 12524 u8 macid; 12525 u8 self_role : 2; 12526 u8 upd_mode : 3; 12527 u8 wifi_role : 4; 12528 }; 12529 12530 /** 12531 * @struct mac_ax_cctl_info 12532 * @brief mac_ax_cctl_info 12533 * 12534 * @var mac_ax_cctl_info::datarate 12535 * Please Place Description here. 12536 * @var mac_ax_cctl_info::force_txop 12537 * Please Place Description here. 12538 * @var mac_ax_cctl_info::data_bw 12539 * Please Place Description here. 12540 * @var mac_ax_cctl_info::data_gi_ltf 12541 * Please Place Description here. 12542 * @var mac_ax_cctl_info::darf_tc_index 12543 * Please Place Description here. 12544 * @var mac_ax_cctl_info::arfr_ctrl 12545 * Please Place Description here. 12546 * @var mac_ax_cctl_info::acq_rpt_en 12547 * Please Place Description here. 12548 * @var mac_ax_cctl_info::mgq_rpt_en 12549 * Please Place Description here. 12550 * @var mac_ax_cctl_info::ulq_rpt_en 12551 * Please Place Description here. 12552 * @var mac_ax_cctl_info::twtq_rpt_en 12553 * Please Place Description here. 12554 * @var mac_ax_cctl_info::rsvd0 12555 * Please Place Description here. 12556 * @var mac_ax_cctl_info::disrtsfb 12557 * Please Place Description here. 12558 * @var mac_ax_cctl_info::disdatafb 12559 * Please Place Description here. 12560 * @var mac_ax_cctl_info::tryrate 12561 * Please Place Description here. 12562 * @var mac_ax_cctl_info::ampdu_density 12563 * Please Place Description here. 12564 * @var mac_ax_cctl_info::data_rty_lowest_rate 12565 * Please Place Description here. 12566 * @var mac_ax_cctl_info::ampdu_time_sel 12567 * Please Place Description here. 12568 * @var mac_ax_cctl_info::ampdu_len_sel 12569 * Please Place Description here. 12570 * @var mac_ax_cctl_info::rts_txcnt_lmt_sel 12571 * Please Place Description here. 12572 * @var mac_ax_cctl_info::rts_txcnt_lmt 12573 * Please Place Description here. 12574 * @var mac_ax_cctl_info::rtsrate 12575 * Please Place Description here. 12576 * @var mac_ax_cctl_info::rsvd1 12577 * Please Place Description here. 12578 * @var mac_ax_cctl_info::vcs_stbc 12579 * Please Place Description here. 12580 * @var mac_ax_cctl_info::rts_rty_lowest_rate 12581 * Please Place Description here. 12582 * @var mac_ax_cctl_info::data_tx_cnt_lmt 12583 * Please Place Description here. 12584 * @var mac_ax_cctl_info::data_txcnt_lmt_sel 12585 * Please Place Description here. 12586 * @var mac_ax_cctl_info::max_agg_num_sel 12587 * Please Place Description here. 12588 * @var mac_ax_cctl_info::rts_en 12589 * Please Place Description here. 12590 * @var mac_ax_cctl_info::cts2self_en 12591 * Please Place Description here. 12592 * @var mac_ax_cctl_info::cca_rts 12593 * Please Place Description here. 12594 * @var mac_ax_cctl_info::hw_rts_en 12595 * Please Place Description here. 12596 * @var mac_ax_cctl_info::rts_drop_data_mode 12597 * Please Place Description here. 12598 * @var mac_ax_cctl_info::rsvd2 12599 * Please Place Description here. 12600 * @var mac_ax_cctl_info::ampdu_max_len 12601 * Please Place Description here. 12602 * @var mac_ax_cctl_info::ul_mu_dis 12603 * Please Place Description here. 12604 * @var mac_ax_cctl_info::ampdu_max_time 12605 * Please Place Description here. 12606 * @var mac_ax_cctl_info::max_agg_num 12607 * Please Place Description here. 12608 * @var mac_ax_cctl_info::ba_bmap 12609 * Please Place Description here. 12610 * @var mac_ax_cctl_info::rsvd3 12611 * Please Place Description here. 12612 * @var mac_ax_cctl_info::vo_lftime_sel 12613 * Please Place Description here. 12614 * @var mac_ax_cctl_info::vi_lftime_sel 12615 * Please Place Description here. 12616 * @var mac_ax_cctl_info::be_lftime_sel 12617 * Please Place Description here. 12618 * @var mac_ax_cctl_info::bk_lftime_sel 12619 * Please Place Description here. 12620 * @var mac_ax_cctl_info::sectype 12621 * Please Place Description here. 12622 * @var mac_ax_cctl_info::multi_port_id 12623 * Please Place Description here. 12624 * @var mac_ax_cctl_info::bmc 12625 * Please Place Description here. 12626 * @var mac_ax_cctl_info::mbssid 12627 * Please Place Description here. 12628 * @var mac_ax_cctl_info::navusehdr 12629 * Please Place Description here. 12630 * @var mac_ax_cctl_info::txpwr_mode 12631 * Please Place Description here. 12632 * @var mac_ax_cctl_info::data_dcm 12633 * Please Place Description here. 12634 * @var mac_ax_cctl_info::data_er 12635 * Please Place Description here. 12636 * @var mac_ax_cctl_info::data_ldpc 12637 * Please Place Description here. 12638 * @var mac_ax_cctl_info::data_stbc 12639 * Please Place Description here. 12640 * @var mac_ax_cctl_info::a_ctrl_bqr 12641 * Please Place Description here. 12642 * @var mac_ax_cctl_info::a_ctrl_uph 12643 * Please Place Description here. 12644 * @var mac_ax_cctl_info::a_ctrl_bsr 12645 * Please Place Description here. 12646 * @var mac_ax_cctl_info::a_ctrl_cas 12647 * Please Place Description here. 12648 * @var mac_ax_cctl_info::data_bw_er 12649 * Please Place Description here. 12650 * @var mac_ax_cctl_info::lsig_txop_en 12651 * Please Place Description here. 12652 * @var mac_ax_cctl_info::rsvd4 12653 * Please Place Description here. 12654 * @var mac_ax_cctl_info::ctrl_cnt_vld 12655 * Please Place Description here. 12656 * @var mac_ax_cctl_info::ctrl_cnt 12657 * Please Place Description here. 12658 * @var mac_ax_cctl_info::resp_ref_rate 12659 * Please Place Description here. 12660 * @var mac_ax_cctl_info::rsvd5 12661 * Please Place Description here. 12662 * @var mac_ax_cctl_info::all_ack_support 12663 * Please Place Description here. 12664 * @var mac_ax_cctl_info::bsr_queue_size_format 12665 * Please Place Description here. 12666 * @var mac_ax_cctl_info::rsvd6 12667 * Please Place Description here. 12668 * @var mac_ax_cctl_info::rsvd7 12669 * Please Place Description here. 12670 * @var mac_ax_cctl_info::ntx_path_en 12671 * Please Place Description here. 12672 * @var mac_ax_cctl_info::path_map_a 12673 * Please Place Description here. 12674 * @var mac_ax_cctl_info::path_map_b 12675 * Please Place Description here. 12676 * @var mac_ax_cctl_info::path_map_c 12677 * Please Place Description here. 12678 * @var mac_ax_cctl_info::path_map_d 12679 * Please Place Description here. 12680 * @var mac_ax_cctl_info::antsel_a 12681 * Please Place Description here. 12682 * @var mac_ax_cctl_info::antsel_b 12683 * Please Place Description here. 12684 * @var mac_ax_cctl_info::antsel_c 12685 * Please Place Description here. 12686 * @var mac_ax_cctl_info::antsel_d 12687 * Please Place Description here. 12688 * @var mac_ax_cctl_info::addr_cam_index 12689 * Please Place Description here. 12690 * @var mac_ax_cctl_info::paid 12691 * Please Place Description here. 12692 * @var mac_ax_cctl_info::uldl 12693 * Please Place Description here. 12694 * @var mac_ax_cctl_info::doppler_ctrl 12695 * Please Place Description here. 12696 * @var mac_ax_cctl_info::nominal_pkt_padding 12697 * Please Place Description here. 12698 * @var mac_ax_cctl_info::nominal_pkt_padding40 12699 * Please Place Description here. 12700 * @var mac_ax_cctl_info::txpwr_tolerence 12701 * Please Place Description here. 12702 * @var mac_ax_cctl_info::rsvd9 12703 * Please Place Description here. 12704 * @var mac_ax_cctl_info::nominal_pkt_padding80 12705 * Please Place Description here. 12706 * @var mac_ax_cctl_info::nc 12707 * Please Place Description here. 12708 * @var mac_ax_cctl_info::nr 12709 * Please Place Description here. 12710 * @var mac_ax_cctl_info::ng 12711 * Please Place Description here. 12712 * @var mac_ax_cctl_info::cb 12713 * Please Place Description here. 12714 * @var mac_ax_cctl_info::cs 12715 * Please Place Description here. 12716 * @var mac_ax_cctl_info::csi_txbf_en 12717 * Please Place Description here. 12718 * @var mac_ax_cctl_info::csi_stbc_en 12719 * Please Place Description here. 12720 * @var mac_ax_cctl_info::csi_ldpc_en 12721 * Please Place Description here. 12722 * @var mac_ax_cctl_info::csi_para_en 12723 * Please Place Description here. 12724 * @var mac_ax_cctl_info::csi_fix_rate 12725 * Please Place Description here. 12726 * @var mac_ax_cctl_info::csi_gi_ltf 12727 * Please Place Description here. 12728 * @var mac_ax_cctl_info::nominal_pkt_padding160 12729 * Please Place Description here. 12730 * @var mac_ax_cctl_info::csi_bw 12731 * Please Place Description here. 12732 */ 12733 struct mac_ax_cctl_info { 12734 /* dword 0 */ 12735 u32 datarate:9; 12736 u32 force_txop:1; 12737 u32 data_bw:2; 12738 u32 data_gi_ltf:3; 12739 u32 darf_tc_index:1; 12740 u32 arfr_ctrl:4; 12741 u32 acq_rpt_en:1; 12742 u32 mgq_rpt_en:1; 12743 u32 ulq_rpt_en:1; 12744 u32 twtq_rpt_en:1; 12745 u32 rsvd0:1; 12746 u32 disrtsfb:1; 12747 u32 disdatafb:1; 12748 u32 tryrate:1; 12749 u32 ampdu_density:4; 12750 /* dword 1 */ 12751 u32 data_rty_lowest_rate:9; 12752 u32 ampdu_time_sel:1; 12753 u32 ampdu_len_sel:1; 12754 u32 rts_txcnt_lmt_sel:1; 12755 u32 rts_txcnt_lmt:4; 12756 u32 rtsrate:9; 12757 u32 rsvd1:2; 12758 u32 vcs_stbc:1; 12759 u32 rts_rty_lowest_rate:4; 12760 /* dword 2 */ 12761 u32 data_tx_cnt_lmt:6; 12762 u32 data_txcnt_lmt_sel:1; 12763 u32 max_agg_num_sel:1; 12764 u32 rts_en:1; 12765 u32 cts2self_en:1; 12766 u32 cca_rts:2; 12767 u32 hw_rts_en:1; 12768 u32 rts_drop_data_mode:2; 12769 u32 rsvd2:1; 12770 u32 ampdu_max_len:11; 12771 u32 ul_mu_dis:1; 12772 u32 ampdu_max_time:4; 12773 /* dword 3 */ 12774 u32 max_agg_num:8; 12775 u32 ba_bmap:2; 12776 u32 rsvd3:6; 12777 u32 vo_lftime_sel:3; 12778 u32 vi_lftime_sel:3; 12779 u32 be_lftime_sel:3; 12780 u32 bk_lftime_sel:3; 12781 u32 sectype:4; 12782 /* dword 4 */ 12783 u32 multi_port_id:3; 12784 u32 bmc:1; 12785 u32 mbssid:4; 12786 u32 navusehdr:1; 12787 u32 txpwr_mode:3; 12788 u32 data_dcm:1; 12789 u32 data_er:1; 12790 u32 data_ldpc:1; 12791 u32 data_stbc:1; 12792 u32 a_ctrl_bqr:1; 12793 u32 a_ctrl_uph:1; 12794 u32 a_ctrl_bsr:1; 12795 u32 a_ctrl_cas:1; 12796 u32 data_bw_er:1; 12797 u32 lsig_txop_en:1; 12798 u32 rsvd4:5; 12799 u32 ctrl_cnt_vld:1; 12800 u32 ctrl_cnt:4; 12801 /* dword 5 */ 12802 u32 resp_ref_rate:9; 12803 u32 rsvd5:3; 12804 u32 all_ack_support:1; 12805 u32 bsr_queue_size_format:1; 12806 u32 rsvd6:1; 12807 u32 rsvd7:1; 12808 u32 ntx_path_en:4; 12809 u32 path_map_a:2; 12810 u32 path_map_b:2; 12811 u32 path_map_c:2; 12812 u32 path_map_d:2; 12813 u32 antsel_a:1; 12814 u32 antsel_b:1; 12815 u32 antsel_c:1; 12816 u32 antsel_d:1; 12817 /* dword 6 */ 12818 u32 addr_cam_index:8; 12819 u32 paid:9; 12820 u32 uldl:1; 12821 u32 doppler_ctrl:2; 12822 u32 nominal_pkt_padding:2; 12823 u32 nominal_pkt_padding40:2; 12824 u32 txpwr_tolerence:4; 12825 u32 rsvd9:2; 12826 u32 nominal_pkt_padding80:2; 12827 /* dword 7 */ 12828 u32 nc:3; 12829 u32 nr:3; 12830 u32 ng:2; 12831 u32 cb:2; 12832 u32 cs:2; 12833 u32 csi_txbf_en:1; 12834 u32 csi_stbc_en:1; 12835 u32 csi_ldpc_en:1; 12836 u32 csi_para_en:1; 12837 u32 csi_fix_rate:9; 12838 u32 csi_gi_ltf:3; 12839 u32 nominal_pkt_padding160:2; 12840 u32 csi_bw:2; 12841 }; 12842 12843 /** 12844 * @struct mac_ax_dctl_info 12845 * @brief mac_ax_dctl_info 12846 * 12847 * @var mac_ax_dctl_info::qos_field_h 12848 * Please Place Description here. 12849 * @var mac_ax_dctl_info::hw_exseq_macid 12850 * Please Place Description here. 12851 * @var mac_ax_dctl_info::qos_field_h_en 12852 * Please Place Description here. 12853 * @var mac_ax_dctl_info::aes_iv_l 12854 * Please Place Description here. 12855 * @var mac_ax_dctl_info::aes_iv_h 12856 * Please Place Description here. 12857 * @var mac_ax_dctl_info::seq0 12858 * Please Place Description here. 12859 * @var mac_ax_dctl_info::seq1 12860 * Please Place Description here. 12861 * @var mac_ax_dctl_info::amsdu_max_length 12862 * Please Place Description here. 12863 * @var mac_ax_dctl_info::sta_amsdu_en 12864 * Please Place Description here. 12865 * @var mac_ax_dctl_info::chksum_offload_en 12866 * Please Place Description here. 12867 * @var mac_ax_dctl_info::with_llc 12868 * Please Place Description here. 12869 * @var mac_ax_dctl_info::rsvd0 12870 * Please Place Description here. 12871 * @var mac_ax_dctl_info::sec_hw_enc 12872 * Please Place Description here. 12873 * @var mac_ax_dctl_info::seq2 12874 * Please Place Description here. 12875 * @var mac_ax_dctl_info::seq3 12876 * Please Place Description here. 12877 * @var mac_ax_dctl_info::sec_cam_idx 12878 * Please Place Description here. 12879 */ 12880 struct mac_ax_dctl_info { 12881 /* dword 0 */ 12882 u32 qos_field_h:8; 12883 u32 hw_exseq_macid:7; 12884 u32 qos_field_h_en:1; 12885 u32 aes_iv_l:16; 12886 /* dword 1 */ 12887 u32 aes_iv_h:32; 12888 /* dword 2 */ 12889 u32 seq0:12; 12890 u32 seq1:12; 12891 u32 amsdu_max_length:3; 12892 u32 sta_amsdu_en:1; 12893 u32 chksum_offload_en:1; 12894 u32 with_llc:1; 12895 u32 rsvd0:1; 12896 u32 sec_hw_enc:1; 12897 /* dword 3 */ 12898 u32 seq2:12; 12899 u32 seq3:12; 12900 u32 sec_cam_idx:8; 12901 }; 12902 12903 /** 12904 * struct mac_ax_role_info - role information 12905 * @macid: MAC ID. 12906 * @band: Band selection, band0 or band1. 12907 * @wmm: WMM selection, wmm0 ow wmm1. 12908 * There are four sets about band and wmm, 12909 * band0+wmm0, band0+wmm1, band1+wmm0,band1+wmm1. 12910 */ 12911 12912 /** 12913 * @struct mac_ax_role_info 12914 * @brief mac_ax_role_info 12915 * 12916 * @var mac_ax_role_info::self_role 12917 * Please Place Description here. 12918 * @var mac_ax_role_info::wifi_role 12919 * Please Place Description here. 12920 * @var mac_ax_role_info::net_type 12921 * Please Place Description here. 12922 * @var mac_ax_role_info::upd_mode 12923 * Please Place Description here. 12924 * @var mac_ax_role_info::opmode 12925 * Please Place Description here. 12926 * @var mac_ax_role_info::band 12927 * Please Place Description here. 12928 * @var mac_ax_role_info::port 12929 * Please Place Description here. 12930 * @var mac_ax_role_info::macid 12931 * Please Place Description here. 12932 * @var mac_ax_role_info::self_mac 12933 * Please Place Description here. 12934 * @var mac_ax_role_info::target_mac 12935 * Please Place Description here. 12936 * @var mac_ax_role_info::bssid 12937 * Please Place Description here. 12938 * @var mac_ax_role_info::bss_color 12939 * Please Place Description here. 12940 * @var mac_ax_role_info::bcn_hit_cond 12941 * Please Place Description here. 12942 * @var mac_ax_role_info::hit_rule 12943 * Please Place Description here. 12944 * @var mac_ax_role_info::is_mul_ent 12945 * Please Place Description here. 12946 * @var mac_ax_role_info::tsf_sync 12947 * Please Place Description here. 12948 * @var mac_ax_role_info::trigger 12949 * Please Place Description here. 12950 * @var mac_ax_role_info::lsig_txop 12951 * Please Place Description here. 12952 * @var mac_ax_role_info::tgt_ind 12953 * Please Place Description here. 12954 * @var mac_ax_role_info::frm_tgt_ind 12955 * Please Place Description here. 12956 * @var mac_ax_role_info::wol_pattern 12957 * Please Place Description here. 12958 * @var mac_ax_role_info::wol_uc 12959 * Please Place Description here. 12960 * @var mac_ax_role_info::wol_magic 12961 * Please Place Description here. 12962 * @var mac_ax_role_info::wapi 12963 * Please Place Description here. 12964 * @var mac_ax_role_info::sec_ent_mode 12965 * Please Place Description here. 12966 * @var mac_ax_role_info::wmm 12967 * Please Place Description here. 12968 * @var mac_ax_role_info::dbcc_role 12969 * Please Place Description here. 12970 * @var mac_ax_role_info::is_hesta 12971 * Please Place Description here. 12972 * @var mac_ax_role_info::dl_bw 12973 * Please Place Description here. 12974 * @var mac_ax_role_info::tf_mac_padding 12975 * Please Place Description here. 12976 * @var mac_ax_role_info::dl_t_pe 12977 * Please Place Description here. 12978 * @var mac_ax_role_info::aid 12979 * Please Place Description here. 12980 * @var mac_ax_role_info::a_info 12981 * Please Place Description here. 12982 * @var mac_ax_role_info::b_info 12983 * Please Place Description here. 12984 * @var mac_ax_role_info::s_info 12985 * Please Place Description here. 12986 * @var mac_ax_role_info::c_info 12987 * Please Place Description here. 12988 */ 12989 struct mac_ax_role_info { 12990 enum mac_ax_self_role self_role; 12991 enum mac_ax_wifi_role wifi_role; 12992 enum mac_ax_net_type net_type; 12993 enum mac_ax_upd_mode upd_mode; 12994 enum mac_ax_opmode opmode; 12995 enum mac_ax_band band; 12996 enum mac_ax_port port; 12997 enum mac_ax_addr_msk_sel mask_sel; 12998 enum mac_ax_addr_msk addr_mask; 12999 u8 macid; 13000 u8 self_mac[6]; 13001 u8 target_mac[6]; 13002 u8 bssid[6]; 13003 13004 u8 bss_color:6; 13005 u8 bcn_hit_cond:2; 13006 13007 u8 hit_rule:2; 13008 u8 is_mul_ent:1; 13009 u8 tsf_sync:3; 13010 u8 trigger:1; 13011 u8 lsig_txop:1; 13012 13013 u8 tgt_ind:3; 13014 u8 frm_tgt_ind:3; 13015 u8 wol_pattern:1; 13016 u8 wol_uc:1; 13017 13018 u8 wol_magic:1; 13019 u8 wapi:1; 13020 u8 sec_ent_mode:2; 13021 u8 wmm:2; 13022 u8 dbcc_role:1; 13023 u8 rsvd:1; 13024 13025 u8 is_hesta:1; 13026 u8 dl_bw:2; 13027 u8 tf_mac_padding:2; 13028 u8 dl_t_pe: 3; 13029 13030 u16 aid; 13031 struct mac_ax_addr_cam_info a_info; 13032 struct mac_ax_bssid_cam_info b_info; 13033 struct mac_ax_sec_cam_info s_info; 13034 struct rtw_hal_mac_ax_cctl_info c_info; 13035 }; 13036 13037 /** 13038 * @struct mac_role_tbl 13039 * @brief mac_role_tbl 13040 * 13041 * @var mac_role_tbl::next 13042 * Please Place Description here. 13043 * @var mac_role_tbl::prev 13044 * Please Place Description here. 13045 * @var mac_role_tbl::info 13046 * Please Place Description here. 13047 * @var mac_role_tbl::macid 13048 * Please Place Description here. 13049 * @var mac_role_tbl::wmm 13050 * Please Place Description here. 13051 */ 13052 struct mac_role_tbl { 13053 /* keep first */ 13054 struct mac_role_tbl *next; 13055 struct mac_role_tbl *prev; 13056 struct mac_ax_role_info info; 13057 u8 macid; 13058 u8 wmm; 13059 }; 13060 13061 /** 13062 * @struct mac_role_tbl_head 13063 * @brief mac_role_tbl_head 13064 * 13065 * @var mac_role_tbl_head::next 13066 * Please Place Description here. 13067 * @var mac_role_tbl_head::prev 13068 * Please Place Description here. 13069 * @var mac_role_tbl_head::role_tbl_pool 13070 * Please Place Description here. 13071 * @var mac_role_tbl_head::qlen 13072 * Please Place Description here. 13073 * @var mac_role_tbl_head::lock 13074 * Please Place Description here. 13075 */ 13076 struct mac_role_tbl_head { 13077 /* keep first */ 13078 struct mac_role_tbl *next; 13079 struct mac_role_tbl *prev; 13080 struct mac_role_tbl_head *role_tbl_pool; 13081 u32 qlen; 13082 mac_ax_mutex lock; 13083 }; 13084 13085 /** 13086 * @struct mac_ax_coex 13087 * @brief mac_ax_coex 13088 * 13089 * @var mac_ax_coex::pta_mode 13090 * Please Place Description here. 13091 * @var mac_ax_coex::direction 13092 * Please Place Description here. 13093 */ 13094 struct mac_ax_coex { 13095 #define MAC_AX_COEX_RTK_MODE 0 13096 #define MAC_AX_COEX_CSR_MODE 1 13097 u8 pta_mode; 13098 #define MAC_AX_COEX_INNER 0 13099 #define MAC_AX_COEX_OUTPUT 1 13100 #define MAC_AX_COEX_INPUT 2 13101 u8 direction; 13102 }; 13103 13104 /** 13105 * @struct mac_ax_port_tsf 13106 * @brief mac_ax_port_tsf 13107 * 13108 * @var mac_ax_port_tsf::tsf_l 13109 * Please Place Description here. 13110 * @var mac_ax_port_tsf::tsf_h 13111 * Please Place Description here. 13112 * @var mac_ax_port_tsf::port 13113 * Please Place Description here. 13114 */ 13115 struct mac_ax_port_tsf { 13116 u32 tsf_l; 13117 u32 tsf_h; 13118 u8 port; 13119 }; 13120 13121 /** 13122 * @struct mac_ax_gnt 13123 * @brief mac_ax_gnt 13124 * 13125 * @var mac_ax_gnt::gnt_bt_sw_en 13126 * Please Place Description here. 13127 * @var mac_ax_gnt::gnt_bt 13128 * Please Place Description here. 13129 * @var mac_ax_gnt::gnt_wl_sw_en 13130 * Please Place Description here. 13131 * @var mac_ax_gnt::gnt_wl 13132 * Please Place Description here. 13133 */ 13134 struct mac_ax_gnt { 13135 u8 gnt_bt_sw_en; 13136 u8 gnt_bt; 13137 u8 gnt_wl_sw_en; 13138 u8 gnt_wl; 13139 }; 13140 13141 /** 13142 * @struct mac_ax_coex_gnt 13143 * @brief mac_ax_coex_gnt 13144 * 13145 * @var mac_ax_coex_gnt::band0 13146 * Please Place Description here. 13147 * @var mac_ax_coex_gnt::band1 13148 * Please Place Description here. 13149 */ 13150 struct mac_ax_coex_gnt { 13151 struct mac_ax_gnt band0; 13152 struct mac_ax_gnt band1; 13153 }; 13154 13155 /** 13156 * @struct mac_ax_plt 13157 * @brief mac_ax_plt 13158 * 13159 * @var mac_ax_plt::band 13160 * Please Place Description here. 13161 * @var mac_ax_plt::tx 13162 * Please Place Description here. 13163 * @var mac_ax_plt::rx 13164 * Please Place Description here. 13165 */ 13166 struct mac_ax_plt { 13167 #define MAC_AX_PLT_LTE_RX BIT(0) 13168 #define MAC_AX_PLT_GNT_BT_TX BIT(1) 13169 #define MAC_AX_PLT_GNT_BT_RX BIT(2) 13170 #define MAC_AX_PLT_GNT_WL BIT(3) 13171 u8 band; 13172 u8 tx; 13173 u8 rx; 13174 }; 13175 13176 /** 13177 * @struct mac_ax_rx_cnt 13178 * @brief mac_ax_rx_cnt 13179 * 13180 * @var mac_ax_rx_cnt::type 13181 * Please Place Description here. 13182 * @var mac_ax_rx_cnt::op 13183 * Please Place Description here. 13184 * @var mac_ax_rx_cnt::idx 13185 * Please Place Description here. 13186 * @var mac_ax_rx_cnt::band 13187 * Please Place Description here. 13188 * @var mac_ax_rx_cnt::buf 13189 * Please Place Description here. 13190 */ 13191 struct mac_ax_rx_cnt { 13192 #define MAC_AX_RX_CRC_OK 0 13193 #define MAC_AX_RX_CRC_FAIL 1 13194 #define MAC_AX_RX_FA 2 13195 #define MAC_AX_RX_PPDU 3 13196 #define MAC_AX_RX_IDX 4 13197 u8 type; 13198 #define MAC_AX_RXCNT_R 0 13199 #define MAC_AX_RXCNT_RST_ALL 1 13200 u8 op; 13201 u8 idx; 13202 u8 band; 13203 u16 *buf; 13204 }; 13205 13206 /** 13207 * @struct mac_ax_tx_cnt 13208 * @brief mac_ax_tx_cnt 13209 * 13210 * @var mac_ax_tx_cnt::band 13211 * Please Place Description here. 13212 * @var mac_ax_tx_cnt::sel 13213 * Please Place Description here. 13214 * @var mac_ax_tx_cnt::txcnt 13215 * Please Place Description here. 13216 */ 13217 struct mac_ax_tx_cnt { 13218 #define MAC_AX_TX_LCCK 0 13219 #define MAC_AX_TX_SCCK 1 13220 #define MAC_AX_TX_OFDM 2 13221 #define MAC_AX_TX_HT 3 13222 #define MAC_AX_TX_HTGF 4 13223 #define MAC_AX_TX_VHTSU 5 13224 #define MAC_AX_TX_VHTMU 6 13225 #define MAC_AX_TX_HESU 7 13226 #define MAC_AX_TX_HEERSU 8 13227 #define MAC_AX_TX_HEMU 9 13228 #define MAC_AX_TX_HETB 10 13229 #define MAC_AX_TX_ALLTYPE 11 13230 u8 band; 13231 u8 sel; 13232 u16 txcnt[MAC_AX_TX_ALLTYPE]; 13233 }; 13234 13235 /** 13236 * @struct mac_ax_mcc_role 13237 * @brief mac_ax_mcc_role 13238 * 13239 * @var mac_ax_mcc_role::macid 13240 * Please Place Description here. 13241 * @var mac_ax_mcc_role::central_ch_seg0 13242 * Please Place Description here. 13243 * @var mac_ax_mcc_role::central_ch_seg1 13244 * Please Place Description here. 13245 * @var mac_ax_mcc_role::primary_ch 13246 * Please Place Description here. 13247 * @var mac_ax_mcc_role::bandwidth 13248 * Please Place Description here. 13249 * @var mac_ax_mcc_role::group 13250 * Please Place Description here. 13251 * @var mac_ax_mcc_role::c2h_rpt 13252 * Please Place Description here. 13253 * @var mac_ax_mcc_role::dis_tx_null 13254 * Please Place Description here. 13255 * @var mac_ax_mcc_role::dis_sw_retry 13256 * Please Place Description here. 13257 * @var mac_ax_mcc_role::in_curr_ch 13258 * Please Place Description here. 13259 * @var mac_ax_mcc_role::sw_retry_count 13260 * Please Place Description here. 13261 * @var mac_ax_mcc_role::tx_null_early 13262 * Please Place Description here. 13263 * @var mac_ax_mcc_role::rsvd0 13264 * Please Place Description here. 13265 * @var mac_ax_mcc_role::duration 13266 * Please Place Description here. 13267 */ 13268 struct mac_ax_mcc_role { 13269 /* dword0 */ 13270 u32 macid: 8; 13271 u32 central_ch_seg0: 8; 13272 u32 central_ch_seg1: 8; 13273 u32 primary_ch: 8; 13274 /* dword1 */ 13275 enum channel_width bandwidth: 4; 13276 u32 group: 2; 13277 #define MCC_C2H_RPT_OFF 0 13278 #define MCC_C2H_RPT_FAIL_ONLY 1 13279 #define MCC_C2H_RPT_ALL 2 13280 u32 c2h_rpt: 2; 13281 u32 dis_tx_null: 1; 13282 u32 dis_sw_retry: 1; 13283 u32 in_curr_ch: 1; 13284 u32 sw_retry_count: 3; 13285 u32 tx_null_early: 4; 13286 u32 btc_in_2g: 1; 13287 u32 pta_en: 1; 13288 u32 rfk_by_pass: 1; 13289 u32 rsvd0: 11; 13290 /* dword2 */ 13291 u32 duration: 32; 13292 /* dword3 */ 13293 u8 courtesy_en; 13294 u8 courtesy_num; 13295 u8 courtesy_target; 13296 u8 rsvd1; 13297 }; 13298 13299 struct mac_ax_mcc_start { 13300 /* dword0 */ 13301 u32 group: 2; 13302 u32 btc_in_group: 1; 13303 u32 old_group_action: 2; 13304 u32 old_group:2; 13305 u32 rsvd0: 17; 13306 u32 macid: 8; 13307 /* dword1 */ 13308 u32 tsf_low; 13309 /* dword2 */ 13310 u32 tsf_high; 13311 }; 13312 13313 /** 13314 * @struct mac_ax_mcc_duration_info 13315 * @brief mac_ax_mcc_duration_info 13316 * 13317 * @var mac_ax_mcc_duration_info::group 13318 * Please Place Description here. 13319 * @var mac_ax_mcc_duration_info::rsvd0 13320 * Please Place Description here. 13321 * @var mac_ax_mcc_duration_info::start_macid 13322 * Please Place Description here. 13323 * @var mac_ax_mcc_duration_info::macid_x 13324 * Please Place Description here. 13325 * @var mac_ax_mcc_duration_info::macid_y 13326 * Please Place Description here. 13327 * @var mac_ax_mcc_duration_info::start_tsf_low 13328 * Please Place Description here. 13329 * @var mac_ax_mcc_duration_info::start_tsf_high 13330 * Please Place Description here. 13331 * @var mac_ax_mcc_duration_info::duration_x 13332 * Please Place Description here. 13333 * @var mac_ax_mcc_duration_info::duration_y 13334 * Please Place Description here. 13335 */ 13336 struct mac_ax_mcc_duration_info { 13337 /* dword0 */ 13338 u32 group: 2; 13339 u32 btc_in_group:1; 13340 u32 rsvd0: 5; 13341 u32 start_macid: 8; 13342 u32 macid_x: 8; 13343 u32 macid_y: 8; 13344 /* dword1 */ 13345 u32 start_tsf_low; 13346 /* dword2 */ 13347 u32 start_tsf_high; 13348 /* dword3 */ 13349 u32 duration_x; 13350 /* dword4 */ 13351 u32 duration_y; 13352 }; 13353 13354 /** 13355 * @struct mac_ax_mcc_group 13356 * @brief mac_ax_mcc_group 13357 * 13358 * @var mac_ax_mcc_group::rpt_status 13359 * Please Place Description here. 13360 * @var mac_ax_mcc_group::rpt_macid 13361 * Please Place Description here. 13362 * @var mac_ax_mcc_group::macid_x 13363 * Please Place Description here. 13364 * @var mac_ax_mcc_group::macid_y 13365 * Please Place Description here. 13366 * @var mac_ax_mcc_group::rpt_tsf_high 13367 * Please Place Description here. 13368 * @var mac_ax_mcc_group::rpt_tsf_low 13369 * Please Place Description here. 13370 * @var mac_ax_mcc_group::tsf_x_high 13371 * Please Place Description here. 13372 * @var mac_ax_mcc_group::tsf_x_low 13373 * Please Place Description here. 13374 * @var mac_ax_mcc_group::tsf_y_high 13375 * Please Place Description here. 13376 * @var mac_ax_mcc_group::tsf_y_low 13377 * Please Place Description here. 13378 */ 13379 struct mac_ax_mcc_group { 13380 u8 rpt_status; 13381 u8 rpt_macid; 13382 u8 macid_x; 13383 u8 macid_y; 13384 u32 rpt_tsf_high; 13385 u32 rpt_tsf_low; 13386 u32 tsf_x_high; 13387 u32 tsf_x_low; 13388 u32 tsf_y_high; 13389 u32 tsf_y_low; 13390 }; 13391 13392 /** 13393 * @struct mac_ax_mcc_group_info 13394 * @brief mac_ax_mcc_group_info 13395 * 13396 * @var mac_ax_mcc_group_info::groups 13397 * Please Place Description here. 13398 */ 13399 struct mac_ax_mcc_group_info { 13400 struct mac_ax_mcc_group groups[4]; 13401 }; 13402 13403 /** 13404 * @struct mac_ax_tx_tf_info 13405 * @brief mac_ax_tx_tf_info 13406 * 13407 * @var mac_ax_tx_tf_info::tx_tf_infol 13408 * Please Place Description here. 13409 * @var mac_ax_tx_tf_info::tx_tf_infoh 13410 * Please Place Description here. 13411 * @var mac_ax_tx_tf_info::tx_tf_infosel 13412 * Please Place Description here. 13413 */ 13414 struct mac_ax_tx_tf_info { 13415 u32 tx_tf_infol; 13416 u32 tx_tf_infoh; 13417 u8 tx_tf_infosel;//4:common info; 0~3: user0 ~ user3 info 13418 }; 13419 13420 /** 13421 * @struct mac_ax_sr_info 13422 * @brief mac_ax_sr_info 13423 * 13424 * @var mac_ax_sr_info::sr_en 13425 * Please Place Description here. 13426 * @var mac_ax_sr_info::sr_field_v15_allowed 13427 * Please Place Description here. 13428 * @var mac_ax_sr_info::srg_obss_pd_min 13429 * Please Place Description here. 13430 * @var mac_ax_sr_info::srg_obss_pd_max 13431 * Please Place Description here. 13432 * @var mac_ax_sr_info::non_srg_obss_pd_min 13433 * Please Place Description here. 13434 * @var mac_ax_sr_info::non_srg_obss_pd_max 13435 * Please Place Description here. 13436 * @var mac_ax_sr_info::srg_bsscolor_bitmap_0 13437 * Please Place Description here. 13438 * @var mac_ax_sr_info::srg_bsscolor_bitmap_1 13439 * Please Place Description here. 13440 * @var mac_ax_sr_info::srg_partbsid_bitmap_0 13441 * Please Place Description here. 13442 * @var mac_ax_sr_info::srg_partbsid_bitmap_1 13443 * Please Place Description here. 13444 */ 13445 struct mac_ax_sr_info { 13446 u8 sr_en: 1; 13447 u8 sr_field_v15_allowed: 1; 13448 u8 srg_obss_pd_min; 13449 u8 srg_obss_pd_max; 13450 u8 non_srg_obss_pd_min; 13451 u8 non_srg_obss_pd_max; 13452 u32 srg_bsscolor_bitmap_0; 13453 u32 srg_bsscolor_bitmap_1; 13454 u32 srg_partbsid_bitmap_0; 13455 u32 srg_partbsid_bitmap_1; 13456 }; 13457 13458 /** 13459 * @struct mac_ax_nav_padding 13460 * @brief mac_ax_nav_padding 13461 * 13462 * @var mac_ax_nav_padding::band 13463 * Please Place Description here. 13464 * @var mac_ax_nav_padding::nav_pad_en 13465 * Please Place Description here. 13466 * @var mac_ax_nav_padding::over_txop_en 13467 * Please Place Description here. 13468 * @var mac_ax_nav_padding::nav_padding 13469 * Please Place Description here. 13470 */ 13471 struct mac_ax_nav_padding { 13472 u8 band; 13473 u8 nav_pad_en; 13474 u8 over_txop_en; 13475 u16 nav_padding; 13476 }; 13477 13478 /** 13479 * @struct mac_ax_max_tx_time 13480 * @brief mac_ax_max_tx_time 13481 * 13482 * @var mac_ax_max_tx_time::macid 13483 * Please Place Description here. 13484 * @var mac_ax_max_tx_time::is_cctrl 13485 * Please Place Description here. 13486 * @var mac_ax_max_tx_time::max_tx_time 13487 * Please Place Description here. 13488 */ 13489 struct mac_ax_max_tx_time { 13490 u8 macid; 13491 u8 is_cctrl; 13492 u32 max_tx_time; /* us */ 13493 }; 13494 13495 /** 13496 * @struct mac_ax_hw_rts_th 13497 * @brief Config HW RTS time/len threshold 13498 * 13499 * @var mac_ax_hw_rts_th::band 13500 * the mac_band to setup/query 13501 * @var mac_ax_hw_rts_th::time_th 13502 * HW RTS time threshold 13503 * @var mac_ax_hw_rts_th::time_th 13504 * HW RTS length threshold 13505 */ 13506 struct mac_ax_hw_rts_th { 13507 u8 band; 13508 u16 time_th; /* us */ 13509 u16 len_th; /* byte */ 13510 }; 13511 13512 /** 13513 * @struct mac_ax_io_stat 13514 * @brief Get IO state from HCI (PCIE: LBC) 13515 * 13516 * @var mac_ax_io_stat::to_flag 13517 * timeout flag is set 13518 * @var mac_ax_io_stat::io_st 13519 * IO state from sm.io_st 13520 * @var mac_ax_io_stat::rsvd 13521 * reserved 13522 * @var mac_ax_io_stat::addr 13523 * the last timeout addr when timeout flag is set 13524 */ 13525 struct mac_ax_io_stat { 13526 u8 to_flag:1; 13527 u8 io_st:1; 13528 u8 rsvd:6; 13529 u32 addr; 13530 }; 13531 13532 /** 13533 * @struct mac_ax_drv_stats 13534 * @brief 13535 * 13536 * The driver status in halmac 13537 * 13538 * @var mac_ax_drv_stats::rx_ok 13539 * RX status 13540 * @var mac_ax_drv_stats::drv_rm 13541 * Driver is removed 13542 */ 13543 struct mac_ax_drv_stats { 13544 u8 rx_ok; 13545 u8 drv_rm; 13546 }; 13547 13548 /** 13549 * @struct mac_ax_wps_cfg 13550 * @brief 13551 * 13552 * WPS is a driver feature to detect button pressed or released. 13553 * In HW view, the feature is to check the GPIO input value is 0->1 or 1->0 13554 * We use FW to detect GPIO val. 13555 * In a specified interval, if FW detects value changed, it will send a C2H 13556 * 13557 * @var mac_ax_wps_cfg::en 13558 * Enable WPS function i.e, Enable FW reports C2H 13559 * @var mac_ax_wps_cfg::gpio 13560 * The GPIO to be detected 13561 * @var mac_ax_wps_cfg::interval 13562 * The detecting interval in ms 13563 */ 13564 struct mac_ax_cfg_wps { 13565 u8 en; 13566 u8 gpio; 13567 u8 interval; /* ms */ 13568 }; 13569 13570 /** 13571 * @struct mac_fw_msg 13572 * @brief 13573 * 13574 * fw message encode/decode table 13575 * 13576 * @var mac_fw_msg::msgno 13577 * @var mac_fw_msg::msg 13578 */ 13579 struct mac_fw_msg { 13580 u32 msgno; 13581 char *msg; 13582 }; 13583 13584 /** 13585 * @struct mac_ax_ss_link_info 13586 * @brief mac_ax_ss_link_info 13587 * 13588 * @var mac_ax_ss_link_info::wmm 13589 * Please Place Description here. 13590 * @var mac_ax_ss_link_info::ac 13591 * Please Place Description here. 13592 * @var mac_ax_ss_link_info::ul 13593 * Please Place Description here. 13594 * @var mac_ax_ss_link_info::link_list 13595 * Please Place Description here. 13596 * @var mac_ax_ss_link_info::link_head 13597 * Please Place Description here. 13598 * @var mac_ax_ss_link_info::link_tail 13599 * Please Place Description here. 13600 * @var mac_ax_ss_link_info::link_len 13601 * Please Place Description here. 13602 * @var mac_ax_ss_link_info::macid0 13603 * Please Place Description here. 13604 * @var mac_ax_ss_link_info::macid1 13605 * Please Place Description here. 13606 * @var mac_ax_ss_link_info::macid2 13607 * Please Place Description here. 13608 * @var mac_ax_ss_link_info::link_bitmap 13609 * Please Place Description here. 13610 */ 13611 struct mac_ax_ss_link_info { 13612 u8 wmm; 13613 u8 ac; 13614 u8 ul; 13615 u8 link_list[SS_LINK_SIZE]; 13616 u8 link_head; 13617 u8 link_tail; 13618 u8 link_len; 13619 u8 macid0; 13620 u8 macid1; 13621 u8 macid2; 13622 u8 link_bitmap[SS_LINK_SIZE]; 13623 }; 13624 13625 /** 13626 * @struct mac_ax_dbcc_pcie_ctrl 13627 * @brief mac_ax_dbcc_pcie_ctrl 13628 * 13629 * @var mac_ax_dbcc_pcie_ctrl::out_host_idx_l 13630 * Please Place Description here. 13631 * @var mac_ax_dbcc_pcie_ctrl::out_hw_idx_l 13632 * Please Place Description here. 13633 * @var mac_ax_dbcc_pcie_ctrl::clr_txch_map 13634 * Please Place Description here. 13635 */ 13636 struct mac_ax_dbcc_pcie_ctrl { 13637 u16 out_host_idx_l[MAC_AX_DMA_CH_NUM]; 13638 u16 out_hw_idx_l[MAC_AX_DMA_CH_NUM]; 13639 struct mac_ax_txdma_ch_map clr_txch_map; 13640 }; 13641 13642 /** 13643 * @struct mac_ax_dbcc_usb_ctrl 13644 * @brief mac_ax_dbcc_usb_ctrl 13645 * 13646 * @var mac_ax_dbcc_usb_ctrl::rsvd 13647 * Please Place Description here. 13648 */ 13649 struct mac_ax_dbcc_usb_ctrl { 13650 u32 rsvd; 13651 }; 13652 13653 /** 13654 * @struct mac_ax_dbcc_sdio_ctrl 13655 * @brief mac_ax_dbcc_sdio_ctrl 13656 * 13657 * @var mac_ax_dbcc_sdio_ctrl::rsvd 13658 * Please Place Description here. 13659 */ 13660 struct mac_ax_dbcc_sdio_ctrl { 13661 u32 rsvd; 13662 }; 13663 13664 /** 13665 * @struct mac_ax_dbcc_hci_ctrl 13666 * @brief mac_ax_dbcc_hci_ctrl 13667 * 13668 * @var mac_ax_dbcc_hci_ctrl::band 13669 * Please Place Description here. 13670 * @var mac_ax_dbcc_hci_ctrl::pause 13671 * Please Place Description here. 13672 * @var mac_ax_dbcc_hci_ctrl::u 13673 * Please Place Description here. 13674 */ 13675 struct mac_ax_dbcc_hci_ctrl { 13676 enum mac_ax_band band; 13677 u8 pause; 13678 union { 13679 struct mac_ax_dbcc_pcie_ctrl pcie_ctrl; 13680 struct mac_ax_dbcc_usb_ctrl usb_ctrl; 13681 struct mac_ax_dbcc_sdio_ctrl sdio_ctrl; 13682 } u; 13683 }; 13684 13685 /*------------------- Define FAST_CH_SW related structure ---------------------------*/ 13686 13687 /** 13688 * @struct mac_ax_fast_ch_sw_param 13689 * @brief 13690 * 13691 * FAST_CH_SW H2C params in driver 13692 * 13693 * @var mac_ax_fast_ch_sw_param::ap_port_id 13694 * ap port id 13695 * @var mac_ax_fast_ch_sw_param::ch_idx 13696 * mapped channel idx for restoring rf param 13697 * @var mac_ax_fast_ch_sw_param::thermal_idx 13698 * thermal idx for restoring rf param 13699 * @var mac_ax_fast_ch_sw_param::pause_rel_mode 13700 * pause and release mode 13701 * @var mac_ax_fast_ch_sw_param::con_sta_num 13702 * num of connected sta currently 13703 * @var mac_ax_fast_ch_sw_param::band 13704 * PHY band 13705 * @var mac_ax_fast_ch_sw_param::bandwidth 13706 * bw of 20/40/80 13707 * @var mac_ax_fast_ch_sw_param::pri_ch 13708 * pri channel of target channel 13709 * @var mac_ax_fast_ch_sw_param::central_ch 13710 * central channel of target channel 13711 * @var mac_ax_fast_ch_sw_param::rel_pause_tsfl 13712 * release pause tsfl 13713 * @var mac_ax_fast_ch_sw_param::rel_pause_tsfh 13714 * release pause tsfh 13715 * @var mac_ax_fast_ch_sw_param::rel_pause_delay_time 13716 * release pause delay time 13717 * @var mac_ax_fast_ch_sw_param::csa_pkt_id[MAC_AX_FAST_CH_SW_MAX_STA_NUM] 13718 * offloaded CSA packet id for at most 4 stas 13719 */ 13720 struct mac_ax_fast_ch_sw_param { 13721 /* dword0 */ 13722 u8 ap_port_id:4; 13723 u8 ch_idx:4; 13724 u8 thermal_idx:4; 13725 u8 pause_rel_mode:4; 13726 u8 con_sta_num; 13727 u8 band:1; 13728 u8 bandwidth:2; 13729 u8 rsvd0:5; 13730 /* dword1 */ 13731 u8 pri_ch; 13732 u8 central_ch; 13733 u16 rsvd1; 13734 /* dword2 */ 13735 u32 rel_pause_tsfl; 13736 /* dword3 */ 13737 u32 rel_pause_tsfh; 13738 /* dword4 */ 13739 u32 rel_pause_delay_time; 13740 /* dword5 */ 13741 u8 csa_pkt_id[MAC_AX_FAST_CH_SW_MAX_STA_NUM]; 13742 }; 13743 13744 /** 13745 * @struct mac_ax_fast_ch_sw_info 13746 * @brief 13747 * 13748 * FAST_CH_SW status in driver 13749 * 13750 * @var mac_ax_fast_ch_sw_info::busy 13751 * FW handling or not 13752 * @var mac_ax_fast_ch_sw_info::status 13753 * Last status of FCS 13754 */ 13755 struct mac_ax_fast_ch_sw_info{ 13756 bool busy; 13757 u32 status; 13758 }; 13759 13760 /*------------------- END Define FAST_CH_SW related structure ---------------------------*/ 13761 13762 /*------------------- Define ch_switch related structure ---------------------------*/ 13763 /** 13764 * @struct ch_switch_rpt 13765 * @brief ch_switch_rpt 13766 * 13767 * @var ch_switch_rpt::result 13768 * result 13769 * @var ch_switch_rpt::mac_time 13770 * mac_time 13771 * @var ch_switch_rpt::bb_time 13772 * bb_time 13773 * @var ch_switch_rpt::rf_time 13774 * rf_time 13775 * @var ch_switch_rpt::rf_reload_time 13776 * rf_reload_time 13777 * @var ch_switch_rpt::total_time 13778 * total_time 13779 */ 13780 struct mac_ax_ch_switch_rpt { 13781 u8 result; 13782 }; 13783 13784 /** 13785 * @struct ch_switch_parm 13786 * @brief ch_switch_parm 13787 * 13788 * @var ch_switch_parm::pri_ch 13789 * pri ch 13790 * @var ch_switch_parm::central_ch 13791 * central ch 13792 * @var ch_switch_parm::port 13793 * port 13794 * @var ch_switch_parm::bw 13795 * bw 13796 * @var ch_switch_parm::ch_band 13797 * ch_band 13798 * @var ch_switch_parm::band 13799 * band 13800 * @var ch_switch_parm::reload_rf 13801 * reload rf 13802 * @var ch_switch_parm::c2h_rpt 13803 * c2h report 13804 * @var ch_switch_parm::rsvd 13805 * rsvd 13806 */ 13807 struct mac_ax_ch_switch_parm { 13808 u8 pri_ch; 13809 u8 central_ch; 13810 u8 bw:3; 13811 u8 ch_band:2; 13812 u8 band:1; 13813 u8 reload_rf:1; 13814 u16 rsvd:9; 13815 }; 13816 13817 /*------------------- ENDDefine ch_switch related structure ---------------------------*/ 13818 13819 struct mac_ax_tf_user_sts { 13820 u8 macid; 13821 u8 tb_rate; 13822 u8 tb_fail_per; 13823 u8 avg_tb_rssi; 13824 u8 cca_miss_per; 13825 u8 avg_uph; 13826 u8 minflag_per; 13827 u8 avg_tb_evm; 13828 }; 13829 13830 struct mac_ax_tf_sts { 13831 u8 user_num; 13832 u8 ru_su_per; 13833 u16 rsvd; 13834 struct mac_ax_tf_user_sts tf_user_sts[UL_PER_STA_DBGINFO_NUM]; 13835 }; 13836 13837 struct mac_ax_fwc2h_sts { 13838 struct mac_ax_tf_sts tfsts; 13839 }; 13840 13841 struct mac_ax_fwsts_para { 13842 u16 en:1; 13843 u16 rsvd:15; 13844 u16 intvl_ms; 13845 }; 13846 13847 /*--------------------Define power saving related struct -------------------------*/ 13848 /** 13849 * @struct mac_ax_lps_info 13850 * @brief mac_ax_lps_info 13851 * 13852 * @var mac_ax_lps_info::listen_bcn_mode 13853 * Please Place Description here. 13854 * @var mac_ax_lps_info::awake_interval 13855 * Please Place Description here. 13856 * @var mac_ax_lps_info::smart_ps_mode 13857 * Please Place Description here. 13858 */ 13859 struct mac_ax_lps_info { 13860 enum mac_ax_listern_bcn_mode listen_bcn_mode; 13861 u8 awake_interval; 13862 enum mac_ax_smart_ps_mode smart_ps_mode; 13863 }; 13864 13865 /** 13866 * @struct mac_ax_ps_adv_parm 13867 * @brief mac_ax_ps_adv_parm 13868 * 13869 * @var mac_ax_ps_adv_parm::macid 13870 * Please Place Description here. 13871 * @var mac_ax_ps_adv_parm::TRXTimeOutTimeSet 13872 * Please Place Description here. 13873 * @var mac_ax_ps_adv_parm::rsvd0 13874 * Please Place Description here. 13875 * @var mac_ax_ps_adv_parm::TRXTimeOutTimeVal 13876 * Please Place Description here. 13877 * @var mac_ax_ps_adv_parm::rsvd1 13878 * Please Place Description here. 13879 */ 13880 struct mac_ax_ps_adv_parm { 13881 u32 macid:8; 13882 u32 trxtimeouttimeset:2; 13883 u32 rsvd0:22; 13884 u32 trxtimeouttimeval:8; 13885 u32 rsvd1:24; 13886 }; 13887 13888 /** 13889 * @struct mac_ax_bcn_fltr 13890 * @brief mac_ax_bcn_fltr 13891 * 13892 * @var mac_ax_bcn_fltr::mon_rssi 13893 * Please Place Description here. 13894 * @var mac_ax_bcn_fltr::mon_bcn 13895 * Please Place Description here. 13896 * @var mac_ax_bcn_fltr::mon_tp 13897 * Please Place Description here. 13898 * @var mac_ax_bcn_fltr::tp_thld 13899 * Please Place Description here. 13900 * @var mac_ax_bcn_fltr::bcn_loss_cnt 13901 * Please Place Description here. 13902 * @var mac_ax_bcn_fltr::rssi_hys 13903 * Please Place Description here. 13904 * @var mac_ax_bcn_fltr::rssi_thld 13905 * Please Place Description here. 13906 * @var mac_ax_bcn_fltr::macid 13907 * Please Place Description here. 13908 */ 13909 struct mac_ax_bcn_fltr { 13910 u32 mon_rssi: 1; 13911 u32 mon_bcn: 1; 13912 u32 mon_tp: 1; 13913 u32 tp_thld: 2; 13914 u32 rsvd0: 3; 13915 u32 bcn_loss_cnt: 4; 13916 u32 rssi_hys: 4; 13917 u32 rssi_thld: 8; 13918 u32 macid: 8; 13919 }; 13920 13921 /** 13922 * @struct mac_ax_bcn_fltr_rpt 13923 * @brief mac_ax_bcn_fltr_rpt 13924 * 13925 * @var mac_ax_bcn_fltr_rpt::macid 13926 * Please Place Description here. 13927 * @var mac_ax_bcn_fltr_rpt::type 13928 * Please Place Description here. 13929 * @var mac_ax_bcn_fltr_rpt::rssi_evt 13930 * Please Place Description here. 13931 * @var mac_ax_bcn_fltr_rpt::rssi_ma 13932 * Please Place Description here. 13933 */ 13934 struct mac_ax_bcn_fltr_rpt { 13935 u32 macid: 8; 13936 u32 type: 2; 13937 u32 rssi_evt: 2; 13938 u32 rsvd0: 4; 13939 u32 rssi_ma: 8; 13940 u32 rsvd1: 8; 13941 }; 13942 13943 /*--------------------Define Adapter & OPs------------------------------------*/ 13944 #ifndef CONFIG_NEW_HALMAC_INTERFACE 13945 13946 /** 13947 * @struct mac_ax_pltfm_cb 13948 * @brief mac_ax_pltfm_cb 13949 * 13950 * @var mac_ax_pltfm_cb::sdio_cmd52_r8 13951 * Please Place Description here. 13952 * @var mac_ax_pltfm_cb::sdio_cmd53_r8 13953 * Please Place Description here. 13954 * @var mac_ax_pltfm_cb::sdio_cmd53_r16 13955 * Please Place Description here. 13956 * @var mac_ax_pltfm_cb::sdio_cmd53_r32 13957 * Please Place Description here. 13958 * @var mac_ax_pltfm_cb::sdio_cmd53_rn 13959 * Please Place Description here. 13960 * @var mac_ax_pltfm_cb::sdio_cmd52_w8 13961 * Please Place Description here. 13962 * @var mac_ax_pltfm_cb::sdio_cmd53_w8 13963 * Please Place Description here. 13964 * @var mac_ax_pltfm_cb::sdio_cmd53_w16 13965 * Please Place Description here. 13966 * @var mac_ax_pltfm_cb::sdio_cmd53_w32 13967 * Please Place Description here. 13968 * @var mac_ax_pltfm_cb::sdio_cmd53_wn 13969 * Please Place Description here. 13970 * @var mac_ax_pltfm_cb::sdio_cmd52_cia_r8 13971 * Please Place Description here. 13972 * @var mac_ax_pltfm_cb::reg_r8 13973 * Please Place Description here. 13974 * @var mac_ax_pltfm_cb::reg_r16 13975 * Please Place Description here. 13976 * @var mac_ax_pltfm_cb::reg_r32 13977 * Please Place Description here. 13978 * @var mac_ax_pltfm_cb::reg_w8 13979 * Please Place Description here. 13980 * @var mac_ax_pltfm_cb::reg_w16 13981 * Please Place Description here. 13982 * @var mac_ax_pltfm_cb::reg_w32 13983 * Please Place Description here. 13984 * @var mac_ax_pltfm_cb::tx 13985 * Please Place Description here. 13986 * @var mac_ax_pltfm_cb::rtl_query_h2c 13987 * Please Place Description here. 13988 * @var mac_ax_pltfm_cb::tx 13989 * Please Place Description here. 13990 * @var mac_ax_pltfm_cb::rtl_free 13991 * Please Place Description here. 13992 * @var mac_ax_pltfm_cb::rtl_malloc 13993 * Please Place Description here. 13994 * @var mac_ax_pltfm_cb::rtl_memcpy 13995 * Please Place Description here. 13996 * @var mac_ax_pltfm_cb::rtl_memset 13997 * Please Place Description here. 13998 * @var mac_ax_pltfm_cb::rtl_memcmp 13999 * Please Place Description here. 14000 * @var mac_ax_pltfm_cb::rtl_delay_us 14001 * Please Place Description here. 14002 * @var mac_ax_pltfm_cb::rtl_delay_ms 14003 * Please Place Description here. 14004 * @var mac_ax_pltfm_cb::rtl_mutex_init 14005 * Please Place Description here. 14006 * @var mac_ax_pltfm_cb::rtl_mutex_deinit 14007 * Please Place Description here. 14008 * @var mac_ax_pltfm_cb::rtl_mutex_lock 14009 * Please Place Description here. 14010 * @var mac_ax_pltfm_cb::rtl_mutex_unlock 14011 * Please Place Description here. 14012 * @var mac_ax_pltfm_cb::msg_print 14013 * Please Place Description here. 14014 * @var mac_ax_pltfm_cb::event_notify 14015 * Please Place Description here. 14016 */ 14017 struct mac_ax_pltfm_cb { 14018 #if MAC_AX_SDIO_SUPPORT 14019 u8 (*sdio_cmd52_r8)(void *drv_adapter, u32 addr); 14020 u8 (*sdio_cmd53_r8)(void *drv_adapter, u32 addr); 14021 u16 (*sdio_cmd53_r16)(void *drv_adapter, u32 addr); 14022 u32 (*sdio_cmd53_r32)(void *drv_adapter, u32 addr); 14023 u8 (*sdio_cmd53_rn)(void *drv_adapter, u32 addr, u32 size, u8 *val); 14024 void (*sdio_cmd52_w8)(void *drv_adapter, u32 addr, u8 val); 14025 void (*sdio_cmd53_w8)(void *drv_adapter, u32 addr, u8 val); 14026 void (*sdio_cmd53_w16)(void *drv_adapter, u32 addr, u16 val); 14027 void (*sdio_cmd53_w32)(void *drv_adapter, u32 addr, u32 val); 14028 u8 (*sdio_cmd53_wn)(void *drv_adapter, u32 addr, u32 size, u8 *val); 14029 u8 (*sdio_cmd52_cia_r8)(void *drv_adapter, u32 addr); 14030 #endif 14031 #if (MAC_AX_USB_SUPPORT || MAC_AX_PCIE_SUPPORT) 14032 u8 (*reg_r8)(void *drv_adapter, u32 addr); 14033 u16 (*reg_r16)(void *drv_adapter, u32 addr); 14034 u32 (*reg_r32)(void *drv_adapter, u32 addr); 14035 void (*reg_w8)(void *drv_adapter, u32 addr, u8 val); 14036 void (*reg_w16)(void *drv_adapter, u32 addr, u16 val); 14037 void (*reg_w32)(void *drv_adapter, u32 addr, u32 val); 14038 #endif 14039 #if MAC_AX_PHL_H2C 14040 enum rtw_hal_status (*tx)(struct rtw_phl_com_t *phl_com, 14041 struct rtw_hal_com_t *hal_com, 14042 struct rtw_h2c_pkt *pkt); 14043 struct rtw_h2c_pkt *(*rtl_query_h2c)(struct rtw_phl_com_t *phl_com, 14044 struct rtw_hal_com_t *hal_com, 14045 enum h2c_buf_class type); 14046 enum rtw_hal_status (*rtl_recycle_h2c)(struct rtw_phl_com_t *phl_com, 14047 struct rtw_h2c_pkt *h2c_pkt); 14048 #else 14049 u32 (*tx)(void *drv_adapter, u8 *buf, u32 len); 14050 #endif 14051 void (*rtl_free)(void *drv_adapter, void *buf, u32 size); 14052 void* (*rtl_malloc)(void *drv_adapter, u32 size); 14053 void (*rtl_memcpy)(void *drv_adapter, void *dest, void *src, u32 size); 14054 void (*rtl_memset)(void *drv_adapter, void *addr, u8 val, u32 size); 14055 s32 (*rtl_memcmp)(void *drv_adapter, void *ptr1, void *ptr2, u32 num); 14056 void (*rtl_delay_us)(void *drv_adapter, u32 us); 14057 void (*rtl_delay_ms)(void *drv_adapter, u32 ms); 14058 14059 void (*rtl_mutex_init)(void *drv_adapter, mac_ax_mutex *mutex); 14060 void (*rtl_mutex_deinit)(void *drv_adapter, mac_ax_mutex *mutex); 14061 void (*rtl_mutex_lock)(void *drv_adapter, mac_ax_mutex *mutex); 14062 void (*rtl_mutex_unlock)(void *drv_adapter, mac_ax_mutex *mutex); 14063 void (*msg_print)(void *drv_adapter, u8 dbg_level, s8 *fmt, ...); 14064 void (*event_notify)(void *drv_adapter, 14065 enum mac_ax_feature mac_ft, 14066 enum mac_ax_status stat, u8 *buf, u32 size); 14067 #if MAC_AX_FEATURE_DBGCMD 14068 s32 (*rtl_sprintf)(void *drv_adapter, char *buf, size_t size, const char *fmt, ...); 14069 s32 (*rtl_strcmp)(void *drv_adapter, const char *s1, const char *s2); 14070 char* (*rtl_strsep)(void *drv_adapter, char **s, const char *ct); 14071 u32 (*rtl_strlen)(void *drv_adapter, char *buf); 14072 char* (*rtl_strcpy)(void *drv_adapter, char *dest, const char *src); 14073 char* (*rtl_strpbrk)(void *drv_adapter, const char *cs, const char *ct); 14074 u32 (*rtl_strtoul)(void *drv_adapter, const char *buf, u32 base); 14075 #endif 14076 void (*ser_l2_notify)(void *phl_com, 14077 void *hal_com); 14078 14079 u8 (*ld_fw_symbol)(void *phl_adapter, void *drv_adapter, 14080 const char *name, u8 **buf, u32 *buf_size); 14081 }; 14082 #endif/*CONFIG_NEW_HALMAC_INTERFACE*/ 14083 14084 /** 14085 * @struct mac_ax_adapter 14086 * @brief mac_ax_adapter 14087 * 14088 * @var mac_ax_adapter::ops 14089 * Please Place Description here. 14090 * @var mac_ax_adapter::drv_adapter 14091 * Please Place Description here. 14092 * @var mac_ax_adapter::phl_adapter 14093 * Please Place Description here. 14094 * @var mac_ax_adapter::pltfm_cb 14095 * Please Place Description here. 14096 * @var mac_ax_adapter::sm 14097 * Please Place Description here. 14098 * @var mac_ax_adapter::hw_info 14099 * Please Place Description here. 14100 * @var mac_ax_adapter::fw_info 14101 * Please Place Description here. 14102 * @var mac_ax_adapter::efuse_param 14103 * Please Place Description here. 14104 * @var mac_ax_adapter::mac_pwr_info 14105 * Please Place Description here. 14106 * @var mac_ax_adapter::ft_stat 14107 * Please Place Description here. 14108 * @var mac_ax_adapter::hfc_param 14109 * Please Place Description here. 14110 * @var mac_ax_adapter::dle_info 14111 * Please Place Description here. 14112 * @var mac_ax_adapter::gpio_info 14113 * Please Place Description here. 14114 * @var mac_ax_adapter::role_tbl 14115 * Please Place Description here. 14116 * @var mac_ax_adapter::read_ofld_info 14117 * Please Place Description here. 14118 * @var mac_ax_adapter::read_ofld_value 14119 * Please Place Description here. 14120 * @var mac_ax_adapter::write_ofld_info 14121 * Please Place Description here. 14122 * @var mac_ax_adapter::efuse_ofld_info 14123 * Please Place Description here. 14124 * @var mac_ax_adapter::conf_ofld_info 14125 * Please Place Description here. 14126 * @var mac_ax_adapter::pkt_ofld_info 14127 * Please Place Description here. 14128 * @var mac_ax_adapter::pkt_ofld_pkt 14129 * Please Place Description here. 14130 * @var mac_ax_adapter::mcc_group_info 14131 * Please Place Description here. 14132 * @var mac_ax_adapter::wowlan_info 14133 * Please Place Description here. 14134 * @var mac_ax_adapter::sdio_info 14135 * Please Place Description here. 14136 * @var mac_ax_adapter::usb_info 14137 * Please Place Description here. 14138 * @var mac_ax_adapter::hv_ops 14139 * Please Place Description here. 14140 */ 14141 struct mac_ax_adapter { 14142 struct mac_ax_ops *ops; 14143 void *drv_adapter; //hal_com adapter 14144 void *phl_adapter; //phl_com adapter 14145 struct mac_ax_pltfm_cb *pltfm_cb; 14146 struct mac_ax_state_mach sm; 14147 struct mac_ax_hw_info *hw_info; 14148 struct mac_ax_fw_info fw_info; 14149 struct mac_ax_efuse_param efuse_param; 14150 struct mac_ax_mac_pwr_info mac_pwr_info; 14151 struct mac_ax_ft_status *ft_stat; 14152 struct mac_ax_hfc_param *hfc_param; 14153 struct mac_ax_dle_info dle_info; 14154 struct mac_ax_gpio_info gpio_info; 14155 struct mac_role_tbl_head *role_tbl; 14156 struct mac_ax_read_ofld_info read_ofld_info; 14157 struct mac_ax_read_ofld_value read_ofld_value; 14158 struct mac_ax_write_ofld_info write_ofld_info; 14159 struct mac_ax_efuse_ofld_info efuse_ofld_info; 14160 struct mac_ax_conf_ofld_info conf_ofld_info; 14161 struct mac_ax_pkt_ofld_info pkt_ofld_info; 14162 struct mac_ax_pkt_ofld_pkt pkt_ofld_pkt; 14163 struct mac_ax_cmd_ofld_info cmd_ofld_info; 14164 struct mac_ax_mcc_group_info mcc_group_info; 14165 struct mac_ax_wowlan_info wowlan_info; 14166 struct mac_ax_p2p_info *p2p_info; 14167 struct mac_ax_t32_togl_rpt *t32_togl_rpt; 14168 struct mac_ax_port_info *port_info; 14169 struct mac_ax_int_stats stats; 14170 struct mac_ax_drv_stats drv_stats; 14171 struct mac_ax_h2c_agg_info h2c_agg_info; 14172 #if MAC_AX_SDIO_SUPPORT 14173 struct mac_ax_sdio_info sdio_info; 14174 #endif 14175 #if MAC_AX_USB_SUPPORT 14176 struct mac_ax_usb_info usb_info; 14177 #endif 14178 #if MAC_AX_PCIE_SUPPORT 14179 struct mac_ax_pcie_info pcie_info; 14180 #endif 14181 struct mac_ax_flash_info flash_info; 14182 struct mac_ax_fast_ch_sw_info fast_ch_sw_info; 14183 #if MAC_AX_FEATURE_HV 14184 struct hv_ax_ops *hv_ops; 14185 u8 env; 14186 #endif 14187 #if MAC_AX_FEATURE_DBGCMD 14188 struct mac_ax_fw_dbgcmd fw_dbgcmd; 14189 #endif 14190 #if MAC_AX_FEATURE_DBGDEC 14191 struct mac_fw_msg *fw_log_array; 14192 struct mac_fw_msg *fw_log_array_dl; 14193 u32 fw_log_array_dl_size; 14194 #endif 14195 struct mac_ax_fw_log log_cfg; 14196 struct mac_ax_scanofld_info scanofld_info; 14197 struct mac_ax_ch_switch_rpt *ch_switch_rpt; 14198 struct mac_ax_dbcc_info *dbcc_info; 14199 }; 14200 14201 /** 14202 * mac_ax_intf_ops - interface related callbacks 14203 * @reg_read8: 14204 * @reg_write8: 14205 * @reg_read16: 14206 * @reg_write16: 14207 * @reg_read32: 14208 * @reg_write32: 14209 * @tx_allow_sdio: 14210 * @tx_cmd_addr_sdio: 14211 * @init_intf: 14212 * @reg_read_n_sdio: 14213 * @get_bulkout_id: 14214 */ 14215 14216 /** 14217 * @struct mac_ax_intf_ops 14218 * @brief mac_ax_intf_ops 14219 * 14220 * @var mac_ax_intf_ops::reg_read8 14221 * Please Place Description here. 14222 * @var mac_ax_intf_ops::reg_write8 14223 * Please Place Description here. 14224 * @var mac_ax_intf_ops::reg_read16 14225 * Please Place Description here. 14226 * @var mac_ax_intf_ops::reg_write16 14227 * Please Place Description here. 14228 * @var mac_ax_intf_ops::reg_read32 14229 * Please Place Description here. 14230 * @var mac_ax_intf_ops::reg_write32 14231 * Please Place Description here. 14232 * @var mac_ax_intf_ops::tx_allow_sdio 14233 * Please Place Description here. 14234 * @var mac_ax_intf_ops::tx_cmd_addr_sdio 14235 * Please Place Description here. 14236 * @var mac_ax_intf_ops::intf_pre_init 14237 * Please Place Description here. 14238 * @var mac_ax_intf_ops::intf_init 14239 * Please Place Description here. 14240 * @var mac_ax_intf_ops::intf_deinit 14241 * Please Place Description here. 14242 * @var mac_ax_intf_ops::reg_read_n_sdio 14243 * Please Place Description here. 14244 * @var mac_ax_intf_ops::get_bulkout_id 14245 * Please Place Description here. 14246 * @var mac_ax_intf_ops::ltr_set_pcie 14247 * Please Place Description here. 14248 * @var mac_ax_intf_ops::u2u3_switch 14249 * Please Place Description here. 14250 * @var mac_ax_intf_ops::get_usb_mode 14251 * Please Place Description here. 14252 * @var mac_ax_intf_ops::get_usb_support_ability 14253 * Please Place Description here. 14254 * @var mac_ax_intf_ops::usb_tx_agg_cfg 14255 * Please Place Description here. 14256 * @var mac_ax_intf_ops::usb_rx_agg_cfg 14257 * Please Place Description here. 14258 * @var mac_ax_intf_ops::set_wowlan 14259 * Please Place Description here. 14260 */ 14261 struct mac_ax_intf_ops { 14262 u8 (*reg_read8)(struct mac_ax_adapter *adapter, u32 addr); 14263 void (*reg_write8)(struct mac_ax_adapter *adapter, u32 addr, u8 val); 14264 u16 (*reg_read16)(struct mac_ax_adapter *adapter, u32 addr); 14265 void (*reg_write16)(struct mac_ax_adapter *adapter, u32 addr, u16 val); 14266 u32 (*reg_read32)(struct mac_ax_adapter *adapter, u32 addr); 14267 void (*reg_write32)(struct mac_ax_adapter *adapter, u32 addr, u32 val); 14268 /** 14269 * @tx_allow_sdio 14270 * Only support SDIO interface. Using this API in other interface 14271 * may cause system crash or segmentation fault. 14272 */ 14273 u32 (*tx_allow_sdio)(struct mac_ax_adapter *adapter, 14274 struct mac_ax_sdio_tx_info *info); 14275 /** 14276 * @tx_cmd_addr_sdio 14277 * Only support SDIO interface. Using this API in other interface 14278 * may cause system crash or segmentation fault. 14279 */ 14280 u32 (*tx_cmd_addr_sdio)(struct mac_ax_adapter *adapter, 14281 struct mac_ax_sdio_tx_info *info, 14282 u32 *cmd_addr); 14283 u32 (*intf_pre_init)(struct mac_ax_adapter *adapter, void *param); 14284 u32 (*intf_init)(struct mac_ax_adapter *adapter, void *param); 14285 u32 (*intf_deinit)(struct mac_ax_adapter *adapter, void *param); 14286 /** 14287 * @reg_read_n_sdio 14288 * Only support SDIO interface. Using this API in other interface 14289 * may cause system crash or segmentation fault. 14290 */ 14291 u32 (*reg_read_n_sdio)(struct mac_ax_adapter *adapter, u32 addr, 14292 u32 size, u8 *val); 14293 /** 14294 * @get_bulkout_id 14295 * Only support USB interface. Using this API in other interface 14296 * may cause system crash or segmentation fault. 14297 */ 14298 u8 (*get_bulkout_id)(struct mac_ax_adapter *adapter, u8 ch_dma, 14299 u8 mode); 14300 /** 14301 * @ltr_set_pcie 14302 * Only support PCIe interface. Using this API in other interface 14303 * may cause system crash or segmentation fault. 14304 */ 14305 u32 (*ltr_set_pcie)(struct mac_ax_adapter *adapter, 14306 struct mac_ax_pcie_ltr_param *param); 14307 /** 14308 * @u2u3_switch 14309 * Only support USB interface. Using this API in other interface 14310 * may cause system crash or segmentation fault. 14311 */ 14312 u32 (*u2u3_switch)(struct mac_ax_adapter *adapter); 14313 /** 14314 * @get_usb_mode 14315 * Only support USB interface. Using this API in other interface 14316 * may cause system crash or segmentation fault. 14317 */ 14318 u32 (*get_usb_mode)(struct mac_ax_adapter *adapter); 14319 /** 14320 * @get_usb_support_ability 14321 * Only support USB interface. Using this API in other interface 14322 * may cause system crash or segmentation fault. 14323 */ 14324 u32 (*get_usb_support_ability)(struct mac_ax_adapter *adapter); 14325 /** 14326 * @usb_tx_agg_cfg 14327 * Only support USB interface. Using this API in other interface 14328 * may cause system crash or segmentation fault. 14329 */ 14330 u32 (*usb_tx_agg_cfg)(struct mac_ax_adapter *adapter, 14331 struct mac_ax_usb_tx_agg_cfg *agg); 14332 /** 14333 * @usb_rx_agg_cfg 14334 * Only support USB interface. Using this API in other interface 14335 * may cause system crash or segmentation fault. 14336 */ 14337 u32 (*usb_rx_agg_cfg)(struct mac_ax_adapter *adapter, 14338 struct mac_ax_rx_agg_cfg *cfg); 14339 14340 u32 (*set_wowlan)(struct mac_ax_adapter *adapter, 14341 enum mac_ax_wow_ctrl w_c); 14342 /** 14343 * @ctrl_txdma_ch 14344 * Only support PCIE interface. Using this API in other interface 14345 * may cause system crash or segmentation fault. 14346 */ 14347 u32 (*ctrl_txdma_ch)(struct mac_ax_adapter *adapter, 14348 struct mac_ax_txdma_ch_map *ch_map); 14349 /** 14350 * @clr_idx_all 14351 * Only support PCIE interface. Using this API in other interface 14352 * may cause system crash or segmentation fault. 14353 */ 14354 u32 (*clr_idx_all)(struct mac_ax_adapter *adapter); 14355 /** 14356 * @poll_txdma_ch_idle 14357 * Only support PCIE interface. Using this API in other interface 14358 * may cause system crash or segmentation fault. 14359 */ 14360 u32 (*poll_txdma_ch_idle)(struct mac_ax_adapter *adapter, 14361 struct mac_ax_txdma_ch_map *ch_map); 14362 /** 14363 * @poll_rxdma_ch_idle 14364 * Only support PCIE interface. Using this API in other interface 14365 * may cause system crash or segmentation fault. 14366 */ 14367 u32 (*poll_rxdma_ch_idle)(struct mac_ax_adapter *adapter, 14368 struct mac_ax_rxdma_ch_map *ch_map); 14369 /** 14370 * @ctrl_txhci 14371 * Only support PCIE interface. Using this API in other interface 14372 * may cause system crash or segmentation fault. 14373 */ 14374 u32 (*ctrl_txhci)(struct mac_ax_adapter *adapter, 14375 enum mac_ax_func_sw en); 14376 /** 14377 * @ctrl_rxhci 14378 * Only support PCIE interface. Using this API in other interface 14379 * may cause system crash or segmentation fault. 14380 */ 14381 u32 (*ctrl_rxhci)(struct mac_ax_adapter *adapter, 14382 enum mac_ax_func_sw en); 14383 /** 14384 * @ctrl_dma_io 14385 * Only support PCIE interface. Using this API in other interface 14386 * may cause system crash or segmentation fault. 14387 */ 14388 u32 (*ctrl_dma_io)(struct mac_ax_adapter *adapter, 14389 enum mac_ax_func_sw en); 14390 /** 14391 * @get_io_stat 14392 * Only support PCIE interface. Using this API in other interface 14393 * may cause system crash or segmentation fault. 14394 */ 14395 u32 (*get_io_stat)(struct mac_ax_adapter *adapter, 14396 struct mac_ax_io_stat *out_st); 14397 /** 14398 * @get_txagg_num 14399 */ 14400 u32 (*get_txagg_num)(struct mac_ax_adapter *adapter, 14401 u8 band); 14402 /** 14403 * @get_rx_state 14404 * Only support USB interface. Using this API in other interface 14405 * may cause system crash or segmentation fault. 14406 */ 14407 u32 (*get_rx_state)(struct mac_ax_adapter *adapter, u32 *val); 14408 14409 /** 14410 * @pcie_autok_counter_avg 14411 * Only support PCIE interface. Using this API in other interface 14412 * may cause system crash or segmentation fault. 14413 */ 14414 u32 (*pcie_autok_counter_avg)(struct mac_ax_adapter *adapter); 14415 /** 14416 * @dbcc_hci_pause 14417 * Support all interface. 14418 */ 14419 u32 (*dbcc_hci_ctrl)(struct mac_ax_adapter *adapter, 14420 struct mac_ax_dbcc_hci_ctrl *info); 14421 }; 14422 14423 /** 14424 * struct mac_ax_ops - callbacks for mac control 14425 * All callbacks can be used after initializing mac_ax_ops by mac_ax_ops_init. 14426 * @intf_ops: interface related callbacks, refer struct mac_ax_intf_ops to get 14427 * more deatails. 14428 * @get_hw_info: get mac hardware information 14429 * @mac_txdesc_len: 14430 * @build_mac_txdesc: 14431 */ 14432 14433 /** 14434 * @struct mac_ax_ops 14435 * @brief mac_ax_ops 14436 * 14437 * @var mac_ax_ops::intf_ops 14438 * Please Place Description here. 14439 * @var mac_ax_ops::hal_init 14440 * Please Place Description here. 14441 * @var mac_ax_ops::hal_fast_init 14442 * Please Place Description here. 14443 * @var mac_ax_ops::hal_deinit 14444 * Please Place Description here. 14445 * @var mac_ax_ops::hal_fast_deinit 14446 * Please Place Description here. 14447 * @var mac_ax_ops::add_role 14448 * Please Place Description here. 14449 * @var mac_ax_ops::remove_role 14450 * Please Place Description here. 14451 * @var mac_ax_ops::change_role 14452 * Please Place Description here. 14453 * @var mac_ax_ops::pwr_switch 14454 * Please Place Description here. 14455 * @var mac_ax_ops::sys_init 14456 * Please Place Description here. 14457 * @var mac_ax_ops::trx_init 14458 * Please Place Description here. 14459 * @var mac_ax_ops::romdl 14460 * Please Place Description here. 14461 * @var mac_ax_ops::enable_cpu 14462 * Please Place Description here. 14463 * @var mac_ax_ops::disable_cpu 14464 * Please Place Description here. 14465 * @var mac_ax_ops::fwredl 14466 * Please Place Description here. 14467 * @var mac_ax_ops::fwdl 14468 * Please Place Description here. 14469 * @var mac_ax_ops::enable_fw 14470 * Please Place Description here. 14471 * @var mac_ax_ops::lv1_rcvy 14472 * Please Place Description here. 14473 * @var mac_ax_ops::get_macaddr 14474 * Please Place Description here. 14475 * @var mac_ax_ops::build_txdesc 14476 * Please Place Description here. 14477 * @var mac_ax_ops::refill_txdesc 14478 * Please Place Description here. 14479 * @var mac_ax_ops::parse_rxdesc 14480 * Please Place Description here. 14481 * @var mac_ax_ops::reset_fwofld_state 14482 * Please Place Description here. 14483 * @var mac_ax_ops::check_fwofld_done 14484 * Please Place Description here. 14485 * @var mac_ax_ops::read_pkt_ofld 14486 * Please Place Description here. 14487 * @var mac_ax_ops::del_pkt_ofld 14488 * Please Place Description here. 14489 * @var mac_ax_ops::add_pkt_ofld 14490 * Please Place Description here. 14491 * @var mac_ax_ops::pkt_ofld_packet 14492 * Please Place Description here. 14493 * @var mac_ax_ops::dump_efuse_ofld 14494 * Please Place Description here. 14495 * @var mac_ax_ops::efuse_ofld_map 14496 * Please Place Description here. 14497 * @var mac_ax_ops::upd_dctl_info 14498 * Please Place Description here. 14499 * @var mac_ax_ops::upd_cctl_info 14500 * Please Place Description here. 14501 * @var mac_ax_ops::ie_cam_upd 14502 * Please Place Description here. 14503 * @var mac_ax_ops::twt_info_upd_h2c 14504 * Please Place Description here. 14505 * @var mac_ax_ops::twt_act_h2c 14506 * Please Place Description here. 14507 * @var mac_ax_ops::twt_anno_h2c 14508 * Please Place Description here. 14509 * @var mac_ax_ops::twt_wait_anno 14510 * Please Place Description here. 14511 * @var mac_ax_ops::mac_host_getpkt_h2c 14512 * Please Place Description here. 14513 * @var mac_ax_ops::p2p_act_h2c 14514 * Please Place Description here. 14515 * @var mac_ax_ops::sta_add_key 14516 * Please Place Description here. 14517 * @var mac_ax_ops::sta_del_key 14518 * Please Place Description here. 14519 * @var mac_ax_ops::sta_search_key_idx 14520 * Please Place Description here. 14521 * @var mac_ax_ops::sta_hw_security_support 14522 * Please Place Description here. 14523 * @var mac_ax_ops::set_mu_table 14524 * Please Place Description here. 14525 * @var mac_ax_ops::ss_dl_grp_upd 14526 * Please Place Description here. 14527 * @var mac_ax_ops::ss_ul_grp_upd 14528 * Please Place Description here. 14529 * @var mac_ax_ops::ss_ul_sta_upd 14530 * Please Place Description here. 14531 * @var mac_ax_ops::bacam_info 14532 * Please Place Description here. 14533 * @var mac_ax_ops::txdesc_len 14534 * Please Place Description here. 14535 * @var mac_ax_ops::upd_shcut_mhdr 14536 * Please Place Description here. 14537 * @var mac_ax_ops::enable_hwmasdu 14538 * Please Place Description here. 14539 * @var mac_ax_ops::enable_cut_hwamsdu 14540 * Please Place Description here. 14541 * @var mac_ax_ops::hdr_conv 14542 * Please Place Description here. 14543 * @var mac_ax_ops::set_hwseq_reg 14544 * Please Place Description here. 14545 * @var mac_ax_ops::process_c2h 14546 * Please Place Description here. 14547 * @var mac_ax_ops::parse_dfs 14548 * Please Place Description here. 14549 * @var mac_ax_ops::parse_ppdu 14550 * Please Place Description here. 14551 * @var mac_ax_ops::cfg_phy_rpt 14552 * Please Place Description here. 14553 * @var mac_ax_ops::set_rx_forwarding 14554 * Please Place Description here. 14555 * @var mac_ax_ops::get_rx_fltr_opt 14556 * Please Place Description here. 14557 * @var mac_ax_ops::set_rx_fltr_opt 14558 * Please Place Description here. 14559 * @var mac_ax_ops::set_rx_fltr_typ_opt 14560 * Please Place Description here. 14561 * @var mac_ax_ops::set_rx_fltr_typstyp_opt 14562 * Please Place Description here. 14563 * @var mac_ax_ops::sr_update 14564 * Please Place Description here. 14565 * @var mac_ax_ops::two_nav_cfg 14566 * Please Place Description here. 14567 * @var mac_ax_ops::pkt_drop 14568 * Please Place Description here. 14569 * @var mac_ax_ops::send_bcn_h2c 14570 * Please Place Description here. 14571 * @var mac_ax_ops::tx_mode_sel 14572 * Please Place Description here. 14573 * @var mac_ax_ops::tcpip_chksum_ofd 14574 * Please Place Description here. 14575 * @var mac_ax_ops::chk_rx_tcpip_chksum_ofd 14576 * Please Place Description here. 14577 * @var mac_ax_ops::chk_allq_empty 14578 * Please Place Description here. 14579 * @var mac_ax_ops::is_txq_empty 14580 * Please Place Description here. 14581 * @var mac_ax_ops::is_rxq_empty 14582 * Please Place Description here. 14583 * @var mac_ax_ops::parse_bcn_stats_c2h 14584 * Please Place Description here. 14585 * @var mac_ax_ops::upd_mudecision_para 14586 * Please Place Description here. 14587 * @var mac_ax_ops::mu_sta_upd 14588 * Please Place Description here. 14589 * @var mac_ax_ops::upd_ul_fixinfo 14590 * Please Place Description here. 14591 * @var mac_ax_ops::f2p_test_cmd 14592 * Please Place Description here. 14593 * @var mac_ax_ops::snd_test_cmd 14594 * Please Place Description here. 14595 * @var mac_ax_ops::set_fw_fixmode 14596 * Please Place Description here. 14597 * @var mac_ax_ops::mac_dumpwlanc 14598 * Please Place Description here. 14599 * @var mac_ax_ops::mac_dumpwlans 14600 * Please Place Description here. 14601 * @var mac_ax_ops::mac_dumpwland 14602 * Please Place Description here. 14603 * @var mac_ax_ops::outsrc_h2c_common 14604 * Please Place Description here. 14605 * @var mac_ax_ops::read_pwr_reg 14606 * Please Place Description here. 14607 * @var mac_ax_ops::write_pwr_reg 14608 * Please Place Description here. 14609 * @var mac_ax_ops::write_msk_pwr_reg 14610 * Please Place Description here. 14611 * @var mac_ax_ops::write_pwr_ofst_mode 14612 * Please Place Description here. 14613 * @var mac_ax_ops::write_pwr_ofst_bw 14614 * Please Place Description here. 14615 * @var mac_ax_ops::write_pwr_ref_reg 14616 * Please Place Description here. 14617 * @var mac_ax_ops::write_pwr_limit_en 14618 * Please Place Description here. 14619 * @var mac_ax_ops::write_pwr_limit_rua_reg 14620 * Please Place Description here. 14621 * @var mac_ax_ops::write_pwr_limit_reg 14622 * Please Place Description here. 14623 * @var mac_ax_ops::write_pwr_by_rate_reg 14624 * Please Place Description here. 14625 * @var mac_ax_ops::lamode_cfg 14626 * Please Place Description here. 14627 * @var mac_ax_ops::lamode_trigger 14628 * Please Place Description here. 14629 * @var mac_ax_ops::lamode_buf_cfg 14630 * Please Place Description here. 14631 * @var mac_ax_ops::get_lamode_st 14632 * Please Place Description here. 14633 * @var mac_ax_ops::read_xcap_reg 14634 * Please Place Description here. 14635 * @var mac_ax_ops::write_xcap_reg 14636 * Please Place Description here. 14637 * @var mac_ax_ops::write_bbrst_reg 14638 * Please Place Description here. 14639 * @var mac_ax_ops::get_csi_buffer_index 14640 * Please Place Description here. 14641 * @var mac_ax_ops::set_csi_buffer_index 14642 * Please Place Description here. 14643 * @var mac_ax_ops::get_snd_sts_index 14644 * Please Place Description here. 14645 * @var mac_ax_ops::set_snd_sts_index 14646 * Please Place Description here. 14647 * @var mac_ax_ops::init_snd_mer 14648 * Please Place Description here. 14649 * @var mac_ax_ops::init_snd_mee 14650 * Please Place Description here. 14651 * @var mac_ax_ops::csi_force_rate 14652 * Please Place Description here. 14653 * @var mac_ax_ops::csi_rrsc 14654 * Please Place Description here. 14655 * @var mac_ax_ops::set_snd_para 14656 * Please Place Description here. 14657 * @var mac_ax_ops::set_csi_para_reg 14658 * Please Place Description here. 14659 * @var mac_ax_ops::set_csi_para_cctl 14660 * Please Place Description here. 14661 * @var mac_ax_ops::hw_snd_pause_release 14662 * Please Place Description here. 14663 * @var mac_ax_ops::bypass_snd_sts 14664 * Please Place Description here. 14665 * @var mac_ax_ops::deinit_mee 14666 * Please Place Description here. 14667 * @var mac_ax_ops::cfg_lps 14668 * Please Place Description here. 14669 * @var mac_ax_ops::ps_pwr_state 14670 * Please Place Description here. 14671 * @var mac_ax_ops::chk_leave_lps 14672 * Please Place Description here. 14673 * @var mac_ax_ops::cfg_ips 14674 * Please Place Description here. 14675 * @var mac_ax_ops::chk_leave_ips 14676 * Please Place Description here. 14677 * @var mac_ax_ops::lps_chk_access 14678 * Please Place Description here. 14679 * @var mac_ax_ops::cfg_wow_wake 14680 * Please Place Description here. 14681 * @var mac_ax_ops::cfg_disconnect_det 14682 * Please Place Description here. 14683 * @var mac_ax_ops::cfg_keepalive 14684 * Please Place Description here. 14685 * @var mac_ax_ops::cfg_gtk_ofld 14686 * Please Place Description here. 14687 * @var mac_ax_ops::cfg_arp_ofld 14688 * Please Place Description here. 14689 * @var mac_ax_ops::cfg_ndp_ofld 14690 * Please Place Description here. 14691 * @var mac_ax_ops::cfg_realwow 14692 * Please Place Description here. 14693 * @var mac_ax_ops::cfg_nlo 14694 * Please Place Description here. 14695 * @var mac_ax_ops::cfg_dev2hst_gpio 14696 * Please Place Description here. 14697 * @var mac_ax_ops::cfg_uphy_ctrl 14698 * Please Place Description here. 14699 * @var mac_ax_ops::cfg_wowcam_upd 14700 * Please Place Description here. 14701 * @var mac_ax_ops::cfg_wow_sleep 14702 * Please Place Description here. 14703 * @var mac_ax_ops::get_wow_fw_status 14704 * Please Place Description here. 14705 * @var mac_ax_ops::request_aoac_report 14706 * Please Place Description here. 14707 * @var mac_ax_ops::read_aoac_report 14708 * Please Place Description here. 14709 * @var mac_ax_ops::check_aoac_report_done 14710 * Please Place Description here. 14711 * @var mac_ax_ops::dbcc_enable 14712 * Please Place Description here. 14713 * @var mac_ax_ops::port_cfg 14714 * Please Place Description here. 14715 * @var mac_ax_ops::port_init 14716 * Please Place Description here. 14717 * @var mac_ax_ops::enable_imr 14718 * Please Place Description here. 14719 * @var mac_ax_ops::dump_efuse_map_wl 14720 * Please Place Description here. 14721 * @var mac_ax_ops::dump_efuse_map_bt 14722 * Please Place Description here. 14723 * @var mac_ax_ops::write_efuse 14724 * Please Place Description here. 14725 * @var mac_ax_ops::read_efuse 14726 * Please Place Description here. 14727 * @var mac_ax_ops::get_efuse_avl_size 14728 * Please Place Description here. 14729 * @var mac_ax_ops::get_efuse_avl_size_bt 14730 * Please Place Description here. 14731 * @var mac_ax_ops::dump_log_efuse 14732 * Please Place Description here. 14733 * @var mac_ax_ops::read_log_efuse 14734 * Please Place Description here. 14735 * @var mac_ax_ops::write_log_efuse 14736 * Please Place Description here. 14737 * @var mac_ax_ops::dump_log_efuse_bt 14738 * Please Place Description here. 14739 * @var mac_ax_ops::read_log_efuse_bt 14740 * Please Place Description here. 14741 * @var mac_ax_ops::write_log_efuse_bt 14742 * Please Place Description here. 14743 * @var mac_ax_ops::pg_efuse_by_map 14744 * Please Place Description here. 14745 * @var mac_ax_ops::pg_efuse_by_map_bt 14746 * Please Place Description here. 14747 * @var mac_ax_ops::mask_log_efuse 14748 * Please Place Description here. 14749 * @var mac_ax_ops::pg_sec_data_by_map 14750 * Please Place Description here. 14751 * @var mac_ax_ops::cmp_sec_data_by_map 14752 * Please Place Description here. 14753 * @var mac_ax_ops::get_efuse_info 14754 * Please Place Description here. 14755 * @var mac_ax_ops::set_efuse_info 14756 * Please Place Description here. 14757 * @var mac_ax_ops::read_hidden_rpt 14758 * Please Place Description here. 14759 * @var mac_ax_ops::check_efuse_autoload 14760 * Please Place Description here. 14761 * @var mac_ax_ops::pg_simulator 14762 * Please Place Description here. 14763 * @var mac_ax_ops::checksum_update 14764 * Please Place Description here. 14765 * @var mac_ax_ops::checksum_rpt 14766 * Please Place Description here. 14767 * @var mac_ax_ops::set_efuse_ctrl 14768 * Please Place Description here. 14769 * @var mac_ax_ops::otp_test 14770 * Please Place Description here. 14771 * @var mac_ax_ops::get_mac_ft_status 14772 * Please Place Description here. 14773 * @var mac_ax_ops::fw_log_cfg 14774 * Please Place Description here. 14775 * @var mac_ax_ops::pinmux_set_func 14776 * Please Place Description here. 14777 * @var mac_ax_ops::pinmux_free_func 14778 * Please Place Description here. 14779 * @var mac_ax_ops::sel_uart_tx_pin 14780 * Please Place Description here. 14781 * @var mac_ax_ops::sel_uart_rx_pin 14782 * Please Place Description here. 14783 * @var mac_ax_ops::set_gpio_func 14784 * Please Place Description here. 14785 * @var mac_ax_ops::get_hw_info 14786 * Please Place Description here. 14787 * @var mac_ax_ops::set_hw_value 14788 * Please Place Description here. 14789 * @var mac_ax_ops::get_hw_value 14790 * Please Place Description here. 14791 * @var mac_ax_ops::get_err_status 14792 * Please Place Description here. 14793 * @var mac_ax_ops::set_err_status 14794 * Please Place Description here. 14795 * @var mac_ax_ops::general_pkt_ids 14796 * Please Place Description here. 14797 * @var mac_ax_ops::coex_init 14798 * Please Place Description here. 14799 * @var mac_ax_ops::coex_read 14800 * Please Place Description here. 14801 * @var mac_ax_ops::coex_write 14802 * Please Place Description here. 14803 * @var mac_ax_ops::trigger_cmac_err 14804 * Please Place Description here. 14805 * @var mac_ax_ops::trigger_cmac1_err 14806 * Please Place Description here. 14807 * @var mac_ax_ops::trigger_dmac_err 14808 * Please Place Description here. 14809 * @var mac_ax_ops::tsf_sync 14810 * Please Place Description here. 14811 * @var mac_ax_ops::reset_mcc_group 14812 * Please Place Description here. 14813 * @var mac_ax_ops::reset_mcc_request 14814 * Please Place Description here. 14815 * @var mac_ax_ops::add_mcc 14816 * Please Place Description here. 14817 * @var mac_ax_ops::start_mcc 14818 * Please Place Description here. 14819 * @var mac_ax_ops::stop_mcc 14820 * Please Place Description here. 14821 * @var mac_ax_ops::del_mcc_group 14822 * Please Place Description here. 14823 * @var mac_ax_ops::mcc_request_tsf 14824 * Please Place Description here. 14825 * @var mac_ax_ops::mcc_macid_bitmap 14826 * Please Place Description here. 14827 * @var mac_ax_ops::mcc_sync_enable 14828 * Please Place Description here. 14829 * @var mac_ax_ops::mcc_set_duration 14830 * Please Place Description here. 14831 * @var mac_ax_ops::get_mcc_tsf_rpt 14832 * Please Place Description here. 14833 * @var mac_ax_ops::get_mcc_status_rpt 14834 * Please Place Description here. 14835 * @var mac_ax_ops::check_add_mcc_done 14836 * Please Place Description here. 14837 * @var mac_ax_ops::check_start_mcc_done 14838 * Please Place Description here. 14839 * @var mac_ax_ops::check_stop_mcc_done 14840 * Please Place Description here. 14841 * @var mac_ax_ops::check_del_mcc_group_done 14842 * Please Place Description here. 14843 * @var mac_ax_ops::check_mcc_request_tsf_done 14844 * Please Place Description here. 14845 * @var mac_ax_ops::check_mcc_macid_bitmap_done 14846 * Please Place Description here. 14847 * @var mac_ax_ops::check_mcc_sync_enable_done 14848 * Please Place Description here. 14849 * @var mac_ax_ops::check_mcc_set_duration_done 14850 * Please Place Description here. 14851 * @var mac_ax_ops::check_access 14852 * Please Place Description here. 14853 * @var mac_ax_ops::set_led_mode 14854 * Please Place Description here. 14855 * @var mac_ax_ops::led_ctrl 14856 * Please Place Description here. 14857 * @var mac_ax_ops::set_sw_gpio_mode 14858 * Please Place Description here. 14859 * @var mac_ax_ops::sw_gpio_ctrl 14860 * Please Place Description here. 14861 * @var mac_ax_ops::fwcmd_lb 14862 * Please Place Description here. 14863 * @var mac_ax_ops::mem_dump 14864 * Please Place Description here. 14865 * @var mac_ax_ops::get_mem_size 14866 * Please Place Description here. 14867 * @var mac_ax_ops::dbg_status_dump 14868 * Please Place Description here. 14869 * @var mac_ax_ops::reg_dump 14870 * Please Place Description here. 14871 * @var mac_ax_ops::rx_cnt 14872 * Please Place Description here. 14873 * @var mac_ax_ops::dump_fw_rsvd_ple 14874 * Please Place Description here. 14875 * @var mac_ax_ops::fw_dbg_dump 14876 * Please Place Description here. 14877 * @var mac_ax_ops::event_notify 14878 * Please Place Description here. 14879 * @var mac_ax_ops::ram_boot 14880 * Please Place Description here. 14881 * @var mac_ax_ops::clear_write_request 14882 * Please Place Description here. 14883 * @var mac_ax_ops::add_write_request 14884 * Please Place Description here. 14885 * @var mac_ax_ops::write_ofld 14886 * Please Place Description here. 14887 * @var mac_ax_ops::clear_conf_request 14888 * Please Place Description here. 14889 * @var mac_ax_ops::add_conf_request 14890 * Please Place Description here. 14891 * @var mac_ax_ops::conf_ofld 14892 * Please Place Description here. 14893 * @var mac_ax_ops::clear_read_request 14894 * Please Place Description here. 14895 * @var mac_ax_ops::add_read_request 14896 * Please Place Description here. 14897 * @var mac_ax_ops::read_ofld 14898 * Please Place Description here. 14899 * @var mac_ax_ops::read_ofld_value 14900 * Please Place Description here. 14901 * @var mac_ax_ops::get_fw_status 14902 * Please Place Description here. 14903 */ 14904 struct mac_ax_ops { 14905 struct mac_ax_intf_ops *intf_ops; 14906 /*System level*/ 14907 u32 (*hal_init)(struct mac_ax_adapter *adapter, 14908 struct mac_ax_trx_info *trx_info, 14909 struct mac_ax_fwdl_info *fwdl_info, 14910 struct mac_ax_intf_info *intf_info); 14911 u32 (*hal_fast_init)(struct mac_ax_adapter *adapter, 14912 struct mac_ax_trx_info *trx_info, 14913 struct mac_ax_fwdl_info *fwdl_info, 14914 struct mac_ax_intf_info *intf_info); 14915 u32 (*hal_deinit)(struct mac_ax_adapter *adapter); 14916 u32 (*hal_fast_deinit)(struct mac_ax_adapter *adapter); 14917 u32 (*add_role)(struct mac_ax_adapter *adapter, 14918 struct mac_ax_role_info *info); 14919 u32 (*remove_role)(struct mac_ax_adapter *adapter, u8 macid); 14920 u32 (*change_role)(struct mac_ax_adapter *adapter, 14921 struct mac_ax_role_info *info); 14922 u32 (*pwr_switch)(struct mac_ax_adapter *adapter, u8 on); 14923 u32 (*sys_init)(struct mac_ax_adapter *adapter); 14924 u32 (*trx_init)(struct mac_ax_adapter *adapter, 14925 struct mac_ax_trx_info *info); 14926 u32 (*romdl)(struct mac_ax_adapter *adapter, u8 *rom, u32 romaddr, 14927 u32 len); 14928 u32 (*enable_cpu)(struct mac_ax_adapter *adapter, 14929 u8 boot_reason, u8 dlfw); 14930 u32 (*disable_cpu)(struct mac_ax_adapter *adapter); 14931 u32 (*fwredl)(struct mac_ax_adapter *adapter, u8 *fw, u32 len); 14932 u32 (*fwdl)(struct mac_ax_adapter *adapter, u8 *fw, u32 len); 14933 u32 (*query_fw_buff)(struct mac_ax_adapter *adapter, 14934 enum rtw_fw_type cat, u8 **fw, u32 *fw_len); 14935 u32 (*enable_fw)(struct mac_ax_adapter *adapter, 14936 enum rtw_fw_type cat); 14937 u32 (*lv1_rcvy)(struct mac_ax_adapter *adapter, 14938 enum mac_ax_lv1_rcvy_step step); 14939 u32 (*get_macaddr)(struct mac_ax_adapter *adapter, 14940 struct mac_ax_macaddr *macaddr, 14941 u8 role_idx); 14942 u32 (*build_txdesc)(struct mac_ax_adapter *adapter, 14943 struct rtw_t_meta_data *info, u8 *buf, u32 len); 14944 u32 (*refill_txdesc)(struct mac_ax_adapter *adapter, 14945 struct rtw_t_meta_data *txpkt_info, 14946 struct mac_ax_refill_info *mask, 14947 struct mac_ax_refill_info *info); 14948 u32 (*parse_rxdesc)(struct mac_ax_adapter *adapter, 14949 struct mac_ax_rxpkt_info *info, u8 *buf, u32 len); 14950 u32 (*watchdog)(struct mac_ax_adapter *adapter); 14951 /*FW offload related*/ 14952 u32 (*reset_fwofld_state)(struct mac_ax_adapter *adapter, u8 op); 14953 u32 (*check_fwofld_done)(struct mac_ax_adapter *adapter, u8 op); 14954 u32 (*read_pkt_ofld)(struct mac_ax_adapter *adapter, u8 id); 14955 u32 (*del_pkt_ofld)(struct mac_ax_adapter *adapter, u8 id); 14956 u32 (*add_pkt_ofld)(struct mac_ax_adapter *adapter, u8 *pkt, 14957 u16 len, u8 *id); 14958 u32 (*pkt_ofld_packet)(struct mac_ax_adapter *adapter, 14959 u8 **pkt_buf, u16 *pkt_len, u8 *pkt_id); 14960 u32 (*dump_efuse_ofld)(struct mac_ax_adapter *adapter, u32 efuse_size, 14961 bool is_hidden); 14962 u32 (*efuse_ofld_map)(struct mac_ax_adapter *adapter, u8 *efuse_map, 14963 u32 efuse_size); 14964 u32 (*upd_dctl_info)(struct mac_ax_adapter *adapter, 14965 struct mac_ax_dctl_info *info, 14966 struct mac_ax_dctl_info *mask, u8 macid, 14967 u8 operation); 14968 u32 (*upd_cctl_info)(struct mac_ax_adapter *adapter, 14969 struct rtw_hal_mac_ax_cctl_info *info, 14970 struct rtw_hal_mac_ax_cctl_info *mask, u8 macid, 14971 u8 operation); 14972 u32 (*ie_cam_upd)(struct mac_ax_adapter *adapter, 14973 struct mac_ax_ie_cam_cmd_info *info); 14974 u32 (*twt_info_upd_h2c)(struct mac_ax_adapter *adapter, 14975 struct mac_ax_twt_para *info); 14976 u32 (*twt_act_h2c)(struct mac_ax_adapter *adapter, 14977 struct mac_ax_twtact_para *info); 14978 u32 (*twt_anno_h2c)(struct mac_ax_adapter *adapter, 14979 struct mac_ax_twtanno_para *info); 14980 void (*twt_wait_anno)(struct mac_ax_adapter *adapter, 14981 u8 *c2h_content, u8 *upd_addr); 14982 u32 (*mac_host_getpkt_h2c)(struct mac_ax_adapter *adapter, 14983 u8 macid, u8 pkttype); 14984 u32 (*p2p_act_h2c)(struct mac_ax_adapter *adapter, 14985 struct mac_ax_p2p_act_info *info); 14986 u32 (*p2p_macid_ctrl_h2c)(struct mac_ax_adapter *adapter, 14987 struct mac_ax_p2p_macid_info *info); 14988 u32 (*get_p2p_stat)(struct mac_ax_adapter *adapter); 14989 u32 (*tsf32_togl_h2c)(struct mac_ax_adapter *adapter, 14990 struct mac_ax_t32_togl_info *info); 14991 u32 (*get_t32_togl_rpt)(struct mac_ax_adapter *adapter, 14992 struct mac_ax_t32_togl_rpt *ret_rpt); 14993 u32 (*ccxrpt_parsing)(struct mac_ax_adapter *adapter, 14994 u8 *buf, struct mac_ax_ccxrpt *info); 14995 /*Association, de-association related*/ 14996 u32 (*sta_add_key)(struct mac_ax_adapter *adapter, 14997 struct mac_ax_sec_cam_info *sec_cam_content, 14998 u8 mac_id, u8 key_id, u8 key_type); 14999 u32 (*sta_del_key)(struct mac_ax_adapter *adapter, 15000 u8 mac_id, u8 key_id, u8 key_type); 15001 u32 (*sta_search_key_idx)(struct mac_ax_adapter *adapter, 15002 u8 mac_id, u8 key_id, u8 key_type); 15003 u32 (*sta_hw_security_support)(struct mac_ax_adapter *adapter, 15004 u8 hw_security_support_type, u8 enable); 15005 u32 (*sta_keycam_backup)(struct mac_ax_adapter *adapter, 15006 u8 op_mode); 15007 u32 (*set_mu_table)(struct mac_ax_adapter *adapter, 15008 struct mac_mu_table *mu_table); 15009 u32 (*ss_dl_grp_upd)(struct mac_ax_adapter *adapter, 15010 struct mac_ax_ss_dl_grp_upd *info); 15011 u32 (*ss_ul_grp_upd)(struct mac_ax_adapter *adapter, 15012 struct mac_ax_ss_ul_grp_upd *info); 15013 u32 (*ss_ul_sta_upd)(struct mac_ax_adapter *adapter, 15014 struct mac_ax_ss_ul_sta_upd *info); 15015 u32 (*bacam_info)(struct mac_ax_adapter *adapter, 15016 struct mac_ax_bacam_info *info); 15017 /*TRX related*/ 15018 u32 (*txdesc_len)(struct mac_ax_adapter *adapter, 15019 struct rtw_t_meta_data *info); 15020 u32 (*upd_shcut_mhdr)(struct mac_ax_adapter *adapter, 15021 struct mac_ax_shcut_mhdr *info, u8 macid); 15022 u32 (*enable_hwmasdu)(struct mac_ax_adapter *adapter, 15023 u8 enable, 15024 enum mac_ax_amsdu_pkt_num max_num, 15025 u8 en_single_amsdu, 15026 u8 en_last_amsdu_padding); 15027 u32 (*enable_cut_hwamsdu)(struct mac_ax_adapter *adapter, 15028 u8 enable, 15029 u8 low_th, 15030 u16 high_th, 15031 enum mac_ax_ex_shift aligned); 15032 u32 (*hdr_conv)(struct mac_ax_adapter *adapter, 15033 u8 en_hdr_conv); 15034 u32 (*set_hwseq_reg)(struct mac_ax_adapter *adapter, 15035 u8 reg_seq_idx, 15036 u16 reg_seq_val); 15037 u32 (*process_c2h)(struct mac_ax_adapter *adapter, u8 *buf, u32 len, 15038 u8 *ret); 15039 u32 (*parse_dfs)(struct mac_ax_adapter *adapter, 15040 u8 *buf, u32 dfs_len, struct mac_ax_dfs_rpt *rpt); 15041 u32 (*parse_ppdu)(struct mac_ax_adapter *adapter, 15042 u8 *buf, u32 ppdu_len, u8 mac_info, 15043 struct mac_ax_ppdu_rpt *rpt); 15044 u32 (*cfg_phy_rpt)(struct mac_ax_adapter *adapter, 15045 struct mac_ax_phy_rpt_cfg *cfg); 15046 u32 (*set_rx_forwarding)(struct mac_ax_adapter *adapter, 15047 struct mac_ax_rx_fwd_ctrl_t *rf_ctrl_p); 15048 u32 (*get_rx_fltr_opt)(struct mac_ax_adapter *adapter, 15049 struct mac_ax_rx_fltr_ctrl_t *opt, 15050 enum mac_ax_band band); 15051 u32 (*set_rx_fltr_opt)(struct mac_ax_adapter *adapter, 15052 struct mac_ax_rx_fltr_ctrl_t *opt, 15053 struct mac_ax_rx_fltr_ctrl_t *opt_msk, 15054 enum mac_ax_band band); 15055 u32 (*set_rx_fltr_typ_opt)(struct mac_ax_adapter *adapter, 15056 enum mac_ax_pkt_t type, 15057 enum mac_ax_fwd_target fwd_target, 15058 enum mac_ax_band band); 15059 u32 (*set_rx_fltr_typstyp_opt)(struct mac_ax_adapter *adapter, 15060 enum mac_ax_pkt_t type, 15061 u8 subtype, 15062 enum mac_ax_fwd_target fwd_target, 15063 enum mac_ax_band band); 15064 u32 (*set_typsbtyp_fltr_detail)(struct mac_ax_adapter *adapter, 15065 enum mac_ax_pkt_t type, 15066 struct mac_ax_rx_fltr_elem *elem, 15067 enum mac_ax_band band); 15068 u32 (*get_cfg_addr_cam)(struct mac_ax_adapter *adapter, 15069 struct mac_ax_addrcam_ctrl_t *opt, 15070 enum mac_ax_band band); 15071 u32 (*get_cfg_addr_cam_dis)(struct mac_ax_adapter *adapter, 15072 struct mac_ax_addrcam_dis_ctrl_t *opt, 15073 enum mac_ax_band band); 15074 u32 (*cfg_addr_cam)(struct mac_ax_adapter *adapter, 15075 struct mac_ax_addrcam_ctrl_t *ctl_opt, 15076 struct mac_ax_addrcam_ctrl_t *ctl_msk, 15077 enum mac_ax_band band); 15078 u32 (*cfg_addr_cam_dis)(struct mac_ax_adapter *adapter, 15079 struct mac_ax_addrcam_dis_ctrl_t *ctl_opt, 15080 struct mac_ax_addrcam_dis_ctrl_t *ctl_msk, 15081 enum mac_ax_band band); 15082 u32 (*sr_update)(struct mac_ax_adapter *adapter, 15083 struct mac_ax_sr_info *sr_info, 15084 enum mac_ax_band band); 15085 u32 (*two_nav_cfg)(struct mac_ax_adapter *adapter, 15086 struct mac_ax_2nav_info *info); 15087 u32 (*pkt_drop)(struct mac_ax_adapter *adapter, 15088 struct mac_ax_pkt_drop_info *info); 15089 u32 (*send_bcn_h2c)(struct mac_ax_adapter *adapter, 15090 struct mac_ax_bcn_info *info); 15091 u32 (*tx_mode_sel)(struct mac_ax_adapter *adapter, 15092 struct mac_ax_mac_tx_mode_sel *mode_sel); 15093 u32 (*tcpip_chksum_ofd)(struct mac_ax_adapter *adapter, 15094 u8 en_tx_chksum_ofd, 15095 u8 en_rx_chksum_ofd); 15096 u32 (*chk_rx_tcpip_chksum_ofd)(struct mac_ax_adapter *adapter, 15097 u8 chksum_status); 15098 u32 (*chk_allq_empty)(struct mac_ax_adapter *adapter, u8 *empty); 15099 u32 (*is_txq_empty)(struct mac_ax_adapter *adapter, 15100 struct mac_ax_tx_queue_empty *val); 15101 u32 (*is_rxq_empty)(struct mac_ax_adapter *adapter, 15102 struct mac_ax_rx_queue_empty *val); 15103 u32 (*parse_bcn_stats_c2h)(struct mac_ax_adapter *adapter, 15104 u8 *content, 15105 struct mac_ax_bcn_cnt *val); 15106 u32 (*tx_idle_poll)(struct mac_ax_adapter *adapter, 15107 struct mac_ax_tx_idle_poll_cfg *poll_cfg); 15108 u32 (*sifs_chk_cca_en)(struct mac_ax_adapter *adapter, 15109 u8 band); 15110 u32 (*patch_rx_rate)(struct mac_ax_adapter *adapter, 15111 struct rtw_r_meta_data *info); 15112 /*frame exchange related*/ 15113 u32 (*upd_mudecision_para)(struct mac_ax_adapter *adapter, 15114 struct mac_ax_mudecision_para *info); 15115 u32 (*mu_sta_upd)(struct mac_ax_adapter *adapter, 15116 struct mac_ax_mu_sta_upd *info); 15117 u32 (*upd_ul_fixinfo)(struct mac_ax_adapter *adapter, 15118 struct mac_ax_ul_fixinfo *info); 15119 u32 (*f2p_test_cmd)(struct mac_ax_adapter *adapter, 15120 struct mac_ax_f2p_test_para *info, 15121 struct mac_ax_f2p_wd *f2pwd, 15122 struct mac_ax_f2p_tx_cmd *ptxcmd, 15123 u8 *psigb_addr); 15124 u32 (*snd_test_cmd)(struct mac_ax_adapter *adapter, 15125 u8 *cmd_buf); 15126 u32 (*set_fw_fixmode)(struct mac_ax_adapter *adapter, 15127 struct mac_ax_fixmode_para *info); 15128 u32 (*mac_dumpwlanc)(struct mac_ax_adapter *adapter, 15129 struct mac_ax_dumpwlanc *para); 15130 u32 (*mac_dumpwlans)(struct mac_ax_adapter *adapter, 15131 struct mac_ax_dumpwlans *para); 15132 u32 (*mac_dumpwland)(struct mac_ax_adapter *adapter, 15133 struct mac_ax_dumpwland *para); 15134 /*outsrcing related */ 15135 u32 (*outsrc_h2c_common)(struct mac_ax_adapter *adapter, 15136 struct rtw_g6_h2c_hdr *hdr, 15137 u32 *pvalue); 15138 u32 (*read_pwr_reg)(struct mac_ax_adapter *adapter, u8 band, 15139 const u32 offset, u32 *val); 15140 u32 (*write_pwr_reg)(struct mac_ax_adapter *adapter, u8 band, 15141 const u32 offset, u32 val); 15142 u32 (*write_msk_pwr_reg)(struct mac_ax_adapter *adapter, u8 band, 15143 const u32 offset, u32 mask, u32 val); 15144 u32 (*write_pwr_ofst_mode)(struct mac_ax_adapter *adapter, 15145 u8 band, struct rtw_tpu_info *tpu); 15146 u32 (*write_pwr_ofst_bw)(struct mac_ax_adapter *adapter, 15147 u8 band, struct rtw_tpu_info *tpu); 15148 u32 (*write_pwr_ref_reg)(struct mac_ax_adapter *adapter, 15149 u8 band, struct rtw_tpu_info *tpu); 15150 u32 (*write_pwr_limit_en)(struct mac_ax_adapter *adapter, 15151 u8 band, struct rtw_tpu_info *tpu); 15152 u32 (*write_pwr_limit_rua_reg)(struct mac_ax_adapter *adapter, 15153 u8 band, struct rtw_tpu_info *tpu); 15154 u32 (*write_pwr_limit_reg)(struct mac_ax_adapter *adapter, 15155 u8 band, struct rtw_tpu_pwr_imt_info *tpu); 15156 u32 (*write_pwr_by_rate_reg)(struct mac_ax_adapter *adapter, 15157 u8 band, 15158 struct rtw_tpu_pwr_by_rate_info *tpu); 15159 u32 (*lamode_cfg)(struct mac_ax_adapter *adapter, 15160 struct mac_ax_la_cfg *cfg); 15161 u32 (*lamode_trigger)(struct mac_ax_adapter *adapter, u8 tgr); 15162 u32 (*lamode_buf_cfg)(struct mac_ax_adapter *adapter, 15163 struct mac_ax_la_buf_param *param); 15164 struct mac_ax_la_status (*get_lamode_st) 15165 (struct mac_ax_adapter *adapter); 15166 u32 (*read_xcap_reg)(struct mac_ax_adapter *adapter, u8 sc_xo, 15167 u32 *val); 15168 u32 (*write_xcap_reg)(struct mac_ax_adapter *adapter, u8 sc_xo, 15169 u32 val); 15170 u32 (*write_bbrst_reg)(struct mac_ax_adapter *adapter, u8 val); 15171 /*sounding related*/ 15172 u32 (*get_csi_buffer_index)(struct mac_ax_adapter *adapter, u8 band, 15173 u8 csi_buffer_id); 15174 u32 (*set_csi_buffer_index)(struct mac_ax_adapter *adapter, u8 band, 15175 u8 macid, u16 csi_buffer_id, 15176 u16 buffer_idx); 15177 u32 (*get_snd_sts_index)(struct mac_ax_adapter *adapter, u8 band, 15178 u8 index); 15179 u32 (*set_snd_sts_index)(struct mac_ax_adapter *adapter, u8 band, 15180 u8 macid, u8 index); 15181 u32 (*init_snd_mer)(struct mac_ax_adapter *adapter, u8 band); 15182 u32 (*init_snd_mee)(struct mac_ax_adapter *adapter, u8 band); 15183 u32 (*csi_force_rate)(struct mac_ax_adapter *adapter, u8 band, 15184 u8 ht_rate, u8 vht_rate, u8 he_rate); 15185 u32 (*csi_rrsc)(struct mac_ax_adapter *adapter, u8 band, u32 rrsc); 15186 u32 (*set_snd_para)(struct mac_ax_adapter *adapter, 15187 struct mac_ax_fwcmd_snd *snd_info); 15188 u32 (*set_csi_para_reg)(struct mac_ax_adapter *adapter, 15189 struct mac_reg_csi_para *csi_para); 15190 u32 (*set_csi_para_cctl)(struct mac_ax_adapter *adapter, 15191 struct mac_cctl_csi_para *csi_para); 15192 u32 (*hw_snd_pause_release)(struct mac_ax_adapter *adapter, 15193 u8 band, u8 pr); 15194 u32 (*bypass_snd_sts)(struct mac_ax_adapter *adapter); 15195 u32 (*deinit_mee)(struct mac_ax_adapter *adapter, u8 band); 15196 u32 (*snd_sup)(struct mac_ax_adapter *adapter, 15197 struct mac_bf_sup *bf_sup); 15198 u32 (*gidpos)(struct mac_ax_adapter *adapter, 15199 struct mac_gid_pos *mu_gid); 15200 /*lps related*/ 15201 u32 (*cfg_lps)(struct mac_ax_adapter *adapter, 15202 u8 macid, 15203 enum mac_ax_ps_mode ps_mode, 15204 struct mac_ax_lps_info *lps_info); 15205 u32 (*ps_pwr_state)(struct mac_ax_adapter *adapter, 15206 enum mac_ax_pwr_state_action action, 15207 enum mac_ax_rpwm_req_pwr_state req_pwr_state); 15208 u32 (*chk_leave_lps)(struct mac_ax_adapter *adapter, u8 macid); 15209 u32 (*cfg_ips)(struct mac_ax_adapter *adapter, 15210 u8 macid, 15211 u8 enable); 15212 u32 (*chk_leave_ips)(struct mac_ax_adapter *adapter, u8 macid); 15213 u32 (*ps_notify_wake)(struct mac_ax_adapter *adapter); 15214 u32 (*cfg_ps_advance_parm)(struct mac_ax_adapter *adapter, 15215 struct mac_ax_ps_adv_parm *parm); 15216 /*Wowlan related*/ 15217 u32 (*cfg_wow_wake)(struct mac_ax_adapter *adapter, 15218 u8 macid, 15219 struct mac_ax_wow_wake_info *info, 15220 struct mac_ax_remotectrl_info_parm_ *content); 15221 u32 (*cfg_disconnect_det)(struct mac_ax_adapter *adapter, 15222 u8 macid, 15223 struct mac_ax_disconnect_det_info *info); 15224 u32 (*cfg_keepalive)(struct mac_ax_adapter *adapter, 15225 u8 macid, 15226 struct mac_ax_keep_alive_info *info); 15227 u32 (*cfg_gtk_ofld)(struct mac_ax_adapter *adapter, 15228 u8 macid, 15229 struct mac_ax_gtk_ofld_info *info, 15230 struct mac_ax_gtk_info_parm_ *content); 15231 u32 (*cfg_arp_ofld)(struct mac_ax_adapter *adapter, 15232 u8 macid, 15233 struct mac_ax_arp_ofld_info *info, 15234 void *parp_info_content); 15235 u32 (*cfg_ndp_ofld)(struct mac_ax_adapter *adapter, 15236 u8 macid, 15237 struct mac_ax_ndp_ofld_info *info, 15238 struct mac_ax_ndp_info_parm_ *content); 15239 u32 (*cfg_realwow)(struct mac_ax_adapter *adapter, 15240 u8 macid, 15241 struct mac_ax_realwow_info *info, 15242 struct mac_ax_realwowv2_info_parm_ *content); 15243 u32 (*cfg_nlo)(struct mac_ax_adapter *adapter, 15244 u8 macid, 15245 struct mac_ax_nlo_info *info, 15246 struct mac_ax_nlo_networklist_parm_ *content); 15247 u32 (*cfg_dev2hst_gpio)(struct mac_ax_adapter *adapter, 15248 struct mac_ax_dev2hst_gpio_info *parm); 15249 u32 (*cfg_uphy_ctrl)(struct mac_ax_adapter *adapter, 15250 struct mac_ax_uphy_ctrl_info *info); 15251 u32 (*cfg_wowcam_upd)(struct mac_ax_adapter *adapter, 15252 struct mac_ax_wowcam_upd_info *info); 15253 u32 (*get_wow_wake_rsn)(struct mac_ax_adapter *adapter, u8 *wake_rsn, 15254 u8 *reset); 15255 u32 (*cfg_wow_sleep)(struct mac_ax_adapter *adapter, 15256 u8 sleep); 15257 u32 (*get_wow_fw_status)(struct mac_ax_adapter *adapter, 15258 u8 *status, u8 func_en); 15259 u32 (*request_aoac_report)(struct mac_ax_adapter *adapter, 15260 u8 rx_ready); 15261 u32 (*read_aoac_report)(struct mac_ax_adapter *adapter, 15262 struct mac_ax_aoac_report *rpt_buf, u8 rx_ready); 15263 u32 (*check_aoac_report_done)(struct mac_ax_adapter *adapter); 15264 u32 (*wow_stop_trx)(struct mac_ax_adapter *adapter); 15265 /*system related*/ 15266 u32 (*dbcc_enable)(struct mac_ax_adapter *adapter, 15267 struct mac_ax_trx_info *info, u8 dbcc_en); 15268 u32 (*dbcc_trx_ctrl)(struct mac_ax_adapter *adapter, 15269 enum mac_ax_band band, u8 pause); 15270 u32 (*port_cfg)(struct mac_ax_adapter *adapter, 15271 enum mac_ax_port_cfg_type type, 15272 struct mac_ax_port_cfg_para *para); 15273 u32 (*port_init)(struct mac_ax_adapter *adapter, 15274 struct mac_ax_port_init_para *para); 15275 u32 (*enable_imr)(struct mac_ax_adapter *adapter, u8 band, 15276 enum mac_ax_hwmod_sel sel); 15277 u32 (*dump_efuse_map_wl)(struct mac_ax_adapter *adapter, 15278 enum mac_ax_efuse_read_cfg cfg, 15279 u8 *efuse_map); 15280 u32 (*dump_efuse_map_bt)(struct mac_ax_adapter *adapter, 15281 enum mac_ax_efuse_read_cfg cfg, 15282 u8 *efuse_map); 15283 u32 (*write_efuse)(struct mac_ax_adapter *adapter, u32 addr, u8 val, 15284 enum mac_ax_efuse_bank bank); 15285 u32 (*read_efuse)(struct mac_ax_adapter *adapter, u32 addr, u32 size, 15286 u8 *val, enum mac_ax_efuse_bank bank); 15287 u32 (*get_efuse_avl_size)(struct mac_ax_adapter *adapter, u32 *size); 15288 u32 (*get_efuse_avl_size_bt)(struct mac_ax_adapter *adapter, u32 *size); 15289 u32 (*dump_log_efuse)(struct mac_ax_adapter *adapter, 15290 enum mac_ax_efuse_parser_cfg parser_cfg, 15291 enum mac_ax_efuse_read_cfg cfg, 15292 u8 *efuse_map, bool is_limit); 15293 u32 (*read_log_efuse)(struct mac_ax_adapter *adapter, u32 addr, 15294 u32 size, u8 *val); 15295 u32 (*write_log_efuse)(struct mac_ax_adapter *adapter, u32 addr, 15296 u8 val); 15297 u32 (*dump_log_efuse_bt)(struct mac_ax_adapter *adapter, 15298 enum mac_ax_efuse_parser_cfg parser_cfg, 15299 enum mac_ax_efuse_read_cfg cfg, 15300 u8 *efuse_map); 15301 u32 (*read_log_efuse_bt)(struct mac_ax_adapter *adapter, u32 addr, 15302 u32 size, u8 *val); 15303 u32 (*write_log_efuse_bt)(struct mac_ax_adapter *adapter, u32 addr, 15304 u8 val); 15305 u32 (*pg_efuse_by_map)(struct mac_ax_adapter *adapter, 15306 struct mac_ax_pg_efuse_info *info, 15307 enum mac_ax_efuse_read_cfg cfg, 15308 bool part, bool is_limit); 15309 u32 (*pg_efuse_by_map_bt)(struct mac_ax_adapter *adapter, 15310 struct mac_ax_pg_efuse_info *info, 15311 enum mac_ax_efuse_read_cfg cfg); 15312 u32 (*mask_log_efuse)(struct mac_ax_adapter *adapter, 15313 struct mac_ax_pg_efuse_info *info); 15314 u32 (*pg_sec_data_by_map)(struct mac_ax_adapter *adapter, 15315 struct mac_ax_pg_efuse_info *info); 15316 u32 (*cmp_sec_data_by_map)(struct mac_ax_adapter *adapter, 15317 struct mac_ax_pg_efuse_info *info); 15318 u32 (*get_efuse_info)(struct mac_ax_adapter *adapter, u8 *efuse_map, 15319 enum rtw_efuse_info id, void *value, 15320 u32 length, u8 *autoload_status); 15321 u32 (*set_efuse_info)(struct mac_ax_adapter *adapter, u8 *efuse_map, 15322 enum rtw_efuse_info id, void *value, u32 length); 15323 u32 (*read_hidden_rpt)(struct mac_ax_adapter *adapter, 15324 struct mac_defeature_value *rpt); 15325 u32 (*check_efuse_autoload)(struct mac_ax_adapter *adapter, 15326 u8 *autoload_status); 15327 u32 (*pg_simulator)(struct mac_ax_adapter *adapter, 15328 struct mac_ax_pg_efuse_info *info, u8 *phy_map); 15329 u32 (*checksum_update)(struct mac_ax_adapter *adapter); 15330 u32 (*checksum_rpt)(struct mac_ax_adapter *adapter, u16 *chksum); 15331 u32 (*disable_rf)(struct mac_ax_adapter *adapter, 15332 enum mac_ax_disable_rf_func func, 15333 enum mac_ax_net_type type); 15334 void (*set_efuse_ctrl)(struct mac_ax_adapter *adapter, u8 is_secure); 15335 u32 (*otp_test)(struct mac_ax_adapter *adapter, bool is_OTP_test); 15336 u32 (*get_mac_ft_status)(struct mac_ax_adapter *adapter, 15337 enum mac_ax_feature mac_ft, 15338 enum mac_ax_status *stat, u8 *buf, 15339 const u32 size, u32 *ret_size); 15340 u32 (*fw_log_cfg)(struct mac_ax_adapter *adapter, 15341 struct mac_ax_fw_log *log_cfg); 15342 u32 (*pinmux_set_func)(struct mac_ax_adapter *adapter, 15343 enum mac_ax_gpio_func func); 15344 u32 (*pinmux_free_func)(struct mac_ax_adapter *adapter, 15345 enum mac_ax_gpio_func func); 15346 u32 (*sel_uart_tx_pin)(struct mac_ax_adapter *adapter, 15347 enum mac_ax_uart_tx_pin uart_pin); 15348 u32 (*sel_uart_rx_pin)(struct mac_ax_adapter *adapter, 15349 enum mac_ax_uart_rx_pin uart_pin); 15350 u32 (*set_gpio_func)(struct mac_ax_adapter *adapter, 15351 enum rtw_mac_gfunc func, s8 gpio); 15352 struct mac_ax_hw_info* (*get_hw_info)(struct mac_ax_adapter *adapter); 15353 u32 (*set_hw_value)(struct mac_ax_adapter *adapter, 15354 enum mac_ax_hw_id hw_id, void *value); 15355 u32 (*get_hw_value)(struct mac_ax_adapter *adapter, 15356 enum mac_ax_hw_id hw_id, void *value); 15357 u32 (*get_err_status)(struct mac_ax_adapter *adapter, 15358 enum mac_ax_err_info *err); 15359 u32 (*set_err_status)(struct mac_ax_adapter *adapter, 15360 enum mac_ax_err_info err); 15361 u32 (*general_pkt_ids)(struct mac_ax_adapter *adapter, 15362 struct mac_ax_general_pkt_ids *ids); 15363 u32 (*coex_init)(struct mac_ax_adapter *adapter, 15364 struct mac_ax_coex *coex); 15365 u32 (*coex_read)(struct mac_ax_adapter *adapter, 15366 const u32 offset, u32 *val); 15367 u32 (*coex_write)(struct mac_ax_adapter *adapter, 15368 const u32 offset, const u32 val); 15369 u32 (*trigger_cmac_err)(struct mac_ax_adapter *adapter); 15370 u32 (*trigger_cmac1_err)(struct mac_ax_adapter *adapter); 15371 u32 (*trigger_dmac_err)(struct mac_ax_adapter *adapter); 15372 u32 (*tsf_sync)(struct mac_ax_adapter *adapter, u8 from_port, 15373 u8 to_port, s32 sync_offset, 15374 enum mac_ax_tsf_sync_act action); 15375 u32 (*read_xtal_si)(struct mac_ax_adapter *adapter, u8 offset, u8 *val); 15376 u32 (*write_xtal_si)(struct mac_ax_adapter *adapter, u8 offset, u8 val, 15377 u8 bitmask); 15378 u32 (*io_chk_access)(struct mac_ax_adapter *adapter, u32 offset); 15379 u32 (*ser_ctrl)(struct mac_ax_adapter *adapter, enum mac_ax_func_sw sw); 15380 /* mcc */ 15381 u32 (*reset_mcc_group)(struct mac_ax_adapter *adapter, u8 group); 15382 u32 (*reset_mcc_request)(struct mac_ax_adapter *adapter, u8 group); 15383 u32 (*add_mcc)(struct mac_ax_adapter *adapter, 15384 struct mac_ax_mcc_role *info); 15385 u32 (*start_mcc)(struct mac_ax_adapter *adapter, 15386 struct mac_ax_mcc_start *info); 15387 u32 (*stop_mcc)(struct mac_ax_adapter *adapter, u8 group, u8 macid, 15388 u8 prev_groups); 15389 u32 (*del_mcc_group)(struct mac_ax_adapter *adapter, u8 group, 15390 u8 prev_groups); 15391 u32 (*mcc_request_tsf)(struct mac_ax_adapter *adapter, u8 group, 15392 u8 macid_x, u8 macid_y); 15393 u32 (*mcc_macid_bitmap)(struct mac_ax_adapter *adapter, u8 group, 15394 u8 macid, u8 *bitmap, u8 len); 15395 u32 (*mcc_sync_enable)(struct mac_ax_adapter *adapter, u8 group, 15396 u8 source, u8 target, u8 offset); 15397 u32 (*mcc_set_duration)(struct mac_ax_adapter *adapter, 15398 struct mac_ax_mcc_duration_info *info); 15399 u32 (*get_mcc_tsf_rpt)(struct mac_ax_adapter *adapter, u8 group, 15400 u32 *tsf_x_high, u32 *tsf_x_low, 15401 u32 *tsf_y_high, u32 *tsf_y_low); 15402 u32 (*get_mcc_status_rpt)(struct mac_ax_adapter *adapter, u8 group, 15403 u8 *status, u32 *tsf_high, u32 *tsf_low); 15404 u32 (*get_mcc_group)(struct mac_ax_adapter *adapter, u8 *pget_group); 15405 u32 (*check_add_mcc_done)(struct mac_ax_adapter *adapter, u8 group); 15406 u32 (*check_start_mcc_done)(struct mac_ax_adapter *adapter, u8 group); 15407 u32 (*check_stop_mcc_done)(struct mac_ax_adapter *adapter, u8 group); 15408 u32 (*check_del_mcc_group_done)(struct mac_ax_adapter *adapter, 15409 u8 group); 15410 u32 (*check_mcc_request_tsf_done)(struct mac_ax_adapter *adapter, 15411 u8 group); 15412 u32 (*check_mcc_macid_bitmap_done)(struct mac_ax_adapter *adapter, 15413 u8 group); 15414 u32 (*check_mcc_sync_enable_done)(struct mac_ax_adapter *adapter, 15415 u8 group); 15416 u32 (*check_mcc_set_duration_done)(struct mac_ax_adapter *adapter, 15417 u8 group); 15418 /* not mcc */ 15419 u32 (*check_access)(struct mac_ax_adapter *adapter, u32 offset); 15420 u32 (*set_led_mode)(struct mac_ax_adapter *adapter, 15421 enum mac_ax_led_mode mode, u8 led_id); 15422 u32 (*led_ctrl)(struct mac_ax_adapter *adapter, u8 high, u8 led_id); 15423 u32 (*set_sw_gpio_mode)(struct mac_ax_adapter *adapter, 15424 enum rtw_gpio_mode mode, u8 gpio); 15425 u32 (*sw_gpio_ctrl)(struct mac_ax_adapter *adapter, u8 high, u8 gpio); 15426 u32 (*get_c2h_event)(struct mac_ax_adapter *adapter, 15427 struct rtw_c2h_info *c2h, 15428 enum phl_msg_evt_id *id, 15429 u8 *c2h_info); 15430 u32 (*cfg_wps)(struct mac_ax_adapter *adapter, 15431 struct mac_ax_cfg_wps *wps); 15432 u32 (*get_wl_dis_val)(struct mac_ax_adapter *adapter, u8 *val); 15433 /* ftm related */ 15434 u32 (*ista_ftm_proc)(struct mac_ax_adapter *adapter, 15435 struct mac_ax_ftm_para *ftmr); 15436 #if MAC_AX_FEATURE_DBGPKG 15437 u32 (*fwcmd_lb)(struct mac_ax_adapter *adapter, u32 len, u8 burst); 15438 u32 (*mem_dump)(struct mac_ax_adapter *adapter, enum mac_ax_mem_sel sel, 15439 u32 strt_addr, u8 *data, u32 size, u32 dbg_path); 15440 u32 (*get_mem_size)(struct mac_ax_adapter *adapter, 15441 enum mac_ax_mem_sel sel); 15442 void (*dbg_status_dump)(struct mac_ax_adapter *adapter, 15443 struct mac_ax_dbgpkg *val, 15444 struct mac_ax_dbgpkg_en *en); 15445 u32 (*reg_dump)(struct mac_ax_adapter *adapter, 15446 enum mac_ax_reg_sel sel); 15447 u32 (*rx_cnt)(struct mac_ax_adapter *adapter, 15448 struct mac_ax_rx_cnt *rxcnt); 15449 u32 (*dump_fw_rsvd_ple)(struct mac_ax_adapter *adapter, u8 **buf); 15450 void (*dump_ple_dbg_page)(struct mac_ax_adapter *adapter, u8 page_num); 15451 u32 (*fw_dbg_dump)(struct mac_ax_adapter *adapter, 15452 u8 **buf, 15453 struct mac_ax_fwdbg_en *en); 15454 u32 (*event_notify)(struct mac_ax_adapter *adapter, 15455 enum phl_msg_evt_id id, u8 band); 15456 u32 (*dbgport_hw_set)(struct mac_ax_adapter *adapter, 15457 struct mac_ax_dbgport_hw *dp_hw); 15458 #endif 15459 #if MAC_AX_FEATURE_HV 15460 u32 (*ram_boot)(struct mac_ax_adapter *adapter, u8 *fw, u32 len); 15461 /*fw offload related*/ 15462 u32 (*clear_write_request)(struct mac_ax_adapter *adapter); 15463 u32 (*add_write_request)(struct mac_ax_adapter *adapter, 15464 struct mac_ax_write_req *req, 15465 u8 *value, u8 *mask); 15466 u32 (*write_ofld)(struct mac_ax_adapter *adapter); 15467 u32 (*clear_conf_request)(struct mac_ax_adapter *adapter); 15468 u32 (*add_conf_request)(struct mac_ax_adapter *adapter, 15469 struct mac_ax_conf_ofld_req *req); 15470 u32 (*conf_ofld)(struct mac_ax_adapter *adapter); 15471 u32 (*clear_read_request)(struct mac_ax_adapter *adapter); 15472 u32 (*add_read_request)(struct mac_ax_adapter *adapter, 15473 struct mac_ax_read_req *req); 15474 u32 (*read_ofld)(struct mac_ax_adapter *adapter); 15475 u32 (*read_ofld_value)(struct mac_ax_adapter *adapter, 15476 u8 **val_buf, u16 *val_len); 15477 #endif 15478 u32 (*add_cmd_ofld)(struct mac_ax_adapter *adapter, 15479 struct rtw_mac_cmd *cmd); 15480 /* flash related*/ 15481 u32 (*flash_erase)(struct mac_ax_adapter *adapter, 15482 u32 addr, 15483 u32 length, 15484 u32 timeout); 15485 u32 (*flash_read)(struct mac_ax_adapter *adapter, 15486 u32 addr, 15487 u32 length, 15488 u8 *buffer, 15489 u32 timeout); 15490 u32 (*flash_write)(struct mac_ax_adapter *adapter, 15491 u32 addr, 15492 u32 length, 15493 u8 *buffer, 15494 u32 timeout); 15495 u32 (*fw_status_cmd)(struct mac_ax_adapter *adapter, 15496 struct mac_ax_fwstatus_payload *info); 15497 u32 (*fwc2h_ofdma_sts_parse)(struct mac_ax_adapter *adapter, 15498 struct mac_ax_fwc2h_sts *fw_c2h_sts, 15499 u32 *content); 15500 u32 (*fw_ofdma_sts_en)(struct mac_ax_adapter *adapter, 15501 struct mac_ax_fwsts_para *fwsts_para); 15502 u32 (*tx_duty)(struct mac_ax_adapter *adapter, 15503 u16 pause_intvl, u16 tx_intvl); 15504 u32 (*tx_duty_stop)(struct mac_ax_adapter *adapter); 15505 u32 (*get_phy_rpt_cfg)(struct mac_ax_adapter *adapter, 15506 struct mac_ax_phy_rpt_cfg *cfg); 15507 #if MAC_AX_FEATURE_DBGCMD 15508 s32 (*halmac_cmd)(struct mac_ax_adapter *adapter, char *input, char *output, u32 out_len); 15509 void (*halmac_cmd_parser)(struct mac_ax_adapter *adapter, 15510 char input[][MAC_MAX_ARGV], u32 input_num, char *output, 15511 u32 out_len); 15512 #endif 15513 /* FAST_CH_SW */ 15514 u32 (*fast_ch_sw)(struct mac_ax_adapter *adapter, 15515 struct mac_ax_fast_ch_sw_param *fast_ch_sw_param); 15516 u32 (*fast_ch_sw_done)(struct mac_ax_adapter *adapter); 15517 u32 (*get_fast_ch_sw_rpt)(struct mac_ax_adapter *adapter, u32 *fast_ch_sw_status_code); 15518 u32 (*write_coex_mask)(struct mac_ax_adapter *adapter, 15519 u32 offset, u32 mask, u32 val); 15520 u32 (*fw_dbg_dle_cfg)(struct mac_ax_adapter *adapter, bool lock); 15521 void (*h2c_agg_en)(struct mac_ax_adapter *adapter, u8 enable); 15522 void (*h2c_agg_flush)(struct mac_ax_adapter *adapter); 15523 u32 (*h2c_agg_tx)(struct mac_ax_adapter *adapter); 15524 #if MAC_AX_FEATURE_DBGDEC 15525 u32 (*fw_log_set_array)(struct mac_ax_adapter *adapter, void *symbol_ptr, u32 file_size); 15526 u32 (*fw_log_unset_array)(struct mac_ax_adapter *adapter); 15527 #endif 15528 u32 (*get_fw_status)(struct mac_ax_adapter *adapter); 15529 u32 (*add_scanofld_ch)(struct mac_ax_adapter *adapter, 15530 struct mac_ax_scanofld_chinfo *chinfo, 15531 u8 send_h2c, u8 clear_after_send); 15532 u32 (*scanofld)(struct mac_ax_adapter *adapter, struct mac_ax_scanofld_param *scanParam); 15533 u32 (*scanofld_fw_busy)(struct mac_ax_adapter *adapter); 15534 u32 (*scanofld_chlist_busy)(struct mac_ax_adapter *adapter); 15535 u32 (*role_sync)(struct mac_ax_adapter *adapter, struct mac_ax_role_info *info); 15536 u32 (*ch_switch_ofld)(struct mac_ax_adapter *adapter, struct mac_ax_ch_switch_parm parm); 15537 u32 (*get_ch_switch_rpt)(struct mac_ax_adapter *adapter, struct mac_ax_ch_switch_rpt *rpt); 15538 u32 (*cfg_bcn_filter)(struct mac_ax_adapter *adapter, struct mac_ax_bcn_fltr cfg); 15539 u32 (*bcn_filter_rssi)(struct mac_ax_adapter *adapter, u8 macid, u8 size, u8 *rssi); 15540 u32 (*bcn_filter_tp)(struct mac_ax_adapter *adapter, u8 macid, u16 tx, u16 rx); 15541 }; 15542 15543 #endif 15544