blob: be972afe6e620f0f32df1c65048cc40d59c0cedc [file] [log] [blame]
/* ///////////////////////////////////////////////////////////////////////// */
/* */
/* Copyright (c) Atmel Corporation. All rights reserved. */
/* */
/* Module Name: wilc_wlan_if.h */
/* */
/* */
/* ///////////////////////////////////////////////////////////////////////// */
#ifndef WILC_WLAN_IF_H
#define WILC_WLAN_IF_H
#include <linux/semaphore.h>
#include "linux_wlan_common.h"
/********************************************
*
* Debug Flags
*
********************************************/
#define N_INIT 0x00000001
#define N_ERR 0x00000002
#define N_TXQ 0x00000004
#define N_INTR 0x00000008
#define N_RXQ 0x00000010
/********************************************
*
* Host Interface Defines
*
********************************************/
#define HIF_SDIO (0)
#define HIF_SPI BIT(0)
#define HIF_SDIO_GPIO_IRQ BIT(2)
/********************************************
*
* Tx/Rx Buffer Size Defines
*
********************************************/
#define CE_TX_BUFFER_SIZE (64 * 1024)
#define CE_RX_BUFFER_SIZE (384 * 1024)
/********************************************
*
* Wlan Interface Defines
*
********************************************/
typedef struct {
u32 read_write: 1;
u32 function: 3;
u32 raw: 1;
u32 address: 17;
u32 data: 8;
} sdio_cmd52_t;
typedef struct {
/* struct { */
u32 read_write: 1;
u32 function: 3;
u32 block_mode: 1;
u32 increment: 1;
u32 address: 17;
u32 count: 9;
/* } bit; */
u8 *buffer;
u32 block_size;
} sdio_cmd53_t;
typedef struct {
int io_type;
int (*io_init)(void *);
void (*io_deinit)(void *);
union {
struct {
int (*sdio_cmd52)(sdio_cmd52_t *);
int (*sdio_cmd53)(sdio_cmd53_t *);
int (*sdio_set_max_speed)(void);
int (*sdio_set_default_speed)(void);
} sdio;
struct {
int (*spi_max_speed)(void);
int (*spi_tx)(u8 *, u32);
int (*spi_rx)(u8 *, u32);
int (*spi_trx)(u8 *, u8 *, u32);
} spi;
} u;
} wilc_wlan_io_func_t;
#define WILC_MAC_INDICATE_STATUS 0x1
#define WILC_MAC_STATUS_INIT -1
#define WILC_MAC_STATUS_READY 0
#define WILC_MAC_STATUS_CONNECT 1
#define WILC_MAC_INDICATE_SCAN 0x2
typedef struct {
void *os_private;
} wilc_wlan_os_context_t;
typedef struct {
wilc_wlan_os_context_t os_context;
wilc_wlan_io_func_t io_func;
} wilc_wlan_inp_t;
struct tx_complete_data {
int size;
void *buff;
u8 *pBssid;
struct sk_buff *skb;
};
typedef void (*wilc_tx_complete_func_t)(void *, int);
#define WILC_TX_ERR_NO_BUF (-2)
/********************************************
*
* Wlan Configuration ID
*
********************************************/
#define MAX_SSID_LEN 33
#define MAX_RATES_SUPPORTED 12
#define INFINITE_SLEEP_TIME ((u32)0xFFFFFFFF)
typedef enum {
SUPP_RATES_IE = 1,
EXT_SUPP_RATES_IE = 50,
HT_CAPABILITY_IE = 45,
RSN_IE = 48,
WPA_IE = 221,
WMM_IE = 221,
P2P_IE = 221,
} BEACON_IE;
typedef enum {
INFRASTRUCTURE = 0,
INDEPENDENT,
AP,
} BSSTYPE_T;
typedef enum {
RATE_AUTO = 0,
RATE_1MB = 1,
RATE_2MB = 2,
RATE_5MB = 5,
RATE_6MB = 6,
RATE_9MB = 9,
RATE_11MB = 11,
RATE_12MB = 12,
RATE_18MB = 18,
RATE_24MB = 24,
RATE_26MB = 36,
RATE_48MB = 48,
RATE_54MB = 54
} TX_RATE_T;
typedef enum {
B_ONLY_MODE = 0, /* 1, 2 M, otherwise 5, 11 M */
G_ONLY_MODE, /* 6,12,24 otherwise 9,18,36,48,54 */
G_MIXED_11B_1_MODE, /* 1,2,5.5,11 otherwise all on */
G_MIXED_11B_2_MODE, /* 1,2,5,11,6,12,24 otherwise all on */
} G_OPERATING_MODE_T;
typedef enum {
G_SHORT_PREAMBLE = 0, /* Short Preamble */
G_LONG_PREAMBLE = 1, /* Long Preamble */
G_AUTO_PREAMBLE = 2, /* Auto Preamble Selection */
} G_PREAMBLE_T;
#define MAC_CONNECTED 1
#define MAC_DISCONNECTED 0
#define SCAN_DONE TRUE
typedef enum {
PASSIVE_SCAN = 0,
ACTIVE_SCAN = 1,
} SCANTYPE_T;
typedef enum {
NO_POWERSAVE = 0,
MIN_FAST_PS = 1,
MAX_FAST_PS = 2,
MIN_PSPOLL_PS = 3,
MAX_PSPOLL_PS = 4
} USER_PS_MODE_T;
typedef enum {
CHIP_WAKEDUP = 0,
CHIP_SLEEPING_AUTO = 1,
CHIP_SLEEPING_MANUAL = 2
} CHIP_PS_STATE_T;
typedef enum {
ACQUIRE_ONLY = 0,
ACQUIRE_AND_WAKEUP = 1,
} BUS_ACQUIRE_T;
typedef enum {
RELEASE_ONLY = 0,
RELEASE_ALLOW_SLEEP = 1,
} BUS_RELEASE_T;
typedef enum {
NO_SECURITY = 0,
WEP_40 = 0x3,
WEP_104 = 0x7,
WPA_AES = 0x29,
WPA_TKIP = 0x49,
WPA_AES_TKIP = 0x69, /* Aes or Tkip */
WPA2_AES = 0x31,
WPA2_TKIP = 0x51,
WPA2_AES_TKIP = 0x71, /* Aes or Tkip */
} SECURITY_T;
enum AUTHTYPE {
OPEN_SYSTEM = 1,
SHARED_KEY = 2,
ANY = 3,
IEEE8021 = 5
};
enum SITESURVEY {
SITE_SURVEY_1CH = 0,
SITE_SURVEY_ALL_CH = 1,
SITE_SURVEY_OFF = 2
};
typedef enum {
NORMAL_ACK = 0,
NO_ACK,
} ACK_POLICY_T;
typedef enum {
DONT_RESET = 0,
DO_RESET = 1,
NO_REQUEST = 2,
} RESET_REQ_T;
typedef enum {
REKEY_DISABLE = 1,
REKEY_TIME_BASE,
REKEY_PKT_BASE,
REKEY_TIME_PKT_BASE
} RSNA_REKEY_POLICY_T;
typedef enum {
FILTER_NO = 0x00,
FILTER_AP_ONLY = 0x01,
FILTER_STA_ONLY = 0x02
} SCAN_CLASS_FITLER_T;
typedef enum {
PRI_HIGH_RSSI = 0x00,
PRI_LOW_RSSI = 0x04,
PRI_DETECT = 0x08
} SCAN_PRI_T;
typedef enum {
CH_FILTER_OFF = 0x00,
CH_FILTER_ON = 0x10
} CH_FILTER_T;
typedef enum {
AUTO_PROT = 0, /* Auto */
NO_PROT, /* Do not use any protection */
ERP_PROT, /* Protect all ERP frame exchanges */
HT_PROT, /* Protect all HT frame exchanges */
GF_PROT, /* Protect all GF frame exchanges */
} N_PROTECTION_MODE_T;
typedef enum {
G_SELF_CTS_PROT,
G_RTS_CTS_PROT,
} G_PROTECTION_MODE_T;
typedef enum {
HT_MIXED_MODE = 1,
HT_ONLY_20MHZ_MODE,
HT_ONLY_20_40MHZ_MODE,
} N_OPERATING_MODE_T;
typedef enum {
NO_DETECT = 0,
DETECT_ONLY = 1,
DETECT_PROTECT = 2,
DETECT_PROTECT_REPORT = 3,
} N_OBSS_DETECTION_T;
typedef enum {
RTS_CTS_NONHT_PROT = 0, /* RTS-CTS at non-HT rate */
FIRST_FRAME_NONHT_PROT, /* First frame at non-HT rate */
LSIG_TXOP_PROT, /* LSIG TXOP Protection */
FIRST_FRAME_MIXED_PROT, /* First frame at Mixed format */
} N_PROTECTION_TYPE_T;
typedef enum {
STATIC_MODE = 1,
DYNAMIC_MODE = 2,
MIMO_MODE = 3, /* power save disable */
} N_SMPS_MODE_T;
typedef enum {
DISABLE_SELF_CTS,
ENABLE_SELF_CTS,
DISABLE_TX_ABORT,
ENABLE_TX_ABORT,
HW_TRIGGER_ABORT,
SW_TRIGGER_ABORT,
} TX_ABORT_OPTION_T;
enum WID_TYPE {
WID_CHAR = 0,
WID_SHORT = 1,
WID_INT = 2,
WID_STR = 3,
WID_BIN_DATA = 4,
WID_BIN = 5,
WID_IP = 6,
WID_ADR = 7,
WID_UNDEF = 8,
WID_TYPE_FORCE_32BIT = 0xFFFFFFFF
};
typedef enum {
WID_NIL = 0xffff,
/*
* BSS Type
* -----------------------------------------------------------
* Configuration : Infrastructure Independent Access Point
* Values to set : 0 1 2
* -----------------------------------------------------------
*/
WID_BSS_TYPE = 0x0000,
/*
* Transmit Rate
* -----------------------------------------------------------
* Configuration : 1 2 5.5 11 6 9 12 18 24 36 48 54
* Values to set : 1 2 5 11 6 9 12 18 24 36 48 54
* -----------------------------------------------------------
*/
WID_CURRENT_TX_RATE = 0x0001,
/*
* Channel
* -----------------------------------------------------------
* Configuration(g) : 1 2 3 4 5 6 7 8 9 10 11 12 13 14
* Values to set : 1 2 3 4 5 6 7 8 9 10 11 12 13 14
* -----------------------------------------------------------
*/
WID_CURRENT_CHANNEL = 0x0002,
/*
* Preamble
* -----------------------------------------------------------
* Configuration : short long Auto
* Values to set : 0 1 2
* -----------------------------------------------------------
*/
WID_PREAMBLE = 0x0003,
/*
* 11g operating mode (ignored if 11g not present)
* -----------------------------------------------------------
* Configuration : HighPerf Compat(RSet #1) Compat(RSet #2)
* Values to set : 1 2 3
* -----------------------------------------------------------
*/
WID_11G_OPERATING_MODE = 0x0004,
/*
* Mac status (response only)
* -----------------------------------------------------------
* Configuration : disconnect connect
* Values to get : 0 1
* -----------------------------------------------------------
*/
WID_STATUS = 0x0005,
/*
* Scan type
* -----------------------------------------------------------
* Configuration : Passive Scanning Active Scanning
* Values to set : 0 1
* -----------------------------------------------------------
*/
WID_SCAN_TYPE = 0x0007,
/*
* Key Id (WEP default key Id)
* -----------------------------------------------------------
* Configuration : Any value between 0 to 3
* Values to set : Same value. Default is 0
* -----------------------------------------------------------
*/
WID_KEY_ID = 0x0009,
/*
* QoS Enable
* -----------------------------------------------------------
* Configuration : QoS Disable WMM Enable
* Values to set : 0 1
* -----------------------------------------------------------
*/
WID_QOS_ENABLE = 0x000A,
/*
* Power Management
* -----------------------------------------------------------
* Configuration : NO_POWERSAVE MIN_POWERSAVE MAX_POWERSAVE
* Values to set : 0 1 2
* -----------------------------------------------------------
*/
WID_POWER_MANAGEMENT = 0x000B,
/*
* WEP/802 11I Configuration
* -----------------------------------------------------------
* Configuration:Disable WP40 WP104 WPA-AES WPA-TKIP RSN-AES RSN-TKIP
* Values (0x) : 00 03 07 29 49 31 51
* Configuration:WPA-AES+TKIP RSN-AES+TKIP
* Values (0x) : 69 71
* -----------------------------------------------------------
*/
WID_11I_MODE = 0x000C,
/*
* WEP Configuration: Used in BSS STA mode only when WEP is enabled
* -----------------------------------------------------------
* Configuration : Open System Shared Key Any Type | 802.1x Auth
* Values (0x) : 01 02 03 | BIT2
* -----------------------------------------------------------
*/
WID_AUTH_TYPE = 0x000D,
/*
* Site Survey Type
* -----------------------------------------------------------
* Configuration : Values to set
* Survey 1 Channel : 0
* survey all Channels : 1
* Disable Site Survey : 2
* -----------------------------------------------------------
*/
WID_SITE_SURVEY = 0x000E,
/*
* Listen Interval
* -----------------------------------------------------------
* Configuration : Any value between 1 to 255
* Values to set : Same value. Default is 3
* -----------------------------------------------------------
*/
WID_LISTEN_INTERVAL = 0x000F,
/*
* DTIM Period
* -----------------------------------------------------------
* Configuration : Any value between 1 to 255
* Values to set : Same value. Default is 3
* -----------------------------------------------------------
*/
WID_DTIM_PERIOD = 0x0010,
/*
* ACK Policy
* -----------------------------------------------------------
* Configuration : Normal Ack No Ack
* Values to set : 0 1
* -----------------------------------------------------------
*/
WID_ACK_POLICY = 0x0011,
/*
* Reset MAC (Set only)
* -----------------------------------------------------------
* Configuration : Don't Reset Reset No Request
* Values to set : 0 1 2
* -----------------------------------------------------------
*/
WID_RESET = 0x0012,
/*
* Broadcast SSID Option: Setting this will adhere to "" SSID element
* -----------------------------------------------------------
* Configuration : Enable Disable
* Values to set : 1 0
* -----------------------------------------------------------
*/
WID_BCAST_SSID = 0x0015,
/*
* Disconnect (Station)
* -----------------------------------------------------------
* Configuration : Association ID
* Values to set : Association ID
* -----------------------------------------------------------
*/
WID_DISCONNECT = 0x0016,
/*
* 11a Tx Power Level
* -----------------------------------------------------------
* Configuration : Sets TX Power (Higher the value greater the power)
* Values to set : Any value between 0 and 63 (inclusive Default 48)
* -----------------------------------------------------------
*/
WID_TX_POWER_LEVEL_11A = 0x0018,
/*
* Group Key Update Policy Selection
* -----------------------------------------------------------
* Configuration : Disabled timeBased packetBased timePacketBased
* Values to set : 1 2 3 4
* -----------------------------------------------------------
*/
WID_REKEY_POLICY = 0x0019,
/*
* Allow Short Slot
* -----------------------------------------------------------
* Configuration : Disallow Short Slot Allow Short Slot
* (Enable Only Long Slot) (Enable Short Slot if applicable)
* Values to set : 0 1
* -----------------------------------------------------------
*/
WID_SHORT_SLOT_ALLOWED = 0x001A,
WID_PHY_ACTIVE_REG = 0x001B,
/*
* 11b Tx Power Level
* -----------------------------------------------------------
* Configuration : Sets TX Power (Higher the value greater the power)
* Values to set : Any value between 0 and 63 (inclusive Default 48)
* -----------------------------------------------------------
*/
WID_TX_POWER_LEVEL_11B = 0x001D,
/*
* Scan Request
* -----------------------------------------------------------
* Configuration : Request default scan
* Values to set : 0
* -----------------------------------------------------------
*/
WID_START_SCAN_REQ = 0x001E,
/*
* Rssi (get only)
* -----------------------------------------------------------
* Configuration :
* Values to get : Rssi value
* -----------------------------------------------------------
*/
WID_RSSI = 0x001F,
/*
* Join Request
* -----------------------------------------------------------
* Configuration : Request to join
* Values to set : index of scan result
* -----------------------------------------------------------
*/
WID_JOIN_REQ = 0x0020,
WID_LINKSPEED = 0x0026,
/*
* Enable User Control of TX Power
* -----------------------------------------------------------
* Configuration : Disable Enable
* Values to set : 0 1
* -----------------------------------------------------------
*/
WID_USER_CONTROL_ON_TX_POWER = 0x0027,
WID_MEMORY_ACCESS_8BIT = 0x0029,
/*
* Enable Auto RX Sensitivity feature
* -----------------------------------------------------------
* Configuration : Disable Enable
* Values to set : 0 1
* -----------------------------------------------------------
*/
WID_AUTO_RX_SENSITIVITY = 0x0032,
/*
* Receive Buffer Based Ack
* -----------------------------------------------------------
* Configuration : Disable Enable
* Values to set : 0 1
* -----------------------------------------------------------
*/
WID_DATAFLOW_CONTROL = 0x0033,
/*
* Scan Filter
* -----------------------------------------------------------
* Configuration : Class No filter AP only Station Only
* Values to set : 0 1 2
* Configuration : Priority High Rssi Low Rssi Detect
* Values to set : 0 0x4 0x0
* Configuration : Channel filter off filter on
* Values to set : 0 0x10
* -----------------------------------------------------------
*/
WID_SCAN_FILTER = 0x0036,
/*
* Link Loss Threshold (measure in the beacon period)
* -----------------------------------------------------------
* Configuration : Any value between 10 and 254(Set to 255 disable)
* Values to set : Same value. Default is 10
* -----------------------------------------------------------
*/
WID_LINK_LOSS_THRESHOLD = 0x0037,
WID_ABORT_RUNNING_SCAN = 0x003E,
/* NMAC Character WID list */
WID_WPS_START = 0x0043,
/*
* Protection mode for MAC
* -----------------------------------------------------------
* Configuration : Auto No protection ERP HT GF
* Values to set : 0 1 2 3 4
* -----------------------------------------------------------
*/
WID_11N_PROT_MECH = 0x0080,
/*
* ERP Protection type for MAC
* -----------------------------------------------------------
* Configuration : Self-CTS RTS-CTS
* Values to set : 0 1
* -----------------------------------------------------------
*/
WID_11N_ERP_PROT_TYPE = 0x0081,
/*
* HT Option Enable
* -----------------------------------------------------------
* Configuration : HT Enable HT Disable
* Values to set : 1 0
* -----------------------------------------------------------
*/
WID_11N_ENABLE = 0x0082,
/*
* 11n Operating mode (Note that 11g operating mode will also be
* used in addition to this, if this is set to HT Mixed mode)
* -----------------------------------------------------------
* Configuration : HT Mixed HT Only-20MHz HT Only-20/40MHz
* Values to set : 1 2 3
* -----------------------------------------------------------
*/
WID_11N_OPERATING_MODE = 0x0083,
/*
* 11n OBSS non-HT STA Detection flag
* -----------------------------------------------------------
* Configuration : Do not detect
* Values to set : 0
* Configuration : Detect, do not protect or report
* Values to set : 1
* Configuration : Detect, protect and do not report
* Values to set : 2
* Configuration : Detect, protect and report to other BSS
* Values to set : 3
* -----------------------------------------------------------
*/
WID_11N_OBSS_NONHT_DETECTION = 0x0084,
/*
* 11n HT Protection Type
* -----------------------------------------------------------
* Configuration : RTS-CTS First Frame Exchange at non-HT-rate
* Values to set : 0 1
* Configuration : LSIG TXOP First Frame Exchange in Mixed Fmt
* Values to set : 2 3
* -----------------------------------------------------------
*/
WID_11N_HT_PROT_TYPE = 0x0085,
/*
* 11n RIFS Protection Enable Flag
* -----------------------------------------------------------
* Configuration : Disable Enable
* Values to set : 0 1
* -----------------------------------------------------------
*/
WID_11N_RIFS_PROT_ENABLE = 0x0086,
/*
* SMPS Mode
* -----------------------------------------------------------
* Configuration : Static Dynamic MIMO (Power Save Disabled)
* Values to set : 1 2 3
* -----------------------------------------------------------
*/
WID_11N_SMPS_MODE = 0x0087,
/*
* Current transmit MCS
* -----------------------------------------------------------
* Configuration : MCS Index for data rate
* Values to set : 0 to 7
* -----------------------------------------------------------
*/
WID_11N_CURRENT_TX_MCS = 0x0088,
WID_11N_PRINT_STATS = 0x0089,
/*
* 11n Short GI Enable Flag
* -----------------------------------------------------------
* Configuration : Disable Enable
* Values to set : 0 1
* -----------------------------------------------------------
*/
WID_11N_SHORT_GI_ENABLE = 0x008D,
/*
* 11n RIFS Enable Flag
* -----------------------------------------------------------
* Configuration : Disable Enable
* Values to set : 0 1
* -----------------------------------------------------------
*/
WID_RIFS_MODE = 0x0094,
/*
* TX Abort Feature
* -----------------------------------------------------------
* Configuration : Disable Self CTS Enable Self CTS
* Values to set : 0 1
* Configuration : Disable TX Abort Enable TX Abort
* Values to set : 2 3
* Configuration : Enable HW TX Abort Enable SW TX Abort
* Values to set : 4 5
* -----------------------------------------------------------
*/
WID_TX_ABORT_CONFIG = 0x00A1,
WID_REG_TSSI_11B_VALUE = 0x00A6,
WID_REG_TSSI_11G_VALUE = 0x00A7,
WID_REG_TSSI_11N_VALUE = 0x00A8,
WID_TX_CALIBRATION = 0x00A9,
WID_DSCR_TSSI_11B_VALUE = 0x00AA,
WID_DSCR_TSSI_11G_VALUE = 0x00AB,
WID_DSCR_TSSI_11N_VALUE = 0x00AC,
/*
* Immediate Block-Ack Support
* -----------------------------------------------------------
* Configuration : Disable Enable
* Values to set : 0 1
* -----------------------------------------------------------
*/
WID_11N_IMMEDIATE_BA_ENABLED = 0x00AF,
/*
* TXOP Disable Flag
* -----------------------------------------------------------
* Configuration : Disable Enable
* Values to set : 1 0
* -----------------------------------------------------------
*/
WID_11N_TXOP_PROT_DISABLE = 0x00B0,
WID_TX_POWER_LEVEL_11N = 0x00B1,
/* Custom Character WID list */
WID_PC_TEST_MODE = 0x00C8,
/* SCAN Complete notification WID*/
WID_SCAN_COMPLETE = 0x00C9,
WID_DEL_BEACON = 0x00CA,
WID_LOGTerminal_Switch = 0x00CD,
/* EMAC Short WID list */
/* RTS Threshold */
/*
* -----------------------------------------------------------
* Configuration : Any value between 256 to 2347
* Values to set : Same value. Default is 2347
* -----------------------------------------------------------
*/
WID_RTS_THRESHOLD = 0x1000,
/*
* Fragmentation Threshold
* -----------------------------------------------------------
* Configuration : Any value between 256 to 2346
* Values to set : Same value. Default is 2346
* -----------------------------------------------------------
*/
WID_FRAG_THRESHOLD = 0x1001,
WID_SHORT_RETRY_LIMIT = 0x1002,
WID_LONG_RETRY_LIMIT = 0x1003,
WID_BEACON_INTERVAL = 0x1006,
WID_MEMORY_ACCESS_16BIT = 0x1008,
WID_RX_SENSE = 0x100B,
WID_ACTIVE_SCAN_TIME = 0x100C,
WID_PASSIVE_SCAN_TIME = 0x100D,
WID_SITE_SURVEY_SCAN_TIME = 0x100E,
WID_JOIN_START_TIMEOUT = 0x100F,
WID_AUTH_TIMEOUT = 0x1010,
WID_ASOC_TIMEOUT = 0x1011,
WID_11I_PROTOCOL_TIMEOUT = 0x1012,
WID_EAPOL_RESPONSE_TIMEOUT = 0x1013,
/* NMAC Short WID list */
WID_11N_SIG_QUAL_VAL = 0x1085,
WID_CCA_THRESHOLD = 0x1087,
/* Custom Short WID list */
/* EMAC Integer WID list */
WID_FAILED_COUNT = 0x2000,
WID_RETRY_COUNT = 0x2001,
WID_MULTIPLE_RETRY_COUNT = 0x2002,
WID_FRAME_DUPLICATE_COUNT = 0x2003,
WID_ACK_FAILURE_COUNT = 0x2004,
WID_RECEIVED_FRAGMENT_COUNT = 0x2005,
WID_MCAST_RECEIVED_FRAME_COUNT = 0x2006,
WID_FCS_ERROR_COUNT = 0x2007,
WID_SUCCESS_FRAME_COUNT = 0x2008,
WID_HUT_TX_COUNT = 0x200A,
WID_TX_FRAGMENT_COUNT = 0x200B,
WID_TX_MULTICAST_FRAME_COUNT = 0x200C,
WID_RTS_SUCCESS_COUNT = 0x200D,
WID_RTS_FAILURE_COUNT = 0x200E,
WID_WEP_UNDECRYPTABLE_COUNT = 0x200F,
WID_REKEY_PERIOD = 0x2010,
WID_REKEY_PACKET_COUNT = 0x2011,
WID_1X_SERV_ADDR = 0x2012,
WID_STACK_IP_ADDR = 0x2013,
WID_STACK_NETMASK_ADDR = 0x2014,
WID_HW_RX_COUNT = 0x2015,
WID_MEMORY_ADDRESS = 0x201E,
WID_MEMORY_ACCESS_32BIT = 0x201F,
WID_RF_REG_VAL = 0x2021,
/* NMAC Integer WID list */
WID_11N_PHY_ACTIVE_REG_VAL = 0x2080,
/* Custom Integer WID list */
WID_GET_INACTIVE_TIME = 0x2084,
WID_SET_DRV_HANDLER = 0X2085,
WID_SET_OPERATION_MODE = 0X2086,
/* EMAC String WID list */
WID_SSID = 0x3000,
WID_FIRMWARE_VERSION = 0x3001,
WID_OPERATIONAL_RATE_SET = 0x3002,
WID_BSSID = 0x3003,
WID_WEP_KEY_VALUE = 0x3004,
WID_11I_PSK = 0x3008,
WID_11E_P_ACTION_REQ = 0x3009,
WID_1X_KEY = 0x300A,
WID_HARDWARE_VERSION = 0x300B,
WID_MAC_ADDR = 0x300C,
WID_HUT_DEST_ADDR = 0x300D,
WID_PHY_VERSION = 0x300F,
WID_SUPP_USERNAME = 0x3010,
WID_SUPP_PASSWORD = 0x3011,
WID_SITE_SURVEY_RESULTS = 0x3012,
WID_RX_POWER_LEVEL = 0x3013,
WID_DEL_ALL_RX_BA = 0x3014,
WID_SET_STA_MAC_INACTIVE_TIME = 0x3017,
WID_ADD_WEP_KEY = 0x3019,
WID_REMOVE_WEP_KEY = 0x301A,
WID_ADD_PTK = 0x301B,
WID_ADD_RX_GTK = 0x301C,
WID_ADD_TX_GTK = 0x301D,
WID_REMOVE_KEY = 0x301E,
WID_ASSOC_REQ_INFO = 0x301F,
WID_ASSOC_RES_INFO = 0x3020,
WID_MANUFACTURER = 0x3026, /*Added for CAPI tool */
WID_MODEL_NAME = 0x3027, /*Added for CAPI tool */
WID_MODEL_NUM = 0x3028, /*Added for CAPI tool */
WID_DEVICE_NAME = 0x3029, /*Added for CAPI tool */
/* NMAC String WID list */
WID_11N_P_ACTION_REQ = 0x3080,
WID_HUT_TEST_ID = 0x3081,
WID_PMKID_INFO = 0x3082,
WID_FIRMWARE_INFO = 0x3083,
WID_REGISTER_FRAME = 0x3084,
WID_DEL_ALL_STA = 0x3085,
WID_REMAIN_ON_CHAN = 0x3996,
WID_SSID_PROBE_REQ = 0x3997,
WID_JOIN_REQ_EXTENDED = 0x3998,
WID_IP_ADDRESS = 0x3999,
/* Custom String WID list */
/* EMAC Binary WID list */
WID_UAPSD_CONFIG = 0x4001,
WID_UAPSD_STATUS = 0x4002,
WID_WMM_AP_AC_PARAMS = 0x4003,
WID_WMM_STA_AC_PARAMS = 0x4004,
WID_NETWORK_INFO = 0x4005,
WID_STA_JOIN_INFO = 0x4006,
WID_CONNECTED_STA_LIST = 0x4007,
/* NMAC Binary WID list */
WID_11N_AUTORATE_TABLE = 0x4080,
WID_SCAN_CHANNEL_LIST = 0x4084,
WID_INFO_ELEMENT_PROBE = 0x4085,
WID_INFO_ELEMENT_ASSOCIATE = 0x4086,
WID_ADD_STA = 0X4087,
WID_REMOVE_STA = 0X4088,
WID_EDIT_STA = 0X4089,
WID_ADD_BEACON = 0x408a,
WID_SETUP_MULTICAST_FILTER = 0x408b,
/* Miscellaneous WIDs */
WID_ALL = 0x7FFE,
WID_MAX = 0xFFFF
} WID_T;
int wilc_wlan_init(wilc_wlan_inp_t *inp);
void wilc_bus_set_max_speed(void);
void wilc_bus_set_default_speed(void);
u32 wilc_get_chipid(u8 update);
#endif