| /* ////////////////////////////////////////////////////////////////////////// */ |
| /* */ |
| /* Copyright (c) Atmel Corporation. All rights reserved. */ |
| /* */ |
| /* Module Name: wilc_wlan_if.h */ |
| /* */ |
| /* */ |
| /* ///////////////////////////////////////////////////////////////////////// */ |
| |
| |
| #ifndef WILC_WLAN_IF_H |
| #define WILC_WLAN_IF_H |
| |
| /*bug 3887: [AP] Allow Management frames to be passed to the host*/ |
| #define WILC_AP_EXTERNAL_MLME |
| #define WILC_P2P |
| #define TCP_ENHANCEMENTS |
| /* #define MEMORY_STATIC */ |
| /* #define WILC_FULLY_HOSTING_AP */ |
| /* #define USE_OLD_SPI_SW */ |
| |
| |
| #include "wilc_oswrapper.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 { |
| uint32_t read_write: 1; |
| uint32_t function: 3; |
| uint32_t raw: 1; |
| uint32_t address: 17; |
| uint32_t data: 8; |
| } sdio_cmd52_t; |
| |
| typedef struct { |
| /* struct { */ |
| uint32_t read_write: 1; |
| uint32_t function: 3; |
| uint32_t block_mode: 1; |
| uint32_t increment: 1; |
| uint32_t address: 17; |
| uint32_t count: 9; |
| /* } bit; */ |
| uint8_t *buffer; |
| uint32_t block_size; |
| } sdio_cmd53_t; |
| |
| typedef struct { |
| void (*os_sleep)(uint32_t); |
| void (*os_atomic_sleep)(uint32_t); |
| void (*os_debug)(uint8_t *); |
| void *(*os_malloc)(uint32_t); |
| void *(*os_malloc_atomic)(uint32_t); |
| void (*os_free)(void *); |
| void (*os_lock)(void *); |
| void (*os_unlock)(void *); |
| int (*os_wait)(void *, u32); |
| void (*os_signal)(void *); |
| void (*os_enter_cs)(void *); |
| void (*os_leave_cs)(void *); |
| |
| /*Added by Amr - BugID_4720*/ |
| void (*os_spin_lock)(void *, unsigned long *); |
| void (*os_spin_unlock)(void *, unsigned long *); |
| |
| } wilc_wlan_os_func_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)(uint8_t *, uint32_t); |
| int (*spi_rx)(uint8_t *, uint32_t); |
| int (*spi_trx)(uint8_t *, uint8_t *, uint32_t); |
| } spi; |
| } u; |
| } wilc_wlan_io_func_t; |
| |
| typedef struct { |
| void (*rx_indicate)(uint8_t *, uint32_t, uint32_t); |
| void (*rx_complete)(void); |
| } wilc_wlan_net_func_t; |
| |
| typedef struct { |
| void (*mac_indicate)(int); |
| } wilc_wlan_indicate_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; |
| |
| void *hif_critical_section; |
| |
| uint32_t tx_buffer_size; |
| void *txq_critical_section; |
| |
| /*Added by Amr - BugID_4720*/ |
| void *txq_add_to_head_critical_section; |
| void *txq_spin_lock; |
| |
| void *txq_wait_event; |
| |
| #if defined(MEMORY_STATIC) |
| uint32_t rx_buffer_size; |
| #endif |
| void *rxq_critical_section; |
| void *rxq_wait_event; |
| |
| void *cfg_wait_event; |
| } wilc_wlan_os_context_t; |
| |
| typedef struct { |
| wilc_wlan_os_context_t os_context; |
| wilc_wlan_os_func_t os_func; |
| wilc_wlan_io_func_t io_func; |
| wilc_wlan_net_func_t net_func; |
| wilc_wlan_indicate_func_t indicate_func; |
| } wilc_wlan_inp_t; |
| |
| struct tx_complete_data { |
| #ifdef WILC_FULLY_HOSTING_AP |
| struct tx_complete_data *next; |
| #endif |
| int size; |
| void *buff; |
| uint8_t *pBssid; |
| struct sk_buff *skb; |
| }; |
| |
| |
| typedef void (*wilc_tx_complete_func_t)(void *, int); |
| |
| #define WILC_TX_ERR_NO_BUF (-2) |
| |
| typedef struct { |
| int (*wlan_firmware_download)(const uint8_t *, uint32_t); |
| int (*wlan_start)(void); |
| int (*wlan_stop)(void); |
| int (*wlan_add_to_tx_que)(void *, uint8_t *, uint32_t, wilc_tx_complete_func_t); |
| int (*wlan_handle_tx_que)(uint32_t *); |
| void (*wlan_handle_rx_que)(void); |
| void (*wlan_handle_rx_isr)(void); |
| void (*wlan_cleanup)(void); |
| int (*wlan_cfg_set)(int, uint32_t, uint8_t *, uint32_t, int, uint32_t); |
| int (*wlan_cfg_get)(int, uint32_t, int, uint32_t); |
| int (*wlan_cfg_get_value)(uint32_t, uint8_t *, uint32_t); |
| /*Bug3959: transmitting mgmt frames received from host*/ |
| #if defined(WILC_AP_EXTERNAL_MLME) || defined(WILC_P2P) |
| int (*wlan_add_mgmt_to_tx_que)(void *, uint8_t *, uint32_t, wilc_tx_complete_func_t); |
| |
| #ifdef WILC_FULLY_HOSTING_AP |
| int (*wlan_add_data_to_tx_que)(void *, uint8_t *, uint32_t, wilc_tx_complete_func_t); |
| #endif |
| |
| #endif |
| } wilc_wlan_oup_t; |
| |
| /******************************************** |
| * |
| * Wlan Configuration ID |
| * |
| ********************************************/ |
| |
| #define MAX_SSID_LEN 33 |
| #define MAX_RATES_SUPPORTED 12 |
| |
| #define INFINITE_SLEEP_TIME ((u32)0xFFFFFFFF) |
| |
| #ifdef WILC_PARSE_SCAN_IN_HOST |
| typedef enum { |
| SUPP_RATES_IE = 1, |
| EXT_SUPP_RATES_IE = 50, |
| HT_CAPABILITY_IE = 45, |
| RSN_IE = 48, |
| WPA_IE = 221, |
| WMM_IE = 221, |
| #ifdef WILC_P2P |
| P2P_IE = 221, |
| #endif |
| } BEACON_IE; |
| #endif |
| 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, /* basic rate: 1, 2 Mbps, otherwise: 5, 11 Mbps */ |
| G_ONLY_MODE, /* basic rate: 6, 12, 24 Mbps, otherwise: 9, 18, 36, 48, 54 Mbps */ |
| G_MIXED_11B_1_MODE, /* basic rate: 1, 2, 5.5, 11 Mbps, otherwise: all on */ |
| G_MIXED_11B_2_MODE, /* basic rate: 1, 2, 5, 11, 6, 12, 24 Mbps, 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 |
| |
| /*bug3819: */ |
| #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; |
| |
| typedef enum { |
| OPEN_SYSTEM = 1, |
| SHARED_KEY = 2, |
| ANY = 3, |
| IEEE8021 = 5 |
| } AUTHTYPE_T; |
| |
| typedef enum { |
| SITE_SURVEY_1CH = 0, |
| SITE_SURVEY_ALL_CH = 1, |
| SITE_SURVEY_OFF = 2 |
| } SITE_SURVEY_T; |
| |
| 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; |
| |
| typedef enum { |
| 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 |
| |
| } WID_TYPE_T, tenuWIDtype; |
| |
| 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 is 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 is 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 0x08 */ |
| /* 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 to disable it) */ |
| /* Values to set : Same value. Default is 10 */ |
| /* -------------------------------------------------------------------- */ |
| WID_LINK_LOSS_THRESHOLD = 0x0037, |
| |
| /*BugID_4978*/ |
| 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, |
| /*bug3819: */ |
| /* SCAN Complete notification WID*/ |
| WID_SCAN_COMPLETE = 0x00C9, |
| |
| #ifdef WILC_AP_EXTERNAL_MLME |
| WID_DEL_BEACON = 0x00CA, |
| #endif |
| |
| 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, |
| #ifdef WILC_P2P |
| WID_REGISTER_FRAME = 0x3084, |
| #endif |
| WID_DEL_ALL_STA = 0x3085, |
| #ifdef WILC_P2P |
| WID_REMAIN_ON_CHAN = 0x3996, |
| #endif |
| /*BugID_4156*/ |
| WID_SSID_PROBE_REQ = 0x3997, |
| /*BugID_4124 WID to trigger modified Join Request using SSID and BSSID instead of bssListIdx (used by WID_JOIN_REQ)*/ |
| WID_JOIN_REQ_EXTENDED = 0x3998, |
| |
| /* BugID 4951: WID toset IP address in firmware */ |
| 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, |
| |
| |
| /*Added here by Amr - BugID 4134*/ |
| WID_SCAN_CHANNEL_LIST = 0x4084, |
| |
| /*BugID_3746 WID to add IE to be added in next probe request*/ |
| WID_INFO_ELEMENT_PROBE = 0x4085, |
| /*BugID_3746 WID to add IE to be added in next associate request*/ |
| WID_INFO_ELEMENT_ASSOCIATE = 0x4086, |
| WID_ADD_STA = 0X4087, |
| WID_REMOVE_STA = 0X4088, |
| WID_EDIT_STA = 0X4089, |
| WID_ADD_BEACON = 0x408a, |
| |
| /* BugID 5108 */ |
| WID_SETUP_MULTICAST_FILTER = 0x408b, |
| |
| /* Miscellaneous WIDs */ |
| WID_ALL = 0x7FFE, |
| WID_MAX = 0xFFFF |
| } WID_T; |
| |
| int wilc_wlan_init(wilc_wlan_inp_t *inp, wilc_wlan_oup_t *oup); |
| |
| void wilc_bus_set_max_speed(void); |
| void wilc_bus_set_default_speed(void); |
| uint32_t wilc_get_chipid(uint8_t update); |
| |
| |
| #endif |