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