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__ */ 270