License cleanup: add SPDX GPL-2.0 license identifier to files with no license
[linux-block.git] / drivers / staging / wilc1000 / wilc_wlan_if.h
CommitLineData
b2441318 1/* SPDX-License-Identifier: GPL-2.0 */
d4cebe4d 2/* ///////////////////////////////////////////////////////////////////////// */
c5c77ba1
JK
3/* */
4/* Copyright (c) Atmel Corporation. All rights reserved. */
5/* */
6/* Module Name: wilc_wlan_if.h */
7/* */
8/* */
9/* ///////////////////////////////////////////////////////////////////////// */
10
c5c77ba1
JK
11#ifndef WILC_WLAN_IF_H
12#define WILC_WLAN_IF_H
13
b22fa80c 14#include <linux/netdevice.h>
c5c77ba1 15
c5c77ba1
JK
16/********************************************
17 *
18 * Host Interface Defines
19 *
20 ********************************************/
21
531c7ceb
LK
22#define HIF_SDIO (0)
23#define HIF_SPI BIT(0)
24#define HIF_SDIO_GPIO_IRQ BIT(2)
c5c77ba1 25
c5c77ba1
JK
26/********************************************
27 *
28 * Wlan Interface Defines
29 *
30 ********************************************/
31
a91632fa 32struct sdio_cmd52 {
531c7ceb
LK
33 u32 read_write: 1;
34 u32 function: 3;
35 u32 raw: 1;
36 u32 address: 17;
37 u32 data: 8;
a91632fa 38};
c5c77ba1 39
fc17eaa1 40struct sdio_cmd53 {
531c7ceb
LK
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;
51e825f7 47 u8 *buffer;
fbc2fe16 48 u32 block_size;
fc17eaa1 49};
c5c77ba1 50
531c7ceb
LK
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
c5c77ba1
JK
55
56#define WILC_MAC_INDICATE_SCAN 0x2
57
c5c77ba1 58struct tx_complete_data {
c5c77ba1
JK
59 int size;
60 void *buff;
5b9f526e 61 u8 *bssid;
c5c77ba1
JK
62 struct sk_buff *skb;
63};
64
c5c77ba1
JK
65typedef void (*wilc_tx_complete_func_t)(void *, int);
66
531c7ceb 67#define WILC_TX_ERR_NO_BUF (-2)
c5c77ba1 68
c5c77ba1
JK
69/********************************************
70 *
71 * Wlan Configuration ID
72 *
73 ********************************************/
a3f29650 74#define WILC_MULTICAST_TABLE_SIZE 8
c5c77ba1
JK
75#define MAX_SSID_LEN 33
76#define MAX_RATES_SUPPORTED 12
77
c5c77ba1 78typedef enum {
531c7ceb
LK
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,
c5c77ba1 86} BEACON_IE;
438b293e 87
c5c77ba1 88typedef enum {
531c7ceb 89 INFRASTRUCTURE = 0,
c5c77ba1
JK
90 INDEPENDENT,
91 AP,
92} BSSTYPE_T;
93
94typedef enum {
531c7ceb
LK
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
c5c77ba1
JK
108} TX_RATE_T;
109
110typedef enum {
531c7ceb
LK
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 */
c5c77ba1
JK
115} G_OPERATING_MODE_T;
116
117typedef enum {
531c7ceb
LK
118 G_SHORT_PREAMBLE = 0, /* Short Preamble */
119 G_LONG_PREAMBLE = 1, /* Long Preamble */
120 G_AUTO_PREAMBLE = 2, /* Auto Preamble Selection */
c5c77ba1
JK
121} G_PREAMBLE_T;
122
531c7ceb
LK
123#define MAC_CONNECTED 1
124#define MAC_DISCONNECTED 0
c5c77ba1 125
c5c77ba1
JK
126#define SCAN_DONE TRUE
127typedef enum {
531c7ceb
LK
128 PASSIVE_SCAN = 0,
129 ACTIVE_SCAN = 1,
c5c77ba1
JK
130} SCANTYPE_T;
131
132typedef enum {
531c7ceb
LK
133 NO_POWERSAVE = 0,
134 MIN_FAST_PS = 1,
135 MAX_FAST_PS = 2,
136 MIN_PSPOLL_PS = 3,
137 MAX_PSPOLL_PS = 4
c5c77ba1
JK
138} USER_PS_MODE_T;
139
140typedef enum {
531c7ceb 141 CHIP_WAKEDUP = 0,
c5c77ba1 142 CHIP_SLEEPING_AUTO = 1,
531c7ceb 143 CHIP_SLEEPING_MANUAL = 2
c5c77ba1
JK
144} CHIP_PS_STATE_T;
145
146typedef enum {
531c7ceb 147 ACQUIRE_ONLY = 0,
c5c77ba1
JK
148 ACQUIRE_AND_WAKEUP = 1,
149} BUS_ACQUIRE_T;
150
151typedef enum {
531c7ceb
LK
152 RELEASE_ONLY = 0,
153 RELEASE_ALLOW_SLEEP = 1,
c5c77ba1
JK
154} BUS_RELEASE_T;
155
156typedef enum {
531c7ceb
LK
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 */
c5c77ba1
JK
166} SECURITY_T;
167
841dfc42 168enum AUTHTYPE {
531c7ceb
LK
169 OPEN_SYSTEM = 1,
170 SHARED_KEY = 2,
171 ANY = 3,
172 IEEE8021 = 5
841dfc42 173};
c5c77ba1 174
073b8d0c 175enum SITESURVEY {
531c7ceb
LK
176 SITE_SURVEY_1CH = 0,
177 SITE_SURVEY_ALL_CH = 1,
178 SITE_SURVEY_OFF = 2
073b8d0c 179};
c5c77ba1
JK
180
181typedef enum {
531c7ceb 182 NORMAL_ACK = 0,
c5c77ba1
JK
183 NO_ACK,
184} ACK_POLICY_T;
185
186typedef enum {
531c7ceb
LK
187 DONT_RESET = 0,
188 DO_RESET = 1,
189 NO_REQUEST = 2,
c5c77ba1
JK
190} RESET_REQ_T;
191
192typedef enum {
531c7ceb 193 REKEY_DISABLE = 1,
c5c77ba1
JK
194 REKEY_TIME_BASE,
195 REKEY_PKT_BASE,
196 REKEY_TIME_PKT_BASE
197} RSNA_REKEY_POLICY_T;
198
199typedef enum {
531c7ceb
LK
200 FILTER_NO = 0x00,
201 FILTER_AP_ONLY = 0x01,
202 FILTER_STA_ONLY = 0x02
c5c77ba1
JK
203} SCAN_CLASS_FITLER_T;
204
205typedef enum {
531c7ceb
LK
206 PRI_HIGH_RSSI = 0x00,
207 PRI_LOW_RSSI = 0x04,
208 PRI_DETECT = 0x08
c5c77ba1
JK
209} SCAN_PRI_T;
210
211typedef enum {
531c7ceb
LK
212 CH_FILTER_OFF = 0x00,
213 CH_FILTER_ON = 0x10
c5c77ba1
JK
214} CH_FILTER_T;
215
216typedef enum {
531c7ceb
LK
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 */
c5c77ba1
JK
222} N_PROTECTION_MODE_T;
223
224typedef enum {
225 G_SELF_CTS_PROT,
226 G_RTS_CTS_PROT,
227} G_PROTECTION_MODE_T;
228
229typedef enum {
531c7ceb 230 HT_MIXED_MODE = 1,
c5c77ba1
JK
231 HT_ONLY_20MHZ_MODE,
232 HT_ONLY_20_40MHZ_MODE,
233} N_OPERATING_MODE_T;
234
235typedef enum {
531c7ceb
LK
236 NO_DETECT = 0,
237 DETECT_ONLY = 1,
238 DETECT_PROTECT = 2,
239 DETECT_PROTECT_REPORT = 3,
c5c77ba1
JK
240} N_OBSS_DETECTION_T;
241
242typedef enum {
531c7ceb
LK
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 */
c5c77ba1
JK
247} N_PROTECTION_TYPE_T;
248
249typedef enum {
531c7ceb
LK
250 STATIC_MODE = 1,
251 DYNAMIC_MODE = 2,
252 MIMO_MODE = 3, /* power save disable */
c5c77ba1
JK
253} N_SMPS_MODE_T;
254
255typedef 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
50327db7 264enum wid_type {
531c7ceb
LK
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
20212c03 275};
c5c77ba1 276
ef7e012f
GL
277struct wid {
278 u16 id;
279 enum wid_type type;
280 s32 size;
281 s8 *val;
282};
283
c5c77ba1 284typedef enum {
531c7ceb 285 WID_NIL = 0xffff,
c5c77ba1 286
d4cebe4d
LK
287 /*
288 * BSS Type
289 * -----------------------------------------------------------
290 * Configuration : Infrastructure Independent Access Point
291 * Values to set : 0 1 2
292 * -----------------------------------------------------------
293 */
531c7ceb 294 WID_BSS_TYPE = 0x0000,
c5c77ba1 295
d4cebe4d
LK
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 */
531c7ceb 303 WID_CURRENT_TX_RATE = 0x0001,
c5c77ba1 304
d4cebe4d
LK
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 */
531c7ceb 312 WID_CURRENT_CHANNEL = 0x0002,
c5c77ba1 313
d4cebe4d
LK
314 /*
315 * Preamble
316 * -----------------------------------------------------------
317 * Configuration : short long Auto
318 * Values to set : 0 1 2
319 * -----------------------------------------------------------
320 */
531c7ceb 321 WID_PREAMBLE = 0x0003,
c5c77ba1 322
d4cebe4d
LK
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 */
531c7ceb 330 WID_11G_OPERATING_MODE = 0x0004,
c5c77ba1 331
d4cebe4d
LK
332 /*
333 * Mac status (response only)
334 * -----------------------------------------------------------
335 * Configuration : disconnect connect
336 * Values to get : 0 1
337 * -----------------------------------------------------------
338 */
531c7ceb 339 WID_STATUS = 0x0005,
c5c77ba1 340
d4cebe4d
LK
341 /*
342 * Scan type
343 * -----------------------------------------------------------
344 * Configuration : Passive Scanning Active Scanning
345 * Values to set : 0 1
346 * -----------------------------------------------------------
347 */
531c7ceb 348 WID_SCAN_TYPE = 0x0007,
c5c77ba1 349
d4cebe4d
LK
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 */
531c7ceb 357 WID_KEY_ID = 0x0009,
c5c77ba1 358
d4cebe4d
LK
359 /*
360 * QoS Enable
361 * -----------------------------------------------------------
362 * Configuration : QoS Disable WMM Enable
363 * Values to set : 0 1
364 * -----------------------------------------------------------
365 */
531c7ceb 366 WID_QOS_ENABLE = 0x000A,
c5c77ba1 367
d4cebe4d
LK
368 /*
369 * Power Management
370 * -----------------------------------------------------------
371 * Configuration : NO_POWERSAVE MIN_POWERSAVE MAX_POWERSAVE
372 * Values to set : 0 1 2
373 * -----------------------------------------------------------
374 */
531c7ceb 375 WID_POWER_MANAGEMENT = 0x000B,
c5c77ba1 376
d4cebe4d
LK
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 */
531c7ceb 386 WID_11I_MODE = 0x000C,
c5c77ba1 387
d4cebe4d
LK
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 */
531c7ceb 395 WID_AUTH_TYPE = 0x000D,
c5c77ba1 396
d4cebe4d
LK
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 */
531c7ceb 406 WID_SITE_SURVEY = 0x000E,
c5c77ba1 407
d4cebe4d
LK
408 /*
409 * Listen Interval
410 * -----------------------------------------------------------
411 * Configuration : Any value between 1 to 255
412 * Values to set : Same value. Default is 3
413 * -----------------------------------------------------------
414 */
531c7ceb 415 WID_LISTEN_INTERVAL = 0x000F,
c5c77ba1 416
d4cebe4d
LK
417 /*
418 * DTIM Period
419 * -----------------------------------------------------------
420 * Configuration : Any value between 1 to 255
421 * Values to set : Same value. Default is 3
422 * -----------------------------------------------------------
423 */
531c7ceb 424 WID_DTIM_PERIOD = 0x0010,
c5c77ba1 425
d4cebe4d
LK
426 /*
427 * ACK Policy
428 * -----------------------------------------------------------
429 * Configuration : Normal Ack No Ack
430 * Values to set : 0 1
431 * -----------------------------------------------------------
432 */
531c7ceb 433 WID_ACK_POLICY = 0x0011,
c5c77ba1 434
d4cebe4d
LK
435 /*
436 * Reset MAC (Set only)
437 * -----------------------------------------------------------
438 * Configuration : Don't Reset Reset No Request
439 * Values to set : 0 1 2
440 * -----------------------------------------------------------
441 */
531c7ceb 442 WID_RESET = 0x0012,
c5c77ba1 443
d4cebe4d
LK
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 */
531c7ceb 451 WID_BCAST_SSID = 0x0015,
c5c77ba1 452
d4cebe4d
LK
453 /*
454 * Disconnect (Station)
455 * -----------------------------------------------------------
456 * Configuration : Association ID
457 * Values to set : Association ID
458 * -----------------------------------------------------------
459 */
531c7ceb 460 WID_DISCONNECT = 0x0016,
c5c77ba1 461
d4cebe4d
LK
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 */
531c7ceb 469 WID_TX_POWER_LEVEL_11A = 0x0018,
c5c77ba1 470
d4cebe4d
LK
471 /*
472 * Group Key Update Policy Selection
473 * -----------------------------------------------------------
474 * Configuration : Disabled timeBased packetBased timePacketBased
475 * Values to set : 1 2 3 4
476 * -----------------------------------------------------------
477 */
531c7ceb 478 WID_REKEY_POLICY = 0x0019,
c5c77ba1 479
d4cebe4d
LK
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 */
531c7ceb 488 WID_SHORT_SLOT_ALLOWED = 0x001A,
c5c77ba1 489
531c7ceb 490 WID_PHY_ACTIVE_REG = 0x001B,
c5c77ba1 491
d4cebe4d
LK
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 */
531c7ceb 499 WID_TX_POWER_LEVEL_11B = 0x001D,
c5c77ba1 500
d4cebe4d
LK
501 /*
502 * Scan Request
503 * -----------------------------------------------------------
504 * Configuration : Request default scan
505 * Values to set : 0
506 * -----------------------------------------------------------
507 */
531c7ceb 508 WID_START_SCAN_REQ = 0x001E,
c5c77ba1 509
d4cebe4d
LK
510 /*
511 * Rssi (get only)
512 * -----------------------------------------------------------
513 * Configuration :
514 * Values to get : Rssi value
515 * -----------------------------------------------------------
516 */
531c7ceb 517 WID_RSSI = 0x001F,
c5c77ba1 518
d4cebe4d
LK
519 /*
520 * Join Request
521 * -----------------------------------------------------------
522 * Configuration : Request to join
523 * Values to set : index of scan result
524 * -----------------------------------------------------------
525 */
531c7ceb 526 WID_JOIN_REQ = 0x0020,
c5c77ba1 527
d4cebe4d 528 WID_LINKSPEED = 0x0026,
c5c77ba1 529
d4cebe4d
LK
530 /*
531 * Enable User Control of TX Power
532 * -----------------------------------------------------------
533 * Configuration : Disable Enable
534 * Values to set : 0 1
535 * -----------------------------------------------------------
536 */
531c7ceb 537 WID_USER_CONTROL_ON_TX_POWER = 0x0027,
c5c77ba1 538
531c7ceb 539 WID_MEMORY_ACCESS_8BIT = 0x0029,
c5c77ba1 540
d4cebe4d
LK
541 /*
542 * Enable Auto RX Sensitivity feature
543 * -----------------------------------------------------------
544 * Configuration : Disable Enable
545 * Values to set : 0 1
546 * -----------------------------------------------------------
547 */
531c7ceb 548 WID_AUTO_RX_SENSITIVITY = 0x0032,
c5c77ba1 549
d4cebe4d
LK
550 /*
551 * Receive Buffer Based Ack
552 * -----------------------------------------------------------
553 * Configuration : Disable Enable
554 * Values to set : 0 1
555 * -----------------------------------------------------------
556 */
531c7ceb 557 WID_DATAFLOW_CONTROL = 0x0033,
c5c77ba1 558
d4cebe4d
LK
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 */
531c7ceb 570 WID_SCAN_FILTER = 0x0036,
c5c77ba1 571
d4cebe4d
LK
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 */
531c7ceb 579 WID_LINK_LOSS_THRESHOLD = 0x0037,
c5c77ba1 580
531c7ceb 581 WID_ABORT_RUNNING_SCAN = 0x003E,
c5c77ba1
JK
582
583 /* NMAC Character WID list */
531c7ceb 584 WID_WPS_START = 0x0043,
c5c77ba1 585
d4cebe4d
LK
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 */
531c7ceb 593 WID_11N_PROT_MECH = 0x0080,
c5c77ba1 594
d4cebe4d
LK
595 /*
596 * ERP Protection type for MAC
597 * -----------------------------------------------------------
598 * Configuration : Self-CTS RTS-CTS
599 * Values to set : 0 1
600 * -----------------------------------------------------------
601 */
531c7ceb 602 WID_11N_ERP_PROT_TYPE = 0x0081,
c5c77ba1 603
d4cebe4d
LK
604 /*
605 * HT Option Enable
606 * -----------------------------------------------------------
607 * Configuration : HT Enable HT Disable
608 * Values to set : 1 0
609 * -----------------------------------------------------------
610 */
531c7ceb 611 WID_11N_ENABLE = 0x0082,
c5c77ba1 612
d4cebe4d
LK
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 */
531c7ceb 621 WID_11N_OPERATING_MODE = 0x0083,
c5c77ba1 622
d4cebe4d
LK
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 */
531c7ceb 636 WID_11N_OBSS_NONHT_DETECTION = 0x0084,
c5c77ba1 637
d4cebe4d
LK
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 */
531c7ceb 647 WID_11N_HT_PROT_TYPE = 0x0085,
c5c77ba1 648
d4cebe4d
LK
649 /*
650 * 11n RIFS Protection Enable Flag
651 * -----------------------------------------------------------
652 * Configuration : Disable Enable
653 * Values to set : 0 1
654 * -----------------------------------------------------------
655 */
531c7ceb 656 WID_11N_RIFS_PROT_ENABLE = 0x0086,
c5c77ba1 657
d4cebe4d
LK
658 /*
659 * SMPS Mode
660 * -----------------------------------------------------------
661 * Configuration : Static Dynamic MIMO (Power Save Disabled)
662 * Values to set : 1 2 3
663 * -----------------------------------------------------------
664 */
531c7ceb 665 WID_11N_SMPS_MODE = 0x0087,
c5c77ba1 666
d4cebe4d
LK
667 /*
668 * Current transmit MCS
669 * -----------------------------------------------------------
670 * Configuration : MCS Index for data rate
671 * Values to set : 0 to 7
672 * -----------------------------------------------------------
673 */
531c7ceb 674 WID_11N_CURRENT_TX_MCS = 0x0088,
c5c77ba1 675
531c7ceb 676 WID_11N_PRINT_STATS = 0x0089,
c5c77ba1 677
d4cebe4d
LK
678 /*
679 * 11n Short GI Enable Flag
680 * -----------------------------------------------------------
681 * Configuration : Disable Enable
682 * Values to set : 0 1
683 * -----------------------------------------------------------
684 */
531c7ceb 685 WID_11N_SHORT_GI_ENABLE = 0x008D,
c5c77ba1 686
d4cebe4d
LK
687 /*
688 * 11n RIFS Enable Flag
689 * -----------------------------------------------------------
690 * Configuration : Disable Enable
691 * Values to set : 0 1
692 * -----------------------------------------------------------
693 */
531c7ceb 694 WID_RIFS_MODE = 0x0094,
c5c77ba1 695
d4cebe4d
LK
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 */
531c7ceb 707 WID_TX_ABORT_CONFIG = 0x00A1,
c5c77ba1 708
531c7ceb
LK
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,
c5c77ba1 716
d4cebe4d
LK
717 /*
718 * Immediate Block-Ack Support
719 * -----------------------------------------------------------
720 * Configuration : Disable Enable
721 * Values to set : 0 1
722 * -----------------------------------------------------------
723 */
531c7ceb 724 WID_11N_IMMEDIATE_BA_ENABLED = 0x00AF,
c5c77ba1 725
d4cebe4d
LK
726 /*
727 * TXOP Disable Flag
728 * -----------------------------------------------------------
729 * Configuration : Disable Enable
730 * Values to set : 1 0
731 * -----------------------------------------------------------
732 */
531c7ceb 733 WID_11N_TXOP_PROT_DISABLE = 0x00B0,
c5c77ba1 734
531c7ceb 735 WID_TX_POWER_LEVEL_11N = 0x00B1,
c5c77ba1
JK
736
737 /* Custom Character WID list */
531c7ceb 738 WID_PC_TEST_MODE = 0x00C8,
c5c77ba1
JK
739 /* SCAN Complete notification WID*/
740 WID_SCAN_COMPLETE = 0x00C9,
741
531c7ceb 742 WID_DEL_BEACON = 0x00CA,
c5c77ba1 743
531c7ceb 744 WID_LOGTerminal_Switch = 0x00CD,
70418790 745 WID_TX_POWER = 0x00CE,
d4cebe4d
LK
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 */
531c7ceb 754 WID_RTS_THRESHOLD = 0x1000,
c5c77ba1 755
d4cebe4d
LK
756 /*
757 * Fragmentation Threshold
758 * -----------------------------------------------------------
759 * Configuration : Any value between 256 to 2346
760 * Values to set : Same value. Default is 2346
761 * -----------------------------------------------------------
762 */
531c7ceb 763 WID_FRAG_THRESHOLD = 0x1001,
c5c77ba1 764
531c7ceb
LK
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,
c5c77ba1 772
531c7ceb
LK
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,
c5c77ba1
JK
779
780 /* NMAC Short WID list */
531c7ceb
LK
781 WID_11N_SIG_QUAL_VAL = 0x1085,
782 WID_CCA_THRESHOLD = 0x1087,
c5c77ba1
JK
783
784 /* Custom Short WID list */
785
786 /* EMAC Integer WID list */
531c7ceb
LK
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,
c5c77ba1 811
c5c77ba1 812 /* NMAC Integer WID list */
531c7ceb 813 WID_11N_PHY_ACTIVE_REG_VAL = 0x2080,
c5c77ba1
JK
814
815 /* Custom Integer WID list */
531c7ceb 816 WID_GET_INACTIVE_TIME = 0x2084,
531c7ceb 817 WID_SET_OPERATION_MODE = 0X2086,
c5c77ba1 818 /* EMAC String WID list */
531c7ceb
LK
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 */
46949b48 849 WID_SET_DRV_HANDLER = 0x3079,
c5c77ba1
JK
850
851 /* NMAC String WID list */
531c7ceb
LK
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,
c5c77ba1 863
c5c77ba1
JK
864 /* Custom String WID list */
865
866 /* EMAC Binary WID list */
531c7ceb
LK
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,
c5c77ba1
JK
874
875 /* NMAC Binary WID list */
531c7ceb 876 WID_11N_AUTORATE_TABLE = 0x4080,
c5c77ba1 877
531c7ceb 878 WID_SCAN_CHANNEL_LIST = 0x4084,
c5c77ba1 879
531c7ceb
LK
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,
c5c77ba1 886
c5c77ba1
JK
887 WID_SETUP_MULTICAST_FILTER = 0x408b,
888
889 /* Miscellaneous WIDs */
531c7ceb
LK
890 WID_ALL = 0x7FFE,
891 WID_MAX = 0xFFFF
c5c77ba1
JK
892} WID_T;
893
00215dde 894struct wilc;
4bd7baf0 895int wilc_wlan_init(struct net_device *dev);
65c3f000 896u32 wilc_get_chipid(struct wilc *wilc, bool update);
c5c77ba1 897
c5c77ba1 898#endif