1*03f3dd37SLarry Finger /* SPDX-License-Identifier: GPL-2.0 */ 2*03f3dd37SLarry Finger /* Copyright(c) 2009-2010 Realtek Corporation.*/ 3f1d2b4d3SLarry Finger 4f1d2b4d3SLarry Finger #ifndef __RTL8821AE_DEF_H__ 5f1d2b4d3SLarry Finger #define __RTL8821AE_DEF_H__ 6f1d2b4d3SLarry Finger 7f1d2b4d3SLarry Finger /*--------------------------Define -------------------------------------------*/ 8f1d2b4d3SLarry Finger #define USE_SPECIFIC_FW_TO_SUPPORT_WOWLAN 1 9f1d2b4d3SLarry Finger 10f1d2b4d3SLarry Finger /* BIT 7 HT Rate*/ 11f1d2b4d3SLarry Finger /*TxHT = 0*/ 12f1d2b4d3SLarry Finger #define MGN_1M 0x02 13f1d2b4d3SLarry Finger #define MGN_2M 0x04 14f1d2b4d3SLarry Finger #define MGN_5_5M 0x0b 15f1d2b4d3SLarry Finger #define MGN_11M 0x16 16f1d2b4d3SLarry Finger 17f1d2b4d3SLarry Finger #define MGN_6M 0x0c 18f1d2b4d3SLarry Finger #define MGN_9M 0x12 19f1d2b4d3SLarry Finger #define MGN_12M 0x18 20f1d2b4d3SLarry Finger #define MGN_18M 0x24 21f1d2b4d3SLarry Finger #define MGN_24M 0x30 22f1d2b4d3SLarry Finger #define MGN_36M 0x48 23f1d2b4d3SLarry Finger #define MGN_48M 0x60 24f1d2b4d3SLarry Finger #define MGN_54M 0x6c 25f1d2b4d3SLarry Finger 26f1d2b4d3SLarry Finger /* TxHT = 1 */ 27f1d2b4d3SLarry Finger #define MGN_MCS0 0x80 28f1d2b4d3SLarry Finger #define MGN_MCS1 0x81 29f1d2b4d3SLarry Finger #define MGN_MCS2 0x82 30f1d2b4d3SLarry Finger #define MGN_MCS3 0x83 31f1d2b4d3SLarry Finger #define MGN_MCS4 0x84 32f1d2b4d3SLarry Finger #define MGN_MCS5 0x85 33f1d2b4d3SLarry Finger #define MGN_MCS6 0x86 34f1d2b4d3SLarry Finger #define MGN_MCS7 0x87 35f1d2b4d3SLarry Finger #define MGN_MCS8 0x88 36f1d2b4d3SLarry Finger #define MGN_MCS9 0x89 37f1d2b4d3SLarry Finger #define MGN_MCS10 0x8a 38f1d2b4d3SLarry Finger #define MGN_MCS11 0x8b 39f1d2b4d3SLarry Finger #define MGN_MCS12 0x8c 40f1d2b4d3SLarry Finger #define MGN_MCS13 0x8d 41f1d2b4d3SLarry Finger #define MGN_MCS14 0x8e 42f1d2b4d3SLarry Finger #define MGN_MCS15 0x8f 43f1d2b4d3SLarry Finger /* VHT rate */ 44f1d2b4d3SLarry Finger #define MGN_VHT1SS_MCS0 0x90 45f1d2b4d3SLarry Finger #define MGN_VHT1SS_MCS1 0x91 46f1d2b4d3SLarry Finger #define MGN_VHT1SS_MCS2 0x92 47f1d2b4d3SLarry Finger #define MGN_VHT1SS_MCS3 0x93 48f1d2b4d3SLarry Finger #define MGN_VHT1SS_MCS4 0x94 49f1d2b4d3SLarry Finger #define MGN_VHT1SS_MCS5 0x95 50f1d2b4d3SLarry Finger #define MGN_VHT1SS_MCS6 0x96 51f1d2b4d3SLarry Finger #define MGN_VHT1SS_MCS7 0x97 52f1d2b4d3SLarry Finger #define MGN_VHT1SS_MCS8 0x98 53f1d2b4d3SLarry Finger #define MGN_VHT1SS_MCS9 0x99 54f1d2b4d3SLarry Finger #define MGN_VHT2SS_MCS0 0x9a 55f1d2b4d3SLarry Finger #define MGN_VHT2SS_MCS1 0x9b 56f1d2b4d3SLarry Finger #define MGN_VHT2SS_MCS2 0x9c 57f1d2b4d3SLarry Finger #define MGN_VHT2SS_MCS3 0x9d 58f1d2b4d3SLarry Finger #define MGN_VHT2SS_MCS4 0x9e 59f1d2b4d3SLarry Finger #define MGN_VHT2SS_MCS5 0x9f 60f1d2b4d3SLarry Finger #define MGN_VHT2SS_MCS6 0xa0 61f1d2b4d3SLarry Finger #define MGN_VHT2SS_MCS7 0xa1 62f1d2b4d3SLarry Finger #define MGN_VHT2SS_MCS8 0xa2 63f1d2b4d3SLarry Finger #define MGN_VHT2SS_MCS9 0xa3 64f1d2b4d3SLarry Finger 65f1d2b4d3SLarry Finger #define MGN_VHT3SS_MCS0 0xa4 66f1d2b4d3SLarry Finger #define MGN_VHT3SS_MCS1 0xa5 67f1d2b4d3SLarry Finger #define MGN_VHT3SS_MCS2 0xa6 68f1d2b4d3SLarry Finger #define MGN_VHT3SS_MCS3 0xa7 69f1d2b4d3SLarry Finger #define MGN_VHT3SS_MCS4 0xa8 70f1d2b4d3SLarry Finger #define MGN_VHT3SS_MCS5 0xa9 71f1d2b4d3SLarry Finger #define MGN_VHT3SS_MCS6 0xaa 72f1d2b4d3SLarry Finger #define MGN_VHT3SS_MCS7 0xab 73f1d2b4d3SLarry Finger #define MGN_VHT3SS_MCS8 0xac 74f1d2b4d3SLarry Finger #define MGN_VHT3SS_MCS9 0xad 75f1d2b4d3SLarry Finger 76f1d2b4d3SLarry Finger #define MGN_MCS0_SG 0xc0 77f1d2b4d3SLarry Finger #define MGN_MCS1_SG 0xc1 78f1d2b4d3SLarry Finger #define MGN_MCS2_SG 0xc2 79f1d2b4d3SLarry Finger #define MGN_MCS3_SG 0xc3 80f1d2b4d3SLarry Finger #define MGN_MCS4_SG 0xc4 81f1d2b4d3SLarry Finger #define MGN_MCS5_SG 0xc5 82f1d2b4d3SLarry Finger #define MGN_MCS6_SG 0xc6 83f1d2b4d3SLarry Finger #define MGN_MCS7_SG 0xc7 84f1d2b4d3SLarry Finger #define MGN_MCS8_SG 0xc8 85f1d2b4d3SLarry Finger #define MGN_MCS9_SG 0xc9 86f1d2b4d3SLarry Finger #define MGN_MCS10_SG 0xca 87f1d2b4d3SLarry Finger #define MGN_MCS11_SG 0xcb 88f1d2b4d3SLarry Finger #define MGN_MCS12_SG 0xcc 89f1d2b4d3SLarry Finger #define MGN_MCS13_SG 0xcd 90f1d2b4d3SLarry Finger #define MGN_MCS14_SG 0xce 91f1d2b4d3SLarry Finger #define MGN_MCS15_SG 0xcf 92f1d2b4d3SLarry Finger 93f1d2b4d3SLarry Finger #define MGN_UNKNOWN 0xff 94f1d2b4d3SLarry Finger 95f1d2b4d3SLarry Finger /* 30 ms */ 96f1d2b4d3SLarry Finger #define WIFI_NAV_UPPER_US 30000 97f1d2b4d3SLarry Finger #define HAL_92C_NAV_UPPER_UNIT 128 98f1d2b4d3SLarry Finger 99f1d2b4d3SLarry Finger #define MAX_RX_DMA_BUFFER_SIZE 0x3E80 100f1d2b4d3SLarry Finger 101f1d2b4d3SLarry Finger #define HAL_PRIME_CHNL_OFFSET_DONT_CARE 0 102f1d2b4d3SLarry Finger #define HAL_PRIME_CHNL_OFFSET_LOWER 1 103f1d2b4d3SLarry Finger #define HAL_PRIME_CHNL_OFFSET_UPPER 2 104f1d2b4d3SLarry Finger 105f1d2b4d3SLarry Finger #define RX_MPDU_QUEUE 0 106f1d2b4d3SLarry Finger #define RX_CMD_QUEUE 1 107f1d2b4d3SLarry Finger 108f1d2b4d3SLarry Finger #define MAX_RX_DMA_BUFFER_SIZE_8812 0x3E80 109f1d2b4d3SLarry Finger 110f1d2b4d3SLarry Finger #define C2H_RX_CMD_HDR_LEN 8 111f1d2b4d3SLarry Finger #define GET_C2H_CMD_CMD_LEN(__prxhdr) \ 112f1d2b4d3SLarry Finger LE_BITS_TO_4BYTE((__prxhdr), 0, 16) 113f1d2b4d3SLarry Finger #define GET_C2H_CMD_ELEMENT_ID(__prxhdr) \ 114f1d2b4d3SLarry Finger LE_BITS_TO_4BYTE((__prxhdr), 16, 8) 115f1d2b4d3SLarry Finger #define GET_C2H_CMD_CMD_SEQ(__prxhdr) \ 116f1d2b4d3SLarry Finger LE_BITS_TO_4BYTE((__prxhdr), 24, 7) 117f1d2b4d3SLarry Finger #define GET_C2H_CMD_CONTINUE(__prxhdr) \ 118f1d2b4d3SLarry Finger LE_BITS_TO_4BYTE((__prxhdr), 31, 1) 119f1d2b4d3SLarry Finger #define GET_C2H_CMD_CONTENT(__prxhdr) \ 120f1d2b4d3SLarry Finger ((u8 *)(__prxhdr) + C2H_RX_CMD_HDR_LEN) 121f1d2b4d3SLarry Finger 122f1d2b4d3SLarry Finger #define GET_C2H_CMD_FEEDBACK_ELEMENT_ID(__pcmdfbhdr) \ 123f1d2b4d3SLarry Finger LE_BITS_TO_4BYTE((__pcmdfbhdr), 0, 8) 124f1d2b4d3SLarry Finger #define GET_C2H_CMD_FEEDBACK_CCX_LEN(__pcmdfbhdr) \ 125f1d2b4d3SLarry Finger LE_BITS_TO_4BYTE((__pcmdfbhdr), 8, 8) 126f1d2b4d3SLarry Finger #define GET_C2H_CMD_FEEDBACK_CCX_CMD_CNT(__pcmdfbhdr) \ 127f1d2b4d3SLarry Finger LE_BITS_TO_4BYTE((__pcmdfbhdr), 16, 16) 128f1d2b4d3SLarry Finger #define GET_C2H_CMD_FEEDBACK_CCX_MAC_ID(__pcmdfbhdr) \ 129f1d2b4d3SLarry Finger LE_BITS_TO_4BYTE(((__pcmdfbhdr) + 4), 0, 5) 130f1d2b4d3SLarry Finger #define GET_C2H_CMD_FEEDBACK_CCX_VALID(__pcmdfbhdr) \ 131f1d2b4d3SLarry Finger LE_BITS_TO_4BYTE(((__pcmdfbhdr) + 4), 7, 1) 132f1d2b4d3SLarry Finger #define GET_C2H_CMD_FEEDBACK_CCX_RETRY_CNT(__pcmdfbhdr) \ 133f1d2b4d3SLarry Finger LE_BITS_TO_4BYTE(((__pcmdfbhdr) + 4), 8, 5) 134f1d2b4d3SLarry Finger #define GET_C2H_CMD_FEEDBACK_CCX_TOK(__pcmdfbhdr) \ 135f1d2b4d3SLarry Finger LE_BITS_TO_4BYTE(((__pcmdfbhdr) + 4), 15, 1) 136f1d2b4d3SLarry Finger #define GET_C2H_CMD_FEEDBACK_CCX_QSEL(__pcmdfbhdr) \ 137f1d2b4d3SLarry Finger LE_BITS_TO_4BYTE(((__pcmdfbhdr) + 4), 16, 4) 138f1d2b4d3SLarry Finger #define GET_C2H_CMD_FEEDBACK_CCX_SEQ(__pcmdfbhdr) \ 139f1d2b4d3SLarry Finger LE_BITS_TO_4BYTE(((__pcmdfbhdr) + 4), 20, 12) 140f1d2b4d3SLarry Finger 141f1d2b4d3SLarry Finger #define CHIP_BONDING_IDENTIFIER(_value) (((_value)>>22)&0x3) 142f1d2b4d3SLarry Finger 143f1d2b4d3SLarry Finger #define CHIP_8812 BIT(2) 144f1d2b4d3SLarry Finger #define CHIP_8821 (BIT(0)|BIT(2)) 145f1d2b4d3SLarry Finger 146f1d2b4d3SLarry Finger #define CHIP_8821A (BIT(0)|BIT(2)) 147f1d2b4d3SLarry Finger #define NORMAL_CHIP BIT(3) 148f1d2b4d3SLarry Finger #define RF_TYPE_1T1R (~(BIT(4)|BIT(5)|BIT(6))) 149f1d2b4d3SLarry Finger #define RF_TYPE_1T2R BIT(4) 150f1d2b4d3SLarry Finger #define RF_TYPE_2T2R BIT(5) 151f1d2b4d3SLarry Finger #define CHIP_VENDOR_UMC BIT(7) 152f1d2b4d3SLarry Finger #define B_CUT_VERSION BIT(12) 153f1d2b4d3SLarry Finger #define C_CUT_VERSION BIT(13) 154f1d2b4d3SLarry Finger #define D_CUT_VERSION ((BIT(12)|BIT(13))) 155f1d2b4d3SLarry Finger #define E_CUT_VERSION BIT(14) 156f1d2b4d3SLarry Finger #define RF_RL_ID (BIT(31)|BIT(30)|BIT(29)|BIT(28)) 157f1d2b4d3SLarry Finger 158f1d2b4d3SLarry Finger enum version_8821ae { 159f1d2b4d3SLarry Finger VERSION_TEST_CHIP_1T1R_8812 = 0x0004, 160f1d2b4d3SLarry Finger VERSION_TEST_CHIP_2T2R_8812 = 0x0024, 161f1d2b4d3SLarry Finger VERSION_NORMAL_TSMC_CHIP_1T1R_8812 = 0x100c, 162f1d2b4d3SLarry Finger VERSION_NORMAL_TSMC_CHIP_2T2R_8812 = 0x102c, 163f1d2b4d3SLarry Finger VERSION_NORMAL_TSMC_CHIP_1T1R_8812_C_CUT = 0x200c, 164f1d2b4d3SLarry Finger VERSION_NORMAL_TSMC_CHIP_2T2R_8812_C_CUT = 0x202c, 165f1d2b4d3SLarry Finger VERSION_TEST_CHIP_8821 = 0x0005, 166f1d2b4d3SLarry Finger VERSION_NORMAL_TSMC_CHIP_8821 = 0x000d, 167f1d2b4d3SLarry Finger VERSION_NORMAL_TSMC_CHIP_8821_B_CUT = 0x100d, 168f1d2b4d3SLarry Finger VERSION_UNKNOWN = 0xFF, 169f1d2b4d3SLarry Finger }; 170f1d2b4d3SLarry Finger 171f1d2b4d3SLarry Finger enum vht_data_sc { 172f1d2b4d3SLarry Finger VHT_DATA_SC_DONOT_CARE = 0, 173f1d2b4d3SLarry Finger VHT_DATA_SC_20_UPPER_OF_80MHZ = 1, 174f1d2b4d3SLarry Finger VHT_DATA_SC_20_LOWER_OF_80MHZ = 2, 175f1d2b4d3SLarry Finger VHT_DATA_SC_20_UPPERST_OF_80MHZ = 3, 176f1d2b4d3SLarry Finger VHT_DATA_SC_20_LOWEST_OF_80MHZ = 4, 177f1d2b4d3SLarry Finger VHT_DATA_SC_20_RECV1 = 5, 178f1d2b4d3SLarry Finger VHT_DATA_SC_20_RECV2 = 6, 179f1d2b4d3SLarry Finger VHT_DATA_SC_20_RECV3 = 7, 180f1d2b4d3SLarry Finger VHT_DATA_SC_20_RECV4 = 8, 181f1d2b4d3SLarry Finger VHT_DATA_SC_40_UPPER_OF_80MHZ = 9, 182f1d2b4d3SLarry Finger VHT_DATA_SC_40_LOWER_OF_80MHZ = 10, 183f1d2b4d3SLarry Finger }; 184f1d2b4d3SLarry Finger 185f1d2b4d3SLarry Finger /* MASK */ 186f1d2b4d3SLarry Finger #define IC_TYPE_MASK (BIT(0)|BIT(1)|BIT(2)) 187f1d2b4d3SLarry Finger #define CHIP_TYPE_MASK BIT(3) 188f1d2b4d3SLarry Finger #define RF_TYPE_MASK (BIT(4)|BIT(5)|BIT(6)) 189f1d2b4d3SLarry Finger #define MANUFACTUER_MASK BIT(7) 190f1d2b4d3SLarry Finger #define ROM_VERSION_MASK (BIT(11)|BIT(10)|BIT(9)|BIT(8)) 191f1d2b4d3SLarry Finger #define CUT_VERSION_MASK (BIT(15)|BIT(14)|BIT(13)|BIT(12)) 192f1d2b4d3SLarry Finger 193f1d2b4d3SLarry Finger /* Get element */ 194f1d2b4d3SLarry Finger #define GET_CVID_IC_TYPE(version) ((version) & IC_TYPE_MASK) 195f1d2b4d3SLarry Finger #define GET_CVID_CHIP_TYPE(version) ((version) & CHIP_TYPE_MASK) 196f1d2b4d3SLarry Finger #define GET_CVID_RF_TYPE(version) ((version) & RF_TYPE_MASK) 197f1d2b4d3SLarry Finger #define GET_CVID_MANUFACTUER(version) ((version) & MANUFACTUER_MASK) 198f1d2b4d3SLarry Finger #define GET_CVID_ROM_VERSION(version) ((version) & ROM_VERSION_MASK) 199f1d2b4d3SLarry Finger #define GET_CVID_CUT_VERSION(version) ((version) & CUT_VERSION_MASK) 200f1d2b4d3SLarry Finger 201f1d2b4d3SLarry Finger #define IS_1T1R(version) ((GET_CVID_RF_TYPE(version)) ? false : true) 202f1d2b4d3SLarry Finger #define IS_1T2R(version) ((GET_CVID_RF_TYPE(version) == RF_TYPE_1T2R)\ 203f1d2b4d3SLarry Finger ? true : false) 204f1d2b4d3SLarry Finger #define IS_2T2R(version) ((GET_CVID_RF_TYPE(version) == RF_TYPE_2T2R)\ 205f1d2b4d3SLarry Finger ? true : false) 206f1d2b4d3SLarry Finger 207f1d2b4d3SLarry Finger #define IS_8812_SERIES(version) ((GET_CVID_IC_TYPE(version) == CHIP_8812) ? \ 208f1d2b4d3SLarry Finger true : false) 209f1d2b4d3SLarry Finger #define IS_8821_SERIES(version) ((GET_CVID_IC_TYPE(version) == CHIP_8821) ? \ 210f1d2b4d3SLarry Finger true : false) 211f1d2b4d3SLarry Finger 212f1d2b4d3SLarry Finger #define IS_VENDOR_8812A_TEST_CHIP(version) ((IS_8812_SERIES(version)) ? \ 213f1d2b4d3SLarry Finger ((IS_NORMAL_CHIP(version)) ? \ 214f1d2b4d3SLarry Finger false : true) : false) 215f1d2b4d3SLarry Finger #define IS_VENDOR_8812A_MP_CHIP(version) ((IS_8812_SERIES(version)) ? \ 216f1d2b4d3SLarry Finger ((IS_NORMAL_CHIP(version)) ? \ 217f1d2b4d3SLarry Finger true : false) : false) 218f1d2b4d3SLarry Finger #define IS_VENDOR_8812A_C_CUT(version) ((IS_8812_SERIES(version)) ? \ 219f1d2b4d3SLarry Finger ((GET_CVID_CUT_VERSION(version) == \ 220f1d2b4d3SLarry Finger C_CUT_VERSION) ? \ 221f1d2b4d3SLarry Finger true : false) : false) 222f1d2b4d3SLarry Finger 223f1d2b4d3SLarry Finger #define IS_VENDOR_8821A_TEST_CHIP(version) ((IS_8821_SERIES(version)) ? \ 224f1d2b4d3SLarry Finger ((IS_NORMAL_CHIP(version)) ? \ 225f1d2b4d3SLarry Finger false : true) : false) 226f1d2b4d3SLarry Finger #define IS_VENDOR_8821A_MP_CHIP(version) ((IS_8821_SERIES(version)) ? \ 227f1d2b4d3SLarry Finger ((IS_NORMAL_CHIP(version)) ? \ 228f1d2b4d3SLarry Finger true : false) : false) 229f1d2b4d3SLarry Finger #define IS_VENDOR_8821A_B_CUT(version) ((IS_8821_SERIES(version)) ? \ 230f1d2b4d3SLarry Finger ((GET_CVID_CUT_VERSION(version) == \ 231f1d2b4d3SLarry Finger B_CUT_VERSION) ? \ 232f1d2b4d3SLarry Finger true : false) : false) 233f1d2b4d3SLarry Finger enum board_type { 234f1d2b4d3SLarry Finger ODM_BOARD_DEFAULT = 0, /* The DEFAULT case. */ 235f1d2b4d3SLarry Finger ODM_BOARD_MINICARD = BIT(0), /* 0 = non-mini card, 1 = mini card. */ 236f1d2b4d3SLarry Finger ODM_BOARD_SLIM = BIT(1), /* 0 = non-slim card, 1 = slim card */ 237f1d2b4d3SLarry Finger ODM_BOARD_BT = BIT(2), /* 0 = without BT card, 1 = with BT */ 238f1d2b4d3SLarry Finger ODM_BOARD_EXT_PA = BIT(3), /* 1 = existing 2G ext-PA */ 239f1d2b4d3SLarry Finger ODM_BOARD_EXT_LNA = BIT(4), /* 1 = existing 2G ext-LNA */ 240f1d2b4d3SLarry Finger ODM_BOARD_EXT_TRSW = BIT(5), /* 1 = existing ext-TRSW */ 241f1d2b4d3SLarry Finger ODM_BOARD_EXT_PA_5G = BIT(6), /* 1 = existing 5G ext-PA */ 242f1d2b4d3SLarry Finger ODM_BOARD_EXT_LNA_5G = BIT(7), /* 1 = existing 5G ext-LNA */ 243f1d2b4d3SLarry Finger }; 244f1d2b4d3SLarry Finger 245f1d2b4d3SLarry Finger enum rf_optype { 246f1d2b4d3SLarry Finger RF_OP_BY_SW_3WIRE = 0, 247f1d2b4d3SLarry Finger RF_OP_BY_FW, 248f1d2b4d3SLarry Finger RF_OP_MAX 249f1d2b4d3SLarry Finger }; 250f1d2b4d3SLarry Finger 251f1d2b4d3SLarry Finger enum rf_power_state { 252f1d2b4d3SLarry Finger RF_ON, 253f1d2b4d3SLarry Finger RF_OFF, 254f1d2b4d3SLarry Finger RF_SLEEP, 255f1d2b4d3SLarry Finger RF_SHUT_DOWN, 256f1d2b4d3SLarry Finger }; 257f1d2b4d3SLarry Finger 258f1d2b4d3SLarry Finger enum power_save_mode { 259f1d2b4d3SLarry Finger POWER_SAVE_MODE_ACTIVE, 260f1d2b4d3SLarry Finger POWER_SAVE_MODE_SAVE, 261f1d2b4d3SLarry Finger }; 262f1d2b4d3SLarry Finger 263f1d2b4d3SLarry Finger enum power_polocy_config { 264f1d2b4d3SLarry Finger POWERCFG_MAX_POWER_SAVINGS, 265f1d2b4d3SLarry Finger POWERCFG_GLOBAL_POWER_SAVINGS, 266f1d2b4d3SLarry Finger POWERCFG_LOCAL_POWER_SAVINGS, 267f1d2b4d3SLarry Finger POWERCFG_LENOVO, 268f1d2b4d3SLarry Finger }; 269f1d2b4d3SLarry Finger 270f1d2b4d3SLarry Finger enum interface_select_pci { 271f1d2b4d3SLarry Finger INTF_SEL1_MINICARD = 0, 272f1d2b4d3SLarry Finger INTF_SEL0_PCIE = 1, 273f1d2b4d3SLarry Finger INTF_SEL2_RSV = 2, 274f1d2b4d3SLarry Finger INTF_SEL3_RSV = 3, 275f1d2b4d3SLarry Finger }; 276f1d2b4d3SLarry Finger 277f1d2b4d3SLarry Finger enum rtl_desc_qsel { 278f1d2b4d3SLarry Finger QSLT_BK = 0x2, 279f1d2b4d3SLarry Finger QSLT_BE = 0x0, 280f1d2b4d3SLarry Finger QSLT_VI = 0x5, 281f1d2b4d3SLarry Finger QSLT_VO = 0x7, 282f1d2b4d3SLarry Finger QSLT_BEACON = 0x10, 283f1d2b4d3SLarry Finger QSLT_HIGH = 0x11, 284f1d2b4d3SLarry Finger QSLT_MGNT = 0x12, 285f1d2b4d3SLarry Finger QSLT_CMD = 0x13, 286f1d2b4d3SLarry Finger }; 287f1d2b4d3SLarry Finger 288f1d2b4d3SLarry Finger struct phy_sts_cck_8821ae_t { 289f1d2b4d3SLarry Finger u8 adc_pwdb_X[4]; 290f1d2b4d3SLarry Finger u8 sq_rpt; 291f1d2b4d3SLarry Finger u8 cck_agc_rpt; 292f1d2b4d3SLarry Finger }; 293f1d2b4d3SLarry Finger 294f1d2b4d3SLarry Finger struct h2c_cmd_8821ae { 295f1d2b4d3SLarry Finger u8 element_id; 296f1d2b4d3SLarry Finger u32 cmd_len; 297f1d2b4d3SLarry Finger u8 *p_cmdbuffer; 298f1d2b4d3SLarry Finger }; 299f1d2b4d3SLarry Finger 300f1d2b4d3SLarry Finger #endif 301