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