drv_conf.h 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326
  1. /******************************************************************************
  2. *
  3. * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
  4. *
  5. * This program is free software; you can redistribute it and/or modify it
  6. * under the terms of version 2 of the GNU General Public License as
  7. * published by the Free Software Foundation.
  8. *
  9. * This program is distributed in the hope that it will be useful, but WITHOUT
  10. * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11. * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
  12. * more details.
  13. *
  14. * You should have received a copy of the GNU General Public License along with
  15. * this program; if not, write to the Free Software Foundation, Inc.,
  16. * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
  17. *
  18. *
  19. ******************************************************************************/
  20. #ifndef __DRV_CONF_H__
  21. #define __DRV_CONF_H__
  22. #include "autoconf.h"
  23. #include "hal_ic_cfg.h"
  24. #if defined(PLATFORM_LINUX) && defined (PLATFORM_WINDOWS)
  25. #error "Shall be Linux or Windows, but not both!\n"
  26. #endif
  27. #if defined(CONFIG_MCC_MODE) && (!defined(CONFIG_CONCURRENT_MODE))
  28. #error "Enable CONCURRENT_MODE before enable MCC MODE\n"
  29. #endif
  30. #if defined(CONFIG_MCC_MODE) && defined(CONFIG_BT_COEXIST)
  31. #error "Disable BT COEXIST before enable MCC MODE\n"
  32. #endif
  33. #if defined(CONFIG_MCC_MODE) && defined(CONFIG_TDLS)
  34. #error "Disable TDLS before enable MCC MODE\n"
  35. #endif
  36. #if defined(CONFIG_RTW_80211R) && !defined(CONFIG_LAYER2_ROAMING)
  37. #error "Enable CONFIG_LAYER2_ROAMING before enable CONFIG_RTW_80211R\n"
  38. #endif
  39. /* Older Android kernel doesn't has CONFIG_ANDROID defined,
  40. * add this to force CONFIG_ANDROID defined */
  41. #ifdef CONFIG_PLATFORM_ANDROID
  42. #ifndef CONFIG_ANDROID
  43. #define CONFIG_ANDROID
  44. #endif
  45. #endif
  46. #ifdef CONFIG_ANDROID
  47. /* Some Android build will restart the UI while non-printable ascii is passed
  48. * between java and c/c++ layer (JNI). We force CONFIG_VALIDATE_SSID
  49. * for Android here. If you are sure there is no risk on your system about this,
  50. * mask this macro define to support non-printable ascii ssid.
  51. * #define CONFIG_VALIDATE_SSID */
  52. /* Android expect dbm as the rx signal strength unit */
  53. #define CONFIG_SIGNAL_DISPLAY_DBM
  54. #endif
  55. /*
  56. #if defined(CONFIG_HAS_EARLYSUSPEND) && defined(CONFIG_RESUME_IN_WORKQUEUE)
  57. #warning "You have CONFIG_HAS_EARLYSUSPEND enabled in your system, we disable CONFIG_RESUME_IN_WORKQUEUE automatically"
  58. #undef CONFIG_RESUME_IN_WORKQUEUE
  59. #endif
  60. #if defined(CONFIG_ANDROID_POWER) && defined(CONFIG_RESUME_IN_WORKQUEUE)
  61. #warning "You have CONFIG_ANDROID_POWER enabled in your system, we disable CONFIG_RESUME_IN_WORKQUEUE automatically"
  62. #undef CONFIG_RESUME_IN_WORKQUEUE
  63. #endif
  64. */
  65. #ifdef CONFIG_RESUME_IN_WORKQUEUE /* this can be removed, because there is no case for this... */
  66. #if !defined(CONFIG_WAKELOCK) && !defined(CONFIG_ANDROID_POWER)
  67. #error "enable CONFIG_RESUME_IN_WORKQUEUE without CONFIG_WAKELOCK or CONFIG_ANDROID_POWER will suffer from the danger of wifi's unfunctionality..."
  68. #error "If you still want to enable CONFIG_RESUME_IN_WORKQUEUE in this case, mask this preprossor checking and GOOD LUCK..."
  69. #endif
  70. #endif
  71. /* About USB VENDOR REQ */
  72. #if defined(CONFIG_USB_VENDOR_REQ_BUFFER_PREALLOC) && !defined(CONFIG_USB_VENDOR_REQ_MUTEX)
  73. #warning "define CONFIG_USB_VENDOR_REQ_MUTEX for CONFIG_USB_VENDOR_REQ_BUFFER_PREALLOC automatically"
  74. #define CONFIG_USB_VENDOR_REQ_MUTEX
  75. #endif
  76. #if defined(CONFIG_VENDOR_REQ_RETRY) && !defined(CONFIG_USB_VENDOR_REQ_MUTEX)
  77. #warning "define CONFIG_USB_VENDOR_REQ_MUTEX for CONFIG_VENDOR_REQ_RETRY automatically"
  78. #define CONFIG_USB_VENDOR_REQ_MUTEX
  79. #endif
  80. #if !defined(CONFIG_AP_MODE) && defined(CONFIG_DFS_MASTER)
  81. #warning "undef CONFIG_DFS_MASTER because CONFIG_AP_MODE is not defined"
  82. #undef CONFIG_DFS_MASTER
  83. #endif
  84. #define RTW_SCAN_SPARSE_MIRACAST 1
  85. #define RTW_SCAN_SPARSE_BG 0
  86. #define RTW_SCAN_SPARSE_ROAMING_ACTIVE 1
  87. #ifndef CONFIG_RTW_HIQ_FILTER
  88. #define CONFIG_RTW_HIQ_FILTER 1
  89. #endif
  90. #ifndef CONFIG_RTW_FORCE_IGI_LB
  91. #define CONFIG_RTW_FORCE_IGI_LB 0
  92. #endif
  93. #ifndef CONFIG_RTW_ADAPTIVITY_EN
  94. #define CONFIG_RTW_ADAPTIVITY_EN 0
  95. #endif
  96. #ifndef CONFIG_RTW_ADAPTIVITY_MODE
  97. #define CONFIG_RTW_ADAPTIVITY_MODE 0
  98. #endif
  99. #ifndef CONFIG_RTW_ADAPTIVITY_DML
  100. #define CONFIG_RTW_ADAPTIVITY_DML 0
  101. #endif
  102. #ifndef CONFIG_RTW_ADAPTIVITY_DC_BACKOFF
  103. #define CONFIG_RTW_ADAPTIVITY_DC_BACKOFF 2
  104. #endif
  105. #ifndef CONFIG_RTW_ADAPTIVITY_TH_L2H_INI
  106. #define CONFIG_RTW_ADAPTIVITY_TH_L2H_INI 0
  107. #endif
  108. #ifndef CONFIG_RTW_ADAPTIVITY_TH_EDCCA_HL_DIFF
  109. #define CONFIG_RTW_ADAPTIVITY_TH_EDCCA_HL_DIFF 0
  110. #endif
  111. #ifndef CONFIG_RTW_EXCL_CHS
  112. #define CONFIG_RTW_EXCL_CHS {0}
  113. #endif
  114. #ifndef CONFIG_RTW_DFS_REGION_DOMAIN
  115. #define CONFIG_RTW_DFS_REGION_DOMAIN 0
  116. #endif
  117. #ifndef CONFIG_TXPWR_BY_RATE_EN
  118. #define CONFIG_TXPWR_BY_RATE_EN 2 /* by efuse */
  119. #endif
  120. #ifndef CONFIG_TXPWR_LIMIT_EN
  121. #define CONFIG_TXPWR_LIMIT_EN 2 /* by efuse */
  122. #endif
  123. /* compatible with old fashion configuration */
  124. #if defined(CONFIG_CALIBRATE_TX_POWER_BY_REGULATORY)
  125. #undef CONFIG_TXPWR_BY_RATE_EN
  126. #undef CONFIG_TXPWR_LIMIT_EN
  127. #define CONFIG_TXPWR_BY_RATE_EN 1
  128. #define CONFIG_TXPWR_LIMIT_EN 1
  129. #elif defined(CONFIG_CALIBRATE_TX_POWER_TO_MAX)
  130. #undef CONFIG_TXPWR_BY_RATE_EN
  131. #undef CONFIG_TXPWR_LIMIT_EN
  132. #define CONFIG_TXPWR_BY_RATE_EN 1
  133. #define CONFIG_TXPWR_LIMIT_EN 0
  134. #endif
  135. #ifndef RTW_DEF_MODULE_REGULATORY_CERT
  136. #define RTW_DEF_MODULE_REGULATORY_CERT 0
  137. #endif
  138. #if RTW_DEF_MODULE_REGULATORY_CERT
  139. /* force enable TX power by rate and TX power limit */
  140. #undef CONFIG_TXPWR_BY_RATE_EN
  141. #undef CONFIG_TXPWR_LIMIT_EN
  142. #define CONFIG_TXPWR_BY_RATE_EN 1
  143. #define CONFIG_TXPWR_LIMIT_EN 1
  144. #endif
  145. #ifndef CONFIG_RTW_RX_AMPDU_SZ_LIMIT_1SS
  146. #define CONFIG_RTW_RX_AMPDU_SZ_LIMIT_1SS {0xFF, 0xFF, 0xFF, 0xFF}
  147. #endif
  148. #ifndef CONFIG_RTW_RX_AMPDU_SZ_LIMIT_2SS
  149. #define CONFIG_RTW_RX_AMPDU_SZ_LIMIT_2SS {0xFF, 0xFF, 0xFF, 0xFF}
  150. #endif
  151. #ifndef CONFIG_RTW_RX_AMPDU_SZ_LIMIT_3SS
  152. #define CONFIG_RTW_RX_AMPDU_SZ_LIMIT_3SS {0xFF, 0xFF, 0xFF, 0xFF}
  153. #endif
  154. #ifndef CONFIG_RTW_RX_AMPDU_SZ_LIMIT_4SS
  155. #define CONFIG_RTW_RX_AMPDU_SZ_LIMIT_4SS {0xFF, 0xFF, 0xFF, 0xFF}
  156. #endif
  157. #ifndef CONFIG_RTW_TARGET_TX_PWR_2G_A
  158. #define CONFIG_RTW_TARGET_TX_PWR_2G_A {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
  159. #endif
  160. #ifndef CONFIG_RTW_TARGET_TX_PWR_2G_B
  161. #define CONFIG_RTW_TARGET_TX_PWR_2G_B {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
  162. #endif
  163. #ifndef CONFIG_RTW_TARGET_TX_PWR_2G_C
  164. #define CONFIG_RTW_TARGET_TX_PWR_2G_C {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
  165. #endif
  166. #ifndef CONFIG_RTW_TARGET_TX_PWR_2G_D
  167. #define CONFIG_RTW_TARGET_TX_PWR_2G_D {-1, -1, -1, -1, -1, -1, -1, -1, -1, -1}
  168. #endif
  169. #ifndef CONFIG_RTW_TARGET_TX_PWR_5G_A
  170. #define CONFIG_RTW_TARGET_TX_PWR_5G_A {-1, -1, -1, -1, -1, -1, -1, -1, -1}
  171. #endif
  172. #ifndef CONFIG_RTW_TARGET_TX_PWR_5G_B
  173. #define CONFIG_RTW_TARGET_TX_PWR_5G_B {-1, -1, -1, -1, -1, -1, -1, -1, -1}
  174. #endif
  175. #ifndef CONFIG_RTW_TARGET_TX_PWR_5G_C
  176. #define CONFIG_RTW_TARGET_TX_PWR_5G_C {-1, -1, -1, -1, -1, -1, -1, -1, -1}
  177. #endif
  178. #ifndef CONFIG_RTW_TARGET_TX_PWR_5G_D
  179. #define CONFIG_RTW_TARGET_TX_PWR_5G_D {-1, -1, -1, -1, -1, -1, -1, -1, -1}
  180. #endif
  181. #ifndef CONFIG_RTW_AMPLIFIER_TYPE_2G
  182. #define CONFIG_RTW_AMPLIFIER_TYPE_2G 0
  183. #endif
  184. #ifndef CONFIG_RTW_AMPLIFIER_TYPE_5G
  185. #define CONFIG_RTW_AMPLIFIER_TYPE_5G 0
  186. #endif
  187. #ifndef CONFIG_RTW_RFE_TYPE
  188. #define CONFIG_RTW_RFE_TYPE 64
  189. #endif
  190. #ifndef CONFIG_RTW_GLNA_TYPE
  191. #define CONFIG_RTW_GLNA_TYPE 0
  192. #endif
  193. #ifndef CONFIG_RTW_PLL_REF_CLK_SEL
  194. #define CONFIG_RTW_PLL_REF_CLK_SEL 0x0F
  195. #endif
  196. #ifndef CONFIG_IFACE_NUMBER
  197. #ifdef CONFIG_CONCURRENT_MODE
  198. #define CONFIG_IFACE_NUMBER 2
  199. #else
  200. #define CONFIG_IFACE_NUMBER 1
  201. #endif
  202. #endif
  203. #ifndef CONFIG_CONCURRENT_MODE
  204. #if (CONFIG_IFACE_NUMBER > 1)
  205. #error "CONFIG_IFACE_NUMBER over 1,but CONFIG_CONCURRENT_MODE not defined"
  206. #endif
  207. #endif
  208. #if (CONFIG_IFACE_NUMBER == 0)
  209. #error "CONFIG_IFACE_NUMBER cound not equel to 0 !!"
  210. #endif
  211. #if (CONFIG_IFACE_NUMBER > 3)
  212. #error "Not support over 3 interfaces yet !!"
  213. #endif
  214. #if (CONFIG_IFACE_NUMBER > 8) /*IFACE_ID_MAX*/
  215. #error "HW count not support over 8 interfaces !!"
  216. #endif
  217. #if (CONFIG_IFACE_NUMBER > 2)
  218. #define CONFIG_MI_WITH_MBSSID_CAM
  219. #ifdef CONFIG_MI_WITH_MBSSID_CAM
  220. #define CONFIG_MBSSID_CAM
  221. #if defined(CONFIG_RUNTIME_PORT_SWITCH)
  222. #undef CONFIG_RUNTIME_PORT_SWITCH
  223. #endif
  224. #endif
  225. #ifdef CONFIG_AP_MODE
  226. #define CONFIG_SWTIMER_BASED_TXBCN
  227. /*#define CONFIG_FW_BASED_BCN*/
  228. #endif
  229. #endif
  230. #define MACID_NUM_SW_LIMIT 32
  231. #define SEC_CAM_ENT_NUM_SW_LIMIT 32
  232. #if defined(CONFIG_RTL8812A) || defined(CONFIG_RTL8821A) || defined(CONFIG_RTL8814A)
  233. #define CONFIG_IEEE80211_BAND_5GHZ
  234. #endif
  235. #if defined(CONFIG_WOWLAN) && (defined(CONFIG_RTL8822B) || defined(CONFIG_RTL8821C))
  236. #define CONFIG_WOW_PATTERN_HW_CAM
  237. #endif
  238. /*
  239. Mark CONFIG_DEAUTH_BEFORE_CONNECT by Arvin 2015/07/20
  240. If the failure of Wi-Fi connection is due to some irregular disconnection behavior (like unplug dongle,
  241. power down etc.) in last time, we can unmark this flag to avoid some unpredictable response from AP.
  242. */
  243. /*#define CONFIG_DEAUTH_BEFORE_CONNECT */
  244. /*#define CONFIG_WEXT_DONT_JOIN_BYSSID */
  245. /* #include <rtl871x_byteorder.h> */
  246. /*#define CONFIG_DOSCAN_IN_BUSYTRAFFIC */
  247. /*Don't release SDIO irq in suspend/resume procedure*/
  248. #define CONFIG_RTW_SDIO_KEEP_IRQ 0
  249. /*
  250. * Add by Lucas@2016/02/15
  251. * For RX Aggregation
  252. */
  253. #if defined(CONFIG_SDIO_HCI) || defined(CONFIG_USB_RX_AGGREGATION)
  254. #define RTW_RX_AGGREGATION
  255. #endif /* CONFIG_SDIO_HCI || CONFIG_USB_RX_AGGREGATION */
  256. #endif /* __DRV_CONF_H__ */