Commit | Line | Data |
---|---|---|
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 | 32 | struct 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 | 40 | struct 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 | 58 | struct 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 |
65 | typedef 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 | 78 | typedef 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 | 88 | typedef enum { |
531c7ceb | 89 | INFRASTRUCTURE = 0, |
c5c77ba1 JK |
90 | INDEPENDENT, |
91 | AP, | |
92 | } BSSTYPE_T; | |
93 | ||
94 | typedef 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 | ||
110 | typedef 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 | ||
117 | typedef 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 |
127 | typedef enum { | |
531c7ceb LK |
128 | PASSIVE_SCAN = 0, |
129 | ACTIVE_SCAN = 1, | |
c5c77ba1 JK |
130 | } SCANTYPE_T; |
131 | ||
132 | typedef 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 | ||
140 | typedef 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 | ||
146 | typedef enum { | |
531c7ceb | 147 | ACQUIRE_ONLY = 0, |
c5c77ba1 JK |
148 | ACQUIRE_AND_WAKEUP = 1, |
149 | } BUS_ACQUIRE_T; | |
150 | ||
151 | typedef enum { | |
531c7ceb LK |
152 | RELEASE_ONLY = 0, |
153 | RELEASE_ALLOW_SLEEP = 1, | |
c5c77ba1 JK |
154 | } BUS_RELEASE_T; |
155 | ||
156 | typedef 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 | 168 | enum AUTHTYPE { |
531c7ceb LK |
169 | OPEN_SYSTEM = 1, |
170 | SHARED_KEY = 2, | |
171 | ANY = 3, | |
172 | IEEE8021 = 5 | |
841dfc42 | 173 | }; |
c5c77ba1 | 174 | |
073b8d0c | 175 | enum SITESURVEY { |
531c7ceb LK |
176 | SITE_SURVEY_1CH = 0, |
177 | SITE_SURVEY_ALL_CH = 1, | |
178 | SITE_SURVEY_OFF = 2 | |
073b8d0c | 179 | }; |
c5c77ba1 JK |
180 | |
181 | typedef enum { | |
531c7ceb | 182 | NORMAL_ACK = 0, |
c5c77ba1 JK |
183 | NO_ACK, |
184 | } ACK_POLICY_T; | |
185 | ||
186 | typedef enum { | |
531c7ceb LK |
187 | DONT_RESET = 0, |
188 | DO_RESET = 1, | |
189 | NO_REQUEST = 2, | |
c5c77ba1 JK |
190 | } RESET_REQ_T; |
191 | ||
192 | typedef 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 | ||
199 | typedef 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 | ||
205 | typedef enum { | |
531c7ceb LK |
206 | PRI_HIGH_RSSI = 0x00, |
207 | PRI_LOW_RSSI = 0x04, | |
208 | PRI_DETECT = 0x08 | |
c5c77ba1 JK |
209 | } SCAN_PRI_T; |
210 | ||
211 | typedef enum { | |
531c7ceb LK |
212 | CH_FILTER_OFF = 0x00, |
213 | CH_FILTER_ON = 0x10 | |
c5c77ba1 JK |
214 | } CH_FILTER_T; |
215 | ||
216 | typedef 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 | ||
224 | typedef enum { | |
225 | G_SELF_CTS_PROT, | |
226 | G_RTS_CTS_PROT, | |
227 | } G_PROTECTION_MODE_T; | |
228 | ||
229 | typedef 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 | ||
235 | typedef 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 | ||
242 | typedef 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 | ||
249 | typedef 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 | ||
255 | typedef enum { | |
256 | DISABLE_SELF_CTS, | |
257 | ENABLE_SELF_CTS, | |
258 | DISABLE_TX_ABORT, | |
259 | ENABLE_TX_ABORT, | |
260 | HW_TRIGGER_ABORT, | |
261 | SW_TRIGGER_ABORT, | |
262 | } TX_ABORT_OPTION_T; | |
263 | ||
50327db7 | 264 | enum 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 |
277 | struct wid { |
278 | u16 id; | |
279 | enum wid_type type; | |
280 | s32 size; | |
281 | s8 *val; | |
282 | }; | |
283 | ||
c5c77ba1 | 284 | typedef 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 | 894 | struct wilc; |
4bd7baf0 | 895 | int wilc_wlan_init(struct net_device *dev); |
65c3f000 | 896 | u32 wilc_get_chipid(struct wilc *wilc, bool update); |
c5c77ba1 | 897 | |
c5c77ba1 | 898 | #endif |