189 lines
6.3 KiB
C
189 lines
6.3 KiB
C
|
//------------------------------------------------------------------------------
|
||
|
// ISC License (ISC)
|
||
|
//
|
||
|
// Copyright (c) 2004-2013, The Linux Foundation
|
||
|
// All rights reserved.
|
||
|
// Software was previously licensed under ISC license by Qualcomm Atheros, Inc.
|
||
|
//
|
||
|
//
|
||
|
// Permission to use, copy, modify, and/or distribute this software for any
|
||
|
// purpose with or without fee is hereby granted, provided that the above
|
||
|
// copyright notice and this permission notice appear in all copies.
|
||
|
//
|
||
|
// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||
|
// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||
|
// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||
|
// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||
|
// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||
|
// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||
|
// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||
|
//
|
||
|
//
|
||
|
//------------------------------------------------------------------------------
|
||
|
//==============================================================================
|
||
|
// This file contains the tunable configuration items for the WLAN module
|
||
|
//
|
||
|
// Author(s): ="Atheros"
|
||
|
//==============================================================================
|
||
|
#ifndef _HOST_WLAN_CONFIG_H_
|
||
|
#define _HOST_WLAN_CONFIG_H_
|
||
|
|
||
|
/* Include definitions here that can be used to tune the WLAN module behavior.
|
||
|
* Different customers can tune the behavior as per their needs, here.
|
||
|
*/
|
||
|
|
||
|
/* This configuration item when defined will consider the barker preamble
|
||
|
* mentioned in the ERP IE of the beacons from the AP to determine the short
|
||
|
* preamble support sent in the (Re)Assoc request frames.
|
||
|
*/
|
||
|
#define WLAN_CONFIG_DONOT_IGNORE_BARKER_IN_ERP 0
|
||
|
|
||
|
/* This config item when defined will not send the power module state transition
|
||
|
* failure events that happen during scan, to the host.
|
||
|
*/
|
||
|
#define WLAN_CONFIG_IGNORE_POWER_SAVE_FAIL_EVENT_DURING_SCAN 0
|
||
|
|
||
|
/* This config item disables sending a DisAssoc frame prior to sending a
|
||
|
* DeAuth frame.
|
||
|
*/
|
||
|
#define WLAN_CONFIG_NO_DISASSOC_UPON_DEAUTH 0
|
||
|
|
||
|
/*
|
||
|
* This configuration item enable/disable keepalive support.
|
||
|
* Keepalive support: In the absence of any data traffic to AP, null
|
||
|
* frames will be sent to the AP at periodic interval, to keep the association
|
||
|
* active. This configuration item defines the periodic interval.
|
||
|
* Use value of zero to disable keepalive support
|
||
|
* Default: 60 seconds
|
||
|
*/
|
||
|
#define WLAN_CONFIG_KEEP_ALIVE_INTERVAL 60
|
||
|
|
||
|
/*
|
||
|
* This configuration item sets the value of disconnect timeout
|
||
|
* Firmware delays sending the disconnec event to the host for this
|
||
|
* timeout after is gets disconnected from the current AP.
|
||
|
* If the firmware successly roams within the disconnect timeout
|
||
|
* it sends a new connect event
|
||
|
*/
|
||
|
#define WLAN_CONFIG_DISCONNECT_TIMEOUT 10
|
||
|
|
||
|
/*
|
||
|
* This configuration item enable BT clock sharing support
|
||
|
* 1 - Enable
|
||
|
* 0 - Disable (Default)
|
||
|
*/
|
||
|
#define WLAN_CONFIG_BT_SHARING 0
|
||
|
|
||
|
/*
|
||
|
* This configuration item sets WIFI OFF policy
|
||
|
* 0 - CUT_POWER
|
||
|
* 1 - DEEP_SLEEP (Default)
|
||
|
*/
|
||
|
#define WLAN_CONFIG_WLAN_OFF 1
|
||
|
|
||
|
/*
|
||
|
* This configuration item disables 11n support.
|
||
|
* 0 - Enable
|
||
|
* 1 - Disable
|
||
|
*/
|
||
|
#define WLAN_CONFIG_DISABLE_11N 0
|
||
|
|
||
|
/*
|
||
|
* This configuration item sets suspend policy
|
||
|
* 0 - CUT_POWER (Default)
|
||
|
* 1 - DEEP_SLEEP
|
||
|
* 2 - WoW
|
||
|
* 3 - CUT_POWER if BT OFF (clock sharing designs only)
|
||
|
*/
|
||
|
#define WLAN_CONFIG_PM_SUSPEND 2
|
||
|
|
||
|
/*
|
||
|
* This configuration item sets suspend policy to use if PM_SUSPEND is
|
||
|
* set to WoW and device is not connected at the time of suspend
|
||
|
* 0 - CUT_POWER (Default)
|
||
|
* 1 - DEEP_SLEEP
|
||
|
* 2 - WoW
|
||
|
* 3 - CUT_POWER if BT OFF (clock sharing designs only)
|
||
|
*/
|
||
|
#define WLAN_CONFIG_PM_WOW2 1
|
||
|
|
||
|
/*
|
||
|
* Define GPIO number for WoW in your platform other than zero
|
||
|
* Wake lock will be called when GPIO asserted.
|
||
|
*/
|
||
|
#define PLAT_WOW_GPIO_PIN 0
|
||
|
|
||
|
/*
|
||
|
* This configuration item for the WOW patterns in AP mode
|
||
|
* 0 - Wake up host only if any unicast IP, EAPOL-like and ARP, broadcast dhcp and ARP packets. (default)
|
||
|
* 1 - Wake up host if any unicast/broadcast/multicast packets
|
||
|
*/
|
||
|
#define WLAN_CONFIG_SIMPLE_WOW_AP_MODE 0
|
||
|
|
||
|
/*
|
||
|
* set to 1 to let STA do 2.4GHz band scan on 1st scan after
|
||
|
* either insmod or wmiconfig --wlan enable
|
||
|
*
|
||
|
* set to 0 to disable this feature
|
||
|
*/
|
||
|
#define WLAN_CONFIG_FIRST_SCAN_2G_ONLY 0
|
||
|
|
||
|
/*
|
||
|
* 1: to disable sending ps-poll in TIM interrupt
|
||
|
* 0: to send one ps-poll (the default)
|
||
|
*
|
||
|
*/
|
||
|
#define WLAN_CONFIG_PSPOLL_NUM 0
|
||
|
|
||
|
/*
|
||
|
* 0: to use the default (NORMAL_DTIM)
|
||
|
* 1: to use IGNORE_DTIM
|
||
|
* 2: to use NORMAL_DTIM
|
||
|
* 3: to use STICK_DTIM
|
||
|
* 4: to use AUTO_DTIM
|
||
|
*/
|
||
|
#define WLAN_CONFIG_DTIM_POLICY 0
|
||
|
|
||
|
|
||
|
/*
|
||
|
* Define the GPIO number for WLAN CHIP_PWD PIN other than zero
|
||
|
* Only use when you define plat_setup_power as plat_setup_power_stub
|
||
|
*/
|
||
|
|
||
|
#define PLAT_WLAN_CHIP_PWD_PIN 0
|
||
|
|
||
|
/*
|
||
|
* Platform specific function to power ON/OFF AR6000 with CHIP_PWD PIN
|
||
|
* and enable/disable SDIO card detection
|
||
|
*
|
||
|
* Either implement wlan CHIP_PWD PIN and power GPIO control into
|
||
|
* plat_setup_power_stub(..) place holder in ar6000_pm.c
|
||
|
* or redefine plat_setup_power(..) into your export funciton.
|
||
|
*/
|
||
|
|
||
|
#if PLAT_WLAN_CHIP_PWD_PIN
|
||
|
extern void plat_setup_power_stub(struct ar6_softc *ar, int on, int detect);
|
||
|
#define plat_setup_power(ar, on, detect) plat_setup_power_stub(ar, on, detect)
|
||
|
#elif defined(CONFIG_MMC_MSM) && defined(CONFIG_ARCH_MSM7X27) && defined(CONFIG_MSM_SOC_REV_A)
|
||
|
extern void msm7x27a_wifi_power(bool on);
|
||
|
#define plat_setup_power(ar, on, detect) msm7x27a_wifi_power(on)
|
||
|
#elif defined(CONFIG_MMC_MSM) && defined(CONFIG_ARCH_MSM9615)
|
||
|
#define MSM9615_WLAN_CHIP_PWD_PIN 21
|
||
|
#define MSM9615_WLAN_PM_ENABLE_PIN 89 /* PM8018_GPIO_BASE + PM GPIO_2 - 1 */
|
||
|
|
||
|
#ifdef ATH_AR6K_EXT_PMIC_CLK
|
||
|
#define MSM9615_WLAN_CLK_PWR_REQ 93 /* PM8018_GPIO_BASE + PM GPIO_6 - 1 */
|
||
|
#endif /* ATH_AR6K_EXT_PMIC_CLK */
|
||
|
|
||
|
extern int msm9615_wifi_power(AR_SOFTC_T *ar, int on);
|
||
|
#define plat_setup_power(ar, on, detect) msm9615_wifi_power(ar, on)
|
||
|
|
||
|
#elif defined(CONFIG_OF)
|
||
|
extern int ar6000_dt_setup_power(AR_SOFTC_T *ar, int on);
|
||
|
#define plat_setup_power(ar, on, detect) ar6000_dt_setup_power(ar, on)
|
||
|
#else
|
||
|
#define plat_setup_power(ar, on, detect) /* define as your function */
|
||
|
#endif
|
||
|
|
||
|
#endif /* _HOST_WLAN_CONFIG_H_ */
|