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 16 /******************************************** 17 * 18 * Debug Flags 19 * 20 ********************************************/ 21 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 27 28 /******************************************** 29 * 30 * Host Interface Defines 31 * 32 ********************************************/ 33 34 #define HIF_SDIO (0) 35 #define HIF_SPI BIT(0) 36 #define HIF_SDIO_GPIO_IRQ BIT(2) 37 38 /******************************************** 39 * 40 * Tx/Rx Buffer Size Defines 41 * 42 ********************************************/ 43 44 #define CE_TX_BUFFER_SIZE (64 * 1024) 45 #define CE_RX_BUFFER_SIZE (384 * 1024) 46 47 /******************************************** 48 * 49 * Wlan Interface Defines 50 * 51 ********************************************/ 52 53 typedef struct { 54 u32 read_write: 1; 55 u32 function: 3; 56 u32 raw: 1; 57 u32 address: 17; 58 u32 data: 8; 59 } sdio_cmd52_t; 60 61 typedef struct { 62 /* struct { */ 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; 69 /* } bit; */ 70 u8 *buffer; 71 u32 block_size; 72 } sdio_cmd53_t; 73 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); 87 int (*spi_tx)(u8 *, u32); 88 int (*spi_rx)(u8 *, u32); 89 int (*spi_trx)(u8 *, u8 *, u32); 90 } spi; 91 } u; 92 } wilc_wlan_io_func_t; 93 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 98 99 #define WILC_MAC_INDICATE_SCAN 0x2 100 101 typedef struct { 102 void *os_private; 103 } wilc_wlan_os_context_t; 104 105 typedef struct { 106 wilc_wlan_os_context_t os_context; 107 wilc_wlan_io_func_t io_func; 108 } wilc_wlan_inp_t; 109 110 struct tx_complete_data { 111 int size; 112 void *buff; 113 u8 *pBssid; 114 struct sk_buff *skb; 115 }; 116 117 typedef void (*wilc_tx_complete_func_t)(void *, int); 118 119 #define WILC_TX_ERR_NO_BUF (-2) 120 121 /******************************************** 122 * 123 * Wlan Configuration ID 124 * 125 ********************************************/ 126 127 #define MAX_SSID_LEN 33 128 #define MAX_RATES_SUPPORTED 12 129 130 #define INFINITE_SLEEP_TIME ((u32)0xFFFFFFFF) 131 132 typedef enum { 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, 140 } BEACON_IE; 141 142 typedef enum { 143 INFRASTRUCTURE = 0, 144 INDEPENDENT, 145 AP, 146 } BSSTYPE_T; 147 148 typedef enum { 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 162 } TX_RATE_T; 163 164 typedef enum { 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 */ 169 } G_OPERATING_MODE_T; 170 171 typedef enum { 172 G_SHORT_PREAMBLE = 0, /* Short Preamble */ 173 G_LONG_PREAMBLE = 1, /* Long Preamble */ 174 G_AUTO_PREAMBLE = 2, /* Auto Preamble Selection */ 175 } G_PREAMBLE_T; 176 177 #define MAC_CONNECTED 1 178 #define MAC_DISCONNECTED 0 179 180 #define SCAN_DONE TRUE 181 typedef enum { 182 PASSIVE_SCAN = 0, 183 ACTIVE_SCAN = 1, 184 } SCANTYPE_T; 185 186 typedef enum { 187 NO_POWERSAVE = 0, 188 MIN_FAST_PS = 1, 189 MAX_FAST_PS = 2, 190 MIN_PSPOLL_PS = 3, 191 MAX_PSPOLL_PS = 4 192 } USER_PS_MODE_T; 193 194 typedef enum { 195 CHIP_WAKEDUP = 0, 196 CHIP_SLEEPING_AUTO = 1, 197 CHIP_SLEEPING_MANUAL = 2 198 } CHIP_PS_STATE_T; 199 200 typedef enum { 201 ACQUIRE_ONLY = 0, 202 ACQUIRE_AND_WAKEUP = 1, 203 } BUS_ACQUIRE_T; 204 205 typedef enum { 206 RELEASE_ONLY = 0, 207 RELEASE_ALLOW_SLEEP = 1, 208 } BUS_RELEASE_T; 209 210 typedef enum { 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 */ 220 } SECURITY_T; 221 222 enum AUTHTYPE { 223 OPEN_SYSTEM = 1, 224 SHARED_KEY = 2, 225 ANY = 3, 226 IEEE8021 = 5 227 }; 228 229 enum SITESURVEY { 230 SITE_SURVEY_1CH = 0, 231 SITE_SURVEY_ALL_CH = 1, 232 SITE_SURVEY_OFF = 2 233 }; 234 235 typedef enum { 236 NORMAL_ACK = 0, 237 NO_ACK, 238 } ACK_POLICY_T; 239 240 typedef enum { 241 DONT_RESET = 0, 242 DO_RESET = 1, 243 NO_REQUEST = 2, 244 } RESET_REQ_T; 245 246 typedef enum { 247 REKEY_DISABLE = 1, 248 REKEY_TIME_BASE, 249 REKEY_PKT_BASE, 250 REKEY_TIME_PKT_BASE 251 } RSNA_REKEY_POLICY_T; 252 253 typedef enum { 254 FILTER_NO = 0x00, 255 FILTER_AP_ONLY = 0x01, 256 FILTER_STA_ONLY = 0x02 257 } SCAN_CLASS_FITLER_T; 258 259 typedef enum { 260 PRI_HIGH_RSSI = 0x00, 261 PRI_LOW_RSSI = 0x04, 262 PRI_DETECT = 0x08 263 } SCAN_PRI_T; 264 265 typedef enum { 266 CH_FILTER_OFF = 0x00, 267 CH_FILTER_ON = 0x10 268 } CH_FILTER_T; 269 270 typedef enum { 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 */ 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 { 284 HT_MIXED_MODE = 1, 285 HT_ONLY_20MHZ_MODE, 286 HT_ONLY_20_40MHZ_MODE, 287 } N_OPERATING_MODE_T; 288 289 typedef enum { 290 NO_DETECT = 0, 291 DETECT_ONLY = 1, 292 DETECT_PROTECT = 2, 293 DETECT_PROTECT_REPORT = 3, 294 } N_OBSS_DETECTION_T; 295 296 typedef enum { 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 */ 301 } N_PROTECTION_TYPE_T; 302 303 typedef enum { 304 STATIC_MODE = 1, 305 DYNAMIC_MODE = 2, 306 MIMO_MODE = 3, /* power save disable */ 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 318 enum WID_TYPE { 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 329 }; 330 331 typedef enum { 332 WID_NIL = 0xffff, 333 334 /* 335 * BSS Type 336 * ----------------------------------------------------------- 337 * Configuration : Infrastructure Independent Access Point 338 * Values to set : 0 1 2 339 * ----------------------------------------------------------- 340 */ 341 WID_BSS_TYPE = 0x0000, 342 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 */ 350 WID_CURRENT_TX_RATE = 0x0001, 351 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 */ 359 WID_CURRENT_CHANNEL = 0x0002, 360 361 /* 362 * Preamble 363 * ----------------------------------------------------------- 364 * Configuration : short long Auto 365 * Values to set : 0 1 2 366 * ----------------------------------------------------------- 367 */ 368 WID_PREAMBLE = 0x0003, 369 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 */ 377 WID_11G_OPERATING_MODE = 0x0004, 378 379 /* 380 * Mac status (response only) 381 * ----------------------------------------------------------- 382 * Configuration : disconnect connect 383 * Values to get : 0 1 384 * ----------------------------------------------------------- 385 */ 386 WID_STATUS = 0x0005, 387 388 /* 389 * Scan type 390 * ----------------------------------------------------------- 391 * Configuration : Passive Scanning Active Scanning 392 * Values to set : 0 1 393 * ----------------------------------------------------------- 394 */ 395 WID_SCAN_TYPE = 0x0007, 396 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 */ 404 WID_KEY_ID = 0x0009, 405 406 /* 407 * QoS Enable 408 * ----------------------------------------------------------- 409 * Configuration : QoS Disable WMM Enable 410 * Values to set : 0 1 411 * ----------------------------------------------------------- 412 */ 413 WID_QOS_ENABLE = 0x000A, 414 415 /* 416 * Power Management 417 * ----------------------------------------------------------- 418 * Configuration : NO_POWERSAVE MIN_POWERSAVE MAX_POWERSAVE 419 * Values to set : 0 1 2 420 * ----------------------------------------------------------- 421 */ 422 WID_POWER_MANAGEMENT = 0x000B, 423 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 */ 433 WID_11I_MODE = 0x000C, 434 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 */ 442 WID_AUTH_TYPE = 0x000D, 443 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 */ 453 WID_SITE_SURVEY = 0x000E, 454 455 /* 456 * Listen Interval 457 * ----------------------------------------------------------- 458 * Configuration : Any value between 1 to 255 459 * Values to set : Same value. Default is 3 460 * ----------------------------------------------------------- 461 */ 462 WID_LISTEN_INTERVAL = 0x000F, 463 464 /* 465 * DTIM Period 466 * ----------------------------------------------------------- 467 * Configuration : Any value between 1 to 255 468 * Values to set : Same value. Default is 3 469 * ----------------------------------------------------------- 470 */ 471 WID_DTIM_PERIOD = 0x0010, 472 473 /* 474 * ACK Policy 475 * ----------------------------------------------------------- 476 * Configuration : Normal Ack No Ack 477 * Values to set : 0 1 478 * ----------------------------------------------------------- 479 */ 480 WID_ACK_POLICY = 0x0011, 481 482 /* 483 * Reset MAC (Set only) 484 * ----------------------------------------------------------- 485 * Configuration : Don't Reset Reset No Request 486 * Values to set : 0 1 2 487 * ----------------------------------------------------------- 488 */ 489 WID_RESET = 0x0012, 490 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 */ 498 WID_BCAST_SSID = 0x0015, 499 500 /* 501 * Disconnect (Station) 502 * ----------------------------------------------------------- 503 * Configuration : Association ID 504 * Values to set : Association ID 505 * ----------------------------------------------------------- 506 */ 507 WID_DISCONNECT = 0x0016, 508 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 */ 516 WID_TX_POWER_LEVEL_11A = 0x0018, 517 518 /* 519 * Group Key Update Policy Selection 520 * ----------------------------------------------------------- 521 * Configuration : Disabled timeBased packetBased timePacketBased 522 * Values to set : 1 2 3 4 523 * ----------------------------------------------------------- 524 */ 525 WID_REKEY_POLICY = 0x0019, 526 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 */ 535 WID_SHORT_SLOT_ALLOWED = 0x001A, 536 537 WID_PHY_ACTIVE_REG = 0x001B, 538 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 */ 546 WID_TX_POWER_LEVEL_11B = 0x001D, 547 548 /* 549 * Scan Request 550 * ----------------------------------------------------------- 551 * Configuration : Request default scan 552 * Values to set : 0 553 * ----------------------------------------------------------- 554 */ 555 WID_START_SCAN_REQ = 0x001E, 556 557 /* 558 * Rssi (get only) 559 * ----------------------------------------------------------- 560 * Configuration : 561 * Values to get : Rssi value 562 * ----------------------------------------------------------- 563 */ 564 WID_RSSI = 0x001F, 565 566 /* 567 * Join Request 568 * ----------------------------------------------------------- 569 * Configuration : Request to join 570 * Values to set : index of scan result 571 * ----------------------------------------------------------- 572 */ 573 WID_JOIN_REQ = 0x0020, 574 575 WID_LINKSPEED = 0x0026, 576 577 /* 578 * Enable User Control of TX Power 579 * ----------------------------------------------------------- 580 * Configuration : Disable Enable 581 * Values to set : 0 1 582 * ----------------------------------------------------------- 583 */ 584 WID_USER_CONTROL_ON_TX_POWER = 0x0027, 585 586 WID_MEMORY_ACCESS_8BIT = 0x0029, 587 588 /* 589 * Enable Auto RX Sensitivity feature 590 * ----------------------------------------------------------- 591 * Configuration : Disable Enable 592 * Values to set : 0 1 593 * ----------------------------------------------------------- 594 */ 595 WID_AUTO_RX_SENSITIVITY = 0x0032, 596 597 /* 598 * Receive Buffer Based Ack 599 * ----------------------------------------------------------- 600 * Configuration : Disable Enable 601 * Values to set : 0 1 602 * ----------------------------------------------------------- 603 */ 604 WID_DATAFLOW_CONTROL = 0x0033, 605 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 */ 617 WID_SCAN_FILTER = 0x0036, 618 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 */ 626 WID_LINK_LOSS_THRESHOLD = 0x0037, 627 628 WID_ABORT_RUNNING_SCAN = 0x003E, 629 630 /* NMAC Character WID list */ 631 WID_WPS_START = 0x0043, 632 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 */ 640 WID_11N_PROT_MECH = 0x0080, 641 642 /* 643 * ERP Protection type for MAC 644 * ----------------------------------------------------------- 645 * Configuration : Self-CTS RTS-CTS 646 * Values to set : 0 1 647 * ----------------------------------------------------------- 648 */ 649 WID_11N_ERP_PROT_TYPE = 0x0081, 650 651 /* 652 * HT Option Enable 653 * ----------------------------------------------------------- 654 * Configuration : HT Enable HT Disable 655 * Values to set : 1 0 656 * ----------------------------------------------------------- 657 */ 658 WID_11N_ENABLE = 0x0082, 659 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 */ 668 WID_11N_OPERATING_MODE = 0x0083, 669 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 */ 683 WID_11N_OBSS_NONHT_DETECTION = 0x0084, 684 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 */ 694 WID_11N_HT_PROT_TYPE = 0x0085, 695 696 /* 697 * 11n RIFS Protection Enable Flag 698 * ----------------------------------------------------------- 699 * Configuration : Disable Enable 700 * Values to set : 0 1 701 * ----------------------------------------------------------- 702 */ 703 WID_11N_RIFS_PROT_ENABLE = 0x0086, 704 705 /* 706 * SMPS Mode 707 * ----------------------------------------------------------- 708 * Configuration : Static Dynamic MIMO (Power Save Disabled) 709 * Values to set : 1 2 3 710 * ----------------------------------------------------------- 711 */ 712 WID_11N_SMPS_MODE = 0x0087, 713 714 /* 715 * Current transmit MCS 716 * ----------------------------------------------------------- 717 * Configuration : MCS Index for data rate 718 * Values to set : 0 to 7 719 * ----------------------------------------------------------- 720 */ 721 WID_11N_CURRENT_TX_MCS = 0x0088, 722 723 WID_11N_PRINT_STATS = 0x0089, 724 725 /* 726 * 11n Short GI Enable Flag 727 * ----------------------------------------------------------- 728 * Configuration : Disable Enable 729 * Values to set : 0 1 730 * ----------------------------------------------------------- 731 */ 732 WID_11N_SHORT_GI_ENABLE = 0x008D, 733 734 /* 735 * 11n RIFS Enable Flag 736 * ----------------------------------------------------------- 737 * Configuration : Disable Enable 738 * Values to set : 0 1 739 * ----------------------------------------------------------- 740 */ 741 WID_RIFS_MODE = 0x0094, 742 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 */ 754 WID_TX_ABORT_CONFIG = 0x00A1, 755 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, 763 764 /* 765 * Immediate Block-Ack Support 766 * ----------------------------------------------------------- 767 * Configuration : Disable Enable 768 * Values to set : 0 1 769 * ----------------------------------------------------------- 770 */ 771 WID_11N_IMMEDIATE_BA_ENABLED = 0x00AF, 772 773 /* 774 * TXOP Disable Flag 775 * ----------------------------------------------------------- 776 * Configuration : Disable Enable 777 * Values to set : 1 0 778 * ----------------------------------------------------------- 779 */ 780 WID_11N_TXOP_PROT_DISABLE = 0x00B0, 781 782 WID_TX_POWER_LEVEL_11N = 0x00B1, 783 784 /* Custom Character WID list */ 785 WID_PC_TEST_MODE = 0x00C8, 786 /* SCAN Complete notification WID*/ 787 WID_SCAN_COMPLETE = 0x00C9, 788 789 WID_DEL_BEACON = 0x00CA, 790 791 WID_LOGTerminal_Switch = 0x00CD, 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 */ 800 WID_RTS_THRESHOLD = 0x1000, 801 802 /* 803 * Fragmentation Threshold 804 * ----------------------------------------------------------- 805 * Configuration : Any value between 256 to 2346 806 * Values to set : Same value. Default is 2346 807 * ----------------------------------------------------------- 808 */ 809 WID_FRAG_THRESHOLD = 0x1001, 810 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, 818 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, 825 826 /* NMAC Short WID list */ 827 WID_11N_SIG_QUAL_VAL = 0x1085, 828 WID_CCA_THRESHOLD = 0x1087, 829 830 /* Custom Short WID list */ 831 832 /* EMAC Integer WID list */ 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, 857 858 /* NMAC Integer WID list */ 859 WID_11N_PHY_ACTIVE_REG_VAL = 0x2080, 860 861 /* Custom Integer WID list */ 862 WID_GET_INACTIVE_TIME = 0x2084, 863 WID_SET_DRV_HANDLER = 0X2085, 864 WID_SET_OPERATION_MODE = 0X2086, 865 /* EMAC String WID list */ 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 */ 896 897 /* NMAC String WID list */ 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, 909 910 /* Custom String WID list */ 911 912 /* EMAC Binary WID list */ 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, 920 921 /* NMAC Binary WID list */ 922 WID_11N_AUTORATE_TABLE = 0x4080, 923 924 WID_SCAN_CHANNEL_LIST = 0x4084, 925 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, 932 933 WID_SETUP_MULTICAST_FILTER = 0x408b, 934 935 /* Miscellaneous WIDs */ 936 WID_ALL = 0x7FFE, 937 WID_MAX = 0xFFFF 938 } WID_T; 939 940 int wilc_wlan_init(wilc_wlan_inp_t *inp); 941 942 void wilc_bus_set_max_speed(void); 943 void wilc_bus_set_default_speed(void); 944 u32 wilc_get_chipid(u8 update); 945 946 #endif 947