xref: /OK3568_Linux_fs/external/rkwifibt/drivers/rtl8822cs/include/autoconf.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /******************************************************************************
2*4882a593Smuzhiyun  *
3*4882a593Smuzhiyun  * Copyright(c) 2015 - 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 "88x2CS"
21*4882a593Smuzhiyun #define DRV_NAME "rtl88x2cs"
22*4882a593Smuzhiyun 
23*4882a593Smuzhiyun /* Set CONFIG_RTL8822C from Makefile */
24*4882a593Smuzhiyun #ifndef CONFIG_RTL8822C
25*4882a593Smuzhiyun #define CONFIG_RTL8822C
26*4882a593Smuzhiyun #endif
27*4882a593Smuzhiyun #define CONFIG_SDIO_HCI
28*4882a593Smuzhiyun #define PLATFORM_LINUX
29*4882a593Smuzhiyun 
30*4882a593Smuzhiyun 
31*4882a593Smuzhiyun /*
32*4882a593Smuzhiyun  * Wi-Fi Functions Config
33*4882a593Smuzhiyun  */
34*4882a593Smuzhiyun 
35*4882a593Smuzhiyun #define CONFIG_RECV_REORDERING_CTRL
36*4882a593Smuzhiyun 
37*4882a593Smuzhiyun #define CONFIG_80211N_HT
38*4882a593Smuzhiyun #define CONFIG_80211AC_VHT
39*4882a593Smuzhiyun #ifdef CONFIG_80211AC_VHT
40*4882a593Smuzhiyun 	#ifndef CONFIG_80211N_HT
41*4882a593Smuzhiyun 		#define CONFIG_80211N_HT
42*4882a593Smuzhiyun 	#endif
43*4882a593Smuzhiyun #endif
44*4882a593Smuzhiyun 
45*4882a593Smuzhiyun /* Set CONFIG_IOCTL_CFG80211 from Makefile */
46*4882a593Smuzhiyun #ifdef CONFIG_IOCTL_CFG80211
47*4882a593Smuzhiyun 	/*
48*4882a593Smuzhiyun 	 * Indecate new sta asoc through cfg80211_new_sta
49*4882a593Smuzhiyun 	 * If kernel version >= 3.2 or
50*4882a593Smuzhiyun 	 * version < 3.2 but already apply cfg80211 patch,
51*4882a593Smuzhiyun 	 * RTW_USE_CFG80211_STA_EVENT must be defiend!
52*4882a593Smuzhiyun 	 */
53*4882a593Smuzhiyun 	/* Set RTW_USE_CFG80211_STA_EVENT from Makefile */
54*4882a593Smuzhiyun 	#define CONFIG_CFG80211_FORCE_COMPATIBLE_2_6_37_UNDER
55*4882a593Smuzhiyun 	/*#define CONFIG_DEBUG_CFG80211*/
56*4882a593Smuzhiyun 	#define CONFIG_SET_SCAN_DENY_TIMER
57*4882a593Smuzhiyun #endif /* CONFIG_IOCTL_CFG80211 */
58*4882a593Smuzhiyun 
59*4882a593Smuzhiyun #ifdef CONFIG_AP_MODE
60*4882a593Smuzhiyun 	#define CONFIG_NATIVEAP_MLME
61*4882a593Smuzhiyun 	#ifndef CONFIG_NATIVEAP_MLME
62*4882a593Smuzhiyun 		#define CONFIG_HOSTAPD_MLME
63*4882a593Smuzhiyun 	#endif
64*4882a593Smuzhiyun 	/*#define CONFIG_FIND_BEST_CHANNEL*/
65*4882a593Smuzhiyun #endif
66*4882a593Smuzhiyun 
67*4882a593Smuzhiyun #ifdef CONFIG_P2P
68*4882a593Smuzhiyun 	#define CONFIG_WFD	/* Wi-Fi display */
69*4882a593Smuzhiyun 	#define CONFIG_P2P_REMOVE_GROUP_INFO
70*4882a593Smuzhiyun 	/*#define CONFIG_DBG_P2P*/
71*4882a593Smuzhiyun 	#define CONFIG_P2P_PS
72*4882a593Smuzhiyun 	/*#define CONFIG_P2P_IPS*/
73*4882a593Smuzhiyun 	#define CONFIG_P2P_OP_CHK_SOCIAL_CH
74*4882a593Smuzhiyun 	#define CONFIG_CFG80211_ONECHANNEL_UNDER_CONCURRENT  /* Replace CONFIG_P2P_CHK_INVITE_CH_LIST flag */
75*4882a593Smuzhiyun 	/*#define CONFIG_P2P_INVITE_IOT*/
76*4882a593Smuzhiyun #endif /* CONFIG_P2P */
77*4882a593Smuzhiyun 
78*4882a593Smuzhiyun /* Set CONFIG_TDLS from Makefile */
79*4882a593Smuzhiyun #ifdef CONFIG_TDLS
80*4882a593Smuzhiyun 	#define CONFIG_TDLS_DRIVER_SETUP
81*4882a593Smuzhiyun #if 0
82*4882a593Smuzhiyun 	#ifndef CONFIG_WFD
83*4882a593Smuzhiyun 		#define CONFIG_WFD
84*4882a593Smuzhiyun 	#endif
85*4882a593Smuzhiyun 	#define CONFIG_TDLS_AUTOSETUP
86*4882a593Smuzhiyun #endif
87*4882a593Smuzhiyun 	#define CONFIG_TDLS_AUTOCHECKALIVE
88*4882a593Smuzhiyun 	/*
89*4882a593Smuzhiyun 	 * Enable "CONFIG_TDLS_CH_SW" by default,
90*4882a593Smuzhiyun 	 * however limit it to only work in wifi logo test mode
91*4882a593Smuzhiyun 	 * but not in normal mode currently
92*4882a593Smuzhiyun 	 */
93*4882a593Smuzhiyun 	#define CONFIG_TDLS_CH_SW
94*4882a593Smuzhiyun #endif /* CONFIG_TDLS */
95*4882a593Smuzhiyun 
96*4882a593Smuzhiyun /*#define CONFIG_RTW_80211K*/
97*4882a593Smuzhiyun 
98*4882a593Smuzhiyun #define CONFIG_BEAMFORMING
99*4882a593Smuzhiyun 
100*4882a593Smuzhiyun 
101*4882a593Smuzhiyun /*
102*4882a593Smuzhiyun  * Hareware/Firmware Related Config
103*4882a593Smuzhiyun  */
104*4882a593Smuzhiyun /* Set CONFIG_BT_COEXIST from Makefile */
105*4882a593Smuzhiyun /*#define CONFIG_ANTENNA_DIVERSITY*/
106*4882a593Smuzhiyun /*#define SUPPORT_HW_RFOFF_DETECTED*/
107*4882a593Smuzhiyun /*#define CONFIG_RTW_LED*/
108*4882a593Smuzhiyun #ifdef CONFIG_RTW_LED
109*4882a593Smuzhiyun 	/*#define CONFIG_RTW_SW_LED*/
110*4882a593Smuzhiyun #endif /* CONFIG_RTW_LED */
111*4882a593Smuzhiyun 
112*4882a593Smuzhiyun #define CONFIG_XMIT_ACK
113*4882a593Smuzhiyun #ifdef CONFIG_XMIT_ACK
114*4882a593Smuzhiyun 	#define CONFIG_ACTIVE_KEEP_ALIVE_CHECK
115*4882a593Smuzhiyun #endif
116*4882a593Smuzhiyun 
117*4882a593Smuzhiyun 
118*4882a593Smuzhiyun #define DISABLE_BB_RF		0
119*4882a593Smuzhiyun #define RTW_NOTCH_FILTER	0 /* 0:Disable, 1:Enable */
120*4882a593Smuzhiyun 
121*4882a593Smuzhiyun #define CONFIG_SUPPORT_TRX_SHARED
122*4882a593Smuzhiyun #ifdef CONFIG_SUPPORT_TRX_SHARED
123*4882a593Smuzhiyun #define DFT_TRX_SHARE_MODE	2
124*4882a593Smuzhiyun #endif
125*4882a593Smuzhiyun 
126*4882a593Smuzhiyun /*
127*4882a593Smuzhiyun  * Software feature Related Config
128*4882a593Smuzhiyun  */
129*4882a593Smuzhiyun #define RTW_HALMAC		/* Use HALMAC architecture, necessary for 8822B */
130*4882a593Smuzhiyun #define CONFIG_RECV_THREAD_MODE
131*4882a593Smuzhiyun #ifdef CONFIG_RECV_THREAD_MODE
132*4882a593Smuzhiyun #define RTW_RECV_THREAD_HIGH_PRIORITY
133*4882a593Smuzhiyun #endif/*CONFIG_RECV_THREAD_MODE*/
134*4882a593Smuzhiyun 
135*4882a593Smuzhiyun /*
136*4882a593Smuzhiyun  * Interface Related Config
137*4882a593Smuzhiyun  */
138*4882a593Smuzhiyun #define CONFIG_TX_AGGREGATION
139*4882a593Smuzhiyun #define CONFIG_XMIT_THREAD_MODE	/* necessary for SDIO */
140*4882a593Smuzhiyun #define RTW_XMIT_THREAD_HIGH_PRIORITY
141*4882a593Smuzhiyun #define RTW_XMIT_THREAD_HIGH_PRIORITY_AGG
142*4882a593Smuzhiyun #define CONFIG_SDIO_HOOK_DEV_SHUTDOWN
143*4882a593Smuzhiyun /*#define CONFIG_SDIO_TX_ENABLE_AVAL_INT*/ /* not implemented yet */
144*4882a593Smuzhiyun #define SDIO_FREE_XMIT_BUF_SEMA
145*4882a593Smuzhiyun /* #define DBG_SDIO_FREE_XMIT_BUF_SEMA */
146*4882a593Smuzhiyun /* #define CONFIG_SDIO_TX_FORMAT_DUMMY_AUTO */
147*4882a593Smuzhiyun #define CONFIG_SDIO_RX_COPY
148*4882a593Smuzhiyun #define DBG_SDIO	1
149*4882a593Smuzhiyun 
150*4882a593Smuzhiyun 
151*4882a593Smuzhiyun /*
152*4882a593Smuzhiyun  * Others
153*4882a593Smuzhiyun  */
154*4882a593Smuzhiyun /* #define CONFIG_MAC_LOOPBACK_DRIVER */
155*4882a593Smuzhiyun #define CONFIG_SKB_COPY		/* for amsdu */
156*4882a593Smuzhiyun #define CONFIG_NEW_SIGNAL_STAT_PROCESS
157*4882a593Smuzhiyun #define CONFIG_EMBEDDED_FWIMG
158*4882a593Smuzhiyun #ifdef CONFIG_EMBEDDED_FWIMG
159*4882a593Smuzhiyun 	#define	LOAD_FW_HEADER_FROM_DRIVER
160*4882a593Smuzhiyun #endif
161*4882a593Smuzhiyun /*#define CONFIG_FILE_FWIMG*/
162*4882a593Smuzhiyun #define CONFIG_LONG_DELAY_ISSUE
163*4882a593Smuzhiyun /*#define CONFIG_PATCH_JOIN_WRONG_CHANNEL*/
164*4882a593Smuzhiyun 
165*4882a593Smuzhiyun #ifdef CONFIG_RTW_NAPI
166*4882a593Smuzhiyun #define CONFIG_RTW_NAPI_DYNAMIC
167*4882a593Smuzhiyun #define CONFIG_RTW_NAPI_V2
168*4882a593Smuzhiyun #endif
169*4882a593Smuzhiyun 
170*4882a593Smuzhiyun /*
171*4882a593Smuzhiyun  * Platform
172*4882a593Smuzhiyun  */
173*4882a593Smuzhiyun #ifdef CONFIG_PLATFORM_INTEL_BYT
174*4882a593Smuzhiyun #ifdef CONFIG_CFG80211_FORCE_COMPATIBLE_2_6_37_UNDER
175*4882a593Smuzhiyun #undef CONFIG_CFG80211_FORCE_COMPATIBLE_2_6_37_UNDER
176*4882a593Smuzhiyun #endif
177*4882a593Smuzhiyun #endif /* CONFIG_PLATFORM_INTEL_BYT */
178*4882a593Smuzhiyun 
179*4882a593Smuzhiyun 
180*4882a593Smuzhiyun /*
181*4882a593Smuzhiyun  * Auto Config Section
182*4882a593Smuzhiyun  */
183*4882a593Smuzhiyun #ifdef CONFIG_MAC_LOOPBACK_DRIVER
184*4882a593Smuzhiyun #undef CONFIG_IOCTL_CFG80211
185*4882a593Smuzhiyun #undef CONFIG_AP_MODE
186*4882a593Smuzhiyun #undef CONFIG_NATIVEAP_MLME
187*4882a593Smuzhiyun #undef CONFIG_POWER_SAVING
188*4882a593Smuzhiyun #undef CONFIG_BT_COEXIST
189*4882a593Smuzhiyun #undef CONFIG_ANTENNA_DIVERSITY
190*4882a593Smuzhiyun #undef SUPPORT_HW_RFOFF_DETECTED
191*4882a593Smuzhiyun #endif /* CONFIG_MAC_LOOPBACK_DRIVER */
192*4882a593Smuzhiyun 
193*4882a593Smuzhiyun #ifdef CONFIG_MP_INCLUDED
194*4882a593Smuzhiyun 	#define MP_DRIVER	1
195*4882a593Smuzhiyun 	#define CONFIG_MP_IWPRIV_SUPPORT
196*4882a593Smuzhiyun #else /* !CONFIG_MP_INCLUDED */
197*4882a593Smuzhiyun 	#define MP_DRIVER	0
198*4882a593Smuzhiyun 	#undef CONFIG_MP_IWPRIV_SUPPORT
199*4882a593Smuzhiyun #endif /* !CONFIG_MP_INCLUDED */
200*4882a593Smuzhiyun 
201*4882a593Smuzhiyun #ifdef CONFIG_POWER_SAVING
202*4882a593Smuzhiyun 	#define CONFIG_IPS
203*4882a593Smuzhiyun 	#define CONFIG_LPS
204*4882a593Smuzhiyun 
205*4882a593Smuzhiyun 	#if defined(CONFIG_LPS) && (defined(CONFIG_GSPI_HCI) || defined(CONFIG_SDIO_HCI))
206*4882a593Smuzhiyun 	#define CONFIG_LPS_LCLK
207*4882a593Smuzhiyun 	#endif
208*4882a593Smuzhiyun 
209*4882a593Smuzhiyun 	#ifdef CONFIG_LPS
210*4882a593Smuzhiyun 		#define CONFIG_CHECK_LEAVE_LPS
211*4882a593Smuzhiyun 		#ifndef CONFIG_PLATFORM_INTEL_BYT
212*4882a593Smuzhiyun 		#define CONFIG_LPS_SLOW_TRANSITION
213*4882a593Smuzhiyun 		#endif /* !CONFIG_PLATFORM_INTEL_BYT */
214*4882a593Smuzhiyun 	#endif
215*4882a593Smuzhiyun 
216*4882a593Smuzhiyun 	#ifdef CONFIG_LPS_LCLK
217*4882a593Smuzhiyun 	#define CONFIG_DETECT_CPWM_BY_POLLING
218*4882a593Smuzhiyun 	#define DBG_CHECK_FW_PS_STATE
219*4882a593Smuzhiyun 	#define CONFIG_LPS_RPWM_TIMER
220*4882a593Smuzhiyun 	#if defined(CONFIG_LPS_RPWM_TIMER) || defined(CONFIG_DETECT_CPWM_BY_POLLING)
221*4882a593Smuzhiyun 	#define LPS_RPWM_WAIT_MS 300
222*4882a593Smuzhiyun 	#endif
223*4882a593Smuzhiyun 	#define CONFIG_LPS_LCLK_WD_TIMER /* Watch Dog timer in LPS LCLK */
224*4882a593Smuzhiyun 	/* #define CONFIG_LPS_PG */
225*4882a593Smuzhiyun 	#endif
226*4882a593Smuzhiyun 
227*4882a593Smuzhiyun 	#ifdef CONFIG_IPS
228*4882a593Smuzhiyun 	#define CONFIG_IPS_CHECK_IN_WD /* Do IPS Check in WatchDog. */
229*4882a593Smuzhiyun 	/*#define CONFIG_SWLPS_IN_IPS*/ /* Do SW LPS flow when entering and leaving IPS */
230*4882a593Smuzhiyun 	/*#define CONFIG_FWLPS_IN_IPS*/ /* issue H2C command to let FW do LPS when entering IPS */
231*4882a593Smuzhiyun 	#endif
232*4882a593Smuzhiyun 
233*4882a593Smuzhiyun 	#ifdef CONFIG_LPS
234*4882a593Smuzhiyun 		#define CONFIG_WMMPS_STA 1
235*4882a593Smuzhiyun 	#endif /* CONFIG_LPS */
236*4882a593Smuzhiyun #endif /* CONFIG_POWER_SAVING */
237*4882a593Smuzhiyun 
238*4882a593Smuzhiyun #ifdef CONFIG_BT_COEXIST
239*4882a593Smuzhiyun 	/* for ODM and outsrc BT-Coex */
240*4882a593Smuzhiyun 	#ifndef CONFIG_LPS
241*4882a593Smuzhiyun 		#define CONFIG_LPS	/* download reserved page to FW */
242*4882a593Smuzhiyun 	#endif
243*4882a593Smuzhiyun 	#define CONFIG_SDIO_MULTI_FUNCTION_COEX
244*4882a593Smuzhiyun 	#define DBG_SDIO_MULTI_FUNCTION_COEX 0
245*4882a593Smuzhiyun #endif /* !CONFIG_BT_COEXIST */
246*4882a593Smuzhiyun 
247*4882a593Smuzhiyun #ifdef CONFIG_GPIO_WAKEUP
248*4882a593Smuzhiyun 	#ifndef WAKEUP_GPIO_IDX
249*4882a593Smuzhiyun 		/* 1315 module WIFI Chip Side */
250*4882a593Smuzhiyun 		#define WAKEUP_GPIO_IDX	10
251*4882a593Smuzhiyun 	#endif /* !WAKEUP_GPIO_IDX */
252*4882a593Smuzhiyun #endif /* CONFIG_GPIO_WAKEUP */
253*4882a593Smuzhiyun 
254*4882a593Smuzhiyun 
255*4882a593Smuzhiyun #ifdef CONFIG_ANTENNA_DIVERSITY
256*4882a593Smuzhiyun #define CONFIG_HW_ANTENNA_DIVERSITY
257*4882a593Smuzhiyun #endif /* CONFIG_ANTENNA_DIVERSITY */
258*4882a593Smuzhiyun 
259*4882a593Smuzhiyun 
260*4882a593Smuzhiyun /*
261*4882a593Smuzhiyun  * Debug Related Config
262*4882a593Smuzhiyun  */
263*4882a593Smuzhiyun #ifdef CONFIG_RTW_DEBUG
264*4882a593Smuzhiyun #define DBG	1	/* for ODM & BTCOEX debug */
265*4882a593Smuzhiyun #else /* !CONFIG_RTW_DEBUG */
266*4882a593Smuzhiyun #define DBG	0	/* for ODM & BTCOEX debug */
267*4882a593Smuzhiyun #endif /* !CONFIG_RTW_DEBUG */
268*4882a593Smuzhiyun 
269*4882a593Smuzhiyun #define DBG_CONFIG_ERROR_DETECT
270*4882a593Smuzhiyun #if 0
271*4882a593Smuzhiyun #define DBG_XMIT_BUF
272*4882a593Smuzhiyun #define DBG_XMIT_BUF_EXT
273*4882a593Smuzhiyun #define CONFIG_FW_C2H_DEBUG
274*4882a593Smuzhiyun #endif
275*4882a593Smuzhiyun 
276*4882a593Smuzhiyun 
277*4882a593Smuzhiyun /* #define CONFIG_DISABLE_ODM */
278*4882a593Smuzhiyun /* #define CONFIG_NO_FW */
279*4882a593Smuzhiyun 
280