staging: wilc1000: remove useless comment
[firefly-linux-kernel-4.4.55.git] / drivers / staging / wilc1000 / wilc_wlan_if.h
1 /* ////////////////////////////////////////////////////////////////////////// */
2 /*  */
3 /* Copyright (c) Atmel Corporation.  All rights reserved. */
4 /*  */
5 /* Module Name:  wilc_wlan_if.h */
6 /*  */
7 /*  */
8 /* ///////////////////////////////////////////////////////////////////////// */
9
10
11 #ifndef WILC_WLAN_IF_H
12 #define WILC_WLAN_IF_H
13
14 /* #define MEMORY_STATIC */
15 /* #define USE_OLD_SPI_SW */
16
17
18 #include "wilc_oswrapper.h"
19 #include "linux_wlan_common.h"
20
21
22 /********************************************
23  *
24  *      Debug Flags
25  *
26  ********************************************/
27
28 #define N_INIT          0x00000001
29 #define N_ERR           0x00000002
30 #define N_TXQ           0x00000004
31 #define N_INTR          0x00000008
32 #define N_RXQ           0x00000010
33
34 /********************************************
35  *
36  *      Host Interface Defines
37  *
38  ********************************************/
39
40 #define HIF_SDIO           (0)
41 #define HIF_SPI            BIT(0)
42 #define HIF_SDIO_GPIO_IRQ  BIT(2)
43
44
45 /********************************************
46  *
47  *      Tx/Rx Buffer Size Defines
48  *
49  ********************************************/
50
51 #define CE_TX_BUFFER_SIZE (64 * 1024)
52 #define CE_RX_BUFFER_SIZE (384 * 1024)
53
54 /********************************************
55  *
56  *      Wlan Interface Defines
57  *
58  ********************************************/
59
60 typedef struct {
61         u32 read_write: 1;
62         u32 function: 3;
63         u32 raw: 1;
64         u32 address: 17;
65         u32 data: 8;
66 } sdio_cmd52_t;
67
68 typedef struct {
69         /* struct { */
70         u32 read_write: 1;
71         u32 function: 3;
72         u32 block_mode: 1;
73         u32 increment: 1;
74         u32 address: 17;
75         u32 count: 9;
76         /* } bit; */
77         u8 *buffer;
78         u32 block_size;
79 } sdio_cmd53_t;
80
81 typedef struct {
82         void (*os_debug)(u8 *);
83         int (*os_wait)(void *, u32);
84 } wilc_wlan_os_func_t;
85
86 typedef struct {
87         int io_type;
88         int (*io_init)(void *);
89         void (*io_deinit)(void *);
90         union {
91                 struct {
92                         int (*sdio_cmd52)(sdio_cmd52_t *);
93                         int (*sdio_cmd53)(sdio_cmd53_t *);
94                         int (*sdio_set_max_speed)(void);
95                         int (*sdio_set_default_speed)(void);
96                 } sdio;
97                 struct {
98                         int (*spi_max_speed)(void);
99                         int (*spi_tx)(u8 *, u32);
100                         int (*spi_rx)(u8 *, u32);
101                         int (*spi_trx)(u8 *, u8 *, u32);
102                 } spi;
103         } u;
104 } wilc_wlan_io_func_t;
105
106 typedef struct {
107         void (*rx_indicate)(u8 *, u32, u32);
108         void (*rx_complete)(void);
109 } wilc_wlan_net_func_t;
110
111 typedef struct {
112         void (*mac_indicate)(int);
113 } wilc_wlan_indicate_func_t;
114 #define WILC_MAC_INDICATE_STATUS                0x1
115 #define WILC_MAC_STATUS_INIT    -1
116 #define WILC_MAC_STATUS_READY 0
117 #define WILC_MAC_STATUS_CONNECT 1
118
119 #define WILC_MAC_INDICATE_SCAN          0x2
120
121 typedef struct {
122         void *os_private;
123
124         struct mutex *hif_critical_section;
125
126         u32 tx_buffer_size;
127         void *txq_critical_section;
128
129         void *txq_add_to_head_critical_section;
130         void *txq_spin_lock;
131
132         void *txq_wait_event;
133
134 #if defined(MEMORY_STATIC)
135         u32 rx_buffer_size;
136 #endif
137         void *rxq_critical_section;
138
139         struct semaphore *cfg_wait_event;
140 } wilc_wlan_os_context_t;
141
142 typedef struct {
143         wilc_wlan_os_context_t os_context;
144         wilc_wlan_os_func_t os_func;
145         wilc_wlan_io_func_t io_func;
146         wilc_wlan_net_func_t net_func;
147         wilc_wlan_indicate_func_t indicate_func;
148 } wilc_wlan_inp_t;
149
150 struct tx_complete_data {
151         int size;
152         void *buff;
153         u8 *pBssid;
154         struct sk_buff *skb;
155 };
156
157
158 typedef void (*wilc_tx_complete_func_t)(void *, int);
159
160 #define WILC_TX_ERR_NO_BUF (-2)
161
162 typedef struct {
163         int (*wlan_firmware_download)(const u8 *, u32);
164         int (*wlan_start)(void);
165         int (*wlan_stop)(void);
166         int (*wlan_add_to_tx_que)(void *, u8 *, u32, wilc_tx_complete_func_t);
167         int (*wlan_handle_tx_que)(u32 *);
168         void (*wlan_handle_rx_isr)(void);
169         void (*wlan_cleanup)(void);
170         int (*wlan_cfg_set)(int, u32, u8 *, u32, int, u32);
171         int (*wlan_cfg_get)(int, u32, int, u32);
172         int (*wlan_cfg_get_value)(u32, u8 *, u32);
173         int (*wlan_add_mgmt_to_tx_que)(void *, u8 *, u32, wilc_tx_complete_func_t);
174 } wilc_wlan_oup_t;
175
176 /********************************************
177  *
178  *      Wlan Configuration ID
179  *
180  ********************************************/
181
182 #define MAX_SSID_LEN            33
183 #define MAX_RATES_SUPPORTED     12
184
185 #define INFINITE_SLEEP_TIME             ((u32)0xFFFFFFFF)
186
187 #ifdef WILC_PARSE_SCAN_IN_HOST
188 typedef enum {
189         SUPP_RATES_IE = 1,
190         EXT_SUPP_RATES_IE = 50,
191         HT_CAPABILITY_IE = 45,
192         RSN_IE = 48,
193         WPA_IE = 221,
194         WMM_IE = 221,
195         P2P_IE = 221,
196 } BEACON_IE;
197 #endif
198 typedef enum {
199         INFRASTRUCTURE = 0,
200         INDEPENDENT,
201         AP,
202 } BSSTYPE_T;
203
204 typedef enum {
205         RATE_AUTO = 0,
206         RATE_1MB = 1,
207         RATE_2MB = 2,
208         RATE_5MB = 5,
209         RATE_6MB = 6,
210         RATE_9MB = 9,
211         RATE_11MB = 11,
212         RATE_12MB = 12,
213         RATE_18MB = 18,
214         RATE_24MB = 24,
215         RATE_26MB = 36,
216         RATE_48MB = 48,
217         RATE_54MB = 54
218 } TX_RATE_T;
219
220 typedef enum {
221         B_ONLY_MODE = 0,                                /* basic rate: 1, 2 Mbps, otherwise: 5, 11 Mbps */
222         G_ONLY_MODE,                                    /* basic rate: 6, 12, 24 Mbps, otherwise: 9, 18, 36, 48, 54 Mbps */
223         G_MIXED_11B_1_MODE,             /* basic rate: 1, 2, 5.5, 11 Mbps, otherwise: all on */
224         G_MIXED_11B_2_MODE,             /* basic rate: 1, 2, 5, 11, 6, 12, 24 Mbps, otherwise: all on */
225 } G_OPERATING_MODE_T;
226
227 typedef enum {
228         G_SHORT_PREAMBLE = 0,   /* Short Preamble          */
229         G_LONG_PREAMBLE  = 1,           /* Long Preamble           */
230         G_AUTO_PREAMBLE  = 2,           /* Auto Preamble Selection */
231 } G_PREAMBLE_T;
232
233 #define MAC_CONNECTED    1
234 #define MAC_DISCONNECTED 0
235
236 #define SCAN_DONE               TRUE
237 typedef enum {
238         PASSIVE_SCAN = 0,
239         ACTIVE_SCAN  = 1,
240 } SCANTYPE_T;
241
242 typedef enum {
243         NO_POWERSAVE     = 0,
244         MIN_FAST_PS      = 1,
245         MAX_FAST_PS      = 2,
246         MIN_PSPOLL_PS    = 3,
247         MAX_PSPOLL_PS    = 4
248 } USER_PS_MODE_T;
249
250 typedef enum {
251         CHIP_WAKEDUP                    = 0,
252         CHIP_SLEEPING_AUTO      = 1,
253         CHIP_SLEEPING_MANUAL  = 2
254 } CHIP_PS_STATE_T;
255
256 typedef enum {
257         ACQUIRE_ONLY                             = 0,
258         ACQUIRE_AND_WAKEUP      = 1,
259 } BUS_ACQUIRE_T;
260
261 typedef enum {
262         RELEASE_ONLY                            = 0,
263         RELEASE_ALLOW_SLEEP             = 1,
264 } BUS_RELEASE_T;
265
266 typedef enum {
267         NO_SECURITY = 0,
268         WEP_40 = 0x3,
269         WEP_104 = 0x7,
270         WPA_AES = 0x29,
271         WPA_TKIP = 0x49,
272         WPA_AES_TKIP = 0x69,            /* Aes or Tkip */
273         WPA2_AES = 0x31,
274         WPA2_TKIP = 0x51,
275         WPA2_AES_TKIP = 0x71,   /* Aes or Tkip */
276 } SECURITY_T;
277
278 typedef enum {
279         OPEN_SYSTEM     = 1,
280         SHARED_KEY      = 2,
281         ANY                             = 3,
282         IEEE8021 = 5
283 } AUTHTYPE_T;
284
285 typedef enum {
286         SITE_SURVEY_1CH    = 0,
287         SITE_SURVEY_ALL_CH = 1,
288         SITE_SURVEY_OFF    = 2
289 } SITE_SURVEY_T;
290
291 typedef enum {
292         NORMAL_ACK = 0,
293         NO_ACK,
294 } ACK_POLICY_T;
295
296 typedef enum {
297         DONT_RESET = 0,
298         DO_RESET   = 1,
299         NO_REQUEST = 2,
300 } RESET_REQ_T;
301
302 typedef enum {
303         REKEY_DISABLE = 1,
304         REKEY_TIME_BASE,
305         REKEY_PKT_BASE,
306         REKEY_TIME_PKT_BASE
307 } RSNA_REKEY_POLICY_T;
308
309 typedef enum {
310         FILTER_NO       = 0x00,
311         FILTER_AP_ONLY  = 0x01,
312         FILTER_STA_ONLY = 0x02
313 } SCAN_CLASS_FITLER_T;
314
315 typedef enum {
316         PRI_HIGH_RSSI    = 0x00,
317         PRI_LOW_RSSI     = 0x04,
318         PRI_DETECT       = 0x08
319 } SCAN_PRI_T;
320
321 typedef enum {
322         CH_FILTER_OFF    = 0x00,
323         CH_FILTER_ON     = 0x10
324 } CH_FILTER_T;
325
326 typedef enum {
327         AUTO_PROT = 0,  /* Auto */
328         NO_PROT,                        /* Do not use any protection       */
329         ERP_PROT,                       /* Protect all ERP frame exchanges */
330         HT_PROT,                        /* Protect all HT frame exchanges  */
331         GF_PROT,                        /* Protect all GF frame exchanges  */
332 } N_PROTECTION_MODE_T;
333
334 typedef enum {
335         G_SELF_CTS_PROT,
336         G_RTS_CTS_PROT,
337 } G_PROTECTION_MODE_T;
338
339 typedef enum {
340         HT_MIXED_MODE = 1,
341         HT_ONLY_20MHZ_MODE,
342         HT_ONLY_20_40MHZ_MODE,
343 } N_OPERATING_MODE_T;
344
345 typedef enum {
346         NO_DETECT             = 0,
347         DETECT_ONLY           = 1,
348         DETECT_PROTECT        = 2,
349         DETECT_PROTECT_REPORT = 3,
350 } N_OBSS_DETECTION_T;
351
352 typedef enum {
353         RTS_CTS_NONHT_PROT = 0,                 /* RTS-CTS at non-HT rate      */
354         FIRST_FRAME_NONHT_PROT,         /* First frame at non-HT rate  */
355         LSIG_TXOP_PROT,                                 /* LSIG TXOP Protection        */
356         FIRST_FRAME_MIXED_PROT,         /* First frame at Mixed format */
357 } N_PROTECTION_TYPE_T;
358
359 typedef enum {
360         STATIC_MODE   = 1,
361         DYNAMIC_MODE  = 2,
362         MIMO_MODE     = 3,              /* power save disable */
363 } N_SMPS_MODE_T;
364
365 typedef enum {
366         DISABLE_SELF_CTS,
367         ENABLE_SELF_CTS,
368         DISABLE_TX_ABORT,
369         ENABLE_TX_ABORT,
370         HW_TRIGGER_ABORT,
371         SW_TRIGGER_ABORT,
372 } TX_ABORT_OPTION_T;
373
374 typedef enum {
375         WID_CHAR     = 0,
376         WID_SHORT    = 1,
377         WID_INT      = 2,
378         WID_STR      = 3,
379         WID_BIN_DATA = 4,
380         WID_BIN   = 5,
381         WID_IP    = 6,
382         WID_ADR   = 7,
383         WID_UNDEF = 8,
384         WID_TYPE_FORCE_32BIT  = 0xFFFFFFFF
385
386 } WID_TYPE_T, tenuWIDtype;
387
388 typedef enum {
389         WID_NIL                            = 0xffff,
390
391
392         /*  BSS Type                                                                                                                                                                            */
393         /*  --------------------------------------------------------------      */
394         /*  Configuration :  Infrastructure    Independent   Access Point                                                                               */
395         /*  Values to set :         0               1            2                                                                                                                      */
396         /*  --------------------------------------------------------------      */
397         WID_BSS_TYPE                                            = 0x0000,
398
399         /*  Transmit Rate                                                                                                                                                                       */
400         /*  --------------------------------------------------------------      */
401         /*  Configuration :  1  2  5.5  11  6  9  12  18  24  36  48  54                                                                                */
402         /*  Values to set :  1  2  5  11  6  9  12  18  24  36  48  54                                                                                  */
403         /*  --------------------------------------------------------------      */
404         WID_CURRENT_TX_RATE                     = 0x0001,
405
406         /*  Channel                                                                                                                                                                                                     */
407         /*  -------------------------------------------------------------------         */
408         /*  Configuration(g) :  1  2  3  4  5  6  7  8   9   10  11  12  13  14                                                                                         */
409         /*  Values to set    :  1  2  3  4  5  6  7  8   9   10  11  12  13  14                                                                                         */
410         /*  --------------------------------------------------------------------        */
411         WID_CURRENT_CHANNEL                     = 0x0002,
412
413         /*  Preamble                                                                                                                                                                            */
414         /*  --------------------------------------------------------------      */
415         /*  Configuration :    short    long   Auto                                                                                                                             */
416         /*  Values to set :       0         1         2                                                                                                                                 */
417         /*  --------------------------------------------------------------      */
418         WID_PREAMBLE                                            = 0x0003,
419
420         /*  11g operating mode (ignored if 11g not present)                                                                                                     */
421         /*  --------------------------------------------------------------      */
422         /*  Configuration :   HighPerf  Compat(RSet #1) Compat(RSet #2)                                                                 */
423         /*  Values to set :          1               2               3                                                                                                                  */
424         /*  --------------------------------------------------------------      */
425         WID_11G_OPERATING_MODE            = 0x0004,
426
427         /*  Mac status (response only)                                                                                                                                                                  */
428         /*  --------------------------------------------------------------      */
429         /*  Configuration :   disconnect  connect                                                                                                                                               */
430         /*  Values to get :          0               1                                                                                                                                          */
431         /*  --------------------------------------------------------------      */
432         WID_STATUS                                              = 0x0005,
433
434         /*  Scan type                                                                                                                                                                           */
435         /*  --------------------------------------------------------------      */
436         /*  Configuration :   Passive Scanning   Active Scanning                                                                                        */
437         /*  Values to set :                  0                 1                                                                                                                                */
438         /*  --------------------------------------------------------------      */
439         WID_SCAN_TYPE                      = 0x0007,
440
441         /*  Key Id (WEP default key Id)                                                                                                                                                 */
442         /*  --------------------------------------------------------------      */
443         /*  Configuration :   Any value between 0 to 3                                                                                                                  */
444         /*  Values to set :     Same value. Default is 0                                                                                                                                */
445         /*  --------------------------------------------------------------      */
446         WID_KEY_ID                         = 0x0009,
447
448         /*  QoS Enable                                                                                                                                                                          */
449         /*  --------------------------------------------------------------      */
450         /*  Configuration :   QoS Disable   WMM Enable                                                                                                          */
451         /*  Values to set :   0             1                                                                                                                                                   */
452         /*  --------------------------------------------------------------      */
453         WID_QOS_ENABLE                     = 0x000A,
454
455         /*  Power Management                                                                                                                                                                    */
456         /*  ------------------------------------------------------------------  */
457         /*  Configuration :   NO_POWERSAVE   MIN_POWERSAVE   MAX_POWERSAVE                                              */
458         /*  Values to set :   0              1               2                                                                                                                                  */
459         /*  ------------------------------------------------------------------   */
460         WID_POWER_MANAGEMENT               = 0x000B,
461
462         /*  WEP/802 11I Configuration                                            */
463         /*  ------------------------------------------------------------------  */
464         /*  Configuration : Disable WP40 WP104 WPA-AES WPA-TKIP RSN-AES RSN-TKIP                                */
465         /*  Values (0x)   :   00                03    07        29                      49                      31                      51                                      */
466         /*                                                                                                                                                                                                              */
467         /*  Configuration : WPA-AES+TKIP RSN-AES+TKIP                                                                                                                   */
468         /*  Values (0x)   :      69                             71                                                                                                                              */
469         /*  ------------------------------------------------------------------   */
470         WID_11I_MODE                       = 0x000C,
471
472         /*  WEP Configuration: Used in BSS STA mode only when WEP is enabled     */
473         /*  ------------------------------------------------------------------   */
474         /*  Configuration : Open System  Shared Key  Any Type  |   802.1x Auth   */
475         /*  Values (0x)   :    01             02         03    |      BIT2       */
476         /*  ------------------------------------------------------------------   */
477         WID_AUTH_TYPE                      = 0x000D,
478
479         /*  Site Survey Type                                                                                                                                                                    */
480         /*  --------------------------------------------------------------      */
481         /*  Configuration       :  Values to set                                                                                                                                */
482         /*  Survey 1 Channel    :  0                                                                                                                                                    */
483         /*  survey all Channels :  1                                                                                                                                                    */
484         /*  Disable Site Survey :  2                                                                                                                                                    */
485         /*  --------------------------------------------------------------      */
486         WID_SITE_SURVEY                    = 0x000E,
487
488         /*  Listen Interval                                                      */
489         /*  --------------------------------------------------------------       */
490         /*  Configuration :   Any value between 1 to 255                         */
491         /*  Values to set :   Same value. Default is 3                           */
492         /*  --------------------------------------------------------------       */
493         WID_LISTEN_INTERVAL                = 0x000F,
494
495         /*  DTIM Period                                                          */
496         /*  --------------------------------------------------------------       */
497         /*  Configuration :   Any value between 1 to 255                         */
498         /*  Values to set :   Same value. Default is 3                           */
499         /*  --------------------------------------------------------------       */
500         WID_DTIM_PERIOD                    = 0x0010,
501
502         /*  ACK Policy                                                           */
503         /*  --------------------------------------------------------------       */
504         /*  Configuration :   Normal Ack            No Ack                       */
505         /*  Values to set :       0                   1                          */
506         /*  --------------------------------------------------------------       */
507         WID_ACK_POLICY                     = 0x0011,
508
509         /*  Reset MAC (Set only)                                                           */
510         /*  --------------------------------------------------------------       */
511         /*  Configuration :   Don't Reset       Reset   No Request                       */
512         /*  Values to set :       0                   1                 2                          */
513         /*  --------------------------------------------------------------       */
514         WID_RESET                          = 0x0012,
515
516         /*  Broadcast SSID Option: Setting this will adhere to "" SSID element   */
517         /*  ------------------------------------------------------------------   */
518         /*  Configuration :   Enable             Disable                         */
519         /*  Values to set :   1                  0                               */
520         /*  ------------------------------------------------------------------   */
521         WID_BCAST_SSID                     = 0x0015,
522
523         /*  Disconnect (Station)                                                                                                                                                                                                                */
524         /*  ------------------------------------------------------------------  */
525         /*  Configuration :   Association ID                                                                                                                                                    */
526         /*  Values to set :   Association ID                                                                                                                                                    */
527         /*  ------------------------------------------------------------------  */
528         WID_DISCONNECT                     = 0x0016,
529
530         /*  11a Tx Power Level                                                   */
531         /*  -------------------------------------------------------------------- */
532         /*  Configuration : Sets TX Power (Higher the value greater the power)   */
533         /*  Values to set : Any value between 0 and 63 (inclusive; Default is 48)*/
534         /*  -------------------------------------------------------------------- */
535         WID_TX_POWER_LEVEL_11A             = 0x0018,
536
537         /*  Group Key Update Policy Selection                                    */
538         /*  -------------------------------------------------------------------- */
539         /*  Configuration : Disabled  timeBased  packetBased   timePacketBased   */
540         /*  Values to set :   1            2          3               4          */
541         /*  -------------------------------------------------------------------- */
542         WID_REKEY_POLICY                   = 0x0019,
543
544         /*  Allow Short Slot                                                     */
545         /*  --------------------------------------------------------------       */
546         /*  Configuration : Disallow Short Slot      Allow Short Slot            */
547         /*              (Enable Only Long Slot) (Enable Short Slot if applicable)*/
548         /*  Values to set :    0         1                                       */
549         /*  --------------------------------------------------------------       */
550         WID_SHORT_SLOT_ALLOWED             = 0x001A,
551
552         WID_PHY_ACTIVE_REG                 = 0x001B,
553
554         /*  11b Tx Power Level                                                   */
555         /*  -------------------------------------------------------------------- */
556         /*  Configuration : Sets TX Power (Higher the value greater the power)   */
557         /*  Values to set : Any value between 0 and 63 (inclusive; Default is 48)*/
558         /*  -------------------------------------------------------------------- */
559         WID_TX_POWER_LEVEL_11B             = 0x001D,
560
561         /*  Scan Request                                                                                                                                                                                        */
562         /*  --------------------------------------------------------------------        */
563         /*  Configuration : Request default scan                                                                                                                                                                        */
564         /*  Values to set : 0                                                                                                                                                                                                                                   */
565         /*  -------------------------------------------------------------------- */
566         WID_START_SCAN_REQ                 = 0x001E,
567
568         /*  Rssi (get only)                                                                                                                                                                                     */
569         /*  --------------------------------------------------------------------        */
570         /*  Configuration :                                                                                                                                                                     */
571         /*  Values to get : Rssi value                                                                                                                                                                                                                                  */
572         /*  -------------------------------------------------------------------- */
573         WID_RSSI                           = 0x001F,
574
575         /*  Join Request                                                                                                                                                                                        */
576         /*  --------------------------------------------------------------------        */
577         /*  Configuration : Request to join                                                                                                                                                                     */
578         /*  Values to set : index of scan result                                                                                                                                                                        */
579         /*  -------------------------------------------------------------------- */
580         WID_JOIN_REQ                       = 0x0020,
581
582         WID_LINKSPEED                                                           = 0x0026,
583
584         /*  Enable User Control of TX Power                                      */
585         /*  -------------------------------------------------------------------- */
586         /*  Configuration : Disable                  Enable                      */
587         /*  Values to set :    0                       1                         */
588         /*  -------------------------------------------------------------------- */
589         WID_USER_CONTROL_ON_TX_POWER       = 0x0027,
590
591         WID_MEMORY_ACCESS_8BIT             = 0x0029,
592
593         /*  Enable Auto RX Sensitivity feature                                                                                                                                                          */
594         /*  --------------------------------------------------------------------        */
595         /*  Configuration : Disable                  Enable                                                                                                                                     */
596         /*  Values to set :    0                       1                                                                                                                                                        */
597         /*  --------------------------------------------------------------------        */
598         WID_AUTO_RX_SENSITIVITY            = 0x0032,
599
600         /*  Receive Buffer Based Ack                                                                                                                                                                            */
601         /*  --------------------------------------------------------------------        */
602         /*  Configuration : Disable                  Enable                                                                                                                                     */
603         /*  Values to set :    0                       1                                                                                                                                                        */
604         /*  --------------------------------------------------------------------        */
605         WID_DATAFLOW_CONTROL               = 0x0033,
606
607         /*  Scan Filter                                                                                                                                                                                 */
608         /*  --------------------------------------------------------------------        */
609         /*  Configuration : Class               No filter       AP only                 Station Only                                                                            */
610         /*  Values to set :                                     0                     1                     2                                                                                           */
611         /*  Configuration : Priority    High Rssi       Low Rssi                Detect                                                                                                  */
612         /*  Values to set :                                     0                  0x4                  0x08                                                                                    */
613         /*  Configuration : Channel     filter off              filter on                                                                                                                                       */
614         /*  Values to set :                                     0                  0x10                                                                                                                 */
615         /*  --------------------------------------------------------------------        */
616         WID_SCAN_FILTER                    = 0x0036,
617
618         /*  Link Loss Threshold (measure in the beacon period)                                                                          */
619         /*  --------------------------------------------------------------------        */
620         /*  Configuration : Any value between 10 and 254 (Set to 255 to disable it)                                                             */
621         /*  Values to set : Same value. Default is 10                                                                                                                                                           */
622         /*  --------------------------------------------------------------------        */
623         WID_LINK_LOSS_THRESHOLD            = 0x0037,
624
625         WID_ABORT_RUNNING_SCAN = 0x003E,
626
627         /* NMAC Character WID list */
628         WID_WPS_START                      = 0x0043,
629
630         /*  Protection mode for MAC                                              */
631         /*  --------------------------------------------------------------       */
632         /*  Configuration :  Auto  No protection  ERP    HT    GF                */
633         /*  Values to set :  0     1              2      3     4                 */
634         /*  --------------------------------------------------------------       */
635         WID_11N_PROT_MECH                  = 0x0080,
636
637         /*  ERP Protection type for MAC                                          */
638         /*  --------------------------------------------------------------       */
639         /*  Configuration :  Self-CTS   RTS-CTS                                  */
640         /*  Values to set :  0          1                                        */
641         /*  --------------------------------------------------------------       */
642         WID_11N_ERP_PROT_TYPE              = 0x0081,
643
644         /*  HT Option Enable                                                     */
645         /*  --------------------------------------------------------------       */
646         /*  Configuration :   HT Enable          HT Disable                       */
647         /*  Values to set :   1                  0                               */
648         /*  --------------------------------------------------------------       */
649         WID_11N_ENABLE                     = 0x0082,
650
651         /*  11n Operating mode (Note that 11g operating mode will also be        */
652         /*  used in addition to this, if this is set to HT Mixed mode)           */
653         /*  --------------------------------------------------------------       */
654         /*  Configuration :  HT Mixed  HT Only-20MHz   HT Only-20/40MHz          */
655         /*  Values to set :     1         2               3                         */
656         /*  --------------------------------------------------------------       */
657         WID_11N_OPERATING_MODE             = 0x0083,
658
659         /*  11n OBSS non-HT STA Detection flag                                   */
660         /*  --------------------------------------------------------------       */
661         /*  Configuration :  Do not detect                                       */
662         /*  Values to set :  0                                                   */
663         /*  Configuration :  Detect, do not protect or report                    */
664         /*  Values to set :  1                                                   */
665         /*  Configuration :  Detect, protect and do not report                   */
666         /*  Values to set :  2                                                   */
667         /*  Configuration :  Detect, protect and report to other BSS             */
668         /*  Values to set :  3                                                   */
669         /*  --------------------------------------------------------------       */
670         WID_11N_OBSS_NONHT_DETECTION       = 0x0084,
671
672         /*  11n HT Protection Type                                               */
673         /*  --------------------------------------------------------------       */
674         /*  Configuration :  RTS-CTS   First Frame Exchange at non-HT-rate       */
675         /*  Values to set :  0         1                                         */
676         /*  Configuration :  LSIG TXOP First Frame Exchange in Mixed Fmt         */
677         /*  Values to set :  2         3                                         */
678         /*  --------------------------------------------------------------       */
679         WID_11N_HT_PROT_TYPE               = 0x0085,
680
681         /*  11n RIFS Protection Enable Flag                                      */
682         /*  --------------------------------------------------------------       */
683         /*  Configuration :  Disable    Enable                                   */
684         /*  Values to set :  0          1                                        */
685         /*  --------------------------------------------------------------       */
686         WID_11N_RIFS_PROT_ENABLE           = 0x0086,
687
688         /*  SMPS Mode                                                            */
689         /*  --------------------------------------------------------------       */
690         /*  Configuration :  Static   Dynamic   MIMO (Power Save Disabled)       */
691         /*  Values to set :  1        2         3                                */
692         /*  --------------------------------------------------------------       */
693         WID_11N_SMPS_MODE                  = 0x0087,
694
695         /*  Current transmit MCS                                                 */
696         /*  --------------------------------------------------------------       */
697         /*  Configuration :  MCS Index for data rate                                                                                                                    */
698         /*  Values to set :  0 to 7                                                                                                                                                     */
699         /*  --------------------------------------------------------------       */
700         WID_11N_CURRENT_TX_MCS             = 0x0088,
701
702         WID_11N_PRINT_STATS                = 0x0089,
703
704         /*  11n Short GI Enable Flag                                                                                                                                                    */
705         /*  --------------------------------------------------------------       */
706         /*  Configuration :  Disable    Enable                                                                                                                                  */
707         /*  Values to set :  0          1                                                                                                                                                       */
708         /*  --------------------------------------------------------------       */
709         WID_11N_SHORT_GI_ENABLE            = 0x008D,
710
711         /*  11n RIFS Enable Flag                                                                                                                                                */
712         /*  --------------------------------------------------------------       */
713         /*  Configuration :  Disable    Enable                                                                                                                                  */
714         /*  Values to set :  0          1                                                                                                                                                       */
715         /*  --------------------------------------------------------------       */
716         WID_RIFS_MODE                      = 0x0094,
717
718         /*  TX Abort Feature                                                                                                                                                    */
719         /*  --------------------------------------------------------------       */
720         /*  Configuration :  Disable Self CTS    Enable Self CTS                                                                                                        */
721         /*  Values to set :             0                                       1                                                                                                                               */
722         /*  Configuration :  Disable TX Abort    Enable TX Abort                                                                                                        */
723         /*  Values to set :             2                                       3                                                                                                                               */
724         /*  Configuration :  Enable HW TX Abort Enable SW TX Abort                                                                                              */
725         /*  Values to set :             4                                       5                                                                                                                               */
726         /*  --------------------------------------------------------------       */
727         WID_TX_ABORT_CONFIG                = 0x00A1,
728
729         WID_REG_TSSI_11B_VALUE             = 0x00A6,
730         WID_REG_TSSI_11G_VALUE             = 0x00A7,
731         WID_REG_TSSI_11N_VALUE             = 0x00A8,
732         WID_TX_CALIBRATION                 = 0x00A9,
733         WID_DSCR_TSSI_11B_VALUE            = 0x00AA,
734         WID_DSCR_TSSI_11G_VALUE            = 0x00AB,
735         WID_DSCR_TSSI_11N_VALUE            = 0x00AC,
736
737         /*  Immediate Block-Ack Support                                          */
738         /*  --------------------------------------------------------------       */
739         /*  Configuration : Disable                  Enable                      */
740         /*  Values to set :    0                       1                         */
741         /*  --------------------------------------------------------------       */
742         WID_11N_IMMEDIATE_BA_ENABLED       = 0x00AF,
743
744         /*  TXOP Disable Flag                                                                                                                                                                   */
745         /*  --------------------------------------------------------------      */
746         /*  Configuration : Disable                  Enable                                                                                                                     */
747         /*  Values to set :    1                        0                                                                                                                               */
748         /*  --------------------------------------------------------------      */
749         WID_11N_TXOP_PROT_DISABLE          = 0x00B0,
750
751
752         WID_TX_POWER_LEVEL_11N             = 0x00B1,
753
754         /* Custom Character WID list */
755         WID_PC_TEST_MODE          = 0x00C8,
756         /* SCAN Complete notification WID*/
757         WID_SCAN_COMPLETE               = 0x00C9,
758
759         WID_DEL_BEACON                                  = 0x00CA,
760
761         WID_LOGTerminal_Switch                                  = 0x00CD,
762         /* EMAC Short WID list */
763         /*  RTS Threshold                                                        */
764         /*  --------------------------------------------------------------       */
765         /*  Configuration :   Any value between 256 to 2347                      */
766         /*  Values to set :   Same value. Default is 2347                        */
767         /*  --------------------------------------------------------------       */
768         WID_RTS_THRESHOLD                  = 0x1000,
769
770         /*  Fragmentation Threshold                                              */
771         /*  --------------------------------------------------------------       */
772         /*  Configuration :   Any value between 256 to 2346                      */
773         /*  Values to set :   Same value. Default is 2346                        */
774         /*  --------------------------------------------------------------       */
775         WID_FRAG_THRESHOLD                 = 0x1001,
776
777         WID_SHORT_RETRY_LIMIT              = 0x1002,
778         WID_LONG_RETRY_LIMIT               = 0x1003,
779         WID_BEACON_INTERVAL                = 0x1006,
780         WID_MEMORY_ACCESS_16BIT            = 0x1008,
781         WID_RX_SENSE                       = 0x100B,
782         WID_ACTIVE_SCAN_TIME               = 0x100C,
783         WID_PASSIVE_SCAN_TIME              = 0x100D,
784
785         WID_SITE_SURVEY_SCAN_TIME          = 0x100E,
786         WID_JOIN_START_TIMEOUT             = 0x100F,
787         WID_AUTH_TIMEOUT                   = 0x1010,
788         WID_ASOC_TIMEOUT                   = 0x1011,
789         WID_11I_PROTOCOL_TIMEOUT           = 0x1012,
790         WID_EAPOL_RESPONSE_TIMEOUT         = 0x1013,
791
792         /* NMAC Short WID list */
793         WID_11N_SIG_QUAL_VAL               = 0x1085,
794         WID_CCA_THRESHOLD                  = 0x1087,
795
796         /* Custom Short WID list */
797
798         /* EMAC Integer WID list */
799         WID_FAILED_COUNT                   = 0x2000,
800         WID_RETRY_COUNT                    = 0x2001,
801         WID_MULTIPLE_RETRY_COUNT           = 0x2002,
802         WID_FRAME_DUPLICATE_COUNT          = 0x2003,
803         WID_ACK_FAILURE_COUNT              = 0x2004,
804         WID_RECEIVED_FRAGMENT_COUNT        = 0x2005,
805         WID_MCAST_RECEIVED_FRAME_COUNT     = 0x2006,
806         WID_FCS_ERROR_COUNT                = 0x2007,
807         WID_SUCCESS_FRAME_COUNT            = 0x2008,
808         WID_HUT_TX_COUNT                   = 0x200A,
809         WID_TX_FRAGMENT_COUNT              = 0x200B,
810         WID_TX_MULTICAST_FRAME_COUNT       = 0x200C,
811         WID_RTS_SUCCESS_COUNT              = 0x200D,
812         WID_RTS_FAILURE_COUNT              = 0x200E,
813         WID_WEP_UNDECRYPTABLE_COUNT        = 0x200F,
814         WID_REKEY_PERIOD                   = 0x2010,
815         WID_REKEY_PACKET_COUNT             = 0x2011,
816         WID_1X_SERV_ADDR                   = 0x2012,
817         WID_STACK_IP_ADDR                  = 0x2013,
818         WID_STACK_NETMASK_ADDR             = 0x2014,
819         WID_HW_RX_COUNT                    = 0x2015,
820         WID_MEMORY_ADDRESS                 = 0x201E,
821         WID_MEMORY_ACCESS_32BIT            = 0x201F,
822         WID_RF_REG_VAL                     = 0x2021,
823
824
825         /* NMAC Integer WID list */
826         WID_11N_PHY_ACTIVE_REG_VAL         = 0x2080,
827
828         /* Custom Integer WID list */
829         WID_GET_INACTIVE_TIME     = 0x2084,
830         WID_SET_DRV_HANDLER =            0X2085,
831         WID_SET_OPERATION_MODE =         0X2086,
832         /* EMAC String WID list */
833         WID_SSID                           = 0x3000,
834         WID_FIRMWARE_VERSION               = 0x3001,
835         WID_OPERATIONAL_RATE_SET           = 0x3002,
836         WID_BSSID                          = 0x3003,
837         WID_WEP_KEY_VALUE                  = 0x3004,
838         WID_11I_PSK                        = 0x3008,
839         WID_11E_P_ACTION_REQ               = 0x3009,
840         WID_1X_KEY                         = 0x300A,
841         WID_HARDWARE_VERSION               = 0x300B,
842         WID_MAC_ADDR                       = 0x300C,
843         WID_HUT_DEST_ADDR                  = 0x300D,
844         WID_PHY_VERSION                    = 0x300F,
845         WID_SUPP_USERNAME                  = 0x3010,
846         WID_SUPP_PASSWORD                  = 0x3011,
847         WID_SITE_SURVEY_RESULTS            = 0x3012,
848         WID_RX_POWER_LEVEL                 = 0x3013,
849         WID_DEL_ALL_RX_BA                               = 0x3014,
850         WID_SET_STA_MAC_INACTIVE_TIME   = 0x3017,
851         WID_ADD_WEP_KEY                    = 0x3019,
852         WID_REMOVE_WEP_KEY                 = 0x301A,
853         WID_ADD_PTK                        = 0x301B,
854         WID_ADD_RX_GTK                     = 0x301C,
855         WID_ADD_TX_GTK                     = 0x301D,
856         WID_REMOVE_KEY                     = 0x301E,
857         WID_ASSOC_REQ_INFO                 = 0x301F,
858         WID_ASSOC_RES_INFO                 = 0x3020,
859         WID_MANUFACTURER                   = 0x3026, /*Added for CAPI tool */
860         WID_MODEL_NAME                                     = 0x3027, /*Added for CAPI tool */
861         WID_MODEL_NUM                      = 0x3028, /*Added for CAPI tool */
862         WID_DEVICE_NAME                                     = 0x3029, /*Added for CAPI tool */
863
864         /* NMAC String WID list */
865         WID_11N_P_ACTION_REQ               = 0x3080,
866         WID_HUT_TEST_ID                    = 0x3081,
867         WID_PMKID_INFO                     = 0x3082,
868         WID_FIRMWARE_INFO                  = 0x3083,
869         WID_REGISTER_FRAME                = 0x3084,
870         WID_DEL_ALL_STA          = 0x3085,
871         WID_REMAIN_ON_CHAN  = 0x3996,
872         WID_SSID_PROBE_REQ = 0x3997,
873         WID_JOIN_REQ_EXTENDED            = 0x3998,
874
875         WID_IP_ADDRESS                                  = 0x3999,
876
877
878
879         /* Custom String WID list */
880
881         /* EMAC Binary WID list */
882         WID_UAPSD_CONFIG                   = 0x4001,
883         WID_UAPSD_STATUS                   = 0x4002,
884         WID_WMM_AP_AC_PARAMS               = 0x4003,
885         WID_WMM_STA_AC_PARAMS              = 0x4004,
886         WID_NETWORK_INFO                   = 0x4005,
887         WID_STA_JOIN_INFO                  = 0x4006,
888         WID_CONNECTED_STA_LIST             = 0x4007,
889
890         /* NMAC Binary WID list */
891         WID_11N_AUTORATE_TABLE             = 0x4080,
892
893
894         WID_SCAN_CHANNEL_LIST                      = 0x4084,
895
896         WID_INFO_ELEMENT_PROBE   = 0x4085,
897         WID_INFO_ELEMENT_ASSOCIATE       = 0x4086,
898         WID_ADD_STA                                      = 0X4087,
899         WID_REMOVE_STA                           = 0X4088,
900         WID_EDIT_STA                                     = 0X4089,
901         WID_ADD_BEACON                          = 0x408a,
902
903         WID_SETUP_MULTICAST_FILTER      = 0x408b,
904
905         /* Miscellaneous WIDs */
906         WID_ALL                            = 0x7FFE,
907         WID_MAX                            = 0xFFFF
908 } WID_T;
909
910 int wilc_wlan_init(wilc_wlan_inp_t *inp, wilc_wlan_oup_t *oup);
911
912 void wilc_bus_set_max_speed(void);
913 void wilc_bus_set_default_speed(void);
914 u32 wilc_get_chipid(u8 update);
915
916
917 #endif