1 /******************************************************************************
3 * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
5 * This program is free software; you can redistribute it and/or modify it
6 * under the terms of version 2 of the GNU General Public License as
7 * published by the Free Software Foundation.
9 * This program is distributed in the hope that it will be useful, but WITHOUT
10 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
14 * You should have received a copy of the GNU General Public License along with
15 * this program; if not, write to the Free Software Foundation, Inc.,
16 * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
19 ******************************************************************************/
25 #define HAL_FW_ENABLE 0
26 #define HAL_MAC_ENABLE 0
27 #define HAL_BB_ENABLE 0
28 #define HAL_RF_ENABLE 0
29 #else /* FPGA_PHY and ASIC */
30 #define HAL_FW_ENABLE 1
31 #define HAL_MAC_ENABLE 1
32 #define HAL_BB_ENABLE 1
33 #define HAL_RF_ENABLE 1
36 #define RF6052_MAX_TX_PWR 0x3F
37 #define RF6052_MAX_REG_88E 0xFF
38 #define RF6052_MAX_REG_92C 0x7F
40 #define RF6052_MAX_REG \
41 ((RF6052_MAX_REG_88E > RF6052_MAX_REG_92C) ? RF6052_MAX_REG_88E : RF6052_MAX_REG_92C)
43 #define GET_RF6052_REAL_MAX_REG(_Adapter) \
44 (IS_HARDWARE_TYPE_8188E(_Adapter) ? RF6052_MAX_REG_88E : RF6052_MAX_REG_92C)
46 #define RF6052_MAX_PATH 2
49 * Antenna detection method, i.e., using single tone detection or RSSI reported from each antenna detected.
50 * Added by Roger, 2013.05.22.
52 #define ANT_DETECT_BY_SINGLE_TONE BIT0
53 #define ANT_DETECT_BY_RSSI BIT1
54 #define IS_ANT_DETECT_SUPPORT_SINGLE_TONE(__Adapter) ((GET_HAL_DATA(__Adapter)->AntDetection) & ANT_DETECT_BY_SINGLE_TONE)
55 #define IS_ANT_DETECT_SUPPORT_RSSI(__Adapter) ((GET_HAL_DATA(__Adapter)->AntDetection) & ANT_DETECT_BY_RSSI)
58 /*--------------------------Define Parameters-------------------------------*/
59 typedef enum _RF_TYPE {
60 RF_TYPE_MIN = 0, /* 0 */
61 RF_8225 = 1, /* 1 11b/g RF for verification only */
62 RF_8256 = 2, /* 2 11b/g/n */
63 RF_8258 = 3, /* 3 11a/b/g/n RF */
64 RF_6052 = 4, /* 4 11b/g/n RF */
65 RF_PSEUDO_11N = 5, /* 5, It is a temporality RF. */
67 } RF_TYPE_E, *PRF_TYPE_E;
74 #define RF_PATH_MAX_92C_88E 2
75 #define RF_PATH_MAX_90_8812 4 /* Max RF number 90 support */
77 typedef enum _ANTENNA_PATH {
96 typedef enum _RF_CONTENT {
103 typedef enum _BaseBand_Config_Type {
104 BaseBand_Config_PHY_REG = 0, /* Radio Path A */
105 BaseBand_Config_AGC_TAB = 1, /* Radio Path B */
106 BaseBand_Config_AGC_TAB_2G = 2,
107 BaseBand_Config_AGC_TAB_5G = 3,
108 BaseBand_Config_PHY_REG_PG
109 } BaseBand_Config_Type, *PBaseBand_Config_Type;
111 typedef enum _HW_BLOCK {
116 HW_BLOCK_MAXIMUM = 4, /* Never use this */
117 } HW_BLOCK_E, *PHW_BLOCK_E;
119 typedef enum _WIRELESS_MODE {
120 WIRELESS_MODE_UNKNOWN = 0x00,
121 WIRELESS_MODE_A = 0x01,
122 WIRELESS_MODE_B = 0x02,
123 WIRELESS_MODE_G = 0x04,
124 WIRELESS_MODE_AUTO = 0x08,
125 WIRELESS_MODE_N_24G = 0x10,
126 WIRELESS_MODE_N_5G = 0x20,
127 WIRELESS_MODE_AC_5G = 0x40,
128 WIRELESS_MODE_AC_24G = 0x80,
129 WIRELESS_MODE_AC_ONLY = 0x100,
132 typedef enum _SwChnlCmdID {
134 CmdID_SetTxPowerLevel,
136 CmdID_WritePortUlong,
137 CmdID_WritePortUshort,
138 CmdID_WritePortUchar,
142 typedef struct _SwChnlCmd {
149 typedef struct _R_ANTENNA_SELECT_OFDM {
156 u32 r_ant_non_ht_s1:4;
159 } R_ANTENNA_SELECT_OFDM;
161 typedef struct _R_ANTENNA_SELECT_CCK {
162 u8 r_cckrx_enable_2:2;
165 } R_ANTENNA_SELECT_CCK;
167 typedef struct RF_Shadow_Compare_Map {
168 /* Shadow register value */
170 /* Compare or not flag */
172 /* Record If it had ever modified unpredicted */
180 /*--------------------------Exported Function prototype---------------------*/
183 PHY_CalculateBitShift(
207 PHY_RFShadowRecorver(
213 PHY_RFShadowCompareAll(
214 IN PADAPTER Adapter);
217 PHY_RFShadowRecorverAll(
218 IN PADAPTER Adapter);
221 PHY_RFShadowCompareFlagSet(
228 PHY_RFShadowRecorverFlagSet(
235 PHY_RFShadowCompareFlagSetAll(
236 IN PADAPTER Adapter);
239 PHY_RFShadowRecorverFlagSetAll(
240 IN PADAPTER Adapter);
244 IN PADAPTER Adapter);
246 #endif /* __HAL_COMMON_H__ */