Commit | Line | Data |
---|---|---|
58391efd | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
554c0a3a HG |
2 | /****************************************************************************** |
3 | * | |
4 | * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved. | |
5 | * | |
554c0a3a HG |
6 | ******************************************************************************/ |
7 | #ifndef __HAL_PHY_H__ | |
8 | #define __HAL_PHY_H__ | |
9 | ||
10 | ||
11 | #if DISABLE_BB_RF | |
12 | #define HAL_FW_ENABLE 0 | |
13 | #define HAL_MAC_ENABLE 0 | |
14 | #define HAL_BB_ENABLE 0 | |
15 | #define HAL_RF_ENABLE 0 | |
16 | #else /* FPGA_PHY and ASIC */ | |
17 | #define HAL_FW_ENABLE 1 | |
18 | #define HAL_MAC_ENABLE 1 | |
19 | #define HAL_BB_ENABLE 1 | |
20 | #define HAL_RF_ENABLE 1 | |
21 | #endif | |
22 | ||
23 | #define RF6052_MAX_TX_PWR 0x3F | |
24 | #define RF6052_MAX_REG_88E 0xFF | |
25 | #define RF6052_MAX_REG_92C 0x7F | |
26 | ||
27 | #define RF6052_MAX_REG \ | |
28 | (RF6052_MAX_REG_88E > RF6052_MAX_REG_92C) ? RF6052_MAX_REG_88E: RF6052_MAX_REG_92C | |
29 | ||
30 | #define GET_RF6052_REAL_MAX_REG(_Adapter) RF6052_MAX_REG_92C | |
31 | ||
32 | #define RF6052_MAX_PATH 2 | |
33 | ||
34 | /* */ | |
35 | /* Antenna detection method, i.e., using single tone detection or RSSI reported from each antenna detected. */ | |
36 | /* Added by Roger, 2013.05.22. */ | |
37 | /* */ | |
38 | #define ANT_DETECT_BY_SINGLE_TONE BIT0 | |
39 | #define ANT_DETECT_BY_RSSI BIT1 | |
40 | #define IS_ANT_DETECT_SUPPORT_SINGLE_TONE(__Adapter) ((GET_HAL_DATA(__Adapter)->AntDetection) & ANT_DETECT_BY_SINGLE_TONE) | |
41 | #define IS_ANT_DETECT_SUPPORT_RSSI(__Adapter) ((GET_HAL_DATA(__Adapter)->AntDetection) & ANT_DETECT_BY_RSSI) | |
42 | ||
43 | ||
44 | /*--------------------------Define Parameters-------------------------------*/ | |
45 | enum BAND_TYPE { | |
46 | BAND_ON_2_4G = 0, | |
47 | BAND_ON_5G, | |
48 | BAND_ON_BOTH, | |
49 | BANDMAX | |
50 | }; | |
51 | ||
52 | enum RF_TYPE { | |
53 | RF_TYPE_MIN = 0, /* 0 */ | |
54 | RF_8225 = 1, /* 1 11b/g RF for verification only */ | |
55 | RF_8256 = 2, /* 2 11b/g/n */ | |
56 | RF_8258 = 3, /* 3 11a/b/g/n RF */ | |
57 | RF_6052 = 4, /* 4 11b/g/n RF */ | |
58 | RF_PSEUDO_11N = 5, /* 5, It is a temporality RF. */ | |
59 | RF_TYPE_MAX | |
60 | }; | |
61 | ||
62 | enum RF_PATH { | |
63 | RF_PATH_A = 0, | |
64 | RF_PATH_B, | |
65 | RF_PATH_C, | |
66 | RF_PATH_D | |
67 | }; | |
68 | ||
69 | #define TX_1S 0 | |
70 | #define TX_2S 1 | |
71 | #define TX_3S 2 | |
72 | #define TX_4S 3 | |
73 | ||
74 | #define RF_PATH_MAX_92C_88E 2 | |
75 | #define RF_PATH_MAX_90_8812 4 /* Max RF number 90 support */ | |
76 | ||
77 | enum ANTENNA_PATH { | |
78 | ANTENNA_NONE = 0, | |
79 | ANTENNA_D = 1, | |
80 | ANTENNA_C = 2, | |
81 | ANTENNA_CD = 3, | |
82 | ANTENNA_B = 4, | |
83 | ANTENNA_BD = 5, | |
84 | ANTENNA_BC = 6, | |
85 | ANTENNA_BCD = 7, | |
86 | ANTENNA_A = 8, | |
87 | ANTENNA_AD = 9, | |
88 | ANTENNA_AC = 10, | |
89 | ANTENNA_ACD = 11, | |
90 | ANTENNA_AB = 12, | |
91 | ANTENNA_ABD = 13, | |
92 | ANTENNA_ABC = 14, | |
93 | ANTENNA_ABCD = 15 | |
94 | }; | |
95 | ||
96 | enum RF_CONTENT { | |
97 | radioa_txt = 0x1000, | |
98 | radiob_txt = 0x1001, | |
99 | radioc_txt = 0x1002, | |
100 | radiod_txt = 0x1003 | |
101 | }; | |
102 | ||
103 | 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 | }; | |
110 | ||
111 | enum HW_BLOCK { | |
112 | HW_BLOCK_MAC = 0, | |
113 | HW_BLOCK_PHY0 = 1, | |
114 | HW_BLOCK_PHY1 = 2, | |
115 | HW_BLOCK_RF = 3, | |
116 | HW_BLOCK_MAXIMUM = 4, /* Never use this */ | |
117 | }; | |
118 | ||
119 | 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, | |
130 | }; | |
131 | ||
132 | enum SwChnlCmdID { | |
133 | CmdID_End, | |
134 | CmdID_SetTxPowerLevel, | |
135 | CmdID_BBRegWrite10, | |
136 | CmdID_WritePortUlong, | |
137 | CmdID_WritePortUshort, | |
138 | CmdID_WritePortUchar, | |
139 | CmdID_RF_WriteReg, | |
140 | }; | |
141 | ||
142 | struct SwChnlCmd { | |
143 | enum SwChnlCmdID CmdID; | |
144 | u32 Para1; | |
145 | u32 Para2; | |
146 | u32 msDelay; | |
147 | }; | |
148 | ||
149 | struct R_ANTENNA_SELECT_OFDM { | |
150 | #ifdef __LITTLE_ENDIAN | |
151 | u32 r_tx_antenna:4; | |
152 | u32 r_ant_l:4; | |
153 | u32 r_ant_non_ht:4; | |
154 | u32 r_ant_ht1:4; | |
155 | u32 r_ant_ht2:4; | |
156 | u32 r_ant_ht_s1:4; | |
157 | u32 r_ant_non_ht_s1:4; | |
158 | u32 OFDM_TXSC:2; | |
159 | u32 Reserved:2; | |
160 | #else | |
161 | u32 Reserved:2; | |
162 | u32 OFDM_TXSC:2; | |
163 | u32 r_ant_non_ht_s1:4; | |
164 | u32 r_ant_ht_s1:4; | |
165 | u32 r_ant_ht2:4; | |
166 | u32 r_ant_ht1:4; | |
167 | u32 r_ant_non_ht:4; | |
168 | u32 r_ant_l:4; | |
169 | u32 r_tx_antenna:4; | |
170 | #endif | |
171 | }; | |
172 | ||
173 | /*--------------------------Exported Function prototype---------------------*/ | |
174 | ||
175 | #endif /* __HAL_COMMON_H__ */ |