//------------------------------------------------------------------------------ // 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_ */