rftest.h 9.2 KB

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