Linux-libre 5.4.48-gnu
[librecmc/linux-libre.git] / drivers / net / wireless / ti / wl12xx / conf.h
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
15 struct 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
31 struct wl12xx_priv_conf {
32         struct wl12xx_conf_rf rf;
33         struct conf_memory_settings mem_wl127x;
34 };
35
36 enum 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__ */