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