config.h 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748
  1. /*
  2. ** Id: //Department/DaVinci/BRANCHES/MT6620_WIFI_DRIVER_V2_3/include/config.h#3
  3. */
  4. /*! \file "config.h"
  5. \brief This file includes the various configurable parameters for customers
  6. This file includes the configurable parameters except the parameters indicate the turning-on/off of some features
  7. */
  8. #ifndef _CONFIG_H
  9. #define _CONFIG_H
  10. /*******************************************************************************
  11. * C O M P I L E R F L A G S
  12. ********************************************************************************
  13. */
  14. /*******************************************************************************
  15. * E X T E R N A L R E F E R E N C E S
  16. ********************************************************************************
  17. */
  18. /*******************************************************************************
  19. * C O N S T A N T S
  20. ********************************************************************************
  21. */
  22. /* 2 Flags for OS capability */
  23. #ifdef LINUX
  24. #ifdef CONFIG_X86
  25. #define MTK_WCN_HIF_SDIO 0
  26. #else
  27. #define MTK_WCN_HIF_SDIO 1
  28. #endif
  29. #else
  30. #define MTK_WCN_HIF_SDIO 0
  31. #endif
  32. #if (CFG_SUPPORT_AEE == 1)
  33. #define CFG_ENABLE_AEE_MSG 1
  34. #else
  35. #define CFG_ENABLE_AEE_MSG 0
  36. #endif
  37. #define CFG_SUPPORT_MTK_ANDROID_KK 1
  38. #define CFG_ENABLE_EARLY_SUSPEND 0
  39. /* 2 Flags for Driver Features */
  40. #define CFG_TX_FRAGMENT 1 /*!< 1: Enable TX fragmentation
  41. 0: Disable */
  42. #define CFG_SUPPORT_PERFORMANCE_TEST 0 /*Only for performance Test */
  43. #define CFG_COUNTRY_CODE NULL /* "US" */
  44. #ifndef LINUX
  45. #define CFG_FW_FILENAME L"WIFI_RAM_CODE"
  46. #else
  47. #define CFG_FW_FILENAME "WIFI_RAM_CODE"
  48. #endif
  49. #ifndef CFG_MET_PACKET_TRACE_SUPPORT
  50. #define CFG_MET_PACKET_TRACE_SUPPORT 0 /*move to wlan/MAKEFILE */
  51. #endif
  52. /*------------------------------------------------------------------------------
  53. * Driver config
  54. *------------------------------------------------------------------------------
  55. */
  56. #ifndef LINUX
  57. #define CFG_SUPPORT_CFG_FILE 0
  58. #else
  59. #define CFG_SUPPORT_CFG_FILE 1
  60. #endif
  61. #define CFG_SUPPORT_802_11D 1 /*!< 1(default): Enable 802.11d
  62. 0: Disable */
  63. #define CFG_SUPPORT_RRM 0 /* Radio Reasource Measurement (802.11k) */
  64. #define CFG_SUPPORT_DFS 1 /* DFS (802.11h) */
  65. #if (CFG_SUPPORT_DFS == 1) /* Add by Enlai */
  66. #define CFG_SUPPORT_QUIET 0 /* Quiet (802.11h) */
  67. #define CFG_SUPPORT_SPEC_MGMT 1 /* Spectrum Management (802.11h): TPC and DFS */
  68. #else
  69. #define CFG_SUPPORT_QUIET 0 /* Quiet (802.11h) */
  70. #define CFG_SUPPORT_SPEC_MGMT 0 /* Spectrum Management (802.11h): TPC and DFS */
  71. #endif
  72. #define CFG_SUPPORT_RX_RDG 0 /* 11n feature. RX RDG capability */
  73. #define CFG_SUPPORT_MFB 0 /* 802.11n MCS Feedback responder */
  74. #define CFG_SUPPORT_RX_STBC 1 /* 802.11n RX STBC (1SS) */
  75. #define CFG_SUPPORT_RX_SGI 1 /* 802.11n RX short GI for both 20M and 40M BW */
  76. #define CFG_SUPPORT_RX_HT_GF 1 /* 802.11n RX HT green-field capability */
  77. #define CFG_SUPPORT_BFEE 1
  78. #define CFG_SUPPORT_WAPI 1
  79. /*------------------------------------------------------------------------------
  80. * SLT Option
  81. *------------------------------------------------------------------------------
  82. */
  83. #define CFG_SLT_SUPPORT 0
  84. #ifdef NDIS60_MINIPORT
  85. #define CFG_NATIVE_802_11 1
  86. #define CFG_TX_MAX_PKT_SIZE 2304
  87. #define CFG_TCP_IP_CHKSUM_OFFLOAD_NDIS_60 0 /* !< 1: Enable TCP/IP header checksum offload
  88. 0: Disable */
  89. #define CFG_TCP_IP_CHKSUM_OFFLOAD 0
  90. #define CFG_WHQL_DOT11_STATISTICS 1
  91. #define CFG_WHQL_ADD_REMOVE_KEY 1
  92. #define CFG_WHQL_CUSTOM_IE 1
  93. #define CFG_WHQL_SAFE_MODE_ENABLED 1
  94. #else
  95. #define CFG_TCP_IP_CHKSUM_OFFLOAD 1 /* !< 1: Enable TCP/IP header checksum offload
  96. 0: Disable */
  97. #define CFG_TCP_IP_CHKSUM_OFFLOAD_NDIS_60 0
  98. #define CFG_TX_MAX_PKT_SIZE 1600
  99. #define CFG_NATIVE_802_11 0
  100. #endif
  101. /* 2 Flags for Driver Parameters */
  102. /*------------------------------------------------------------------------------
  103. * Flags for EHPI Interface in Colibri Platform
  104. *------------------------------------------------------------------------------
  105. */
  106. #define CFG_EHPI_FASTER_BUS_TIMING 0 /*!< 1: Do workaround for faster bus timing
  107. 0(default): Disable */
  108. /*------------------------------------------------------------------------------
  109. * Flags for HIFSYS Interface
  110. *------------------------------------------------------------------------------
  111. */
  112. #ifdef _lint
  113. #define _HIF_SDIO 1
  114. #endif
  115. /* 1(default): Enable SDIO ISR & TX/RX status enhance mode
  116. * 0: Disable
  117. */
  118. #define CFG_SDIO_INTR_ENHANCE 1
  119. /* 1(default): Enable SDIO ISR & TX/RX status enhance mode
  120. * 0: Disable
  121. */
  122. #define CFG_SDIO_RX_ENHANCE 0
  123. /* 1: Enable SDIO TX enhance mode(Multiple frames in single BLOCK CMD)
  124. * 0(default): Disable
  125. */
  126. #define CFG_SDIO_TX_AGG 1
  127. /*!< 0: Disable this limitation
  128. * Others: Byte count limitation for a single SDIO write
  129. */
  130. #define CFG_SDIO_TX_AGG_LIMIT 0
  131. /* 1: Enable SDIO RX enhance mode(Multiple frames in single BLOCK CMD)
  132. * 0(default): Disable
  133. */
  134. #define CFG_SDIO_RX_AGG 1
  135. #if (CFG_SDIO_RX_AGG == 1) && (CFG_SDIO_INTR_ENHANCE == 0)
  136. #error "CFG_SDIO_INTR_ENHANCE should be 1 once CFG_SDIO_RX_AGG equals to 1"
  137. #elif (CFG_SDIO_INTR_ENHANCE == 1 || CFG_SDIO_RX_ENHANCE == 1) && (CFG_SDIO_RX_AGG == 0)
  138. #error "CFG_SDIO_RX_AGG should be 1 once CFG_SDIO_INTR_ENHANCE and/or CFG_SDIO_RX_ENHANCE equals to 1"
  139. #endif
  140. #define CFG_SDIO_MAX_RX_AGG_NUM 0 /*!< Setting the maximum RX aggregation number
  141. 0: no limited (16) */
  142. #ifdef WINDOWS_CE
  143. #define CFG_SDIO_PATHRU_MODE 1 /*!< 1: Support pass through (PATHRU) mode
  144. 0: Disable */
  145. #else
  146. #define CFG_SDIO_PATHRU_MODE 0 /*!< 0: Always disable if WINDOWS_CE is not defined */
  147. #endif
  148. #define CFG_MAX_RX_ENHANCE_LOOP_COUNT 3
  149. /*------------------------------------------------------------------------------
  150. * Flags and Parameters for Integration
  151. *------------------------------------------------------------------------------
  152. */
  153. #if defined(MT6630)
  154. #define CFG_MULTI_ECOVER_SUPPORT 1
  155. #define CFG_ENABLE_CAL_LOG 1
  156. #define CFG_REPORT_RFBB_VERSION 1
  157. #define HW_BSSID_NUM 4 /* HW BSSID number by chip */
  158. #else
  159. #error Unknown chip ID.
  160. #endif
  161. #define CFG_CHIP_RESET_SUPPORT 1
  162. /*------------------------------------------------------------------------------
  163. * Flags for workaround
  164. *------------------------------------------------------------------------------
  165. */
  166. /*------------------------------------------------------------------------------
  167. * Flags for driver version
  168. *------------------------------------------------------------------------------
  169. */
  170. #define CFG_DRV_OWN_VERSION ((UINT_16)((NIC_DRIVER_MAJOR_VERSION << 8) | \
  171. (NIC_DRIVER_MINOR_VERSION)))
  172. #define CFG_DRV_PEER_VERSION ((UINT_16)0x0000)
  173. /*------------------------------------------------------------------------------
  174. * Flags for TX path which are OS dependent
  175. *------------------------------------------------------------------------------
  176. */
  177. /*! NOTE(Kevin): If the Network buffer is non-scatter-gather like structure(without
  178. * NETIF_F_FRAGLIST in LINUX), then we can set CFG_TX_BUFFER_IS_SCATTER_LIST to "0"
  179. * for zero copy TX packets.
  180. * For scatter-gather like structure, we set "1", driver will do copy frame to
  181. * internal coalescing buffer before write it to FIFO.
  182. */
  183. #if defined(LINUX)
  184. #define CFG_TX_BUFFER_IS_SCATTER_LIST 1 /*!< 1: Do frame copy before write to TX FIFO.
  185. Used when Network buffer is scatter-gather.
  186. 0(default): Do not copy frame */
  187. #else /* WINDOWS/WINCE */
  188. #define CFG_TX_BUFFER_IS_SCATTER_LIST 1
  189. #endif /* LINUX */
  190. /* Max Tx page count */
  191. #define CFG_MAX_TX_PAGE_COUNT 968
  192. #if CFG_SDIO_TX_AGG || CFG_TX_BUFFER_IS_SCATTER_LIST
  193. #define CFG_COALESCING_BUFFER_SIZE (NIC_TX_PAGE_SIZE * CFG_MAX_TX_PAGE_COUNT)
  194. #else
  195. #define CFG_COALESCING_BUFFER_SIZE (CFG_TX_MAX_PKT_SIZE)
  196. #endif /* CFG_SDIO_TX_AGG || CFG_TX_BUFFER_IS_SCATTER_LIST */
  197. /*------------------------------------------------------------------------------
  198. * Flags and Parameters for TX path
  199. *------------------------------------------------------------------------------
  200. */
  201. /*! Maximum number of SW TX packet queue */
  202. #define CFG_TX_MAX_PKT_NUM 1024
  203. /*! Maximum number of SW TX CMD packet buffer */
  204. #define CFG_TX_MAX_CMD_PKT_NUM 32
  205. /*! Maximum number of associated STAs */
  206. #define CFG_NUM_OF_STA_RECORD 20
  207. /*------------------------------------------------------------------------------
  208. * Flags and Parameters for RX path
  209. *------------------------------------------------------------------------------
  210. */
  211. /*------------------------------------------------------------------------------
  212. * CONFIG_TITLE : Move BA from FW to Driver
  213. * OWNER : Puff Wen
  214. * Description : Move BA from FW to Driver
  215. *------------------------------------------------------------------------------
  216. */
  217. #define CFG_M0VE_BA_TO_DRIVER 0
  218. /*! Max. descriptor number - sync. with firmware */
  219. #if CFG_SLT_SUPPORT
  220. #define CFG_NUM_OF_RX0_HIF_DESC 42
  221. #else
  222. #define CFG_NUM_OF_RX0_HIF_DESC 16
  223. #endif
  224. #define CFG_NUM_OF_RX1_HIF_DESC 2
  225. /*! Max. buffer hold by QM */
  226. #define CFG_NUM_OF_QM_RX_PKT_NUM 512
  227. /*! Maximum number of SW RX packet buffer */
  228. #define CFG_RX_MAX_PKT_NUM ((CFG_NUM_OF_RX0_HIF_DESC + CFG_NUM_OF_RX1_HIF_DESC) * 3 \
  229. + CFG_NUM_OF_QM_RX_PKT_NUM)
  230. #define CFG_RX_REORDER_Q_THRESHOLD 8
  231. #ifndef LINUX
  232. #define CFG_RX_RETAINED_PKT_THRESHOLD (CFG_NUM_OF_RX0_HIF_DESC + CFG_NUM_OF_RX1_HIF_DESC \
  233. + CFG_NUM_OF_QM_RX_PKT_NUM)
  234. #else
  235. #define CFG_RX_RETAINED_PKT_THRESHOLD 0
  236. #endif
  237. /*! Maximum RX packet size, if exceed this value, drop incoming packet */
  238. /* 7.2.3 Maganement frames */
  239. /* TODO: it should be 4096 under emulation mode */
  240. #define CFG_RX_MAX_PKT_SIZE (28 + 2312 + 12 /*HIF_RX_HEADER_T*/)
  241. /*! Minimum RX packet size, if lower than this value, drop incoming packet */
  242. #define CFG_RX_MIN_PKT_SIZE 10 /*!< 802.11 Control Frame is 10 bytes */
  243. #if CFG_SDIO_RX_AGG
  244. /* extra size for CS_STATUS and enhanced response */
  245. #define CFG_RX_COALESCING_BUFFER_SIZE ((CFG_NUM_OF_RX0_HIF_DESC + 1) \
  246. * CFG_RX_MAX_PKT_SIZE)
  247. #else
  248. #define CFG_RX_COALESCING_BUFFER_SIZE (CFG_RX_MAX_PKT_SIZE)
  249. #endif
  250. /*! RX BA capability */
  251. #define CFG_NUM_OF_RX_BA_AGREEMENTS 8
  252. #if CFG_M0VE_BA_TO_DRIVER
  253. #define CFG_RX_BA_MAX_WINSIZE 8
  254. #else
  255. #define CFG_RX_BA_MAX_WINSIZE 16
  256. #endif
  257. #define CFG_RX_BA_INC_SIZE 4
  258. #define CFG_RX_MAX_BA_TID_NUM 8
  259. #define CFG_RX_REORDERING_ENABLED 1
  260. #define CFG_PF_ARP_NS_MAX_NUM 3
  261. /*------------------------------------------------------------------------------
  262. * Flags and Parameters for CMD/RESPONSE
  263. *------------------------------------------------------------------------------
  264. */
  265. #define CFG_RESPONSE_POLLING_TIMEOUT 512
  266. /*------------------------------------------------------------------------------
  267. * Flags and Parameters for Protocol Stack
  268. *------------------------------------------------------------------------------
  269. */
  270. /*! Maximum number of BSS in the SCAN list */
  271. #define CFG_MAX_NUM_BSS_LIST 64
  272. #define CFG_MAX_COMMON_IE_BUF_LEN ((1500 * CFG_MAX_NUM_BSS_LIST) / 3)
  273. /*! Maximum size of Header buffer of each SCAN record */
  274. #define CFG_RAW_BUFFER_SIZE 1024
  275. /*! Maximum size of IE buffer of each SCAN record */
  276. #define CFG_IE_BUFFER_SIZE 512
  277. /*! Maximum number of STA records */
  278. #define CFG_MAX_NUM_STA_RECORD 32
  279. /*------------------------------------------------------------------------------
  280. * Flags and Parameters for Power management
  281. *------------------------------------------------------------------------------
  282. */
  283. #define CFG_ENABLE_FULL_PM 1
  284. #define CFG_ENABLE_WAKEUP_ON_LAN 0
  285. #define CFG_INIT_POWER_SAVE_PROF ENUM_PSP_FAST_SWITCH
  286. #define CFG_INIT_ENABLE_PATTERN_FILTER_ARP 0
  287. #define CFG_INIT_UAPSD_AC_BMP 0 /* (BIT(3) | BIT(2) | BIT(1) | BIT(0)) */
  288. /* #define CFG_SUPPORT_WAPI 0 */
  289. #define CFG_SUPPORT_WPS 1
  290. #define CFG_SUPPORT_WPS2 1
  291. /*------------------------------------------------------------------------------
  292. * 802.11i RSN Pre-authentication PMKID cahce maximun number
  293. *------------------------------------------------------------------------------
  294. */
  295. #define CFG_MAX_PMKID_CACHE 16 /*!< max number of PMKID cache
  296. 16(default) : The Max PMKID cache */
  297. /*------------------------------------------------------------------------------
  298. * Auto Channel Selection Maximun Channel Number
  299. *------------------------------------------------------------------------------
  300. */
  301. #define MAX_AUTO_CHAL_NUM 18
  302. /*------------------------------------------------------------------------------
  303. * Flags and Parameters for Ad-Hoc
  304. *------------------------------------------------------------------------------
  305. */
  306. #define CFG_INIT_ADHOC_FREQ (2462000)
  307. #define CFG_INIT_ADHOC_MODE AD_HOC_MODE_MIXED_11BG
  308. #define CFG_INIT_ADHOC_BEACON_INTERVAL (100)
  309. #define CFG_INIT_ADHOC_ATIM_WINDOW (0)
  310. /*------------------------------------------------------------------------------
  311. * Flags and Parameters for Maximum Scan SSID number
  312. *------------------------------------------------------------------------------
  313. */
  314. #define CFG_SCAN_SSID_MAX_NUM (4)
  315. #define CFG_SCAN_SSID_MATCH_MAX_NUM (16)
  316. /*------------------------------------------------------------------------------
  317. * Flags and Parameters for Load Setup Default
  318. *------------------------------------------------------------------------------
  319. */
  320. /*------------------------------------------------------------------------------
  321. * Flags for enable 802.11A Band setting
  322. *------------------------------------------------------------------------------
  323. */
  324. /*------------------------------------------------------------------------------
  325. * Flags and Parameters for Interrupt Process
  326. *------------------------------------------------------------------------------
  327. */
  328. #if defined(_HIF_SDIO) && defined(WINDOWS_CE)
  329. #define CFG_IST_LOOP_COUNT 1
  330. #else
  331. #define CFG_IST_LOOP_COUNT 32
  332. #endif /* _HIF_SDIO */
  333. #define CFG_INT_WRITE_CLEAR 0
  334. #if defined(LINUX)
  335. #define CFG_DBG_GPIO_PINS 0 /* if 1, use MT6516 GPIO pin to log TX behavior */
  336. #endif
  337. /* 2 Flags for Driver Debug Options */
  338. /*------------------------------------------------------------------------------
  339. * Flags of TX Debug Option. NOTE(Kevin): Confirm with SA before modifying following flags.
  340. *------------------------------------------------------------------------------
  341. */
  342. #define CFG_DBG_MGT_BUF 1 /*!< 1: Debug statistics usage of MGMT Buffer
  343. 0: Disable */
  344. #define CFG_HIF_STATISTICS 0
  345. #define CFG_HIF_RX_STARVATION_WARNING 0
  346. #define CFG_RX_PKTS_DUMP 0
  347. #define CFG_SUPPORT_STATISTICS 1
  348. /*------------------------------------------------------------------------------
  349. * Flags of Firmware Download Option.
  350. *------------------------------------------------------------------------------
  351. */
  352. #define CFG_ENABLE_FW_DOWNLOAD 1
  353. #define CFG_ENABLE_FW_DOWNLOAD_ACK 1
  354. #define CFG_ENABLE_FW_ENCRYPTION 1
  355. #if defined(MT6630)
  356. #define CFG_ENABLE_FW_DIVIDED_DOWNLOAD 1
  357. #else
  358. #define CFG_ENABLE_FW_DIVIDED_DOWNLOAD 0
  359. #endif
  360. #if defined(MT6630)
  361. #define CFG_FW_LOAD_ADDRESS 0x00091400
  362. #define CFG_OVERRIDE_FW_START_ADDRESS 0
  363. #define CFG_FW_START_ADDRESS 0x00091400
  364. #endif
  365. /*------------------------------------------------------------------------------
  366. * Flags of Bluetooth-over-WiFi (BT 3.0 + HS) support
  367. *------------------------------------------------------------------------------
  368. */
  369. #ifdef LINUX
  370. #ifdef CONFIG_X86
  371. #define CFG_ENABLE_BT_OVER_WIFI 0
  372. #else
  373. #define CFG_ENABLE_BT_OVER_WIFI 1
  374. #endif
  375. #else
  376. #define CFG_ENABLE_BT_OVER_WIFI 0
  377. #endif
  378. #define CFG_BOW_SEPARATE_DATA_PATH 1
  379. #define CFG_BOW_PHYSICAL_LINK_NUM 4
  380. #define CFG_BOW_LIMIT_AIS_CHNL 1
  381. #define CFG_BOW_SUPPORT_11N 1
  382. #define CFG_BOW_RATE_LIMITATION 1
  383. /*------------------------------------------------------------------------------
  384. * Flags of Wi-Fi Direct support
  385. *------------------------------------------------------------------------------
  386. */
  387. #ifdef LINUX
  388. #ifdef CONFIG_X86
  389. #define CFG_ENABLE_WIFI_DIRECT 0
  390. #define CFG_SUPPORT_802_11W 0
  391. #else
  392. #define CFG_ENABLE_WIFI_DIRECT 1
  393. #define CFG_SUPPORT_802_11W 1 /*!< 0(default): Disable 802.11W */
  394. #endif
  395. #else
  396. #define CFG_ENABLE_WIFI_DIRECT 0
  397. #define CFG_SUPPORT_802_11W 0 /* Not support at WinXP */
  398. #endif
  399. #define CFG_SUPPORT_PERSISTENT_GROUP 0
  400. #define CFG_TEST_WIFI_DIRECT_GO 0
  401. #define CFG_TEST_ANDROID_DIRECT_GO 0
  402. #define CFG_UNITEST_P2P 0
  403. /*
  404. * Enable cfg80211 option after Android 2.2(Froyo) is suggested,
  405. * cfg80211 on linux 2.6.29 is not mature yet
  406. */
  407. #define CFG_ENABLE_WIFI_DIRECT_CFG_80211 1
  408. #define CFG_SUPPORT_HOTSPOT_OPTIMIZATION 0
  409. #define CFG_HOTSPOT_OPTIMIZATION_BEACON_INTERVAL 300
  410. #define CFG_HOTSPOT_OPTIMIZATION_DTIM 1
  411. #define CFG_AUTO_CHANNEL_SEL_SUPPORT 1
  412. /*------------------------------------------------------------------------------
  413. * Configuration Flags (Linux Only)
  414. *------------------------------------------------------------------------------
  415. */
  416. #define CFG_SUPPORT_EXT_CONFIG 0
  417. /*------------------------------------------------------------------------------
  418. * Statistics Buffering Mechanism
  419. *------------------------------------------------------------------------------
  420. */
  421. #if CFG_SUPPORT_PERFORMANCE_TEST
  422. #define CFG_ENABLE_STATISTICS_BUFFERING 1
  423. #else
  424. #define CFG_ENABLE_STATISTICS_BUFFERING 0
  425. #endif
  426. #define CFG_STATISTICS_VALID_CYCLE 2000
  427. #define CFG_LINK_QUALITY_VALID_PERIOD 500
  428. /*------------------------------------------------------------------------------
  429. * Migration Option
  430. *------------------------------------------------------------------------------
  431. */
  432. #define CFG_SUPPORT_ADHOC 1
  433. #define CFG_SUPPORT_AAA 1
  434. #define CFG_SUPPORT_BCM 0
  435. #define CFG_SUPPORT_BCM_BWCS 0
  436. #define CFG_SUPPORT_BCM_BWCS_DEBUG 0
  437. #define CFG_SUPPORT_RDD_TEST_MODE 0
  438. #define CFG_SUPPORT_PWR_MGT 1
  439. #define CFG_ENABLE_HOTSPOT_PRIVACY_CHECK 1
  440. #define CFG_MGMT_FRAME_HANDLING 1
  441. #define CFG_MGMT_HW_ACCESS_REPLACEMENT 0
  442. #if CFG_SUPPORT_PERFORMANCE_TEST
  443. #else
  444. #endif
  445. #define CFG_SUPPORT_AIS_5GHZ 1
  446. #define CFG_SUPPORT_BEACON_CHANGE_DETECTION 0
  447. /*------------------------------------------------------------------------------
  448. * Option for NVRAM and Version Checking
  449. *------------------------------------------------------------------------------
  450. */
  451. #define CFG_SUPPORT_NVRAM 1
  452. #define CFG_NVRAM_EXISTENCE_CHECK 1
  453. #define CFG_SW_NVRAM_VERSION_CHECK 1
  454. #define CFG_SUPPORT_NIC_CAPABILITY 1
  455. /*------------------------------------------------------------------------------
  456. * CONFIG_TITLE : Stress Test Option
  457. * OWNER : Puff Wen
  458. * Description : For stress test only. DO NOT enable it while normal operation
  459. *------------------------------------------------------------------------------
  460. */
  461. #define CFG_STRESS_TEST_SUPPORT 0
  462. /*------------------------------------------------------------------------------
  463. * Flags for LINT
  464. *------------------------------------------------------------------------------
  465. */
  466. #define LINT_SAVE_AND_DISABLE /*lint -save -e* */
  467. #define LINT_RESTORE /*lint -restore */
  468. #define LINT_EXT_HEADER_BEGIN LINT_SAVE_AND_DISABLE
  469. #define LINT_EXT_HEADER_END LINT_RESTORE
  470. /*------------------------------------------------------------------------------
  471. * Flags of Features
  472. *------------------------------------------------------------------------------
  473. */
  474. #define CFG_SUPPORT_PNO 1
  475. #define CFG_SUPPORT_TDLS 1
  476. #define CFG_SUPPORT_QOS 1 /* Enable/disable QoS TX, AMPDU */
  477. #define CFG_SUPPORT_AMPDU_TX 1
  478. #define CFG_SUPPORT_AMPDU_RX 1
  479. #define CFG_SUPPORT_TSPEC 0 /* Enable/disable TS-related Action frames handling */
  480. #define CFG_SUPPORT_UAPSD 1
  481. #define CFG_SUPPORT_UL_PSMP 0
  482. #define CFG_SUPPORT_ROAMING 1 /* Roaming System */
  483. #define CFG_SUPPORT_SWCR 1
  484. #define CFG_SUPPORT_ANTI_PIRACY 1
  485. #define CFG_SUPPORT_OSC_SETTING 1
  486. #define CFG_SUPPORT_P2P_RSSI_QUERY 0
  487. #define CFG_SHOW_MACADDR_SOURCE 1
  488. #define CFG_SUPPORT_802_11V 0 /* Support 802.11v Wireless Network Management */
  489. #define CFG_SUPPORT_802_11V_TIMING_MEASUREMENT 0
  490. #if (CFG_SUPPORT_802_11V_TIMING_MEASUREMENT == 1) && (CFG_SUPPORT_802_11V == 0)
  491. #error "CFG_SUPPORT_802_11V should be 1 once CFG_SUPPORT_802_11V_TIMING_MEASUREMENT equals to 1"
  492. #endif
  493. #if (CFG_SUPPORT_802_11V == 0)
  494. #define WNM_UNIT_TEST 0
  495. #endif
  496. #define CFG_DRIVER_COMPOSE_ASSOC_REQ 1
  497. #define CFG_SUPPORT_802_11AC 1
  498. #define CFG_STRICT_CHECK_CAPINFO_PRIVACY 0
  499. #define CFG_SUPPORT_WFD 1
  500. #define CFG_SUPPORT_WFD_COMPOSE_IE 1
  501. #define CFG_SUPPORT_HOTSPOT_WPS_MANAGER 1
  502. #define CFG_SUPPORT_NFC_BEAM_PLUS 1
  503. /* Refer to CONFIG_MTK_STAGE_SCAN */
  504. #define CFG_MTK_STAGE_SCAN 1
  505. #define CFG_SUPPORT_MULTITHREAD 1 /* Enable driver support multicore */
  506. #define CFG_SUPPORT_MTK_SYNERGY 1
  507. #define CFG_SUPPORT_PWR_LIMIT_COUNTRY 1
  508. /*------------------------------------------------------------------------------
  509. * Flags of bus error tolerance
  510. *------------------------------------------------------------------------------
  511. */
  512. #define CFG_FORCE_RESET_UNDER_BUS_ERROR 0
  513. /*------------------------------------------------------------------------------
  514. * Build Date Code Integration
  515. *------------------------------------------------------------------------------
  516. */
  517. #define CFG_SUPPORT_BUILD_DATE_CODE 0
  518. /*------------------------------------------------------------------------------
  519. * Flags of SDIO test pattern support
  520. *------------------------------------------------------------------------------
  521. */
  522. #define CFG_SUPPORT_SDIO_READ_WRITE_PATTERN 1
  523. /*------------------------------------------------------------------------------
  524. * Flags of AIS passive scan support
  525. *------------------------------------------------------------------------------
  526. */
  527. #define CFG_SUPPORT_AIS_PASSIVE_SCAN 0
  528. /*------------------------------------------------------------------------------
  529. * Flags of Workaround
  530. *------------------------------------------------------------------------------
  531. */
  532. #define CFG_ENABLE_READ_EXTRA_4_BYTES 1
  533. /*------------------------------------------------------------------------------
  534. * Flags of 5G NVRAM SUPPORT
  535. *------------------------------------------------------------------------------
  536. */
  537. #define CFG_SUPPORT_NVRAM_5G 1
  538. /*------------------------------------------------------------------------------
  539. * Flags of Packet Lifetime Profiling Mechanism
  540. *------------------------------------------------------------------------------
  541. */
  542. #define CFG_ENABLE_PKT_LIFETIME_PROFILE 1
  543. #define CFG_PRINT_PKT_LIFETIME_PROFILE 0
  544. #define CFG_ENABLE_PER_STA_STATISTICS 1
  545. /*------------------------------------------------------------------------------
  546. * Flags for prepare the FW compile flag
  547. *------------------------------------------------------------------------------
  548. */
  549. #define COMPILE_FLAG0_GET_STA_LINK_STATUS (1<<0)
  550. #define COMPILE_FLAG0_WFD_ENHANCEMENT_PROTECT (1<<1)
  551. /*------------------------------------------------------------------------------
  552. * Flags of Batch Scan SUPPORT
  553. *------------------------------------------------------------------------------
  554. */
  555. #define CFG_SUPPORT_BATCH_SCAN 1
  556. #define CFG_BATCH_MAX_MSCAN 4
  557. /*------------------------------------------------------------------------------
  558. * Flags of G-Scan SUPPORT and P-SCN support
  559. *------------------------------------------------------------------------------
  560. */
  561. #define CFG_SUPPORT_GSCN 1
  562. #if CFG_SUPPORT_GSCN
  563. #define CFG_SUPPORT_SCN_PSCN 1
  564. #endif
  565. /*------------------------------------------------------------------------------
  566. * Flags of Sniffer SUPPORT
  567. *------------------------------------------------------------------------------
  568. */
  569. #define CFG_SUPPORT_SNIFFER 1
  570. /*******************************************************************************
  571. * D A T A T Y P E S
  572. ********************************************************************************
  573. */
  574. /*******************************************************************************
  575. * P U B L I C D A T A
  576. ********************************************************************************
  577. */
  578. /*******************************************************************************
  579. * P R I V A T E D A T A
  580. ********************************************************************************
  581. */
  582. /*******************************************************************************
  583. * M A C R O S
  584. ********************************************************************************
  585. */
  586. /*******************************************************************************
  587. * F U N C T I O N D E C L A R A T I O N S
  588. ********************************************************************************
  589. */
  590. /*******************************************************************************
  591. * F U N C T I O N S
  592. ********************************************************************************
  593. */
  594. #endif /* _CONFIG_H */