add rk3288 pinctrl dts code
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / combo_mt66xx / mt6620 / wlan / include / rftest.h
1 /*
2 ** $Id: //Department/DaVinci/BRANCHES/MT6620_WIFI_DRIVER_V2_3/include/rftest.h#1 $
3 */
4
5 /*! \file   "rftest.h"
6     \brief  definitions for RF Productino test
7
8 */
9
10
11
12 /*
13 ** $Log: rftest.h $
14  *
15  * 12 20 2011 cp.wu
16  * [WCXRP00001144] [MT6620 Wi-Fi][Driver][Firmware] Add RF_FUNC_ID for exposing device and related version information
17  * add driver implementations for RF_AT_FUNCID_FW_INFO & RF_AT_FUNCID_DRV_INFO 
18  * to expose version information
19  *
20  * 08 04 2010 cp.wu
21  * NULL
22  * add an extra parameter to rftestQueryATInfo 'cause it's necessary to pass u4FuncData for query request.
23  *
24  * 07 08 2010 cp.wu
25  * 
26  * [WPD00003833] [MT6620 and MT5931] Driver migration - move to new repository.
27  *
28  * 06 06 2010 kevin.huang
29  * [WPD00003832][MT6620 5931] Create driver base 
30  * [MT6620 5931] Create driver base
31  *
32  * 04 14 2010 cp.wu
33  * [WPD00001943]Create WiFi test driver framework on WinXP 
34  * information buffer for query oid/ioctl is now buffered in prCmdInfo 
35  *  *  *  * instead of glue-layer variable to improve multiple oid/ioctl capability
36  *
37  * 12 30 2009 cp.wu
38  * [WPD00001943]Create WiFi test driver framework on WinXP 
39  * 1) According to CMD/EVENT documentation v0.8, 
40  *  *  *  *  *  *  * OID_CUSTOM_TEST_RX_STATUS & OID_CUSTOM_TEST_TX_STATUS is no longer used,
41  *  *  *  *  *  *  * and result is retrieved by get ATInfo instead
42  *  *  *  *  *  *  * 2) add 4 counter for recording aggregation statistics
43 **  \main\maintrunk.MT6620WiFiDriver_Prj\2 2009-12-08 17:35:11 GMT mtk02752
44 **  * comment out RF test which is not supported on MT6620
45 **  + API decalre for rftest 
46 **  \main\maintrunk.MT6620WiFiDriver_Prj\1 2009-12-08 11:29:07 GMT mtk02752
47 **  definitions for RF test mode
48 **
49 */
50 #ifndef _RFTEST_H
51 #define _RFTEST_H
52
53 /*******************************************************************************
54 *                         C O M P I L E R   F L A G S
55 ********************************************************************************
56 */
57
58 /*******************************************************************************
59 *                    E X T E R N A L   R E F E R E N C E S
60 ********************************************************************************
61 */
62
63 /*******************************************************************************
64 *                              C O N S T A N T S
65 ********************************************************************************
66 */
67 // Table Version
68 #define RF_AUTO_TEST_FUNCTION_TABLE_VERSION 0x01000001
69
70 // Power
71 #define RF_AT_PARAM_POWER_MASK      BITS(0,7)
72 #define RF_AT_PARAM_POWER_MAX       RF_AT_PARAM_POWER_MASK
73
74 // Rate
75 #define RF_AT_PARAM_RATE_MCS_MASK   BIT(31)
76 #define RF_AT_PARAM_RATE_MASK       BITS(0,7)
77 #define RF_AT_PARAM_RATE_CCK_MAX    3
78 #define RF_AT_PARAM_RATE_1M         0
79 #define RF_AT_PARAM_RATE_2M         1
80 #define RF_AT_PARAM_RATE_5_5M       2
81 #define RF_AT_PARAM_RATE_11M        3
82 #define RF_AT_PARAM_RATE_6M         4
83 #define RF_AT_PARAM_RATE_9M         5
84 #define RF_AT_PARAM_RATE_12M        6
85 #define RF_AT_PARAM_RATE_18M        7
86 #define RF_AT_PARAM_RATE_24M        8
87 #define RF_AT_PARAM_RATE_36M        9
88 #define RF_AT_PARAM_RATE_48M        10
89 #define RF_AT_PARAM_RATE_54M        11
90
91 // Antenna
92 #define RF_AT_PARAM_ANTENNA_ID_MASK BITS(0,7)
93 #define RF_AT_PARAM_ANTENNA_ID_MAX  1
94
95 // Packet Length
96 #define RF_AT_PARAM_TX_80211HDR_BYTE_MAX     (32)
97 #define RF_AT_PARAM_TX_80211PAYLOAD_BYTE_MAX (2048)
98
99 #define RF_AT_PARAM_TX_PKTLEN_BYTE_DEFAULT  1024
100 #define RF_AT_PARAM_TX_PKTLEN_BYTE_MAX  \
101     ((UINT_16)(RF_AT_PARAM_TX_80211HDR_BYTE_MAX + RF_AT_PARAM_TX_80211PAYLOAD_BYTE_MAX ))
102
103 // Packet Count
104 #define RF_AT_PARAM_TX_PKTCNT_DEFAULT    1000
105 #define RF_AT_PARAM_TX_PKTCNT_UNLIMITED  0
106
107 // Packet Interval
108 #define RF_AT_PARAM_TX_PKT_INTERVAL_US_DEFAULT  50
109
110 // ALC
111 #define RF_AT_PARAM_ALC_DISABLE     0
112 #define RF_AT_PARAM_ALC_ENABLE      1
113
114 // TXOP
115 #define RF_AT_PARAM_TXOP_DEFAULT    0
116 #define RF_AT_PARAM_TXOPQUE_QMASK   BITS(16,31)
117 #define RF_AT_PARAM_TXOPQUE_TMASK   BITS(0,15)
118 #define RF_AT_PARAM_TXOPQUE_AC0     (0<<16)
119 #define RF_AT_PARAM_TXOPQUE_AC1     (1<<16)
120 #define RF_AT_PARAM_TXOPQUE_AC2     (2<<16)
121 #define RF_AT_PARAM_TXOPQUE_AC3     (3<<16)
122 #define RF_AT_PARAM_TXOPQUE_AC4     (4<<16)
123 #define RF_AT_PARAM_TXOPQUE_QOFFSET 16
124
125 // Retry Limit
126 #define RF_AT_PARAM_TX_RETRY_DEFAULT    0
127 #define RF_AT_PARAM_TX_RETRY_MAX        6
128
129 // QoS Queue
130 #define RF_AT_PARAM_QOSQUE_AC0      0
131 #define RF_AT_PARAM_QOSQUE_AC1      1
132 #define RF_AT_PARAM_QOSQUE_AC2      2
133 #define RF_AT_PARAM_QOSQUE_AC3      3
134 #define RF_AT_PARAM_QOSQUE_AC4      4
135 #define RF_AT_PARAM_QOSQUE_DEFAULT  RF_AT_PARAM_QOSQUE_AC0
136
137 // Bandwidth
138 #define RF_AT_PARAM_BANDWIDTH_20MHZ             0
139 #define RF_AT_PARAM_BANDWIDTH_40MHZ             1
140 #define RF_AT_PARAM_BANDWIDTH_U20_IN_40MHZ      2
141 #define RF_AT_PARAM_BANDWIDTH_D20_IN_40MHZ      3
142 #define RF_AT_PARAM_BANDWIDTH_DEFAULT   RF_AT_PARAM_BANDWIDTH_20MHZ
143
144 // GI (Guard Interval)
145 #define RF_AT_PARAM_GI_800NS    0
146 #define RF_AT_PARAM_GI_400NS    1
147 #define RF_AT_PARAM_GI_DEFAULT  RF_AT_PARAM_GI_800NS
148
149 // STBC
150 #define RF_AT_PARAM_STBC_DISABLE    0
151 #define RF_AT_PARAM_STBC_ENABLE     1
152
153 // RIFS
154 #define RF_AT_PARAM_RIFS_DISABLE    0
155 #define RF_AT_PARAM_RIFS_ENABLE     1
156
157
158 /*******************************************************************************
159 *                             D A T A   T Y P E S
160 ********************************************************************************
161 */
162 // Function ID List
163 typedef enum _ENUM_RF_AT_FUNCID_T {
164     RF_AT_FUNCID_VERSION = 0,
165     RF_AT_FUNCID_COMMAND,
166     RF_AT_FUNCID_POWER,
167     RF_AT_FUNCID_RATE,
168     RF_AT_FUNCID_PREAMBLE,
169     RF_AT_FUNCID_ANTENNA,
170     RF_AT_FUNCID_PKTLEN,
171     RF_AT_FUNCID_PKTCNT,
172     RF_AT_FUNCID_PKTINTERVAL,
173     RF_AT_FUNCID_TEMP_COMPEN,
174     RF_AT_FUNCID_TXOPLIMIT,
175     RF_AT_FUNCID_ACKPOLICY,
176     RF_AT_FUNCID_PKTCONTENT,
177     RF_AT_FUNCID_RETRYLIMIT,
178     RF_AT_FUNCID_QUEUE,
179     RF_AT_FUNCID_BANDWIDTH,
180     RF_AT_FUNCID_GI,
181     RF_AT_FUNCID_STBC,
182     RF_AT_FUNCID_CHNL_FREQ,
183     RF_AT_FUNCID_RIFS,
184     RF_AT_FUNCID_TRSW_TYPE,
185     RF_AT_FUNCID_RF_SX_SHUTDOWN,
186     RF_AT_FUNCID_PLL_SHUTDOWN,
187     RF_AT_FUNCID_SLOW_CLK_MODE,
188     RF_AT_FUNCID_ADC_CLK_MODE,
189     RF_AT_FUNCID_MEASURE_MODE,
190     RF_AT_FUNCID_VOLT_COMPEN,
191     RF_AT_FUNCID_DPD_TX_GAIN,
192     RF_AT_FUNCID_DPD_MODE,
193     RF_AT_FUNCID_TSSI_MODE,
194     RF_AT_FUNCID_TX_GAIN_CODE,
195     RF_AT_FUNCID_TX_PWR_MODE,
196
197     /* Query command */
198     RF_AT_FUNCID_TXED_COUNT = 32,
199     RF_AT_FUNCID_TXOK_COUNT,
200     RF_AT_FUNCID_RXOK_COUNT,
201     RF_AT_FUNCID_RXERROR_COUNT,
202     RF_AT_FUNCID_RESULT_INFO,
203     RF_AT_FUNCID_TRX_IQ_RESULT,
204     RF_AT_FUNCID_TSSI_RESULT,
205     RF_AT_FUNCID_DPD_RESULT,
206     RF_AT_FUNCID_RXV_DUMP,
207     RF_AT_FUNCID_RX_PHY_STATIS,
208     RF_AT_FUNCID_MEASURE_RESULT,
209     RF_AT_FUNCID_TEMP_SENSOR,
210     RF_AT_FUNCID_VOLT_SENSOR,
211     RF_AT_FUNCID_READ_EFUSE,
212     RF_AT_FUNCID_RX_RSSI,
213     RF_AT_FUNCID_FW_INFO,
214     RF_AT_FUNCID_DRV_INFO,
215
216     /* Set command */
217     RF_AT_FUNCID_SET_DPD_RESULT = 64,
218     RF_AT_FUNCID_SET_CW_MODE,
219     RF_AT_FUNCID_SET_JAPAN_CH14_FILTER,
220     RF_AT_FUNCID_WRITE_EFUSE,
221     RF_AT_FUNCID_SET_MAC_ADDRESS
222
223 } ENUM_RF_AT_FUNCID_T;
224
225 // Command
226 typedef enum _ENUM_RF_AT_COMMAND_T {
227     RF_AT_COMMAND_STOPTEST = 0,
228     RF_AT_COMMAND_STARTTX,
229     RF_AT_COMMAND_STARTRX,
230     RF_AT_COMMAND_RESET,
231     RF_AT_COMMAND_OUTPUT_POWER,     /* Payload */
232     RF_AT_COMMAND_LO_LEAKAGE,       /* Local freq is renamed to Local leakage */
233     RF_AT_COMMAND_CARRIER_SUPPR,    /* OFDM (LTF/STF), CCK (PI,PI/2) */
234     RF_AT_COMMAND_TRX_IQ_CAL,
235     RF_AT_COMMAND_TSSI_CAL,
236     RF_AT_COMMAND_DPD_CAL,
237     RF_AT_COMMAND_CW,
238     RF_AT_COMMAND_NUM
239 } ENUM_RF_AT_COMMAND_T;
240
241 // Preamble
242 typedef enum _ENUM_RF_AT_PREAMBLE_T {
243     RF_AT_PREAMBLE_NORMAL = 0,
244     RF_AT_PREAMBLE_CCK_SHORT,
245     RF_AT_PREAMBLE_11N_MM,
246     RF_AT_PREAMBLE_11N_GF,
247     RF_AT_PREAMBLE_NUM
248 } ENUM_RF_AT_PREAMBLE_T;
249
250 // Ack Policy
251 typedef enum _ENUM_RF_AT_ACK_POLICY_T {
252     RF_AT_ACK_POLICY_NORMAL = 0,
253     RF_AT_ACK_POLICY_NOACK,
254     RF_AT_ACK_POLICY_NOEXPLICTACK,
255     RF_AT_ACK_POLICY_BLOCKACK,
256     RF_AT_ACK_POLICY_NUM
257 } ENUM_RF_AT_ACK_POLICY_T;
258
259 typedef enum _ENUM_RF_AUTOTEST_STATE_T {
260     RF_AUTOTEST_STATE_STANDBY = 0,
261     RF_AUTOTEST_STATE_TX,
262     RF_AUTOTEST_STATE_RX,
263     RF_AUTOTEST_STATE_RESET,
264     RF_AUTOTEST_STATE_OUTPUT_POWER,
265     RF_AUTOTEST_STATE_LOCA_FREQUENCY,
266     RF_AUTOTEST_STATE_CARRIER_SUPRRESION,
267     RF_AUTOTEST_STATE_NUM
268 } ENUM_RF_AUTOTEST_STATE_T;
269
270
271 /*******************************************************************************
272 *                            P U B L I C   D A T A
273 ********************************************************************************
274 */
275
276 /*******************************************************************************
277 *                           P R I V A T E   D A T A
278 ********************************************************************************
279 */
280
281 /*******************************************************************************
282 *                                 M A C R O S
283 ********************************************************************************
284 */
285
286 /*******************************************************************************
287 *                   F U N C T I O N   D E C L A R A T I O N S
288 ********************************************************************************
289 */
290
291 WLAN_STATUS
292 rftestSetATInfo(
293     IN P_ADAPTER_T  prAdapter,
294     UINT_32         u4FuncIndex,
295     UINT_32         u4FuncData
296     );
297
298 WLAN_STATUS
299 rftestQueryATInfo(
300     IN P_ADAPTER_T  prAdapter,
301     UINT_32         u4FuncIndex,
302     UINT_32         u4FuncData,
303     OUT PVOID       pvQueryBuffer,
304     IN UINT_32      u4QueryBufferLen
305     );
306
307 WLAN_STATUS
308 rftestSetFrequency(
309     IN P_ADAPTER_T  prAdapter,
310     IN UINT_32      u4FreqInKHz,
311     IN PUINT_32     pu4SetInfoLen
312     );
313
314 #endif /* _RFTEST_H */
315
316
317