xref: /OK3568_Linux_fs/external/rkwifibt/drivers/rtl8723ds/include/autoconf.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /******************************************************************************
2*4882a593Smuzhiyun  *
3*4882a593Smuzhiyun  * Copyright(c) 2007 - 2017 Realtek Corporation.
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * This program is free software; you can redistribute it and/or modify it
6*4882a593Smuzhiyun  * under the terms of version 2 of the GNU General Public License as
7*4882a593Smuzhiyun  * published by the Free Software Foundation.
8*4882a593Smuzhiyun  *
9*4882a593Smuzhiyun  * This program is distributed in the hope that it will be useful, but WITHOUT
10*4882a593Smuzhiyun  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11*4882a593Smuzhiyun  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12*4882a593Smuzhiyun  * more details.
13*4882a593Smuzhiyun  *
14*4882a593Smuzhiyun  *****************************************************************************/
15*4882a593Smuzhiyun /*
16*4882a593Smuzhiyun  * Public General Config
17*4882a593Smuzhiyun  */
18*4882a593Smuzhiyun #define AUTOCONF_INCLUDED
19*4882a593Smuzhiyun 
20*4882a593Smuzhiyun #define RTL871X_MODULE_NAME "8723DS"
21*4882a593Smuzhiyun #define DRV_NAME "rtl8723ds"
22*4882a593Smuzhiyun 
23*4882a593Smuzhiyun #ifndef CONFIG_RTL8723D
24*4882a593Smuzhiyun #define CONFIG_RTL8723D
25*4882a593Smuzhiyun #endif
26*4882a593Smuzhiyun #define CONFIG_SDIO_HCI
27*4882a593Smuzhiyun 
28*4882a593Smuzhiyun #define PLATFORM_LINUX
29*4882a593Smuzhiyun 
30*4882a593Smuzhiyun 
31*4882a593Smuzhiyun /*
32*4882a593Smuzhiyun  * Wi-Fi Functions Config
33*4882a593Smuzhiyun  */
34*4882a593Smuzhiyun #define CONFIG_80211N_HT
35*4882a593Smuzhiyun #define CONFIG_RECV_REORDERING_CTRL
36*4882a593Smuzhiyun 
37*4882a593Smuzhiyun /* #define CONFIG_IOCTL_CFG80211 */		/* Set from Makefile */
38*4882a593Smuzhiyun #ifdef CONFIG_IOCTL_CFG80211
39*4882a593Smuzhiyun 	/*
40*4882a593Smuzhiyun 	 * Indecate new sta asoc through cfg80211_new_sta
41*4882a593Smuzhiyun 	 * If kernel version >= 3.2 or
42*4882a593Smuzhiyun 	 * version < 3.2 but already apply cfg80211 patch,
43*4882a593Smuzhiyun 	 * RTW_USE_CFG80211_STA_EVENT must be defiend!
44*4882a593Smuzhiyun 	 */
45*4882a593Smuzhiyun 	/* #define RTW_USE_CFG80211_STA_EVENT */ /* Indecate new sta asoc through cfg80211_new_sta */
46*4882a593Smuzhiyun 	#ifndef CONFIG_PLATFORM_INTEL_BYT
47*4882a593Smuzhiyun 	#define CONFIG_CFG80211_FORCE_COMPATIBLE_2_6_37_UNDER
48*4882a593Smuzhiyun 	#endif /* !CONFIG_PLATFORM_INTEL_BYT */
49*4882a593Smuzhiyun 	/* #define CONFIG_DEBUG_CFG80211 */
50*4882a593Smuzhiyun 	#define CONFIG_SET_SCAN_DENY_TIMER
51*4882a593Smuzhiyun #endif
52*4882a593Smuzhiyun 
53*4882a593Smuzhiyun #ifdef CONFIG_AP_MODE
54*4882a593Smuzhiyun 	#define CONFIG_NATIVEAP_MLME
55*4882a593Smuzhiyun 	#ifndef CONFIG_NATIVEAP_MLME
56*4882a593Smuzhiyun 		#define CONFIG_HOSTAPD_MLME
57*4882a593Smuzhiyun 	#endif
58*4882a593Smuzhiyun 	/* #define CONFIG_FIND_BEST_CHANNEL */
59*4882a593Smuzhiyun #endif
60*4882a593Smuzhiyun 
61*4882a593Smuzhiyun #ifdef CONFIG_P2P
62*4882a593Smuzhiyun 	/* Added by Albert 20110812
63*4882a593Smuzhiyun 	The CONFIG_WFD is for supporting the Wi-Fi display */
64*4882a593Smuzhiyun 	#define CONFIG_WFD
65*4882a593Smuzhiyun 
66*4882a593Smuzhiyun 	#define CONFIG_P2P_REMOVE_GROUP_INFO
67*4882a593Smuzhiyun 
68*4882a593Smuzhiyun 	/* #define CONFIG_DBG_P2P */
69*4882a593Smuzhiyun 	#define CONFIG_P2P_PS
70*4882a593Smuzhiyun 	#define CONFIG_P2P_OP_CHK_SOCIAL_CH
71*4882a593Smuzhiyun 	#define CONFIG_CFG80211_ONECHANNEL_UNDER_CONCURRENT  /* replace CONFIG_P2P_CHK_INVITE_CH_LIST flag */
72*4882a593Smuzhiyun 	/*#define CONFIG_P2P_INVITE_IOT*/
73*4882a593Smuzhiyun #endif
74*4882a593Smuzhiyun 
75*4882a593Smuzhiyun /* Added by Kurt 20110511 */
76*4882a593Smuzhiyun #ifdef CONFIG_TDLS
77*4882a593Smuzhiyun 	#define CONFIG_TDLS_DRIVER_SETUP
78*4882a593Smuzhiyun 	/* #ifndef CONFIG_WFD
79*4882a593Smuzhiyun 		#define CONFIG_WFD
80*4882a593Smuzhiyun 	#endif */
81*4882a593Smuzhiyun 	/* #define CONFIG_TDLS_AUTOSETUP */
82*4882a593Smuzhiyun 	#define CONFIG_TDLS_AUTOCHECKALIVE
83*4882a593Smuzhiyun 	#define CONFIG_TDLS_CH_SW		/* Enable "CONFIG_TDLS_CH_SW" by default, however limit it to only work in wifi logo test mode but not in normal mode currently */
84*4882a593Smuzhiyun #endif
85*4882a593Smuzhiyun 
86*4882a593Smuzhiyun /* #define CONFIG_CONCURRENT_MODE */	/* Set from Makefile */
87*4882a593Smuzhiyun #ifdef CONFIG_CONCURRENT_MODE
88*4882a593Smuzhiyun 	#define CONFIG_RUNTIME_PORT_SWITCH
89*4882a593Smuzhiyun 	#ifndef CONFIG_RUNTIME_PORT_SWITCH
90*4882a593Smuzhiyun 		#define CONFIG_TSF_RESET_OFFLOAD			/* For 2 PORT TSF SYNC. */
91*4882a593Smuzhiyun 	#endif
92*4882a593Smuzhiyun 	/* #define DBG_RUNTIME_PORT_SWITCH */
93*4882a593Smuzhiyun #endif /* CONFIG_CONCURRENT_MODE */
94*4882a593Smuzhiyun 
95*4882a593Smuzhiyun /*
96*4882a593Smuzhiyun  * Hareware/Firmware Related Config
97*4882a593Smuzhiyun  */
98*4882a593Smuzhiyun /* #define CONFIG_BT_COEXIST */	/* Set from Makefile */
99*4882a593Smuzhiyun /* #define CONFIG_ANTENNA_DIVERSITY */
100*4882a593Smuzhiyun /* #define SUPPORT_HW_RFOFF_DETECTED */
101*4882a593Smuzhiyun 
102*4882a593Smuzhiyun /*#define CONFIG_RTW_LED*/
103*4882a593Smuzhiyun #ifdef CONFIG_RTW_LED
104*4882a593Smuzhiyun 	/*#define CONFIG_RTW_SW_LED*/
105*4882a593Smuzhiyun #endif /* CONFIG_RTW_LED */
106*4882a593Smuzhiyun 
107*4882a593Smuzhiyun #define CONFIG_XMIT_ACK
108*4882a593Smuzhiyun #ifdef CONFIG_XMIT_ACK
109*4882a593Smuzhiyun 	#define CONFIG_ACTIVE_KEEP_ALIVE_CHECK
110*4882a593Smuzhiyun #endif
111*4882a593Smuzhiyun 
112*4882a593Smuzhiyun #define CONFIG_RF_POWER_TRIM
113*4882a593Smuzhiyun 
114*4882a593Smuzhiyun #define DISABLE_BB_RF	0
115*4882a593Smuzhiyun 
116*4882a593Smuzhiyun #define RTW_NOTCH_FILTER 0 /* 0:Disable, 1:Enable, */
117*4882a593Smuzhiyun 
118*4882a593Smuzhiyun 
119*4882a593Smuzhiyun /*
120*4882a593Smuzhiyun  * Interface Related Config
121*4882a593Smuzhiyun  */
122*4882a593Smuzhiyun #define CONFIG_TX_AGGREGATION
123*4882a593Smuzhiyun #define CONFIG_SDIO_RX_COPY
124*4882a593Smuzhiyun #define CONFIG_XMIT_THREAD_MODE
125*4882a593Smuzhiyun /* #define RTW_XMIT_THREAD_HIGH_PRIORITY */
126*4882a593Smuzhiyun /* #define RTW_XMIT_THREAD_HIGH_PRIORITY_AGG */
127*4882a593Smuzhiyun /* #define CONFIG_SDIO_TX_ENABLE_AVAL_INT */
128*4882a593Smuzhiyun /* #define SDIO_FREE_XMIT_BUF_SEMA */
129*4882a593Smuzhiyun #define CONFIG_RECV_THREAD_MODE
130*4882a593Smuzhiyun #ifdef CONFIG_RECV_THREAD_MODE
131*4882a593Smuzhiyun #define RTW_RECV_THREAD_HIGH_PRIORITY
132*4882a593Smuzhiyun #endif/*CONFIG_RECV_THREAD_MODE*/
133*4882a593Smuzhiyun 
134*4882a593Smuzhiyun /*
135*4882a593Smuzhiyun  * Others
136*4882a593Smuzhiyun  */
137*4882a593Smuzhiyun /* #define CONFIG_MAC_LOOPBACK_DRIVER */
138*4882a593Smuzhiyun 
139*4882a593Smuzhiyun #define CONFIG_SKB_COPY	/* for amsdu */
140*4882a593Smuzhiyun 
141*4882a593Smuzhiyun #define CONFIG_NEW_SIGNAL_STAT_PROCESS
142*4882a593Smuzhiyun 
143*4882a593Smuzhiyun #define CONFIG_EMBEDDED_FWIMG
144*4882a593Smuzhiyun 
145*4882a593Smuzhiyun #ifdef CONFIG_EMBEDDED_FWIMG
146*4882a593Smuzhiyun 	#define	LOAD_FW_HEADER_FROM_DRIVER
147*4882a593Smuzhiyun #endif
148*4882a593Smuzhiyun /* #define CONFIG_FILE_FWIMG */
149*4882a593Smuzhiyun /* download fw via tx packet or trafitional I/O*/
150*4882a593Smuzhiyun /* #define CONFIG_DLFW_TXPKT */
151*4882a593Smuzhiyun 
152*4882a593Smuzhiyun #define CONFIG_LONG_DELAY_ISSUE
153*4882a593Smuzhiyun /* #define CONFIG_PATCH_JOIN_WRONG_CHANNEL */
154*4882a593Smuzhiyun 
155*4882a593Smuzhiyun #define CONFIG_RX_PACKET_APPEND_FCS
156*4882a593Smuzhiyun 
157*4882a593Smuzhiyun 
158*4882a593Smuzhiyun /*
159*4882a593Smuzhiyun  * Auto Config Section
160*4882a593Smuzhiyun  */
161*4882a593Smuzhiyun #ifdef CONFIG_MAC_LOOPBACK_DRIVER
162*4882a593Smuzhiyun #undef CONFIG_IOCTL_CFG80211
163*4882a593Smuzhiyun #undef CONFIG_AP_MODE
164*4882a593Smuzhiyun #undef CONFIG_NATIVEAP_MLME
165*4882a593Smuzhiyun #undef CONFIG_POWER_SAVING
166*4882a593Smuzhiyun #undef CONFIG_BT_COEXIST
167*4882a593Smuzhiyun #undef CONFIG_ANTENNA_DIVERSITY
168*4882a593Smuzhiyun #undef SUPPORT_HW_RFOFF_DETECTED
169*4882a593Smuzhiyun #endif
170*4882a593Smuzhiyun 
171*4882a593Smuzhiyun #ifdef CONFIG_MP_INCLUDED
172*4882a593Smuzhiyun 	#define MP_DRIVER	1
173*4882a593Smuzhiyun 	#define CONFIG_MP_IWPRIV_SUPPORT
174*4882a593Smuzhiyun 	/* disable unnecessary functions for MP */
175*4882a593Smuzhiyun 	/* #undef CONFIG_POWER_SAVING
176*4882a593Smuzhiyun 	#undef CONFIG_BT_COEXIST
177*4882a593Smuzhiyun 	#undef CONFIG_ANTENNA_DIVERSITY
178*4882a593Smuzhiyun 	#undef SUPPORT_HW_RFOFF_DETECTED */
179*4882a593Smuzhiyun #else /* !CONFIG_MP_INCLUDED */
180*4882a593Smuzhiyun 	#define MP_DRIVER	0
181*4882a593Smuzhiyun 	#undef CONFIG_MP_IWPRIV_SUPPORT
182*4882a593Smuzhiyun #endif /* !CONFIG_MP_INCLUDED */
183*4882a593Smuzhiyun 
184*4882a593Smuzhiyun #ifdef CONFIG_POWER_SAVING
185*4882a593Smuzhiyun 	#define CONFIG_IPS
186*4882a593Smuzhiyun 	#define CONFIG_LPS
187*4882a593Smuzhiyun 
188*4882a593Smuzhiyun 	#if defined(CONFIG_LPS) && (defined(CONFIG_GSPI_HCI) || defined(CONFIG_SDIO_HCI))
189*4882a593Smuzhiyun 	#define CONFIG_LPS_LCLK
190*4882a593Smuzhiyun 	#endif
191*4882a593Smuzhiyun 
192*4882a593Smuzhiyun 	#ifdef CONFIG_LPS
193*4882a593Smuzhiyun 		#define CONFIG_CHECK_LEAVE_LPS
194*4882a593Smuzhiyun 		#ifndef CONFIG_PLATFORM_INTEL_BYT
195*4882a593Smuzhiyun 		#define CONFIG_LPS_SLOW_TRANSITION
196*4882a593Smuzhiyun 		#endif /* !CONFIG_PLATFORM_INTEL_BYT */
197*4882a593Smuzhiyun 	#endif
198*4882a593Smuzhiyun 
199*4882a593Smuzhiyun 	#ifdef CONFIG_LPS_LCLK
200*4882a593Smuzhiyun 	#define CONFIG_DETECT_CPWM_BY_POLLING
201*4882a593Smuzhiyun 	#define CONFIG_LPS_RPWM_TIMER
202*4882a593Smuzhiyun 	#if defined(CONFIG_LPS_RPWM_TIMER) || defined(CONFIG_DETECT_CPWM_BY_POLLING)
203*4882a593Smuzhiyun 	#define LPS_RPWM_WAIT_MS 300
204*4882a593Smuzhiyun 	#endif
205*4882a593Smuzhiyun 	#define CONFIG_LPS_LCLK_WD_TIMER /* Watch Dog timer in LPS LCLK */
206*4882a593Smuzhiyun 	#endif
207*4882a593Smuzhiyun 
208*4882a593Smuzhiyun 	#ifdef CONFIG_IPS
209*4882a593Smuzhiyun 	#define CONFIG_IPS_CHECK_IN_WD /* Do IPS Check in WatchDog. */
210*4882a593Smuzhiyun 	/* #define CONFIG_SWLPS_IN_IPS */ /* Do SW LPS flow when entering and leaving IPS */
211*4882a593Smuzhiyun 	/* #define CONFIG_FWLPS_IN_IPS */ /* issue H2C command to let FW do LPS when entering IPS */
212*4882a593Smuzhiyun 	#endif
213*4882a593Smuzhiyun #endif /* CONFIG_POWER_SAVING */
214*4882a593Smuzhiyun 
215*4882a593Smuzhiyun #ifdef CONFIG_BT_COEXIST
216*4882a593Smuzhiyun 	/* for ODM and outsrc BT-Coex */
217*4882a593Smuzhiyun 	#ifndef CONFIG_LPS
218*4882a593Smuzhiyun 		#define CONFIG_LPS	/* download reserved page to FW */
219*4882a593Smuzhiyun 	#endif
220*4882a593Smuzhiyun #endif /* !CONFIG_BT_COEXIST */
221*4882a593Smuzhiyun 
222*4882a593Smuzhiyun #ifdef CONFIG_WOWLAN
223*4882a593Smuzhiyun 	#define CONFIG_GTK_OL
224*4882a593Smuzhiyun 	/* #define CONFIG_ARP_KEEP_ALIVE */
225*4882a593Smuzhiyun #endif /* CONFIG_WOWLAN */
226*4882a593Smuzhiyun 
227*4882a593Smuzhiyun #ifdef CONFIG_GPIO_WAKEUP
228*4882a593Smuzhiyun 	#ifndef WAKEUP_GPIO_IDX
229*4882a593Smuzhiyun 		#define WAKEUP_GPIO_IDX	6	/* WIFI Chip Side */
230*4882a593Smuzhiyun 	#endif /* !WAKEUP_GPIO_IDX */
231*4882a593Smuzhiyun #endif /* CONFIG_GPIO_WAKEUP */
232*4882a593Smuzhiyun 
233*4882a593Smuzhiyun #ifdef CONFIG_ANTENNA_DIVERSITY
234*4882a593Smuzhiyun #define CONFIG_HW_ANTENNA_DIVERSITY
235*4882a593Smuzhiyun #endif
236*4882a593Smuzhiyun 
237*4882a593Smuzhiyun #define CONFIG_RTW_ADAPTIVITY_TH_L2H_INI 0xf3
238*4882a593Smuzhiyun 
239*4882a593Smuzhiyun #ifdef CONFIG_RTW_NAPI
240*4882a593Smuzhiyun /*#define CONFIG_RTW_NAPI_DYNAMIC*/
241*4882a593Smuzhiyun #define CONFIG_RTW_NAPI_V2
242*4882a593Smuzhiyun #endif
243*4882a593Smuzhiyun 
244*4882a593Smuzhiyun /*
245*4882a593Smuzhiyun  * Platform dependent
246*4882a593Smuzhiyun  */
247*4882a593Smuzhiyun #ifdef CONFIG_PLATFORM_SPRD
248*4882a593Smuzhiyun 
249*4882a593Smuzhiyun #undef CONFIG_SDIO_RX_COPY
250*4882a593Smuzhiyun 
251*4882a593Smuzhiyun #ifdef ANDROID_2X
252*4882a593Smuzhiyun 
253*4882a593Smuzhiyun #define CONFIG_SDIO_RX_COPY
254*4882a593Smuzhiyun 
255*4882a593Smuzhiyun #else /*  !ANDROID_2X */
256*4882a593Smuzhiyun 	#undef CONFIG_WOWLAN
257*4882a593Smuzhiyun 	#undef CONFIG_WOWLAN_8723
258*4882a593Smuzhiyun 	/* #define CONFIG_SDIO_RX_COPY */
259*4882a593Smuzhiyun 	/* #define CONFIG_LINKED_LCOK */
260*4882a593Smuzhiyun 	#define CONFIG_AUTH_DIRECT_WITHOUT_BCN
261*4882a593Smuzhiyun 	/* #define CONFIG_DISCONNECT_H2CWAY */
262*4882a593Smuzhiyun 	/* #define CONFIG_DONT_CARE_TP */
263*4882a593Smuzhiyun 	#define CONFIG_LOW_PWR_LPS
264*4882a593Smuzhiyun 	/* #define CONFIG_CMCC_TEST */
265*4882a593Smuzhiyun 
266*4882a593Smuzhiyun 	/* 1) LPS unit is only 102 ms, it's not
267*4882a593Smuzhiyun 	a good idear to retry it use timer,
268*4882a593Smuzhiyun 	2) we must wait ACK, or lots of IO
269*4882a593Smuzhiyun 	is not allowed under 32k, because
270*4882a593Smuzhiyun 	this will cause hw hang */
271*4882a593Smuzhiyun 	#undef CONFIG_LPS_RPWM_TIMER
272*4882a593Smuzhiyun 	#define CONFIG_WAIT_PS_ACK
273*4882a593Smuzhiyun 	#define CONFIG_SOFTAP_11N
274*4882a593Smuzhiyun 	#define CONFIG_CHECK_BT_HANG
275*4882a593Smuzhiyun 
276*4882a593Smuzhiyun 	/* #define CONFIG_8703BS_TEST */
277*4882a593Smuzhiyun #endif /* !ANDROID_2X */
278*4882a593Smuzhiyun 
279*4882a593Smuzhiyun #endif /* CONFIG_PLATFORM_SPRD */
280*4882a593Smuzhiyun 
281*4882a593Smuzhiyun 
282*4882a593Smuzhiyun /*
283*4882a593Smuzhiyun  * Debug Related Config
284*4882a593Smuzhiyun  */
285*4882a593Smuzhiyun #define CONFIG_DEBUG
286*4882a593Smuzhiyun 
287*4882a593Smuzhiyun #ifdef CONFIG_DEBUG
288*4882a593Smuzhiyun #define DBG	1	/* for ODM & BTCOEX debug */
289*4882a593Smuzhiyun #else /* !CONFIG_DEBUG */
290*4882a593Smuzhiyun #define DBG	0	/* for ODM & BTCOEX debug */
291*4882a593Smuzhiyun #endif /* !CONFIG_DEBUG */
292*4882a593Smuzhiyun 
293*4882a593Smuzhiyun #define DBG_CONFIG_ERROR_DETECT
294*4882a593Smuzhiyun /* #define DBG_XMIT_BUF */
295*4882a593Smuzhiyun /* #define DBG_XMIT_BUF_EXT */
296*4882a593Smuzhiyun #define DBG_CHECK_FW_PS_STATE
297*4882a593Smuzhiyun /* #define DBG_CHECK_FW_PS_STATE_H2C */
298*4882a593Smuzhiyun /* #define CONFIG_FW_C2H_DEBUG */
299