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