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