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