2 * Customer HW 4 dependant file
4 * Copyright (C) 1999-2015, Broadcom Corporation
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:
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.
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.
24 * $Id: dhd_sec_feature.h$
31 * If your model's WIFI HW chip is COB type, you must add below feature
32 * - #undef USE_CID_CHECK
33 * - #define READ_MACADDR
34 * Because COB type chip have not CID and Mac address.
35 * So, you must add below feature to defconfig file.
36 * - CONFIG_WIFI_BROADCOM_COB
39 * If you want add some feature only own Project, you can add it in 'PROJECTS' part.
42 * If you want add some feature only own region model, you can use below code.
56 * You can refer how to using it below this file.
57 * And, you can add more region code, too.
60 #ifndef _dhd_sec_feature_h_
61 #define _dhd_sec_feature_h_
65 /* For COB type feature */
66 #ifdef CONFIG_WIFI_BROADCOM_COB
69 #endif /* CONFIG_WIFI_BROADCOM_COB */
71 #if (LINUX_VERSION_CODE >= KERNEL_VERSION(3, 4, 0)) && (defined(CONFIG_BCM4334) || \
72 defined(CONFIG_BCM4334_MODULE))
73 #define RXFRAME_THREAD
74 #endif /* (LINUX_VERSION >= VERSION(3, 4, 0)) && ( CONFIG_BCM4334 || CONFIG_BCM4334_MODULE) */
78 #if defined(CONFIG_MACH_SAMSUNG_ESPRESSO) || defined(CONFIG_MACH_SAMSUNG_ESPRESSO_10)
81 #endif /* CONFIG_MACH_SAMSUNG_ESPRESSO && CONFIG_MACH_SAMSUNG_ESPRESSO_10 */
83 #if defined(CONFIG_MACH_UNIVERSAL5430)
84 #undef CUSTOM_SET_CPUCORE
85 #define PRIMARY_CPUCORE 0
88 #define ARGOS_CPU_SCHEDULER
89 #elif defined(CONFIG_MACH_HL3G) || defined(CONFIG_MACH_HLLTE) || \
90 defined(CONFIG_MACH_M2LTE) || \
91 defined(CONFIG_MACH_UNIVERSAL5422)
92 #define CUSTOM_SET_CPUCORE
93 #define PRIMARY_CPUCORE 0
94 #define MAX_RETRY_SET_CPUCORE 5
97 #endif /* CONFIG_MACH_HL3G || CONFIG_MACH_HLLTE */
99 /* Q1 also uses this feature */
100 #if defined(CONFIG_MACH_U1) || defined(CONFIG_MACH_TRATS)
101 #ifdef CONFIG_MACH_Q1_BD
103 #endif /* CONFIG_MACH_Q1_BD */
104 #define USE_CID_CHECK
105 #define WRITE_MACADDR
106 #endif /* CONFIG_MACH_U1 || CONFIG_MACH_TRATS */
108 #ifdef CONFIG_ARCH_MSM7X30
111 #endif /* CONFIG_ARCH_MSM7X30 */
113 #if defined(CONFIG_MACH_GC1) || defined(CONFIG_MACH_U1_NA_SPR) || \
114 defined(CONFIG_MACH_VIENNAEUR) || defined(CONFIG_MACH_LT03EUR) || \
115 defined(CONFIG_MACH_LT03SKT) || defined(CONFIG_MACH_LT03KTT) || \
116 defined(CONFIG_MACH_LT03LGT) || defined(CONFIG_V1A) || defined(CONFIG_N1A) || \
117 defined(CONFIG_N2A) || defined(CONFIG_V2A) || defined(CONFIG_MACH_VIENNAEUR)
120 #endif /* CONFIG_MACH_GC1 || CONFIG_MACH_U1_NA_SPR || CONFIG_MACH_VIENNAEUR ||
121 * CONFIG_MACH_LT03EUR || CONFIG_MACH_LT03SKT || CONFIG_MACH_LT03KTT ||
122 * CONFIG_MACH_LT03LGT || CONFIG_V1A ||
123 * CONFIG_N1A || CONFIG_N2A || CONFIG_V2A ||
124 * CONFIG_MACH_VIENNAEUR
127 #ifdef CONFIG_MACH_P10
129 #endif /* CONFIG_MACH_P10 */
131 #ifdef CONFIG_ARCH_MSM8960
132 #undef WIFI_TURNOFF_DELAY
133 #define WIFI_TURNOFF_DELAY 200
134 #endif /* CONFIG_ARCH_MSM8960 */
139 /* REGION CODE START */
141 #ifndef CONFIG_WLAN_REGION_CODE
142 #define CONFIG_WLAN_REGION_CODE 100
143 #endif /* CONFIG_WLAN_REGION_CODE */
145 #if (CONFIG_WLAN_REGION_CODE >= 100) && (CONFIG_WLAN_REGION_CODE < 200) /* EUR */
146 #if (CONFIG_WLAN_REGION_CODE == 101) /* EUR ORG */
147 /* GAN LITE NAT KEEPALIVE FILTER */
148 #define GAN_LITE_NAT_KEEPALIVE_FILTER
149 #endif /* CONFIG_WLAN_REGION_CODE == 101 */
150 #endif /* CONFIG_WLAN_REGION_CODE >= 100 && CONFIG_WLAN_REGION_CODE < 200 */
152 #if defined(CONFIG_V1A) || defined(CONFIG_V2A) || defined(CONFIG_MACH_VIENNAEUR)
153 #define SUPPORT_MULTIPLE_CHIPS
154 #endif /* CONFIG_V1A || CONFIG_V2A || CONFIG_MACH_VIENNAEUR */
156 #if (CONFIG_WLAN_REGION_CODE >= 200) && (CONFIG_WLAN_REGION_CODE < 300) /* KOR */
157 #undef USE_INITIAL_2G_SCAN
160 #endif /* ROAM_ENABLE */
163 #endif /* ROAM_API */
164 #ifndef ROAM_CHANNEL_CACHE
165 #define ROAM_CHANNEL_CACHE
166 #endif /* ROAM_CHANNEL_CACHE */
169 #endif /* OKC_SUPPORT */
171 #ifndef ROAM_AP_ENV_DETECTION
172 #define ROAM_AP_ENV_DETECTION
173 #endif /* ROAM_AP_ENV_DETECTION */
178 #endif /* READ_MACADDR */
180 #if (CONFIG_WLAN_REGION_CODE == 201) /* SKT */
181 #ifdef CONFIG_MACH_UNIVERSAL5410
182 /* Make CPU core clock 300MHz & assign dpc thread workqueue to CPU1 */
183 #define FIX_CPU_MIN_CLOCK
184 #endif /* CONFIG_MACH_UNIVERSAL5410 */
185 #endif /* CONFIG_WLAN_REGION_CODE == 201 */
187 #if (CONFIG_WLAN_REGION_CODE == 202) /* KTT */
188 #define VLAN_MODE_OFF
189 #define CUSTOM_KEEP_ALIVE_SETTING 30000
190 #define FULL_ROAMING_SCAN_PERIOD_60_SEC
192 #ifdef CONFIG_MACH_UNIVERSAL5410
193 /* Make CPU core clock 300MHz & assign dpc thread workqueue to CPU1 */
194 #define FIX_CPU_MIN_CLOCK
195 #endif /* CONFIG_MACH_UNIVERSAL5410 */
196 #endif /* CONFIG_WLAN_REGION_CODE == 202 */
198 #if (CONFIG_WLAN_REGION_CODE == 203) /* LGT */
199 #ifdef CONFIG_MACH_UNIVERSAL5410
200 /* Make CPU core clock 300MHz & assign dpc thread workqueue to CPU1 */
201 #define FIX_CPU_MIN_CLOCK
202 #define FIX_BUS_MIN_CLOCK
203 #endif /* CONFIG_MACH_UNIVERSAL5410 */
204 #endif /* CONFIG_WLAN_REGION_CODE == 203 */
205 #endif /* CONFIG_WLAN_REGION_CODE >= 200 && CONFIG_WLAN_REGION_CODE < 300 */
207 #if (CONFIG_WLAN_REGION_CODE >= 300) && (CONFIG_WLAN_REGION_CODE < 400) /* CHN */
210 #endif /* CONFIG_WLAN_REGION_CODE >= 300 && CONFIG_WLAN_REGION_CODE < 400 */
212 #if (CONFIG_WLAN_REGION_CODE == 402) /* TMO */
213 #undef CUSTOM_SUSPEND_BCN_LI_DTIM
214 #define CUSTOM_SUSPEND_BCN_LI_DTIM 3
215 #endif /* CONFIG_WLAN_REGION_CODE == 402 */
217 /* REGION CODE END */
219 #if !defined(READ_MACADDR) && !defined(WRITE_MACADDR) && !defined(RDWR_KORICS_MACADDR) \
220 && !defined(RDWR_MACADDR)
221 #define GET_MAC_FROM_OTP
222 #define SHOW_NVRAM_TYPE
223 #endif /* !READ_MACADDR && !WRITE_MACADDR && !RDWR_KORICS_MACADDR && !RDWR_MACADDR */
225 #define WRITE_WLANINFO
227 #if defined(CONFIG_MACH_KONA)
228 #define DISABLE_FLOW_CONTROL
229 #endif /* CONFIG_MACH_KONA */
230 #endif /* _dhd_sec_feature_h_ */