PageRenderTime 60ms CodeModel.GetById 32ms RepoModel.GetById 0ms app.codeStats 0ms

/drivers/net/wireless/bcmdhd/dhd_sec_feature.h

https://gitlab.com/SerenityS/slteskt_kernel
C Header | 291 lines | 174 code | 42 blank | 75 comment | 42 complexity | 2a9ad2a983b7e95e2359ba09512200ce MD5 | raw file
  1. /*
  2. * Customer HW 4 dependant file
  3. *
  4. * Copyright (C) 1999-2014, Broadcom Corporation
  5. *
  6. * Unless you and Broadcom execute a separate written software license
  7. * agreement governing use of this software, this software is licensed to you
  8. * under the terms of the GNU General Public License version 2 (the "GPL"),
  9. * available at http://www.broadcom.com/licenses/GPLv2.php, with the
  10. * following added to such license:
  11. *
  12. * As a special exception, the copyright holders of this software give you
  13. * permission to link this software with independent modules, and to copy and
  14. * distribute the resulting executable under terms of your choice, provided that
  15. * you also meet, for each linked independent module, the terms and conditions of
  16. * the license of that module. An independent module is a module which is not
  17. * derived from this software. The special exception does not apply to any
  18. * modifications of the software.
  19. *
  20. * Notwithstanding the above, under no circumstances may you combine this
  21. * software in any way with any other Broadcom software provided under a license
  22. * other than the GPL, without Broadcom's express prior written consent.
  23. *
  24. * $Id: dhd_sec_feature.h$
  25. */
  26. /*
  27. * ** Desciption ***
  28. * 1. Module vs COB
  29. * If your model's WIFI HW chip is COB type, you must add below feature
  30. * - #undef USE_CID_CHECK
  31. * - #define READ_MACADDR
  32. * Because COB type chip have not CID and Mac address.
  33. * So, you must add below feature to defconfig file.
  34. * - CONFIG_WIFI_BROADCOM_COB
  35. *
  36. * 2. PROJECTS
  37. * If you want add some feature only own Project, you can add it in 'PROJECTS' part.
  38. *
  39. * 3. Region code
  40. * If you want add some feature only own region model, you can use below code.
  41. * - 100 : EUR OPEN
  42. * - 101 : EUR ORG
  43. * - 200 : KOR OPEN
  44. * - 201 : KOR SKT
  45. * - 202 : KOR KTT
  46. * - 203 : KOR LGT
  47. * - 300 : CHN OPEN
  48. * - 400 : USA OPEN
  49. * - 401 : USA ATT
  50. * - 402 : USA TMO
  51. * - 403 : USA VZW
  52. * - 404 : USA SPR
  53. * - 405 : USA USC
  54. * - 406 : CAN OPEN
  55. * - 407 : USA MPCS
  56. * - 408 : USA ACG
  57. * - 409 : USA LRA
  58. * You can refer how to using it below this file.
  59. * And, you can add more region code, too.
  60. */
  61. #ifndef _dhd_sec_feature_h_
  62. #define _dhd_sec_feature_h_
  63. #include <linuxver.h>
  64. /* For COB type feature */
  65. #ifdef CONFIG_WIFI_BROADCOM_COB
  66. #undef USE_CID_CHECK
  67. #define READ_MACADDR
  68. #endif /* CONFIG_WIFI_BROADCOM_COB */
  69. #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 4, 0)) && (defined(CONFIG_BCM4334) || \
  70. defined(CONFIG_BCM4334_MODULE))
  71. #define RXFRAME_THREAD
  72. #endif /* (LINUX_VERSION >= VERSION(3, 4, 0)) && ( CONFIG_BCM4334 || CONFIG_BCM4334_MODULE) */
  73. #if defined(CONFIG_MACH_SAMSUNG_ESPRESSO) || defined(CONFIG_MACH_SAMSUNG_ESPRESSO_10)
  74. #define READ_MACADDR
  75. #define HW_OOB
  76. #endif /* CONFIG_MACH_SAMSUNG_ESPRESSO && CONFIG_MACH_SAMSUNG_ESPRESSO_10 */
  77. #if defined(CONFIG_MACH_UNIVERSAL5430)
  78. #undef CUSTOM_SET_CPUCORE
  79. #define PRIMARY_CPUCORE 0
  80. #define DPC_CPUCORE 4
  81. #define RXF_CPUCORE 7
  82. #define ARGOS_CPU_SCHEDULER
  83. #elif defined(CONFIG_MACH_HL3G) || defined(CONFIG_MACH_HLLTE) || \
  84. defined(CONFIG_MACH_M2LTE) || \
  85. defined(CONFIG_MACH_UNIVERSAL5422)
  86. #define CUSTOM_SET_CPUCORE
  87. #define PRIMARY_CPUCORE 0
  88. #define MAX_RETRY_SET_CPUCORE 5
  89. #define DPC_CPUCORE 4
  90. #define RXF_CPUCORE 5
  91. #endif /* CONFIG_MACH_HL3G || CONFIG_MACH_HLLTE */
  92. /* Q1 also uses this feature */
  93. #if defined(CONFIG_MACH_U1) || defined(CONFIG_MACH_TRATS)
  94. #ifdef CONFIG_MACH_Q1_BD
  95. #define HW_OOB
  96. #endif /* CONFIG_MACH_Q1_BD */
  97. #define USE_CID_CHECK
  98. #define WRITE_MACADDR
  99. #endif /* CONFIG_MACH_U1 || CONFIG_MACH_TRATS */
  100. #ifdef CONFIG_ARCH_MSM7X30
  101. #define HW_OOB
  102. #define READ_MACADDR
  103. #endif /* CONFIG_ARCH_MSM7X30 */
  104. #if defined(CONFIG_MACH_GC1) || defined(CONFIG_MACH_U1_NA_SPR) || \
  105. defined(CONFIG_MACH_VIENNAEUR) || defined(CONFIG_V1A) || defined(CONFIG_MACH_LT03EUR) || \
  106. defined(CONFIG_MACH_LT03SKT) || defined(CONFIG_MACH_LT03KTT) || defined(CONFIG_MACH_LT03LGT) || \
  107. defined(CONFIG_N1A) || defined(CONFIG_N2A) || defined(CONFIG_V2A) || defined(CONFIG_CHAGALL)
  108. #undef USE_CID_CHECK
  109. #define READ_MACADDR
  110. #endif /* CONFIG_MACH_GC1 || CONFIG_MACH_U1_NA_SPR || CONFIG_MACH_VIENNAEUR || CONFIG_V1A ||
  111. * CONFIG_MACH_LT03EUR || CONFIG_MACH_LT03SKT || CONFIG_MACH_LT03KTT || CONFIG_MACH_LT03LGT ||
  112. * CONFIG_N1A_3G || CONFIG_N1A_WIFI ||
  113. */
  114. #ifdef CONFIG_MACH_P10
  115. #define READ_MACADDR
  116. #endif /* CONFIG_MACH_P10 */
  117. #ifdef CONFIG_ARCH_MSM8960
  118. #undef WIFI_TURNOFF_DELAY
  119. #define WIFI_TURNOFF_DELAY 200
  120. #endif /* CONFIG_ARCH_MSM8960 */
  121. /* REGION CODE */
  122. #ifndef CONFIG_WLAN_REGION_CODE
  123. #define CONFIG_WLAN_REGION_CODE 100
  124. #endif /* CONFIG_WLAN_REGION_CODE */
  125. #if (CONFIG_WLAN_REGION_CODE >= 100) && (CONFIG_WLAN_REGION_CODE < 200) /* EUR */
  126. #if (CONFIG_WLAN_REGION_CODE == 101) /* EUR ORG */
  127. /* GAN LITE NAT KEEPALIVE FILTER */
  128. #define GAN_LITE_NAT_KEEPALIVE_FILTER
  129. #endif /* CONFIG_WLAN_REGION_CODE == 101 */
  130. #endif /* CONFIG_WLAN_REGION_CODE >= 100 && CONFIG_WLAN_REGION_CODE < 200 */
  131. #if defined(CONFIG_V1A) || defined(CONFIG_V2A) || defined(CONFIG_CHAGALL)
  132. #define SUPPORT_MULTIPLE_CHIPS
  133. #endif /* CONFIG_V1A */
  134. #if (CONFIG_WLAN_REGION_CODE >= 200) && (CONFIG_WLAN_REGION_CODE < 300) /* KOR */
  135. #undef USE_INITIAL_2G_SCAN
  136. #ifndef ROAM_ENABLE
  137. #define ROAM_ENABLE
  138. #endif /* ROAM_ENABLE */
  139. #ifndef ROAM_API
  140. #define ROAM_API
  141. #endif /* ROAM_API */
  142. #ifndef ROAM_CHANNEL_CACHE
  143. #define ROAM_CHANNEL_CACHE
  144. #endif /* ROAM_CHANNEL_CACHE */
  145. #ifndef OKC_SUPPORT
  146. #define OKC_SUPPORT
  147. #endif /* OKC_SUPPORT */
  148. #ifndef ROAM_AP_ENV_DETECTION
  149. #define ROAM_AP_ENV_DETECTION
  150. #endif /* ROAM_AP_ENV_DETECTION */
  151. #undef WRITE_MACADDR
  152. #ifndef READ_MACADDR
  153. #define READ_MACADDR
  154. #else
  155. #define RDWR_MACADDR
  156. #endif /* CONFIG_BCM4334 */
  157. #if (CONFIG_WLAN_REGION_CODE == 201) /* SKT */
  158. #ifdef CONFIG_MACH_UNIVERSAL5410
  159. /* Make CPU core clock 300MHz & assign dpc thread workqueue to CPU1 */
  160. #define FIX_CPU_MIN_CLOCK
  161. #endif /* CONFIG_MACH_UNIVERSAL5410 */
  162. #endif /* CONFIG_WLAN_REGION_CODE == 201 */
  163. #if (CONFIG_WLAN_REGION_CODE == 202) /* KTT */
  164. #define VLAN_MODE_OFF
  165. #define CUSTOM_KEEP_ALIVE_SETTING 30000
  166. #define FULL_ROAMING_SCAN_PERIOD_60_SEC
  167. #ifdef CONFIG_MACH_UNIVERSAL5410
  168. /* Make CPU core clock 300MHz & assign dpc thread workqueue to CPU1 */
  169. #define FIX_CPU_MIN_CLOCK
  170. #endif /* CONFIG_MACH_UNIVERSAL5410 */
  171. #endif /* CONFIG_WLAN_REGION_CODE == 202 */
  172. #if (CONFIG_WLAN_REGION_CODE == 203) /* LGT */
  173. #ifdef CONFIG_MACH_UNIVERSAL5410
  174. /* Make CPU core clock 300MHz & assign dpc thread workqueue to CPU1 */
  175. #define FIX_CPU_MIN_CLOCK
  176. #define FIX_BUS_MIN_CLOCK
  177. #endif /* CONFIG_MACH_UNIVERSAL5410 */
  178. #endif /* CONFIG_WLAN_REGION_CODE == 203 */
  179. #endif /* CONFIG_WLAN_REGION_CODE >= 200 && CONFIG_WLAN_REGION_CODE < 300 */
  180. #if (CONFIG_WLAN_REGION_CODE >= 300) && (CONFIG_WLAN_REGION_CODE < 400) /* CHN */
  181. #define BCMWAPI_WPI
  182. #define BCMWAPI_WAI
  183. #endif /* CONFIG_WLAN_REGION_CODE >= 300 && CONFIG_WLAN_REGION_CODE < 400 */
  184. #if (CONFIG_WLAN_REGION_CODE >= 400) && (CONFIG_WLAN_REGION_CODE < 500) /* USA */
  185. #if defined(CONFIG_SEC_K_PROJECT) || defined(CONFIG_SEC_KACTIVE_PROJECT) || defined(CONFIG_SEC_KSPORTS_PROJECT)
  186. /* TX Power control when Calling by Samsung */
  187. #define TX_POWER_CONTROL_CALLING
  188. /* TX Power control when Calling by Broadcom */
  189. #undef SARLIMIT_TX_CONTROL_NVRAM
  190. #else
  191. /* TX Power control when Calling by Samsung */
  192. #undef TX_POWER_CONTROL_CALLING
  193. /* TX Power control when Calling by Broadcom */
  194. #define SARLIMIT_TX_CONTROL_NVRAM
  195. #endif
  196. #define TX_CALLING_POWER -1
  197. #if (CONFIG_WLAN_REGION_CODE == 401) /* ATT */
  198. #undef TX_CALLING_POWER
  199. #define TX_CALLING_POWER 9
  200. #endif /* CONFIG_WLAN_REGION_CODE == 401 */
  201. #if (CONFIG_WLAN_REGION_CODE == 402) /* TMO */
  202. #undef CUSTOM_SUSPEND_BCN_LI_DTIM
  203. #define CUSTOM_SUSPEND_BCN_LI_DTIM 3
  204. #undef TX_CALLING_POWER
  205. #define TX_CALLING_POWER 9
  206. #endif /* CONFIG_WLAN_REGION_CODE == 402 */
  207. #if (CONFIG_WLAN_REGION_CODE == 403) /* VZW */
  208. #undef TX_CALLING_POWER
  209. #define TX_CALLING_POWER 7
  210. #endif /* CONFIG_WLAN_REGION_CODE == 403 */
  211. #if (CONFIG_WLAN_REGION_CODE == 404) /* SPR */
  212. #undef TX_CALLING_POWER
  213. #define TX_CALLING_POWER 7
  214. #endif /* CONFIG_WLAN_REGION_CODE == 404 */
  215. #if (CONFIG_WLAN_REGION_CODE == 405) /* USC */
  216. #undef TX_CALLING_POWER
  217. #define TX_CALLING_POWER 7
  218. #endif /* CONFIG_WLAN_REGION_CODE == 405 */
  219. #if (CONFIG_WLAN_REGION_CODE == 406) /* CAN */
  220. #undef TX_CALLING_POWER
  221. #define TX_CALLING_POWER 9
  222. #endif /* CONFIG_WLAN_REGION_CODE == 406 */
  223. #if (CONFIG_WLAN_REGION_CODE == 407) /* MPCS */
  224. #undef TX_CALLING_POWER
  225. #define TX_CALLING_POWER 9
  226. #endif /* CONFIG_WLAN_REGION_CODE == 407 */
  227. #if (CONFIG_WLAN_REGION_CODE == 408) /* ACG */
  228. #undef TX_CALLING_POWER
  229. #define TX_CALLING_POWER 7
  230. #endif /* CONFIG_WLAN_REGION_CODE == 408 */
  231. #if (CONFIG_WLAN_REGION_CODE == 409) /* LRA */
  232. #undef TX_CALLING_POWER
  233. #define TX_CALLING_POWER 7
  234. #endif /* CONFIG_WLAN_REGION_CODE == 409 */
  235. #endif /* CONFIG_WLAN_REGION_CODE >= 400 && CONFIG_WLAN_REGION_CODE < 500 */
  236. /* REGION CODE END */
  237. #if !defined(READ_MACADDR) && !defined(WRITE_MACADDR) && !defined(RDWR_KORICS_MACADDR) \
  238. && !defined(RDWR_MACADDR)
  239. #define GET_MAC_FROM_OTP
  240. #define SHOW_NVRAM_TYPE
  241. #endif /* !READ_MACADDR && !WRITE_MACADDR && !RDWR_KORICS_MACADDR && !RDWR_MACADDR */
  242. #define WRITE_WLANINFO
  243. #ifdef CONFIG_MACH_KLTE_DCM
  244. #define CUSTOMER_BCN_TIMEOUT
  245. #define CUSTOMER_BCN_TIMEOUT_VALUE 4 // change value
  246. #else
  247. #define CUSTOMER_BCN_TIMEOUT_VALUE 8 // change value
  248. #endif
  249. #endif /* _dhd_sec_feature_h_ */