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

source code of linux/drivers/net/wireless/ti/wl12xx/conf.h