xref: /OK3568_Linux_fs/kernel/drivers/net/wireless/ti/wl12xx/conf.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0-only */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  * This file is part of wl12xx
4*4882a593Smuzhiyun  *
5*4882a593Smuzhiyun  * Copyright (C) 2011 Texas Instruments Inc.
6*4882a593Smuzhiyun  */
7*4882a593Smuzhiyun 
8*4882a593Smuzhiyun #ifndef __WL12XX_CONF_H__
9*4882a593Smuzhiyun #define __WL12XX_CONF_H__
10*4882a593Smuzhiyun 
11*4882a593Smuzhiyun /* these are number of channels on the band divided by two, rounded up */
12*4882a593Smuzhiyun #define CONF_TX_PWR_COMPENSATION_LEN_2 7
13*4882a593Smuzhiyun #define CONF_TX_PWR_COMPENSATION_LEN_5 18
14*4882a593Smuzhiyun 
15*4882a593Smuzhiyun struct wl12xx_conf_rf {
16*4882a593Smuzhiyun 	/*
17*4882a593Smuzhiyun 	 * Per channel power compensation for 2.4GHz
18*4882a593Smuzhiyun 	 *
19*4882a593Smuzhiyun 	 * Range: s8
20*4882a593Smuzhiyun 	 */
21*4882a593Smuzhiyun 	u8 tx_per_channel_power_compensation_2[CONF_TX_PWR_COMPENSATION_LEN_2];
22*4882a593Smuzhiyun 
23*4882a593Smuzhiyun 	/*
24*4882a593Smuzhiyun 	 * Per channel power compensation for 5GHz
25*4882a593Smuzhiyun 	 *
26*4882a593Smuzhiyun 	 * Range: s8
27*4882a593Smuzhiyun 	 */
28*4882a593Smuzhiyun 	u8 tx_per_channel_power_compensation_5[CONF_TX_PWR_COMPENSATION_LEN_5];
29*4882a593Smuzhiyun };
30*4882a593Smuzhiyun 
31*4882a593Smuzhiyun struct wl12xx_priv_conf {
32*4882a593Smuzhiyun 	struct wl12xx_conf_rf rf;
33*4882a593Smuzhiyun 	struct conf_memory_settings mem_wl127x;
34*4882a593Smuzhiyun };
35*4882a593Smuzhiyun 
36*4882a593Smuzhiyun enum wl12xx_sg_params {
37*4882a593Smuzhiyun 	/*
38*4882a593Smuzhiyun 	* Configure the min and max time BT gains the antenna
39*4882a593Smuzhiyun 	* in WLAN / BT master basic rate
40*4882a593Smuzhiyun 	*
41*4882a593Smuzhiyun 	* Range: 0 - 255 (ms)
42*4882a593Smuzhiyun 	*/
43*4882a593Smuzhiyun 	WL12XX_CONF_SG_ACL_BT_MASTER_MIN_BR = 0,
44*4882a593Smuzhiyun 	WL12XX_CONF_SG_ACL_BT_MASTER_MAX_BR,
45*4882a593Smuzhiyun 
46*4882a593Smuzhiyun 	/*
47*4882a593Smuzhiyun 	* Configure the min and max time BT gains the antenna
48*4882a593Smuzhiyun 	* in WLAN / BT slave basic rate
49*4882a593Smuzhiyun 	*
50*4882a593Smuzhiyun 	* Range: 0 - 255 (ms)
51*4882a593Smuzhiyun 	*/
52*4882a593Smuzhiyun 	WL12XX_CONF_SG_ACL_BT_SLAVE_MIN_BR,
53*4882a593Smuzhiyun 	WL12XX_CONF_SG_ACL_BT_SLAVE_MAX_BR,
54*4882a593Smuzhiyun 
55*4882a593Smuzhiyun 	/*
56*4882a593Smuzhiyun 	* Configure the min and max time BT gains the antenna
57*4882a593Smuzhiyun 	* in WLAN / BT master EDR
58*4882a593Smuzhiyun 	*
59*4882a593Smuzhiyun 	* Range: 0 - 255 (ms)
60*4882a593Smuzhiyun 	*/
61*4882a593Smuzhiyun 	WL12XX_CONF_SG_ACL_BT_MASTER_MIN_EDR,
62*4882a593Smuzhiyun 	WL12XX_CONF_SG_ACL_BT_MASTER_MAX_EDR,
63*4882a593Smuzhiyun 
64*4882a593Smuzhiyun 	/*
65*4882a593Smuzhiyun 	* Configure the min and max time BT gains the antenna
66*4882a593Smuzhiyun 	* in WLAN / BT slave EDR
67*4882a593Smuzhiyun 	*
68*4882a593Smuzhiyun 	* Range: 0 - 255 (ms)
69*4882a593Smuzhiyun 	*/
70*4882a593Smuzhiyun 	WL12XX_CONF_SG_ACL_BT_SLAVE_MIN_EDR,
71*4882a593Smuzhiyun 	WL12XX_CONF_SG_ACL_BT_SLAVE_MAX_EDR,
72*4882a593Smuzhiyun 
73*4882a593Smuzhiyun 	/*
74*4882a593Smuzhiyun 	* The maximum time WLAN can gain the antenna
75*4882a593Smuzhiyun 	* in WLAN PSM / BT master/slave BR
76*4882a593Smuzhiyun 	*
77*4882a593Smuzhiyun 	* Range: 0 - 255 (ms)
78*4882a593Smuzhiyun 	*/
79*4882a593Smuzhiyun 	WL12XX_CONF_SG_ACL_WLAN_PS_MASTER_BR,
80*4882a593Smuzhiyun 	WL12XX_CONF_SG_ACL_WLAN_PS_SLAVE_BR,
81*4882a593Smuzhiyun 
82*4882a593Smuzhiyun 	/*
83*4882a593Smuzhiyun 	* The maximum time WLAN can gain the antenna
84*4882a593Smuzhiyun 	* in WLAN PSM / BT master/slave EDR
85*4882a593Smuzhiyun 	*
86*4882a593Smuzhiyun 	* Range: 0 - 255 (ms)
87*4882a593Smuzhiyun 	*/
88*4882a593Smuzhiyun 	WL12XX_CONF_SG_ACL_WLAN_PS_MASTER_EDR,
89*4882a593Smuzhiyun 	WL12XX_CONF_SG_ACL_WLAN_PS_SLAVE_EDR,
90*4882a593Smuzhiyun 
91*4882a593Smuzhiyun 	/* TODO: explain these values */
92*4882a593Smuzhiyun 	WL12XX_CONF_SG_ACL_WLAN_ACTIVE_MASTER_MIN_BR,
93*4882a593Smuzhiyun 	WL12XX_CONF_SG_ACL_WLAN_ACTIVE_MASTER_MAX_BR,
94*4882a593Smuzhiyun 	WL12XX_CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MIN_BR,
95*4882a593Smuzhiyun 	WL12XX_CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MAX_BR,
96*4882a593Smuzhiyun 	WL12XX_CONF_SG_ACL_WLAN_ACTIVE_MASTER_MIN_EDR,
97*4882a593Smuzhiyun 	WL12XX_CONF_SG_ACL_WLAN_ACTIVE_MASTER_MAX_EDR,
98*4882a593Smuzhiyun 	WL12XX_CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MIN_EDR,
99*4882a593Smuzhiyun 	WL12XX_CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MAX_EDR,
100*4882a593Smuzhiyun 
101*4882a593Smuzhiyun 	WL12XX_CONF_SG_ACL_ACTIVE_SCAN_WLAN_BR,
102*4882a593Smuzhiyun 	WL12XX_CONF_SG_ACL_ACTIVE_SCAN_WLAN_EDR,
103*4882a593Smuzhiyun 	WL12XX_CONF_SG_ACL_PASSIVE_SCAN_BT_BR,
104*4882a593Smuzhiyun 	WL12XX_CONF_SG_ACL_PASSIVE_SCAN_WLAN_BR,
105*4882a593Smuzhiyun 	WL12XX_CONF_SG_ACL_PASSIVE_SCAN_BT_EDR,
106*4882a593Smuzhiyun 	WL12XX_CONF_SG_ACL_PASSIVE_SCAN_WLAN_EDR,
107*4882a593Smuzhiyun 
108*4882a593Smuzhiyun 	/*
109*4882a593Smuzhiyun 	* Compensation percentage of probe requests when scan initiated
110*4882a593Smuzhiyun 	* during BT voice/ACL link.
111*4882a593Smuzhiyun 	*
112*4882a593Smuzhiyun 	* Range: 0 - 255 (%)
113*4882a593Smuzhiyun 	*/
114*4882a593Smuzhiyun 	WL12XX_CONF_SG_AUTO_SCAN_PROBE_REQ,
115*4882a593Smuzhiyun 
116*4882a593Smuzhiyun 	/*
117*4882a593Smuzhiyun 	* Compensation percentage of probe requests when active scan initiated
118*4882a593Smuzhiyun 	* during BT voice
119*4882a593Smuzhiyun 	*
120*4882a593Smuzhiyun 	* Range: 0 - 255 (%)
121*4882a593Smuzhiyun 	*/
122*4882a593Smuzhiyun 	WL12XX_CONF_SG_ACTIVE_SCAN_DURATION_FACTOR_HV3,
123*4882a593Smuzhiyun 
124*4882a593Smuzhiyun 	/*
125*4882a593Smuzhiyun 	* Compensation percentage of WLAN active scan window if initiated
126*4882a593Smuzhiyun 	* during BT A2DP
127*4882a593Smuzhiyun 	*
128*4882a593Smuzhiyun 	* Range: 0 - 1000 (%)
129*4882a593Smuzhiyun 	*/
130*4882a593Smuzhiyun 	WL12XX_CONF_SG_ACTIVE_SCAN_DURATION_FACTOR_A2DP,
131*4882a593Smuzhiyun 
132*4882a593Smuzhiyun 	/*
133*4882a593Smuzhiyun 	* Compensation percentage of WLAN passive scan window if initiated
134*4882a593Smuzhiyun 	* during BT A2DP BR
135*4882a593Smuzhiyun 	*
136*4882a593Smuzhiyun 	* Range: 0 - 1000 (%)
137*4882a593Smuzhiyun 	*/
138*4882a593Smuzhiyun 	WL12XX_CONF_SG_PASSIVE_SCAN_DUR_FACTOR_A2DP_BR,
139*4882a593Smuzhiyun 
140*4882a593Smuzhiyun 	/*
141*4882a593Smuzhiyun 	* Compensation percentage of WLAN passive scan window if initiated
142*4882a593Smuzhiyun 	* during BT A2DP EDR
143*4882a593Smuzhiyun 	*
144*4882a593Smuzhiyun 	* Range: 0 - 1000 (%)
145*4882a593Smuzhiyun 	*/
146*4882a593Smuzhiyun 	WL12XX_CONF_SG_PASSIVE_SCAN_DUR_FACTOR_A2DP_EDR,
147*4882a593Smuzhiyun 
148*4882a593Smuzhiyun 	/*
149*4882a593Smuzhiyun 	* Compensation percentage of WLAN passive scan window if initiated
150*4882a593Smuzhiyun 	* during BT voice
151*4882a593Smuzhiyun 	*
152*4882a593Smuzhiyun 	* Range: 0 - 1000 (%)
153*4882a593Smuzhiyun 	*/
154*4882a593Smuzhiyun 	WL12XX_CONF_SG_PASSIVE_SCAN_DUR_FACTOR_HV3,
155*4882a593Smuzhiyun 
156*4882a593Smuzhiyun 	/* TODO: explain these values */
157*4882a593Smuzhiyun 	WL12XX_CONF_SG_CONSECUTIVE_HV3_IN_PASSIVE_SCAN,
158*4882a593Smuzhiyun 	WL12XX_CONF_SG_BCN_HV3_COLL_THR_IN_PASSIVE_SCAN,
159*4882a593Smuzhiyun 	WL12XX_CONF_SG_TX_RX_PROTECT_BW_IN_PASSIVE_SCAN,
160*4882a593Smuzhiyun 
161*4882a593Smuzhiyun 	/*
162*4882a593Smuzhiyun 	* Defines whether the SG will force WLAN host to enter/exit PSM
163*4882a593Smuzhiyun 	*
164*4882a593Smuzhiyun 	* Range: 1 - SG can force, 0 - host handles PSM
165*4882a593Smuzhiyun 	*/
166*4882a593Smuzhiyun 	WL12XX_CONF_SG_STA_FORCE_PS_IN_BT_SCO,
167*4882a593Smuzhiyun 
168*4882a593Smuzhiyun 	/*
169*4882a593Smuzhiyun 	* Defines antenna configuration (single/dual antenna)
170*4882a593Smuzhiyun 	*
171*4882a593Smuzhiyun 	* Range: 0 - single antenna, 1 - dual antenna
172*4882a593Smuzhiyun 	*/
173*4882a593Smuzhiyun 	WL12XX_CONF_SG_ANTENNA_CONFIGURATION,
174*4882a593Smuzhiyun 
175*4882a593Smuzhiyun 	/*
176*4882a593Smuzhiyun 	* The threshold (percent) of max consecutive beacon misses before
177*4882a593Smuzhiyun 	* increasing priority of beacon reception.
178*4882a593Smuzhiyun 	*
179*4882a593Smuzhiyun 	* Range: 0 - 100 (%)
180*4882a593Smuzhiyun 	*/
181*4882a593Smuzhiyun 	WL12XX_CONF_SG_BEACON_MISS_PERCENT,
182*4882a593Smuzhiyun 
183*4882a593Smuzhiyun 	/*
184*4882a593Smuzhiyun 	* Protection time of the DHCP procedure.
185*4882a593Smuzhiyun 	*
186*4882a593Smuzhiyun 	* Range: 0 - 100000 (ms)
187*4882a593Smuzhiyun 	*/
188*4882a593Smuzhiyun 	WL12XX_CONF_SG_DHCP_TIME,
189*4882a593Smuzhiyun 
190*4882a593Smuzhiyun 	/*
191*4882a593Smuzhiyun 	* RX guard time before the beginning of a new BT voice frame during
192*4882a593Smuzhiyun 	* which no new WLAN trigger frame is transmitted.
193*4882a593Smuzhiyun 	*
194*4882a593Smuzhiyun 	* Range: 0 - 100000 (us)
195*4882a593Smuzhiyun 	*/
196*4882a593Smuzhiyun 	WL12XX_CONF_SG_RXT,
197*4882a593Smuzhiyun 
198*4882a593Smuzhiyun 	/*
199*4882a593Smuzhiyun 	* TX guard time before the beginning of a new BT voice frame during
200*4882a593Smuzhiyun 	* which no new WLAN frame is transmitted.
201*4882a593Smuzhiyun 	*
202*4882a593Smuzhiyun 	* Range: 0 - 100000 (us)
203*4882a593Smuzhiyun 	*/
204*4882a593Smuzhiyun 	WL12XX_CONF_SG_TXT,
205*4882a593Smuzhiyun 
206*4882a593Smuzhiyun 	/*
207*4882a593Smuzhiyun 	* Enable adaptive RXT/TXT algorithm. If disabled, the host values
208*4882a593Smuzhiyun 	* will be utilized.
209*4882a593Smuzhiyun 	*
210*4882a593Smuzhiyun 	* Range: 0 - disable, 1 - enable
211*4882a593Smuzhiyun 	*/
212*4882a593Smuzhiyun 	WL12XX_CONF_SG_ADAPTIVE_RXT_TXT,
213*4882a593Smuzhiyun 
214*4882a593Smuzhiyun 	/* TODO: explain this value */
215*4882a593Smuzhiyun 	WL12XX_CONF_SG_GENERAL_USAGE_BIT_MAP,
216*4882a593Smuzhiyun 
217*4882a593Smuzhiyun 	/*
218*4882a593Smuzhiyun 	* Number of consecutive BT voice frames not interrupted by WLAN
219*4882a593Smuzhiyun 	*
220*4882a593Smuzhiyun 	* Range: 0 - 100
221*4882a593Smuzhiyun 	*/
222*4882a593Smuzhiyun 	WL12XX_CONF_SG_HV3_MAX_SERVED,
223*4882a593Smuzhiyun 
224*4882a593Smuzhiyun 	/*
225*4882a593Smuzhiyun 	* The used WLAN legacy service period during active BT ACL link
226*4882a593Smuzhiyun 	*
227*4882a593Smuzhiyun 	* Range: 0 - 255 (ms)
228*4882a593Smuzhiyun 	*/
229*4882a593Smuzhiyun 	WL12XX_CONF_SG_PS_POLL_TIMEOUT,
230*4882a593Smuzhiyun 
231*4882a593Smuzhiyun 	/*
232*4882a593Smuzhiyun 	* The used WLAN UPSD service period during active BT ACL link
233*4882a593Smuzhiyun 	*
234*4882a593Smuzhiyun 	* Range: 0 - 255 (ms)
235*4882a593Smuzhiyun 	*/
236*4882a593Smuzhiyun 	WL12XX_CONF_SG_UPSD_TIMEOUT,
237*4882a593Smuzhiyun 
238*4882a593Smuzhiyun 	WL12XX_CONF_SG_CONSECUTIVE_CTS_THRESHOLD,
239*4882a593Smuzhiyun 	WL12XX_CONF_SG_STA_RX_WINDOW_AFTER_DTIM,
240*4882a593Smuzhiyun 	WL12XX_CONF_SG_STA_CONNECTION_PROTECTION_TIME,
241*4882a593Smuzhiyun 
242*4882a593Smuzhiyun 	/* AP params */
243*4882a593Smuzhiyun 	WL12XX_CONF_AP_BEACON_MISS_TX,
244*4882a593Smuzhiyun 	WL12XX_CONF_AP_RX_WINDOW_AFTER_BEACON,
245*4882a593Smuzhiyun 	WL12XX_CONF_AP_BEACON_WINDOW_INTERVAL,
246*4882a593Smuzhiyun 	WL12XX_CONF_AP_CONNECTION_PROTECTION_TIME,
247*4882a593Smuzhiyun 	WL12XX_CONF_AP_BT_ACL_VAL_BT_SERVE_TIME,
248*4882a593Smuzhiyun 	WL12XX_CONF_AP_BT_ACL_VAL_WL_SERVE_TIME,
249*4882a593Smuzhiyun 
250*4882a593Smuzhiyun 	/* CTS Diluting params */
251*4882a593Smuzhiyun 	WL12XX_CONF_SG_CTS_DILUTED_BAD_RX_PACKETS_TH,
252*4882a593Smuzhiyun 	WL12XX_CONF_SG_CTS_CHOP_IN_DUAL_ANT_SCO_MASTER,
253*4882a593Smuzhiyun 
254*4882a593Smuzhiyun 	WL12XX_CONF_SG_TEMP_PARAM_1,
255*4882a593Smuzhiyun 	WL12XX_CONF_SG_TEMP_PARAM_2,
256*4882a593Smuzhiyun 	WL12XX_CONF_SG_TEMP_PARAM_3,
257*4882a593Smuzhiyun 	WL12XX_CONF_SG_TEMP_PARAM_4,
258*4882a593Smuzhiyun 	WL12XX_CONF_SG_TEMP_PARAM_5,
259*4882a593Smuzhiyun 	WL12XX_CONF_SG_TEMP_PARAM_6,
260*4882a593Smuzhiyun 	WL12XX_CONF_SG_TEMP_PARAM_7,
261*4882a593Smuzhiyun 	WL12XX_CONF_SG_TEMP_PARAM_8,
262*4882a593Smuzhiyun 	WL12XX_CONF_SG_TEMP_PARAM_9,
263*4882a593Smuzhiyun 	WL12XX_CONF_SG_TEMP_PARAM_10,
264*4882a593Smuzhiyun 
265*4882a593Smuzhiyun 	WL12XX_CONF_SG_PARAMS_MAX,
266*4882a593Smuzhiyun 	WL12XX_CONF_SG_PARAMS_ALL = 0xff
267*4882a593Smuzhiyun };
268*4882a593Smuzhiyun 
269*4882a593Smuzhiyun #endif /* __WL12XX_CONF_H__ */
270