blob: a606ba9ef04159713ede01f28a789808b59735c4 [file] [log] [blame] [edit]
/*
* This file is part of wl12xx
*
* Copyright (C) 2011 Texas Instruments Inc.
*
* This program is free software; you can redistribute it and/or
* modify it under the terms of the GNU General Public License
* version 2 as published by the Free Software Foundation.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA
*
*/
#ifndef __WL12XX_CONF_H__
#define __WL12XX_CONF_H__
/* these are number of channels on the band divided by two, rounded up */
#define CONF_TX_PWR_COMPENSATION_LEN_2 7
#define CONF_TX_PWR_COMPENSATION_LEN_5 18
struct wl12xx_conf_rf {
/*
* Per channel power compensation for 2.4GHz
*
* Range: s8
*/
u8 tx_per_channel_power_compensation_2[CONF_TX_PWR_COMPENSATION_LEN_2];
/*
* Per channel power compensation for 5GHz
*
* Range: s8
*/
u8 tx_per_channel_power_compensation_5[CONF_TX_PWR_COMPENSATION_LEN_5];
};
struct wl12xx_priv_conf {
struct wl12xx_conf_rf rf;
struct conf_memory_settings mem_wl127x;
};
enum wl12xx_sg_params {
/*
* Configure the min and max time BT gains the antenna
* in WLAN / BT master basic rate
*
* Range: 0 - 255 (ms)
*/
WL12XX_CONF_SG_ACL_BT_MASTER_MIN_BR = 0,
WL12XX_CONF_SG_ACL_BT_MASTER_MAX_BR,
/*
* Configure the min and max time BT gains the antenna
* in WLAN / BT slave basic rate
*
* Range: 0 - 255 (ms)
*/
WL12XX_CONF_SG_ACL_BT_SLAVE_MIN_BR,
WL12XX_CONF_SG_ACL_BT_SLAVE_MAX_BR,
/*
* Configure the min and max time BT gains the antenna
* in WLAN / BT master EDR
*
* Range: 0 - 255 (ms)
*/
WL12XX_CONF_SG_ACL_BT_MASTER_MIN_EDR,
WL12XX_CONF_SG_ACL_BT_MASTER_MAX_EDR,
/*
* Configure the min and max time BT gains the antenna
* in WLAN / BT slave EDR
*
* Range: 0 - 255 (ms)
*/
WL12XX_CONF_SG_ACL_BT_SLAVE_MIN_EDR,
WL12XX_CONF_SG_ACL_BT_SLAVE_MAX_EDR,
/*
* The maximum time WLAN can gain the antenna
* in WLAN PSM / BT master/slave BR
*
* Range: 0 - 255 (ms)
*/
WL12XX_CONF_SG_ACL_WLAN_PS_MASTER_BR,
WL12XX_CONF_SG_ACL_WLAN_PS_SLAVE_BR,
/*
* The maximum time WLAN can gain the antenna
* in WLAN PSM / BT master/slave EDR
*
* Range: 0 - 255 (ms)
*/
WL12XX_CONF_SG_ACL_WLAN_PS_MASTER_EDR,
WL12XX_CONF_SG_ACL_WLAN_PS_SLAVE_EDR,
/* TODO: explain these values */
WL12XX_CONF_SG_ACL_WLAN_ACTIVE_MASTER_MIN_BR,
WL12XX_CONF_SG_ACL_WLAN_ACTIVE_MASTER_MAX_BR,
WL12XX_CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MIN_BR,
WL12XX_CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MAX_BR,
WL12XX_CONF_SG_ACL_WLAN_ACTIVE_MASTER_MIN_EDR,
WL12XX_CONF_SG_ACL_WLAN_ACTIVE_MASTER_MAX_EDR,
WL12XX_CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MIN_EDR,
WL12XX_CONF_SG_ACL_WLAN_ACTIVE_SLAVE_MAX_EDR,
WL12XX_CONF_SG_ACL_ACTIVE_SCAN_WLAN_BR,
WL12XX_CONF_SG_ACL_ACTIVE_SCAN_WLAN_EDR,
WL12XX_CONF_SG_ACL_PASSIVE_SCAN_BT_BR,
WL12XX_CONF_SG_ACL_PASSIVE_SCAN_WLAN_BR,
WL12XX_CONF_SG_ACL_PASSIVE_SCAN_BT_EDR,
WL12XX_CONF_SG_ACL_PASSIVE_SCAN_WLAN_EDR,
/*
* Compensation percentage of probe requests when scan initiated
* during BT voice/ACL link.
*
* Range: 0 - 255 (%)
*/
WL12XX_CONF_SG_AUTO_SCAN_PROBE_REQ,
/*
* Compensation percentage of probe requests when active scan initiated
* during BT voice
*
* Range: 0 - 255 (%)
*/
WL12XX_CONF_SG_ACTIVE_SCAN_DURATION_FACTOR_HV3,
/*
* Compensation percentage of WLAN active scan window if initiated
* during BT A2DP
*
* Range: 0 - 1000 (%)
*/
WL12XX_CONF_SG_ACTIVE_SCAN_DURATION_FACTOR_A2DP,
/*
* Compensation percentage of WLAN passive scan window if initiated
* during BT A2DP BR
*
* Range: 0 - 1000 (%)
*/
WL12XX_CONF_SG_PASSIVE_SCAN_DUR_FACTOR_A2DP_BR,
/*
* Compensation percentage of WLAN passive scan window if initiated
* during BT A2DP EDR
*
* Range: 0 - 1000 (%)
*/
WL12XX_CONF_SG_PASSIVE_SCAN_DUR_FACTOR_A2DP_EDR,
/*
* Compensation percentage of WLAN passive scan window if initiated
* during BT voice
*
* Range: 0 - 1000 (%)
*/
WL12XX_CONF_SG_PASSIVE_SCAN_DUR_FACTOR_HV3,
/* TODO: explain these values */
WL12XX_CONF_SG_CONSECUTIVE_HV3_IN_PASSIVE_SCAN,
WL12XX_CONF_SG_BCN_HV3_COLL_THR_IN_PASSIVE_SCAN,
WL12XX_CONF_SG_TX_RX_PROTECT_BW_IN_PASSIVE_SCAN,
/*
* Defines whether the SG will force WLAN host to enter/exit PSM
*
* Range: 1 - SG can force, 0 - host handles PSM
*/
WL12XX_CONF_SG_STA_FORCE_PS_IN_BT_SCO,
/*
* Defines antenna configuration (single/dual antenna)
*
* Range: 0 - single antenna, 1 - dual antenna
*/
WL12XX_CONF_SG_ANTENNA_CONFIGURATION,
/*
* The threshold (percent) of max consecutive beacon misses before
* increasing priority of beacon reception.
*
* Range: 0 - 100 (%)
*/
WL12XX_CONF_SG_BEACON_MISS_PERCENT,
/*
* Protection time of the DHCP procedure.
*
* Range: 0 - 100000 (ms)
*/
WL12XX_CONF_SG_DHCP_TIME,
/*
* RX guard time before the beginning of a new BT voice frame during
* which no new WLAN trigger frame is transmitted.
*
* Range: 0 - 100000 (us)
*/
WL12XX_CONF_SG_RXT,
/*
* TX guard time before the beginning of a new BT voice frame during
* which no new WLAN frame is transmitted.
*
* Range: 0 - 100000 (us)
*/
WL12XX_CONF_SG_TXT,
/*
* Enable adaptive RXT/TXT algorithm. If disabled, the host values
* will be utilized.
*
* Range: 0 - disable, 1 - enable
*/
WL12XX_CONF_SG_ADAPTIVE_RXT_TXT,
/* TODO: explain this value */
WL12XX_CONF_SG_GENERAL_USAGE_BIT_MAP,
/*
* Number of consecutive BT voice frames not interrupted by WLAN
*
* Range: 0 - 100
*/
WL12XX_CONF_SG_HV3_MAX_SERVED,
/*
* The used WLAN legacy service period during active BT ACL link
*
* Range: 0 - 255 (ms)
*/
WL12XX_CONF_SG_PS_POLL_TIMEOUT,
/*
* The used WLAN UPSD service period during active BT ACL link
*
* Range: 0 - 255 (ms)
*/
WL12XX_CONF_SG_UPSD_TIMEOUT,
WL12XX_CONF_SG_CONSECUTIVE_CTS_THRESHOLD,
WL12XX_CONF_SG_STA_RX_WINDOW_AFTER_DTIM,
WL12XX_CONF_SG_STA_CONNECTION_PROTECTION_TIME,
/* AP params */
WL12XX_CONF_AP_BEACON_MISS_TX,
WL12XX_CONF_AP_RX_WINDOW_AFTER_BEACON,
WL12XX_CONF_AP_BEACON_WINDOW_INTERVAL,
WL12XX_CONF_AP_CONNECTION_PROTECTION_TIME,
WL12XX_CONF_AP_BT_ACL_VAL_BT_SERVE_TIME,
WL12XX_CONF_AP_BT_ACL_VAL_WL_SERVE_TIME,
/* CTS Diluting params */
WL12XX_CONF_SG_CTS_DILUTED_BAD_RX_PACKETS_TH,
WL12XX_CONF_SG_CTS_CHOP_IN_DUAL_ANT_SCO_MASTER,
WL12XX_CONF_SG_TEMP_PARAM_1,
WL12XX_CONF_SG_TEMP_PARAM_2,
WL12XX_CONF_SG_TEMP_PARAM_3,
WL12XX_CONF_SG_TEMP_PARAM_4,
WL12XX_CONF_SG_TEMP_PARAM_5,
WL12XX_CONF_SG_TEMP_PARAM_6,
WL12XX_CONF_SG_TEMP_PARAM_7,
WL12XX_CONF_SG_TEMP_PARAM_8,
WL12XX_CONF_SG_TEMP_PARAM_9,
WL12XX_CONF_SG_TEMP_PARAM_10,
WL12XX_CONF_SG_PARAMS_MAX,
WL12XX_CONF_SG_PARAMS_ALL = 0xff
};
#endif /* __WL12XX_CONF_H__ */