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