19dd2c0520f1818a39bf181f2a1c0340eac28e85
[firefly-linux-kernel-4.4.55.git] / drivers / net / wireless / rockchip_wlan / mt5931_kk / drv_wlan / include / rftest.h
1 /*
2 ** $Id: //Department/DaVinci/BRANCHES/MT662X_593X_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 * Copyright (c) 2007 MediaTek Inc.
12 *
13 * All rights reserved. Copying, compilation, modification, distribution
14 * or any other use whatsoever of this material is strictly prohibited
15 * except in accordance with a Software License Agreement with
16 * MediaTek Inc.
17 ********************************************************************************
18 */
19
20 /*******************************************************************************
21 * LEGAL DISCLAIMER
22 *
23 * BY OPENING THIS FILE, BUYER HEREBY UNEQUIVOCALLY ACKNOWLEDGES AND
24 * AGREES THAT THE SOFTWARE/FIRMWARE AND ITS DOCUMENTATIONS ("MEDIATEK
25 * SOFTWARE") RECEIVED FROM MEDIATEK AND/OR ITS REPRESENTATIVES ARE
26 * PROVIDED TO BUYER ON AN "AS-IS" BASIS ONLY. MEDIATEK EXPRESSLY
27 * DISCLAIMS ANY AND ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT
28 * LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A
29 * PARTICULAR PURPOSE OR NONINFRINGEMENT. NEITHER DOES MEDIATEK PROVIDE
30 * ANY WARRANTY WHATSOEVER WITH RESPECT TO THE SOFTWARE OF ANY THIRD PARTY
31 * WHICH MAY BE USED BY, INCORPORATED IN, OR SUPPLIED WITH THE MEDIATEK
32 * SOFTWARE, AND BUYER AGREES TO LOOK ONLY TO SUCH THIRD PARTY FOR ANY
33 * WARRANTY CLAIM RELATING THERETO. MEDIATEK SHALL ALSO NOT BE RESPONSIBLE
34 * FOR ANY MEDIATEK SOFTWARE RELEASES MADE TO BUYER'S SPECIFICATION OR TO
35 * CONFORM TO A PARTICULAR STANDARD OR OPEN FORUM.
36 *
37 * BUYER'S SOLE AND EXCLUSIVE REMEDY AND MEDIATEK'S ENTIRE AND CUMULATIVE
38 * LIABILITY WITH RESPECT TO THE MEDIATEK SOFTWARE RELEASED HEREUNDER WILL
39 * BE, AT MEDIATEK'S OPTION, TO REVISE OR REPLACE THE MEDIATEK SOFTWARE AT
40 * ISSUE, OR REFUND ANY SOFTWARE LICENSE FEES OR SERVICE CHARGE PAID BY
41 * BUYER TO MEDIATEK FOR SUCH MEDIATEK SOFTWARE AT ISSUE.
42 *
43 * THE TRANSACTION CONTEMPLATED HEREUNDER SHALL BE CONSTRUED IN ACCORDANCE
44 * WITH THE LAWS OF THE STATE OF CALIFORNIA, USA, EXCLUDING ITS CONFLICT
45 * OF LAWS PRINCIPLES.  ANY DISPUTES, CONTROVERSIES OR CLAIMS ARISING
46 * THEREOF AND RELATED THERETO SHALL BE SETTLED BY ARBITRATION IN SAN
47 * FRANCISCO, CA, UNDER THE RULES OF THE INTERNATIONAL CHAMBER OF COMMERCE
48 * (ICC).
49 ********************************************************************************
50 */
51
52 /*
53 ** $Log: rftest.h $
54  *
55  * 12 20 2011 cp.wu
56  * [WCXRP00001144] [MT6620 Wi-Fi][Driver][Firmware] Add RF_FUNC_ID for exposing device and related version information
57  * add driver implementations for RF_AT_FUNCID_FW_INFO & RF_AT_FUNCID_DRV_INFO 
58  * to expose version information
59  *
60  * 08 04 2010 cp.wu
61  * NULL
62  * add an extra parameter to rftestQueryATInfo 'cause it's necessary to pass u4FuncData for query request.
63  *
64  * 07 08 2010 cp.wu
65  * 
66  * [WPD00003833] [MT6620 and MT5931] Driver migration - move to new repository.
67  *
68  * 06 06 2010 kevin.huang
69  * [WPD00003832][MT6620 5931] Create driver base 
70  * [MT6620 5931] Create driver base
71  *
72  * 04 14 2010 cp.wu
73  * [WPD00001943]Create WiFi test driver framework on WinXP 
74  * information buffer for query oid/ioctl is now buffered in prCmdInfo 
75  *  *  *  * instead of glue-layer variable to improve multiple oid/ioctl capability
76  *
77  * 12 30 2009 cp.wu
78  * [WPD00001943]Create WiFi test driver framework on WinXP 
79  * 1) According to CMD/EVENT documentation v0.8, 
80  *  *  *  *  *  *  * OID_CUSTOM_TEST_RX_STATUS & OID_CUSTOM_TEST_TX_STATUS is no longer used,
81  *  *  *  *  *  *  * and result is retrieved by get ATInfo instead
82  *  *  *  *  *  *  * 2) add 4 counter for recording aggregation statistics
83 **  \main\maintrunk.MT6620WiFiDriver_Prj\2 2009-12-08 17:35:11 GMT mtk02752
84 **  * comment out RF test which is not supported on MT6620
85 **  + API decalre for rftest 
86 **  \main\maintrunk.MT6620WiFiDriver_Prj\1 2009-12-08 11:29:07 GMT mtk02752
87 **  definitions for RF test mode
88 **
89 */
90 #ifndef _RFTEST_H
91 #define _RFTEST_H
92
93 /*******************************************************************************
94 *                         C O M P I L E R   F L A G S
95 ********************************************************************************
96 */
97
98 /*******************************************************************************
99 *                    E X T E R N A L   R E F E R E N C E S
100 ********************************************************************************
101 */
102
103 /*******************************************************************************
104 *                              C O N S T A N T S
105 ********************************************************************************
106 */
107 // Table Version
108 #define RF_AUTO_TEST_FUNCTION_TABLE_VERSION 0x01000001
109
110 // Power
111 #define RF_AT_PARAM_POWER_MASK      BITS(0,7)
112 #define RF_AT_PARAM_POWER_MAX       RF_AT_PARAM_POWER_MASK
113
114 // Rate
115 #define RF_AT_PARAM_RATE_MCS_MASK   BIT(31)
116 #define RF_AT_PARAM_RATE_MASK       BITS(0,7)
117 #define RF_AT_PARAM_RATE_CCK_MAX    3
118 #define RF_AT_PARAM_RATE_1M         0
119 #define RF_AT_PARAM_RATE_2M         1
120 #define RF_AT_PARAM_RATE_5_5M       2
121 #define RF_AT_PARAM_RATE_11M        3
122 #define RF_AT_PARAM_RATE_6M         4
123 #define RF_AT_PARAM_RATE_9M         5
124 #define RF_AT_PARAM_RATE_12M        6
125 #define RF_AT_PARAM_RATE_18M        7
126 #define RF_AT_PARAM_RATE_24M        8
127 #define RF_AT_PARAM_RATE_36M        9
128 #define RF_AT_PARAM_RATE_48M        10
129 #define RF_AT_PARAM_RATE_54M        11
130
131 // Antenna
132 #define RF_AT_PARAM_ANTENNA_ID_MASK BITS(0,7)
133 #define RF_AT_PARAM_ANTENNA_ID_MAX  1
134
135 // Packet Length
136 #define RF_AT_PARAM_TX_80211HDR_BYTE_MAX     (32)
137 #define RF_AT_PARAM_TX_80211PAYLOAD_BYTE_MAX (2048)
138
139 #define RF_AT_PARAM_TX_PKTLEN_BYTE_DEFAULT  1024
140 #define RF_AT_PARAM_TX_PKTLEN_BYTE_MAX  \
141     ((UINT_16)(RF_AT_PARAM_TX_80211HDR_BYTE_MAX + RF_AT_PARAM_TX_80211PAYLOAD_BYTE_MAX ))
142
143 // Packet Count
144 #define RF_AT_PARAM_TX_PKTCNT_DEFAULT    1000
145 #define RF_AT_PARAM_TX_PKTCNT_UNLIMITED  0
146
147 // Packet Interval
148 #define RF_AT_PARAM_TX_PKT_INTERVAL_US_DEFAULT  50
149
150 // ALC
151 #define RF_AT_PARAM_ALC_DISABLE     0
152 #define RF_AT_PARAM_ALC_ENABLE      1
153
154 // TXOP
155 #define RF_AT_PARAM_TXOP_DEFAULT    0
156 #define RF_AT_PARAM_TXOPQUE_QMASK   BITS(16,31)
157 #define RF_AT_PARAM_TXOPQUE_TMASK   BITS(0,15)
158 #define RF_AT_PARAM_TXOPQUE_AC0     (0<<16)
159 #define RF_AT_PARAM_TXOPQUE_AC1     (1<<16)
160 #define RF_AT_PARAM_TXOPQUE_AC2     (2<<16)
161 #define RF_AT_PARAM_TXOPQUE_AC3     (3<<16)
162 #define RF_AT_PARAM_TXOPQUE_AC4     (4<<16)
163 #define RF_AT_PARAM_TXOPQUE_QOFFSET 16
164
165 // Retry Limit
166 #define RF_AT_PARAM_TX_RETRY_DEFAULT    0
167 #define RF_AT_PARAM_TX_RETRY_MAX        6
168
169 // QoS Queue
170 #define RF_AT_PARAM_QOSQUE_AC0      0
171 #define RF_AT_PARAM_QOSQUE_AC1      1
172 #define RF_AT_PARAM_QOSQUE_AC2      2
173 #define RF_AT_PARAM_QOSQUE_AC3      3
174 #define RF_AT_PARAM_QOSQUE_AC4      4
175 #define RF_AT_PARAM_QOSQUE_DEFAULT  RF_AT_PARAM_QOSQUE_AC0
176
177 // Bandwidth
178 #define RF_AT_PARAM_BANDWIDTH_20MHZ             0
179 #define RF_AT_PARAM_BANDWIDTH_40MHZ             1
180 #define RF_AT_PARAM_BANDWIDTH_U20_IN_40MHZ      2
181 #define RF_AT_PARAM_BANDWIDTH_D20_IN_40MHZ      3
182 #define RF_AT_PARAM_BANDWIDTH_DEFAULT   RF_AT_PARAM_BANDWIDTH_20MHZ
183
184 // GI (Guard Interval)
185 #define RF_AT_PARAM_GI_800NS    0
186 #define RF_AT_PARAM_GI_400NS    1
187 #define RF_AT_PARAM_GI_DEFAULT  RF_AT_PARAM_GI_800NS
188
189 // STBC
190 #define RF_AT_PARAM_STBC_DISABLE    0
191 #define RF_AT_PARAM_STBC_ENABLE     1
192
193 // RIFS
194 #define RF_AT_PARAM_RIFS_DISABLE    0
195 #define RF_AT_PARAM_RIFS_ENABLE     1
196
197
198 /*******************************************************************************
199 *                             D A T A   T Y P E S
200 ********************************************************************************
201 */
202 // Function ID List
203 typedef enum _ENUM_RF_AT_FUNCID_T {
204     RF_AT_FUNCID_VERSION = 0,
205     RF_AT_FUNCID_COMMAND,
206     RF_AT_FUNCID_POWER,
207     RF_AT_FUNCID_RATE,
208     RF_AT_FUNCID_PREAMBLE,
209     RF_AT_FUNCID_ANTENNA,
210     RF_AT_FUNCID_PKTLEN,
211     RF_AT_FUNCID_PKTCNT,
212     RF_AT_FUNCID_PKTINTERVAL,
213     RF_AT_FUNCID_TEMP_COMPEN,
214     RF_AT_FUNCID_TXOPLIMIT,
215     RF_AT_FUNCID_ACKPOLICY,
216     RF_AT_FUNCID_PKTCONTENT,
217     RF_AT_FUNCID_RETRYLIMIT,
218     RF_AT_FUNCID_QUEUE,
219     RF_AT_FUNCID_BANDWIDTH,
220     RF_AT_FUNCID_GI,
221     RF_AT_FUNCID_STBC,
222     RF_AT_FUNCID_CHNL_FREQ,
223     RF_AT_FUNCID_RIFS,
224     RF_AT_FUNCID_TRSW_TYPE,
225     RF_AT_FUNCID_RF_SX_SHUTDOWN,
226     RF_AT_FUNCID_PLL_SHUTDOWN,
227     RF_AT_FUNCID_SLOW_CLK_MODE,
228     RF_AT_FUNCID_ADC_CLK_MODE,
229     RF_AT_FUNCID_MEASURE_MODE,
230     RF_AT_FUNCID_VOLT_COMPEN,
231     RF_AT_FUNCID_DPD_TX_GAIN,
232     RF_AT_FUNCID_DPD_MODE,
233     RF_AT_FUNCID_TSSI_MODE,
234     RF_AT_FUNCID_TX_GAIN_CODE,
235     RF_AT_FUNCID_TX_PWR_MODE,
236
237     /* Query command */
238     RF_AT_FUNCID_TXED_COUNT = 32,
239     RF_AT_FUNCID_TXOK_COUNT,
240     RF_AT_FUNCID_RXOK_COUNT,
241     RF_AT_FUNCID_RXERROR_COUNT,
242     RF_AT_FUNCID_RESULT_INFO,
243     RF_AT_FUNCID_TRX_IQ_RESULT,
244     RF_AT_FUNCID_TSSI_RESULT,
245     RF_AT_FUNCID_DPD_RESULT,
246     RF_AT_FUNCID_RXV_DUMP,
247     RF_AT_FUNCID_RX_PHY_STATIS,
248     RF_AT_FUNCID_MEASURE_RESULT,
249     RF_AT_FUNCID_TEMP_SENSOR,
250     RF_AT_FUNCID_VOLT_SENSOR,
251     RF_AT_FUNCID_READ_EFUSE,
252     RF_AT_FUNCID_RX_RSSI,
253     RF_AT_FUNCID_FW_INFO,
254     RF_AT_FUNCID_DRV_INFO,
255
256     /* Set command */
257     RF_AT_FUNCID_SET_DPD_RESULT = 64,
258     RF_AT_FUNCID_SET_CW_MODE,
259     RF_AT_FUNCID_SET_JAPAN_CH14_FILTER,
260     RF_AT_FUNCID_WRITE_EFUSE,
261     RF_AT_FUNCID_SET_MAC_ADDRESS
262
263 } ENUM_RF_AT_FUNCID_T;
264
265 // Command
266 typedef enum _ENUM_RF_AT_COMMAND_T {
267     RF_AT_COMMAND_STOPTEST = 0,
268     RF_AT_COMMAND_STARTTX,
269     RF_AT_COMMAND_STARTRX,
270     RF_AT_COMMAND_RESET,
271     RF_AT_COMMAND_OUTPUT_POWER,     /* Payload */
272     RF_AT_COMMAND_LO_LEAKAGE,       /* Local freq is renamed to Local leakage */
273     RF_AT_COMMAND_CARRIER_SUPPR,    /* OFDM (LTF/STF), CCK (PI,PI/2) */
274     RF_AT_COMMAND_TRX_IQ_CAL,
275     RF_AT_COMMAND_TSSI_CAL,
276     RF_AT_COMMAND_DPD_CAL,
277     RF_AT_COMMAND_CW,
278     RF_AT_COMMAND_NUM
279 } ENUM_RF_AT_COMMAND_T;
280
281 // Preamble
282 typedef enum _ENUM_RF_AT_PREAMBLE_T {
283     RF_AT_PREAMBLE_NORMAL = 0,
284     RF_AT_PREAMBLE_CCK_SHORT,
285     RF_AT_PREAMBLE_11N_MM,
286     RF_AT_PREAMBLE_11N_GF,
287     RF_AT_PREAMBLE_NUM
288 } ENUM_RF_AT_PREAMBLE_T;
289
290 // Ack Policy
291 typedef enum _ENUM_RF_AT_ACK_POLICY_T {
292     RF_AT_ACK_POLICY_NORMAL = 0,
293     RF_AT_ACK_POLICY_NOACK,
294     RF_AT_ACK_POLICY_NOEXPLICTACK,
295     RF_AT_ACK_POLICY_BLOCKACK,
296     RF_AT_ACK_POLICY_NUM
297 } ENUM_RF_AT_ACK_POLICY_T;
298
299 typedef enum _ENUM_RF_AUTOTEST_STATE_T {
300     RF_AUTOTEST_STATE_STANDBY = 0,
301     RF_AUTOTEST_STATE_TX,
302     RF_AUTOTEST_STATE_RX,
303     RF_AUTOTEST_STATE_RESET,
304     RF_AUTOTEST_STATE_OUTPUT_POWER,
305     RF_AUTOTEST_STATE_LOCA_FREQUENCY,
306     RF_AUTOTEST_STATE_CARRIER_SUPRRESION,
307     RF_AUTOTEST_STATE_NUM
308 } ENUM_RF_AUTOTEST_STATE_T;
309
310
311 /*******************************************************************************
312 *                            P U B L I C   D A T A
313 ********************************************************************************
314 */
315
316 /*******************************************************************************
317 *                           P R I V A T E   D A T A
318 ********************************************************************************
319 */
320
321 /*******************************************************************************
322 *                                 M A C R O S
323 ********************************************************************************
324 */
325
326 /*******************************************************************************
327 *                   F U N C T I O N   D E C L A R A T I O N S
328 ********************************************************************************
329 */
330
331 WLAN_STATUS
332 rftestSetATInfo(
333     IN P_ADAPTER_T  prAdapter,
334     UINT_32         u4FuncIndex,
335     UINT_32         u4FuncData
336     );
337
338 WLAN_STATUS
339 rftestQueryATInfo(
340     IN P_ADAPTER_T  prAdapter,
341     UINT_32         u4FuncIndex,
342     UINT_32         u4FuncData,
343     OUT PVOID       pvQueryBuffer,
344     IN UINT_32      u4QueryBufferLen
345     );
346
347 WLAN_STATUS
348 rftestSetFrequency(
349     IN P_ADAPTER_T  prAdapter,
350     IN UINT_32      u4FreqInKHz,
351     IN PUINT_32     pu4SetInfoLen
352     );
353
354 #endif /* _RFTEST_H */
355
356
357