| //------------------------------------------------------------------------------ |
| // Copyright (c) 2004-2010 Atheros Communications Inc. |
| // All rights reserved. |
| // |
| // |
| // |
| // Permission to use, copy, modify, and/or distribute this software for any |
| // purpose with or without fee is hereby granted, provided that the above |
| // copyright notice and this permission notice appear in all copies. |
| // |
| // THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES |
| // WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF |
| // MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR |
| // ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES |
| // WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN |
| // ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF |
| // OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. |
| // |
| // |
| // |
| // Author(s): ="Atheros" |
| //------------------------------------------------------------------------------ |
| |
| #ifndef _ATHDRV_LINUX_H |
| #define _ATHDRV_LINUX_H |
| |
| #ifdef __cplusplus |
| extern "C" { |
| #endif |
| |
| |
| /* |
| * There are two types of ioctl's here: Standard ioctls and |
| * eXtended ioctls. All extended ioctls (XIOCTL) are multiplexed |
| * off of the single ioctl command, AR6000_IOCTL_EXTENDED. The |
| * arguments for every XIOCTL starts with a 32-bit command word |
| * that is used to select which extended ioctl is in use. After |
| * the command word are command-specific arguments. |
| */ |
| |
| /* Linux standard Wireless Extensions, private ioctl interfaces */ |
| #define IEEE80211_IOCTL_SETPARAM (SIOCIWFIRSTPRIV+0) |
| #define IEEE80211_IOCTL_SETKEY (SIOCIWFIRSTPRIV+1) |
| #define IEEE80211_IOCTL_DELKEY (SIOCIWFIRSTPRIV+2) |
| #define IEEE80211_IOCTL_SETMLME (SIOCIWFIRSTPRIV+3) |
| #define IEEE80211_IOCTL_ADDPMKID (SIOCIWFIRSTPRIV+4) |
| #define IEEE80211_IOCTL_SETOPTIE (SIOCIWFIRSTPRIV+5) |
| //#define IEEE80211_IOCTL_GETPARAM (SIOCIWFIRSTPRIV+6) |
| //#define IEEE80211_IOCTL_SETWMMPARAMS (SIOCIWFIRSTPRIV+7) |
| //#define IEEE80211_IOCTL_GETWMMPARAMS (SIOCIWFIRSTPRIV+8) |
| //#define IEEE80211_IOCTL_GETOPTIE (SIOCIWFIRSTPRIV+9) |
| //#define IEEE80211_IOCTL_SETAUTHALG (SIOCIWFIRSTPRIV+10) |
| #define IEEE80211_IOCTL_LASTONE (SIOCIWFIRSTPRIV+10) |
| |
| |
| |
| /* ====WMI Ioctls==== */ |
| /* |
| * |
| * Many ioctls simply provide WMI services to application code: |
| * an application makes such an ioctl call with a set of arguments |
| * that are packaged into the corresponding WMI message, and sent |
| * to the Target. |
| */ |
| |
| #define AR6000_IOCTL_WMI_GETREV (SIOCIWFIRSTPRIV+11) |
| /* |
| * arguments: |
| * ar6000_version *revision |
| */ |
| |
| #define AR6000_IOCTL_WMI_SETPWR (SIOCIWFIRSTPRIV+12) |
| /* |
| * arguments: |
| * WMI_POWER_MODE_CMD pwrModeCmd (see include/wmi.h) |
| * uses: WMI_SET_POWER_MODE_CMDID |
| */ |
| |
| #define AR6000_IOCTL_WMI_SETSCAN (SIOCIWFIRSTPRIV+13) |
| /* |
| * arguments: |
| * WMI_SCAN_PARAMS_CMD scanParams (see include/wmi.h) |
| * uses: WMI_SET_SCAN_PARAMS_CMDID |
| */ |
| |
| #define AR6000_IOCTL_WMI_SETLISTENINT (SIOCIWFIRSTPRIV+14) |
| /* |
| * arguments: |
| * UINT32 listenInterval |
| * uses: WMI_SET_LISTEN_INT_CMDID |
| */ |
| |
| #define AR6000_IOCTL_WMI_SETBSSFILTER (SIOCIWFIRSTPRIV+15) |
| /* |
| * arguments: |
| * WMI_BSS_FILTER filter (see include/wmi.h) |
| * uses: WMI_SET_BSS_FILTER_CMDID |
| */ |
| |
| #define AR6000_IOCTL_WMI_SET_CHANNELPARAMS (SIOCIWFIRSTPRIV+16) |
| /* |
| * arguments: |
| * WMI_CHANNEL_PARAMS_CMD chParams |
| * uses: WMI_SET_CHANNEL_PARAMS_CMDID |
| */ |
| |
| #define AR6000_IOCTL_WMI_SET_PROBEDSSID (SIOCIWFIRSTPRIV+17) |
| /* |
| * arguments: |
| * WMI_PROBED_SSID_CMD probedSsids (see include/wmi.h) |
| * uses: WMI_SETPROBED_SSID_CMDID |
| */ |
| |
| #define AR6000_IOCTL_WMI_SET_PMPARAMS (SIOCIWFIRSTPRIV+18) |
| /* |
| * arguments: |
| * WMI_POWER_PARAMS_CMD powerParams (see include/wmi.h) |
| * uses: WMI_SET_POWER_PARAMS_CMDID |
| */ |
| |
| #define AR6000_IOCTL_WMI_SET_BADAP (SIOCIWFIRSTPRIV+19) |
| /* |
| * arguments: |
| * WMI_ADD_BAD_AP_CMD badAPs (see include/wmi.h) |
| * uses: WMI_ADD_BAD_AP_CMDID |
| */ |
| |
| #define AR6000_IOCTL_WMI_GET_QOS_QUEUE (SIOCIWFIRSTPRIV+20) |
| /* |
| * arguments: |
| * ar6000_queuereq queueRequest (see below) |
| */ |
| |
| #define AR6000_IOCTL_WMI_CREATE_QOS (SIOCIWFIRSTPRIV+21) |
| /* |
| * arguments: |
| * WMI_CREATE_PSTREAM createPstreamCmd (see include/wmi.h) |
| * uses: WMI_CREATE_PSTREAM_CMDID |
| */ |
| |
| #define AR6000_IOCTL_WMI_DELETE_QOS (SIOCIWFIRSTPRIV+22) |
| /* |
| * arguments: |
| * WMI_DELETE_PSTREAM_CMD deletePstreamCmd (see include/wmi.h) |
| * uses: WMI_DELETE_PSTREAM_CMDID |
| */ |
| |
| #define AR6000_IOCTL_WMI_SET_SNRTHRESHOLD (SIOCIWFIRSTPRIV+23) |
| /* |
| * arguments: |
| * WMI_SNR_THRESHOLD_PARAMS_CMD thresholdParams (see include/wmi.h) |
| * uses: WMI_SNR_THRESHOLD_PARAMS_CMDID |
| */ |
| |
| #define AR6000_IOCTL_WMI_SET_ERROR_REPORT_BITMASK (SIOCIWFIRSTPRIV+24) |
| /* |
| * arguments: |
| * WMI_TARGET_ERROR_REPORT_BITMASK errorReportBitMask (see include/wmi.h) |
| * uses: WMI_TARGET_ERROR_REPORT_BITMASK_CMDID |
| */ |
| |
| #define AR6000_IOCTL_WMI_GET_TARGET_STATS (SIOCIWFIRSTPRIV+25) |
| /* |
| * arguments: |
| * TARGET_STATS *targetStats (see below) |
| * uses: WMI_GET_STATISTICS_CMDID |
| */ |
| |
| #define AR6000_IOCTL_WMI_SET_ASSOC_INFO (SIOCIWFIRSTPRIV+26) |
| /* |
| * arguments: |
| * WMI_SET_ASSOC_INFO_CMD setAssocInfoCmd |
| * uses: WMI_SET_ASSOC_INFO_CMDID |
| */ |
| |
| #define AR6000_IOCTL_WMI_SET_ACCESS_PARAMS (SIOCIWFIRSTPRIV+27) |
| /* |
| * arguments: |
| * WMI_SET_ACCESS_PARAMS_CMD setAccessParams (see include/wmi.h) |
| * uses: WMI_SET_ACCESS_PARAMS_CMDID |
| */ |
| |
| #define AR6000_IOCTL_WMI_SET_BMISS_TIME (SIOCIWFIRSTPRIV+28) |
| /* |
| * arguments: |
| * UINT32 beaconMissTime |
| * uses: WMI_SET_BMISS_TIME_CMDID |
| */ |
| |
| #define AR6000_IOCTL_WMI_SET_DISC_TIMEOUT (SIOCIWFIRSTPRIV+29) |
| /* |
| * arguments: |
| * WMI_DISC_TIMEOUT_CMD disconnectTimeoutCmd (see include/wmi.h) |
| * uses: WMI_SET_DISC_TIMEOUT_CMDID |
| */ |
| |
| #define AR6000_IOCTL_WMI_SET_IBSS_PM_CAPS (SIOCIWFIRSTPRIV+30) |
| /* |
| * arguments: |
| * WMI_IBSS_PM_CAPS_CMD ibssPowerMgmtCapsCmd |
| * uses: WMI_SET_IBSS_PM_CAPS_CMDID |
| */ |
| |
| /* |
| * There is a very small space available for driver-private |
| * wireless ioctls. In order to circumvent this limitation, |
| * we multiplex a bunch of ioctls (XIOCTLs) on top of a |
| * single AR6000_IOCTL_EXTENDED ioctl. |
| */ |
| #define AR6000_IOCTL_EXTENDED (SIOCIWFIRSTPRIV+31) |
| |
| typedef enum { |
| AR6000_XIOCTL_BMI_DONE = 1, |
| AR6000_XIOCTL_BMI_READ_MEMORY, |
| AR6000_XIOCTL_BMI_WRITE_MEMORY, |
| AR6000_XIOCTL_BMI_EXECUTE, |
| AR6000_XIOCTL_BMI_SET_APP_START, |
| AR6000_XIOCTL_BMI_READ_SOC_REGISTER, |
| AR6000_XIOCTL_BMI_WRITE_SOC_REGISTER, |
| AR6000_XIOCTL_BMI_TEST, |
| AR6000_XIOCTL_UNUSED9, |
| AR6000_XIOCTL_UNUSED10, /* 10 */ |
| AR6000_XIOCTL_UNUSED11, |
| AR6000_XIOCTL_FORCE_TARGET_RESET, |
| AR6000_XIOCTL_HTC_RAW_OPEN, |
| AR6000_XIOCTL_HTC_RAW_CLOSE, |
| AR6000_XIOCTL_HTC_RAW_READ, |
| AR6000_XIOCTL_HTC_RAW_WRITE, |
| AR6000_XIOCTL_CHECK_TARGET_READY, |
| AR6000_XIOCTL_GPIO_OUTPUT_SET, |
| AR6000_XIOCTL_GPIO_INPUT_GET, |
| AR6000_XIOCTL_GPIO_REGISTER_SET, /* 20 */ |
| AR6000_XIOCTL_GPIO_REGISTER_GET, |
| AR6000_XIOCTL_GPIO_INTR_ACK, |
| AR6000_XIOCTL_GPIO_INTR_WAIT, |
| AR6000_XIOCTL_SET_ADHOC_BSSID, |
| AR6000_XIOCTL_UNUSED25, |
| AR6000_XIOCTL_UNUSED26, |
| AR6000_XIOCTL_SET_BEACON_INTVAL, |
| IEEE80211_IOCTL_SETAUTHALG, |
| AR6000_XIOCTL_SET_VOICE_PKT_SIZE, |
| AR6000_XIOCTL_SET_MAX_SP, /* 30 */ |
| AR6000_XIOCTL_WMI_GET_ROAM_TBL, |
| AR6000_XIOCTL_WMI_SET_ROAM_CTRL, |
| AR6000_XIOCTRL_WMI_SET_POWERSAVE_TIMERS, |
| AR6000_XIOCTRL_WMI_GET_POWER_MODE, |
| AR6000_XIOCTRL_WMI_SET_WLAN_STATE, |
| AR6000_XIOCTL_WMI_GET_ROAM_DATA, |
| AR6000_XIOCTL_WMI_SETRETRYLIMITS, |
| AR6000_XIOCTL_TCMD_CONT_TX, |
| AR6000_XIOCTL_TCMD_CONT_RX, |
| AR6000_XIOCTL_TCMD_PM, /* 40 */ |
| AR6000_XIOCTL_WMI_STARTSCAN, |
| AR6000_XIOCTL_WMI_SETFIXRATES, |
| AR6000_XIOCTL_WMI_GETFIXRATES, |
| AR6000_XIOCTL_WMI_SET_RSSITHRESHOLD, |
| AR6000_XIOCTL_WMI_CLR_RSSISNR, |
| AR6000_XIOCTL_WMI_SET_LQTHRESHOLD, |
| AR6000_XIOCTL_WMI_SET_RTS, |
| AR6000_XIOCTL_WMI_SET_LPREAMBLE, |
| AR6000_XIOCTL_WMI_SET_AUTHMODE, |
| AR6000_XIOCTL_WMI_SET_REASSOCMODE, /* 50 */ |
| AR6000_XIOCTL_WMI_SET_WMM, |
| AR6000_XIOCTL_WMI_SET_HB_CHALLENGE_RESP_PARAMS, |
| AR6000_XIOCTL_WMI_GET_HB_CHALLENGE_RESP, |
| AR6000_XIOCTL_WMI_GET_RD, |
| AR6000_XIOCTL_DIAG_READ, |
| AR6000_XIOCTL_DIAG_WRITE, |
| AR6000_XIOCTL_WMI_SET_TXOP, |
| AR6000_XIOCTL_USER_SETKEYS, |
| AR6000_XIOCTL_WMI_SET_KEEPALIVE, |
| AR6000_XIOCTL_WMI_GET_KEEPALIVE, /* 60 */ |
| AR6000_XIOCTL_BMI_ROMPATCH_INSTALL, |
| AR6000_XIOCTL_BMI_ROMPATCH_UNINSTALL, |
| AR6000_XIOCTL_BMI_ROMPATCH_ACTIVATE, |
| AR6000_XIOCTL_BMI_ROMPATCH_DEACTIVATE, |
| AR6000_XIOCTL_WMI_SET_APPIE, |
| AR6000_XIOCTL_WMI_SET_MGMT_FRM_RX_FILTER, |
| AR6000_XIOCTL_DBGLOG_CFG_MODULE, |
| AR6000_XIOCTL_DBGLOG_GET_DEBUG_LOGS, |
| AR6000_XIOCTL_WMI_SET_WSC_STATUS = 70, /* 70 */ |
| AR6000_XIOCTL_WMI_SET_BT_STATUS, |
| AR6000_XIOCTL_WMI_SET_BT_PARAMS, |
| AR6000_XIOCTL_WMI_SET_HOST_SLEEP_MODE, |
| AR6000_XIOCTL_WMI_SET_WOW_MODE, |
| AR6000_XIOCTL_WMI_GET_WOW_LIST, |
| AR6000_XIOCTL_WMI_ADD_WOW_PATTERN, |
| AR6000_XIOCTL_WMI_DEL_WOW_PATTERN, |
| AR6000_XIOCTL_TARGET_INFO, |
| AR6000_XIOCTL_DUMP_HTC_CREDIT_STATE, |
| AR6000_XIOCTL_TRAFFIC_ACTIVITY_CHANGE, /* 80 */ |
| AR6000_XIOCTL_WMI_SET_CONNECT_CTRL_FLAGS, |
| AR6000_XIOCTL_WMI_SET_AKMP_PARAMS, |
| AR6000_XIOCTL_WMI_GET_PMKID_LIST, |
| AR6000_XIOCTL_WMI_SET_PMKID_LIST, |
| AR6000_XIOCTL_WMI_SET_PARAMS, |
| AR6000_XIOCTL_WMI_SET_MCAST_FILTER, |
| AR6000_XIOCTL_WMI_DEL_MCAST_FILTER, |
| AR6000_XIOCTL_UNUSED90 = 90, /* 90 */ |
| AR6000_XIOCTL_BMI_LZ_STREAM_START, |
| AR6000_XIOCTL_BMI_LZ_DATA, |
| AR6000_XIOCTL_PROF_CFG, |
| AR6000_XIOCTL_PROF_ADDR_SET, |
| AR6000_XIOCTL_PROF_START, |
| AR6000_XIOCTL_PROF_STOP, |
| AR6000_XIOCTL_PROF_COUNT_GET, |
| AR6000_XIOCTL_WMI_ABORT_SCAN, |
| AR6000_XIOCTL_AP_GET_STA_LIST, |
| AR6000_XIOCTL_AP_HIDDEN_SSID, /* 100 */ |
| AR6000_XIOCTL_AP_SET_NUM_STA, |
| AR6000_XIOCTL_AP_SET_ACL_MAC, |
| AR6000_XIOCTL_AP_GET_ACL_LIST, |
| AR6000_XIOCTL_AP_COMMIT_CONFIG, |
| IEEE80211_IOCTL_GETWPAIE, |
| AR6000_XIOCTL_AP_CONN_INACT_TIME, |
| AR6000_XIOCTL_AP_PROT_SCAN_TIME, |
| AR6000_XIOCTL_AP_SET_COUNTRY, |
| AR6000_XIOCTL_AP_SET_DTIM, |
| AR6000_XIOCTL_WMI_TARGET_EVENT_REPORT, /* 110 */ |
| AR6000_XIOCTL_SET_IP, |
| AR6000_XIOCTL_AP_SET_ACL_POLICY, |
| AR6000_XIOCTL_AP_CTRL_BSS_COMM, |
| AR6000_XIOCTL_DUMP_MODULE_DEBUG_INFO, |
| AR6000_XIOCTL_MODULE_DEBUG_SET_MASK, |
| AR6000_XIOCTL_MODULE_DEBUG_GET_MASK, |
| AR6000_XIOCTL_DUMP_RCV_AGGR_STATS, |
| AR6000_XIOCTL_SET_HT_CAP, |
| AR6000_XIOCTL_SET_HT_OP, |
| AR6000_XIOCTL_AP_GET_STAT, /* 120 */ |
| AR6000_XIOCTL_SET_TX_SELECT_RATES, |
| AR6000_XIOCTL_SETUP_AGGR, |
| AR6000_XIOCTL_ALLOW_AGGR, |
| AR6000_XIOCTL_AP_GET_HIDDEN_SSID, |
| AR6000_XIOCTL_AP_GET_COUNTRY, |
| AR6000_XIOCTL_AP_GET_WMODE, |
| AR6000_XIOCTL_AP_GET_DTIM, |
| AR6000_XIOCTL_AP_GET_BINTVL, |
| AR6000_XIOCTL_AP_GET_RTS, |
| AR6000_XIOCTL_DELE_AGGR, /* 130 */ |
| AR6000_XIOCTL_FETCH_TARGET_REGS, |
| AR6000_XIOCTL_HCI_CMD, |
| AR6000_XIOCTL_ACL_DATA, |
| AR6000_XIOCTL_WLAN_CONN_PRECEDENCE, |
| AR6000_XIOCTL_AP_SET_11BG_RATESET, |
| AR6000_XIOCTL_WMI_SET_AP_PS, |
| AR6000_XIOCTL_WMI_MCAST_FILTER, |
| AR6000_XIOCTL_WMI_SET_BTCOEX_FE_ANT, |
| AR6000_XIOCTL_WMI_SET_BTCOEX_COLOCATED_BT_DEV, |
| AR6000_XIOCTL_WMI_SET_BTCOEX_BTINQUIRY_PAGE_CONFIG, /* 140 */ |
| AR6000_XIOCTL_WMI_SET_BTCOEX_SCO_CONFIG, |
| AR6000_XIOCTL_WMI_SET_BTCOEX_A2DP_CONFIG, |
| AR6000_XIOCTL_WMI_SET_BTCOEX_ACLCOEX_CONFIG, |
| AR6000_XIOCTL_WMI_SET_BTCOEX_DEBUG, |
| AR6000_XIOCTL_WMI_SET_BT_OPERATING_STATUS, |
| AR6000_XIOCTL_WMI_GET_BTCOEX_CONFIG, |
| AR6000_XIOCTL_WMI_GET_BTCOEX_STATS, |
| AR6000_XIOCTL_WMI_SET_QOS_SUPP, |
| AR6000_XIOCTL_AP_SET_DFS, |
| AR6000_XIOCTL_WMI_P2P_DISCOVER, /* 150 */ |
| AR6000_XIOCTL_WMI_P2P_STOP_FIND, |
| AR6000_XIOCTL_WMI_P2P_CANCEL, |
| AR6000_XIOCTL_WMI_P2P_LISTEN, |
| AR6000_XIOCTL_WMI_P2P_GO_NEG, |
| AR6000_XIOCTL_WMI_P2P_AUTH_GO_NEG, |
| AR6000_XIOCTL_WMI_P2P_REJECT, |
| AR6000_XIOCTL_WMI_P2P_CONFIG, |
| AR6000_XIOCTL_WMI_WPS_CONFIG, |
| AR6000_XIOCTL_WMI_P2P_FINDNODE, |
| AR6000_XIOCTL_WMI_P2P_GRP_INIT, /* 160 */ |
| AR6000_XIOCTL_WMI_P2P_GRP_FORMATION_DONE, |
| AR6000_XIOCTL_WMI_P2P_INVITE, |
| AR6000_XIOCTL_WMI_P2P_PROV_DISC, |
| AR6000_XIOCTL_WMI_P2P_SET, |
| AR6000_XIOCTL_WMI_P2P_PEER, |
| AR6000_XIOCTL_WMI_P2P_FLUSH, |
| AR6000_XIOCTL_WMI_GET_GO_PARAMS, |
| AR6000_XIOCTL_P2P_AUTH_INVITE, |
| AR6000_XIOCTL_WMI_P2P_GET_IF_ADDR, |
| AR6000_XIOCTL_WMI_P2P_GET_DEV_ADDR, /* 170 */ |
| AR6000_XIOCTL_WMI_P2P_SDPD_TX_CMD, |
| AR6000_XIOTCL_WMI_P2P_SD_CANCEL_REQUEST, |
| AR6000_XIOCTL_SET_BT_HW_POWER_STATE, |
| AR6000_XIOCTL_GET_BT_HW_POWER_STATE, |
| AR6000_XIOCTL_GET_WLAN_SLEEP_STATE, |
| AR6000_XIOCTL_WMI_SET_TX_SGI_PARAM, |
| AR6000_XIOCTL_WMI_ENABLE_WAC_PARAM, |
| AR6000_XIOCTL_WAC_SCAN_REPLY, |
| AR6000_XIOCTL_WMI_WAC_CTRL_REQ, |
| AR6000_XIOCTL_WMI_SET_WPA_OFFLOAD_STATE, /* 180 */ |
| AR6000_XIOCTL_WMI_SET_PASSPHRASE, |
| AR6000_XIOCTL_BMI_NVRAM_PROCESS, |
| AR6000_XIOCTL_WMI_SET_DIVERSITY_PARAM, |
| AR6000_XIOCTL_WMI_FORCE_ASSERT, |
| AR6000_XIOCTL_WMI_ENABLE_PKTLOG, |
| AR6000_XIOCTL_WMI_DISABLE_PKTLOG, |
| AR6000_XIOCTL_WMI_GET_PKTLOG, |
| AR6000_XIOCTL_AP_ACS_POLICY, |
| AR6000_XIOCTL_TCMD_CMDS, |
| AR6000_XIOCTL_WMI_SET_EXCESS_TX_RETRY_THRES, /* 190 */ |
| AR6000_XIOCTL_AP_GET_NUM_STA, |
| AR6000_XIOCTL_SUSPEND_DRIVER, |
| AR6000_XIOCTL_RESUME_DRIVER, |
| AR6000_XIOCTL_GET_SUBMODE, |
| AR6000_XIOCTL_WMI_AP_SET_APSD, |
| AR6000_XIOCTL_TCMD_SETREG, |
| AR6000_XIOCTL_GET_HT_CAP, |
| AR6000_XIOCTL_WMI_GET_P2P_IE, |
| AR6000_XIOCTL_WMI_P2P_GET_OWN_INFO, |
| AR6000_XIOCTL_WMI_LTE_FREQ, /* 200 */ |
| AR6000_XIOCTL_WMI_AP_IDLE_CLOSE_TIME, |
| AR6000_XIOCTL_WMI_SEND_FRAME, |
| AR6000_XIOCTL_WMI_GET_WMM, |
| } XTND_IOCLTS; |
| |
| |
| |
| ///* ====BMI Extended Ioctls==== */ |
| // |
| //#define AR6000_XIOCTL_BMI_DONE 1 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_BMI_DONE) |
| // * uses: BMI_DONE |
| // */ |
| // |
| //#define AR6000_XIOCTL_BMI_READ_MEMORY 2 |
| ///* |
| // * arguments: |
| // * union { |
| // * struct { |
| // * UINT32 cmd (AR6000_XIOCTL_BMI_READ_MEMORY) |
| // * UINT32 address |
| // * UINT32 length |
| // * } |
| // * char results[length] |
| // * } |
| // * uses: BMI_READ_MEMORY |
| // */ |
| // |
| //#define AR6000_XIOCTL_BMI_WRITE_MEMORY 3 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_BMI_WRITE_MEMORY) |
| // * UINT32 address |
| // * UINT32 length |
| // * char data[length] |
| // * uses: BMI_WRITE_MEMORY |
| // */ |
| // |
| //#define AR6000_XIOCTL_BMI_EXECUTE 4 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_BMI_EXECUTE) |
| // * UINT32 TargetAddress |
| // * UINT32 parameter |
| // * uses: BMI_EXECUTE |
| // */ |
| // |
| //#define AR6000_XIOCTL_BMI_SET_APP_START 5 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_BMI_SET_APP_START) |
| // * UINT32 TargetAddress |
| // * uses: BMI_SET_APP_START |
| // */ |
| // |
| //#define AR6000_XIOCTL_BMI_READ_SOC_REGISTER 6 |
| ///* |
| // * arguments: |
| // * union { |
| // * struct { |
| // * UINT32 cmd (AR6000_XIOCTL_BMI_READ_SOC_REGISTER) |
| // * UINT32 TargetAddress, 32-bit aligned |
| // * } |
| // * UINT32 result |
| // * } |
| // * uses: BMI_READ_SOC_REGISTER |
| // */ |
| // |
| //#define AR6000_XIOCTL_BMI_WRITE_SOC_REGISTER 7 |
| ///* |
| // * arguments: |
| // * struct { |
| // * UINT32 cmd (AR6000_XIOCTL_BMI_WRITE_SOC_REGISTER) |
| // * UINT32 TargetAddress, 32-bit aligned |
| // * UINT32 newValue |
| // * } |
| // * uses: BMI_WRITE_SOC_REGISTER |
| // */ |
| // |
| //#define AR6000_XIOCTL_BMI_TEST 8 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_BMI_TEST) |
| // * UINT32 address |
| // * UINT32 length |
| // * UINT32 count |
| // */ |
| // |
| // |
| // |
| ///* Historical Host-side DataSet support */ |
| //#define AR6000_XIOCTL_UNUSED9 9 |
| //#define AR6000_XIOCTL_UNUSED10 10 |
| //#define AR6000_XIOCTL_UNUSED11 11 |
| // |
| ///* ====Misc Extended Ioctls==== */ |
| // |
| //#define AR6000_XIOCTL_FORCE_TARGET_RESET 12 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_FORCE_TARGET_RESET) |
| // */ |
| // |
| // |
| //#ifdef HTC_RAW_INTERFACE |
| ///* HTC Raw Interface Ioctls */ |
| //#define AR6000_XIOCTL_HTC_RAW_OPEN 13 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_HTC_RAW_OPEN) |
| // */ |
| // |
| //#define AR6000_XIOCTL_HTC_RAW_CLOSE 14 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_HTC_RAW_CLOSE) |
| // */ |
| // |
| //#define AR6000_XIOCTL_HTC_RAW_READ 15 |
| ///* |
| // * arguments: |
| // * union { |
| // * struct { |
| // * UINT32 cmd (AR6000_XIOCTL_HTC_RAW_READ) |
| // * UINT32 mailboxID |
| // * UINT32 length |
| // * } |
| // * results[length] |
| // * } |
| // */ |
| // |
| //#define AR6000_XIOCTL_HTC_RAW_WRITE 16 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_HTC_RAW_WRITE) |
| // * UINT32 mailboxID |
| // * UINT32 length |
| // * char buffer[length] |
| // */ |
| //#endif /* HTC_RAW_INTERFACE */ |
| // |
| //#define AR6000_XIOCTL_CHECK_TARGET_READY 17 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_CHECK_TARGET_READY) |
| // */ |
| // |
| // |
| // |
| ///* ====GPIO (General Purpose I/O) Extended Ioctls==== */ |
| // |
| //#define AR6000_XIOCTL_GPIO_OUTPUT_SET 18 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_GPIO_OUTPUT_SET) |
| // * ar6000_gpio_output_set_cmd_s (see below) |
| // * uses: WMIX_GPIO_OUTPUT_SET_CMDID |
| // */ |
| // |
| //#define AR6000_XIOCTL_GPIO_INPUT_GET 19 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_GPIO_INPUT_GET) |
| // * uses: WMIX_GPIO_INPUT_GET_CMDID |
| // */ |
| // |
| //#define AR6000_XIOCTL_GPIO_REGISTER_SET 20 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_GPIO_REGISTER_SET) |
| // * ar6000_gpio_register_cmd_s (see below) |
| // * uses: WMIX_GPIO_REGISTER_SET_CMDID |
| // */ |
| // |
| //#define AR6000_XIOCTL_GPIO_REGISTER_GET 21 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_GPIO_REGISTER_GET) |
| // * ar6000_gpio_register_cmd_s (see below) |
| // * uses: WMIX_GPIO_REGISTER_GET_CMDID |
| // */ |
| // |
| //#define AR6000_XIOCTL_GPIO_INTR_ACK 22 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_GPIO_INTR_ACK) |
| // * ar6000_cpio_intr_ack_cmd_s (see below) |
| // * uses: WMIX_GPIO_INTR_ACK_CMDID |
| // */ |
| // |
| //#define AR6000_XIOCTL_GPIO_INTR_WAIT 23 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_GPIO_INTR_WAIT) |
| // */ |
| // |
| // |
| // |
| ///* ====more wireless commands==== */ |
| // |
| //#define AR6000_XIOCTL_SET_ADHOC_BSSID 24 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_SET_ADHOC_BSSID) |
| // * WMI_SET_ADHOC_BSSID_CMD setAdHocBssidCmd (see include/wmi.h) |
| // */ |
| // |
| //#define AR6000_XIOCTL_SET_OPT_MODE 25 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_SET_OPT_MODE) |
| // * WMI_SET_OPT_MODE_CMD setOptModeCmd (see include/wmi.h) |
| // * uses: WMI_SET_OPT_MODE_CMDID |
| // */ |
| // |
| //#define AR6000_XIOCTL_OPT_SEND_FRAME 26 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_OPT_SEND_FRAME) |
| // * WMI_OPT_TX_FRAME_CMD optTxFrameCmd (see include/wmi.h) |
| // * uses: WMI_OPT_TX_FRAME_CMDID |
| // */ |
| // |
| //#define AR6000_XIOCTL_SET_BEACON_INTVAL 27 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_SET_BEACON_INTVAL) |
| // * WMI_BEACON_INT_CMD beaconIntCmd (see include/wmi.h) |
| // * uses: WMI_SET_BEACON_INT_CMDID |
| // */ |
| // |
| // |
| //#define IEEE80211_IOCTL_SETAUTHALG 28 |
| // |
| // |
| //#define AR6000_XIOCTL_SET_VOICE_PKT_SIZE 29 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_SET_VOICE_PKT_SIZE) |
| // * WMI_SET_VOICE_PKT_SIZE_CMD setVoicePktSizeCmd (see include/wmi.h) |
| // * uses: WMI_SET_VOICE_PKT_SIZE_CMDID |
| // */ |
| // |
| // |
| //#define AR6000_XIOCTL_SET_MAX_SP 30 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_SET_MAX_SP) |
| // * WMI_SET_MAX_SP_LEN_CMD maxSPLen(see include/wmi.h) |
| // * uses: WMI_SET_MAX_SP_LEN_CMDID |
| // */ |
| // |
| //#define AR6000_XIOCTL_WMI_GET_ROAM_TBL 31 |
| // |
| //#define AR6000_XIOCTL_WMI_SET_ROAM_CTRL 32 |
| // |
| //#define AR6000_XIOCTRL_WMI_SET_POWERSAVE_TIMERS 33 |
| // |
| // |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTRL_WMI_SET_POWERSAVE_TIMERS) |
| // * WMI_SET_POWERSAVE_TIMERS_CMD powerSaveTimers(see include/wmi.h) |
| // * WMI_SET_POWERSAVE_TIMERS_CMDID |
| // */ |
| // |
| //#define AR6000_XIOCTRL_WMI_GET_POWER_MODE 34 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTRL_WMI_GET_POWER_MODE) |
| // */ |
| // |
| //#define AR6000_XIOCTRL_WMI_SET_WLAN_STATE 35 |
| |
| typedef enum { |
| WLAN_DISABLED, |
| WLAN_ENABLED |
| } AR6000_WLAN_STATE; |
| |
| ///* |
| // * arguments: |
| // * enable/disable |
| // */ |
| // |
| //#define AR6000_XIOCTL_WMI_GET_ROAM_DATA 36 |
| // |
| //#define AR6000_XIOCTL_WMI_SETRETRYLIMITS 37 |
| ///* |
| // * arguments: |
| // * WMI_SET_RETRY_LIMITS_CMD ibssSetRetryLimitsCmd |
| // * uses: WMI_SET_RETRY_LIMITS_CMDID |
| // */ |
| // |
| //#ifdef CONFIG_HOST_TCMD_SUPPORT |
| ///* ====extended commands for radio test ==== */ |
| // |
| //#define AR6000_XIOCTL_TCMD_CONT_TX 38 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_TCMD_CONT_TX) |
| // * WMI_TCMD_CONT_TX_CMD contTxCmd (see include/wmi.h) |
| // * uses: WMI_TCMD_CONT_TX_CMDID |
| // */ |
| // |
| //#define AR6000_XIOCTL_TCMD_CONT_RX 39 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_TCMD_CONT_RX) |
| // * WMI_TCMD_CONT_RX_CMD rxCmd (see include/wmi.h) |
| // * uses: WMI_TCMD_CONT_RX_CMDID |
| // */ |
| // |
| //#define AR6000_XIOCTL_TCMD_PM 40 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_TCMD_PM) |
| // * WMI_TCMD_PM_CMD pmCmd (see include/wmi.h) |
| // * uses: WMI_TCMD_PM_CMDID |
| // */ |
| // |
| //#endif /* CONFIG_HOST_TCMD_SUPPORT */ |
| // |
| //#define AR6000_XIOCTL_WMI_STARTSCAN 41 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_WMI_STARTSCAN) |
| // * UINT8 scanType |
| // * UINT8 scanConnected |
| // * A_BOOL forceFgScan |
| // * uses: WMI_START_SCAN_CMDID |
| // */ |
| // |
| //#define AR6000_XIOCTL_WMI_SETFIXRATES 42 |
| // |
| //#define AR6000_XIOCTL_WMI_GETFIXRATES 43 |
| // |
| // |
| //#define AR6000_XIOCTL_WMI_SET_RSSITHRESHOLD 44 |
| ///* |
| // * arguments: |
| // * WMI_RSSI_THRESHOLD_PARAMS_CMD thresholdParams (see include/wmi.h) |
| // * uses: WMI_RSSI_THRESHOLD_PARAMS_CMDID |
| // */ |
| // |
| //#define AR6000_XIOCTL_WMI_CLR_RSSISNR 45 |
| ///* |
| // * arguments: |
| // * WMI_CLR_RSSISNR_CMD thresholdParams (see include/wmi.h) |
| // * uses: WMI_CLR_RSSISNR_CMDID |
| // */ |
| // |
| //#define AR6000_XIOCTL_WMI_SET_LQTHRESHOLD 46 |
| ///* |
| // * arguments: |
| // * WMI_LQ_THRESHOLD_PARAMS_CMD thresholdParams (see include/wmi.h) |
| // * uses: WMI_LQ_THRESHOLD_PARAMS_CMDID |
| // */ |
| // |
| //#define AR6000_XIOCTL_WMI_SET_RTS 47 |
| ///* |
| // * arguments: |
| // * WMI_SET_RTS_MODE_CMD (see include/wmi.h) |
| // * uses: WMI_SET_RTS_MODE_CMDID |
| // */ |
| // |
| //#define AR6000_XIOCTL_WMI_SET_LPREAMBLE 48 |
| // |
| //#define AR6000_XIOCTL_WMI_SET_AUTHMODE 49 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_WMI_SET_AUTHMODE) |
| // * UINT8 mode |
| // * uses: WMI_SET_RECONNECT_AUTH_MODE_CMDID |
| // */ |
| // |
| //#define AR6000_XIOCTL_WMI_SET_REASSOCMODE 50 |
| // |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_WMI_SET_WMM) |
| // * UINT8 mode |
| // * uses: WMI_SET_WMM_CMDID |
| // */ |
| //#define AR6000_XIOCTL_WMI_SET_WMM 51 |
| // |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_WMI_SET_HB_CHALLENGE_RESP_PARAMS) |
| // * UINT32 frequency |
| // * UINT8 threshold |
| // */ |
| //#define AR6000_XIOCTL_WMI_SET_HB_CHALLENGE_RESP_PARAMS 52 |
| // |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_WMI_GET_HB_CHALLENGE_RESP) |
| // * UINT32 cookie |
| // */ |
| //#define AR6000_XIOCTL_WMI_GET_HB_CHALLENGE_RESP 53 |
| // |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_WMI_GET_RD) |
| // * UINT32 regDomain |
| // */ |
| //#define AR6000_XIOCTL_WMI_GET_RD 54 |
| // |
| //#define AR6000_XIOCTL_DIAG_READ 55 |
| // |
| //#define AR6000_XIOCTL_DIAG_WRITE 56 |
| // |
| ///* |
| // * arguments cmd (AR6000_XIOCTL_SET_TXOP) |
| // * WMI_TXOP_CFG txopEnable |
| // */ |
| //#define AR6000_XIOCTL_WMI_SET_TXOP 57 |
| // |
| //#ifdef USER_KEYS |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_USER_SETKEYS) |
| // * UINT32 keyOpCtrl |
| // * uses AR6000_USER_SETKEYS_INFO |
| // */ |
| //#define AR6000_XIOCTL_USER_SETKEYS 58 |
| //#endif /* USER_KEYS */ |
| // |
| //#define AR6000_XIOCTL_WMI_SET_KEEPALIVE 59 |
| ///* |
| // * arguments: |
| // * UINT8 cmd (AR6000_XIOCTL_WMI_SET_KEEPALIVE) |
| // * UINT8 keepaliveInterval |
| // * uses: WMI_SET_KEEPALIVE_CMDID |
| // */ |
| // |
| //#define AR6000_XIOCTL_WMI_GET_KEEPALIVE 60 |
| ///* |
| // * arguments: |
| // * UINT8 cmd (AR6000_XIOCTL_WMI_GET_KEEPALIVE) |
| // * UINT8 keepaliveInterval |
| // * A_BOOL configured |
| // * uses: WMI_GET_KEEPALIVE_CMDID |
| // */ |
| // |
| ///* ====ROM Patching Extended Ioctls==== */ |
| // |
| //#define AR6000_XIOCTL_BMI_ROMPATCH_INSTALL 61 |
| ///* |
| // * arguments: |
| // * union { |
| // * struct { |
| // * UINT32 cmd (AR6000_XIOCTL_BMI_ROMPATCH_INSTALL) |
| // * UINT32 ROM Address |
| // * UINT32 RAM Address |
| // * UINT32 number of bytes |
| // * UINT32 activate? (0 or 1) |
| // * } |
| // * A_UINT32 resulting rompatch ID |
| // * } |
| // * uses: BMI_ROMPATCH_INSTALL |
| // */ |
| // |
| //#define AR6000_XIOCTL_BMI_ROMPATCH_UNINSTALL 62 |
| ///* |
| // * arguments: |
| // * struct { |
| // * UINT32 cmd (AR6000_XIOCTL_BMI_ROMPATCH_UNINSTALL) |
| // * UINT32 rompatch ID |
| // * } |
| // * uses: BMI_ROMPATCH_UNINSTALL |
| // */ |
| // |
| //#define AR6000_XIOCTL_BMI_ROMPATCH_ACTIVATE 63 |
| ///* |
| // * arguments: |
| // * struct { |
| // * UINT32 cmd (AR6000_XIOCTL_BMI_ROMPATCH_ACTIVATE) |
| // * UINT32 rompatch count |
| // * UINT32 rompatch IDs[rompatch count] |
| // * } |
| // * uses: BMI_ROMPATCH_ACTIVATE |
| // */ |
| // |
| //#define AR6000_XIOCTL_BMI_ROMPATCH_DEACTIVATE 64 |
| ///* |
| // * arguments: |
| // * struct { |
| // * UINT32 cmd (AR6000_XIOCTL_BMI_ROMPATCH_DEACTIVATE) |
| // * UINT32 rompatch count |
| // * UINT32 rompatch IDs[rompatch count] |
| // * } |
| // * uses: BMI_ROMPATCH_DEACTIVATE |
| // */ |
| // |
| //#define AR6000_XIOCTL_WMI_SET_APPIE 65 |
| ///* |
| // * arguments: |
| // * struct { |
| // * UINT32 cmd (AR6000_XIOCTL_WMI_SET_APPIE) |
| // * UINT32 app_frmtype; |
| // * UINT32 app_buflen; |
| // * UINT8 app_buf[]; |
| // * } |
| // */ |
| //#define AR6000_XIOCTL_WMI_SET_MGMT_FRM_RX_FILTER 66 |
| ///* |
| // * arguments: |
| // * A_UINT32 filter_type; |
| // */ |
| // |
| //#define AR6000_XIOCTL_DBGLOG_CFG_MODULE 67 |
| // |
| //#define AR6000_XIOCTL_DBGLOG_GET_DEBUG_LOGS 68 |
| // |
| //#define AR6000_XIOCTL_WMI_SET_WSC_STATUS 70 |
| ///* |
| // * arguments: |
| // * A_UINT32 wsc_status; |
| // * (WSC_REG_INACTIVE or WSC_REG_ACTIVE) |
| // */ |
| // |
| ///* |
| // * arguments: |
| // * struct { |
| // * A_UINT8 streamType; |
| // * A_UINT8 status; |
| // * } |
| // * uses: WMI_SET_BT_STATUS_CMDID |
| // */ |
| //#define AR6000_XIOCTL_WMI_SET_BT_STATUS 71 |
| // |
| ///* |
| // * arguments: |
| // * struct { |
| // * A_UINT8 paramType; |
| // * union { |
| // * A_UINT8 noSCOPkts; |
| // * BT_PARAMS_A2DP a2dpParams; |
| // * BT_COEX_REGS regs; |
| // * }; |
| // * } |
| // * uses: WMI_SET_BT_PARAM_CMDID |
| // */ |
| //#define AR6000_XIOCTL_WMI_SET_BT_PARAMS 72 |
| // |
| //#define AR6000_XIOCTL_WMI_SET_HOST_SLEEP_MODE 73 |
| //#define AR6000_XIOCTL_WMI_SET_WOW_MODE 74 |
| //#define AR6000_XIOCTL_WMI_GET_WOW_LIST 75 |
| //#define AR6000_XIOCTL_WMI_ADD_WOW_PATTERN 76 |
| //#define AR6000_XIOCTL_WMI_DEL_WOW_PATTERN 77 |
| // |
| // |
| // |
| //#define AR6000_XIOCTL_TARGET_INFO 78 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_TARGET_INFO) |
| // * A_UINT32 TargetVersion (returned) |
| // * A_UINT32 TargetType (returned) |
| // * (See also bmi_msg.h target_ver and target_type) |
| // */ |
| // |
| //#define AR6000_XIOCTL_DUMP_HTC_CREDIT_STATE 79 |
| ///* |
| // * arguments: |
| // * none |
| // */ |
| // |
| //#define AR6000_XIOCTL_TRAFFIC_ACTIVITY_CHANGE 80 |
| ///* |
| // * This ioctl is used to emulate traffic activity |
| // * timeouts. Activity/inactivity will trigger the driver |
| // * to re-balance credits. |
| // * |
| // * arguments: |
| // * ar6000_traffic_activity_change |
| // */ |
| // |
| //#define AR6000_XIOCTL_WMI_SET_CONNECT_CTRL_FLAGS 81 |
| ///* |
| // * This ioctl is used to set the connect control flags |
| // * |
| // * arguments: |
| // * A_UINT32 connectCtrlFlags |
| // */ |
| // |
| //#define AR6000_XIOCTL_WMI_SET_AKMP_PARAMS 82 |
| ///* |
| // * This IOCTL sets any Authentication,Key Management and Protection |
| // * related parameters. This is used along with the information set in |
| // * Connect Command. |
| // * Currently this enables Multiple PMKIDs to an AP. |
| // * |
| // * arguments: |
| // * struct { |
| // * A_UINT32 akmpInfo; |
| // * } |
| // * uses: WMI_SET_AKMP_PARAMS_CMD |
| // */ |
| // |
| //#define AR6000_XIOCTL_WMI_GET_PMKID_LIST 83 |
| // |
| //#define AR6000_XIOCTL_WMI_SET_PMKID_LIST 84 |
| ///* |
| // * This IOCTL is used to set a list of PMKIDs. This list of |
| // * PMKIDs is used in the [Re]AssocReq Frame. This list is used |
| // * only if the MultiPMKID option is enabled via the |
| // * AR6000_XIOCTL_WMI_SET_AKMP_PARAMS IOCTL. |
| // * |
| // * arguments: |
| // * struct { |
| // * A_UINT32 numPMKID; |
| // * WMI_PMKID pmkidList[WMI_MAX_PMKID_CACHE]; |
| // * } |
| // * uses: WMI_SET_PMKIDLIST_CMD |
| // */ |
| // |
| //#define AR6000_XIOCTL_WMI_SET_PARAMS 85 |
| //#define AR6000_XIOCTL_WMI_SET_MCAST_FILTER 86 |
| //#define AR6000_XIOCTL_WMI_DEL_MCAST_FILTER 87 |
| // |
| // |
| ///* Historical DSETPATCH support for INI patches */ |
| //#define AR6000_XIOCTL_UNUSED90 90 |
| // |
| // |
| ///* Support LZ-compressed firmware download */ |
| //#define AR6000_XIOCTL_BMI_LZ_STREAM_START 91 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_BMI_LZ_STREAM_START) |
| // * UINT32 address |
| // * uses: BMI_LZ_STREAM_START |
| // */ |
| // |
| //#define AR6000_XIOCTL_BMI_LZ_DATA 92 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_BMI_LZ_DATA) |
| // * UINT32 length |
| // * char data[length] |
| // * uses: BMI_LZ_DATA |
| // */ |
| // |
| //#define AR6000_XIOCTL_PROF_CFG 93 |
| ///* |
| // * arguments: |
| // * A_UINT32 period |
| // * A_UINT32 nbins |
| // */ |
| // |
| //#define AR6000_XIOCTL_PROF_ADDR_SET 94 |
| ///* |
| // * arguments: |
| // * A_UINT32 Target address |
| // */ |
| // |
| //#define AR6000_XIOCTL_PROF_START 95 |
| // |
| //#define AR6000_XIOCTL_PROF_STOP 96 |
| // |
| //#define AR6000_XIOCTL_PROF_COUNT_GET 97 |
| // |
| //#define AR6000_XIOCTL_WMI_ABORT_SCAN 98 |
| // |
| ///* |
| // * AP mode |
| // */ |
| //#define AR6000_XIOCTL_AP_GET_STA_LIST 99 |
| // |
| //#define AR6000_XIOCTL_AP_HIDDEN_SSID 100 |
| // |
| //#define AR6000_XIOCTL_AP_SET_NUM_STA 101 |
| // |
| //#define AR6000_XIOCTL_AP_SET_ACL_MAC 102 |
| // |
| //#define AR6000_XIOCTL_AP_GET_ACL_LIST 103 |
| // |
| //#define AR6000_XIOCTL_AP_COMMIT_CONFIG 104 |
| // |
| //#define IEEE80211_IOCTL_GETWPAIE 105 |
| // |
| //#define AR6000_XIOCTL_AP_CONN_INACT_TIME 106 |
| // |
| //#define AR6000_XIOCTL_AP_PROT_SCAN_TIME 107 |
| // |
| //#define AR6000_XIOCTL_AP_SET_COUNTRY 108 |
| // |
| //#define AR6000_XIOCTL_AP_SET_DTIM 109 |
| // |
| // |
| // |
| // |
| //#define AR6000_XIOCTL_WMI_TARGET_EVENT_REPORT 110 |
| // |
| //#define AR6000_XIOCTL_SET_IP 111 |
| // |
| //#define AR6000_XIOCTL_AP_SET_ACL_POLICY 112 |
| // |
| //#define AR6000_XIOCTL_AP_CTRL_BSS_COMM 113 |
| // |
| //#define AR6000_XIOCTL_DUMP_MODULE_DEBUG_INFO 114 |
| // |
| //#define AR6000_XIOCTL_MODULE_DEBUG_SET_MASK 115 |
| // |
| //#define AR6000_XIOCTL_MODULE_DEBUG_GET_MASK 116 |
| // |
| //#define AR6000_XIOCTL_DUMP_RCV_AGGR_STATS 117 |
| // |
| //#define AR6000_XIOCTL_SET_HT_CAP 118 |
| // |
| //#define AR6000_XIOCTL_SET_HT_OP 119 |
| // |
| //#define AR6000_XIOCTL_AP_GET_STAT 120 |
| // |
| //#define AR6000_XIOCTL_SET_TX_SELECT_RATES 121 |
| // |
| //#define AR6000_XIOCTL_SETUP_AGGR 122 |
| // |
| //#define AR6000_XIOCTL_ALLOW_AGGR 123 |
| // |
| //#define AR6000_XIOCTL_AP_GET_HIDDEN_SSID 124 |
| // |
| //#define AR6000_XIOCTL_AP_GET_COUNTRY 125 |
| // |
| //#define AR6000_XIOCTL_AP_GET_WMODE 126 |
| // |
| //#define AR6000_XIOCTL_AP_GET_DTIM 127 |
| // |
| //#define AR6000_XIOCTL_AP_GET_BINTVL 128 |
| // |
| //#define AR6000_XIOCTL_AP_GET_RTS 129 |
| // |
| //#define AR6000_XIOCTL_DELE_AGGR 130 |
| // |
| //#define AR6000_XIOCTL_FETCH_TARGET_REGS 131 |
| // |
| //#define AR6000_XIOCTL_HCI_CMD 132 |
| // |
| //#define AR6000_XIOCTL_ACL_DATA 133 |
| // |
| //#define AR6000_XIOCTL_WLAN_CONN_PRECEDENCE 134 |
| // |
| //#define AR6000_XIOCTL_AP_SET_11BG_RATESET 135 |
| // |
| //#define AR6000_XIOCTL_WMI_SET_AP_PS 136 |
| // |
| //#define AR6000_XIOCTL_WMI_MCAST_FILTER 137 |
| // |
| //#define AR6000_XIOCTL_WMI_SET_BTCOEX_FE_ANT 138 |
| // |
| //#define AR6000_XIOCTL_WMI_SET_BTCOEX_COLOCATED_BT_DEV 139 |
| // |
| //#define AR6000_XIOCTL_WMI_SET_BTCOEX_BTINQUIRY_PAGE_CONFIG 140 |
| // |
| //#define AR6000_XIOCTL_WMI_SET_BTCOEX_SCO_CONFIG 141 |
| // |
| //#define AR6000_XIOCTL_WMI_SET_BTCOEX_A2DP_CONFIG 142 |
| // |
| //#define AR6000_XIOCTL_WMI_SET_BTCOEX_ACLCOEX_CONFIG 143 |
| // |
| //#define AR6000_XIOCTL_WMI_SET_BTCOEX_DEBUG 144 |
| // |
| //#define AR6000_XIOCTL_WMI_SET_BT_OPERATING_STATUS 145 |
| // |
| //#define AR6000_XIOCTL_WMI_GET_BTCOEX_CONFIG 146 |
| // |
| //#define AR6000_XIOCTL_WMI_GET_BTCOEX_STATS 147 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_WMI_SET_QOS_SUPP) |
| // * UINT8 mode |
| // * uses: WMI_SET_QOS_SUPP_CMDID |
| // */ |
| //#define AR6000_XIOCTL_WMI_SET_QOS_SUPP 148 |
| // |
| //#define AR6000_XIOCTL_AP_SET_DFS 149 |
| // |
| //#ifdef P2P |
| //#define AR6000_XIOCTL_WMI_P2P_DISCOVER 150 |
| //#define AR6000_XIOCTL_WMI_P2P_LISTEN 151 |
| //#define AR6000_XIOCTL_WMI_P2P_GO_NEG 152 |
| //#define AR6000_XIOCTL_WMI_P2P_CONFIG 153 |
| //#define AR6000_XIOCTL_WMI_WPS_CONFIG 154 |
| //#define AR6000_XIOCTL_WMI_P2P_FINDNODE 155 |
| //#endif |
| //#define AR6000_XIOCTL_SET_BT_HW_POWER_STATE 156 |
| //#define AR6000_XIOCTL_GET_BT_HW_POWER_STATE 157 |
| //#define AR6000_XIOCTL_GET_WLAN_SLEEP_STATE 158 |
| //#define AR6000_XIOCTL_WMI_SET_TX_SGI_PARAM 159 |
| ///* |
| // * arguments: |
| // * WMI_AP_PS_CMD apPsCmd |
| // * uses: WMI_AP_PS_CMDID |
| // */ |
| // |
| // |
| //// WAC |
| //#define AR6000_XIOCTL_WMI_ENABLE_WAC_PARAM 160 |
| // |
| //#define AR6000_XIOCTL_WAC_SCAN_REPLY 161 |
| // |
| //#define AR6000_XIOCTL_WMI_WAC_CTRL_REQ 162 |
| // |
| //#define AR6000_XIOCTL_WMI_SET_WPA_OFFLOAD_STATE 163 |
| // |
| //#define AR6000_XIOCTL_WMI_SET_PASSPHRASE 164 |
| // |
| //#define AR6000_XIOCTL_BMI_NVRAM_PROCESS 165 |
| // |
| //#define AR6000_XIOCTL_AP_ACS_POLICY 166 |
| // |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_BMI_NVRAM_PROCESS) |
| // * UINT8 name[BMI_NVRAM_SEG_NAME_SZ] |
| // * uses: BMI_NVRAM_PROCESS |
| // */ |
| // |
| // |
| //#ifdef CONFIG_HOST_TCMD_SUPPORT |
| ///* ====additional extended commands for radio test ==== */ |
| // |
| //#define AR6000_XIOCTL_TCMD_CMDS 167 |
| ///* |
| // * arguments: |
| // * UINT32 cmd (AR6000_XIOCTL_TCMD_CMDS) |
| // * WMI_TCMD_CMDS_CMD cmdsCmd (see include/wmi.h) |
| // * uses: WMI_TCMD_CMDS_CMDID |
| // */ |
| // |
| //#endif //ifdef CONFIG_HOST_TCMD_SUPPORT |
| // |
| //#define AR6000_XIOCTL_WMI_SET_DIVERSITY_PARAM 168 |
| // |
| //#define AR6000_XIOCTL_WMI_FORCE_ASSERT 169 |
| // |
| //#define AR6000_XIOCTL_WMI_SET_EXCESS_TX_RETRY_THRES 170 |
| // |
| //#define AR6000_XIOCTL_AP_GET_NUM_STA 171 |
| // |
| //#define AR6000_XIOCTL_SUSPEND_DRIVER 172 |
| // |
| //#define AR6000_XIOCTL_RESUME_DRIVER 173 |
| |
| /* used by AR6000_IOCTL_WMI_GETREV */ |
| struct ar6000_version { |
| A_UINT32 host_ver; |
| A_UINT32 target_ver; |
| A_UINT32 wlan_ver; |
| A_UINT32 abi_ver; |
| A_UINT32 targetconf_ver; |
| }; |
| |
| /* used by AR6000_IOCTL_WMI_GET_QOS_QUEUE */ |
| struct ar6000_queuereq { |
| A_UINT8 trafficClass; |
| A_UINT16 activeTsids; |
| }; |
| |
| /* used by AR6000_IOCTL_WMI_GET_TARGET_STATS */ |
| typedef struct targetStats_t { |
| A_UINT64 tx_packets; |
| A_UINT64 tx_bytes; |
| A_UINT64 tx_unicast_pkts; |
| A_UINT64 tx_unicast_bytes; |
| A_UINT64 tx_multicast_pkts; |
| A_UINT64 tx_multicast_bytes; |
| A_UINT64 tx_broadcast_pkts; |
| A_UINT64 tx_broadcast_bytes; |
| A_UINT64 tx_rts_success_cnt; |
| A_UINT64 tx_packet_per_ac[4]; |
| |
| A_UINT64 tx_errors; |
| A_UINT64 tx_failed_cnt; |
| A_UINT64 tx_retry_cnt; |
| A_UINT64 tx_mult_retry_cnt; |
| A_UINT64 tx_rts_fail_cnt; |
| |
| A_UINT64 rx_packets; |
| A_UINT64 rx_bytes; |
| A_UINT64 rx_unicast_pkts; |
| A_UINT64 rx_unicast_bytes; |
| A_UINT64 rx_multicast_pkts; |
| A_UINT64 rx_multicast_bytes; |
| A_UINT64 rx_broadcast_pkts; |
| A_UINT64 rx_broadcast_bytes; |
| A_UINT64 rx_fragment_pkt; |
| |
| A_UINT64 rx_errors; |
| A_UINT64 rx_crcerr; |
| A_UINT64 rx_key_cache_miss; |
| A_UINT64 rx_decrypt_err; |
| A_UINT64 rx_duplicate_frames; |
| |
| A_UINT64 tkip_local_mic_failure; |
| A_UINT64 tkip_counter_measures_invoked; |
| A_UINT64 tkip_replays; |
| A_UINT64 tkip_format_errors; |
| A_UINT64 ccmp_format_errors; |
| A_UINT64 ccmp_replays; |
| |
| A_UINT64 power_save_failure_cnt; |
| |
| A_UINT64 cs_bmiss_cnt; |
| A_UINT64 cs_lowRssi_cnt; |
| A_UINT64 cs_connect_cnt; |
| A_UINT64 cs_disconnect_cnt; |
| |
| A_INT32 tx_unicast_rate; |
| A_INT32 rx_unicast_rate; |
| |
| A_UINT32 lq_val; |
| |
| A_UINT32 wow_num_pkts_dropped; |
| A_UINT16 wow_num_events_discarded; |
| |
| A_INT16 noise_floor_calibation; |
| A_INT16 cs_rssi; |
| A_INT16 cs_aveBeacon_rssi; |
| A_UINT8 cs_aveBeacon_snr; |
| A_UINT8 cs_lastRoam_msec; |
| A_UINT8 cs_snr; |
| |
| A_UINT8 wow_num_host_pkt_wakeups; |
| A_UINT8 wow_num_host_event_wakeups; |
| |
| A_UINT32 arp_received; |
| A_UINT32 arp_matched; |
| A_UINT32 arp_replied; |
| }TARGET_STATS; |
| |
| typedef struct targetStats_cmd_t { |
| TARGET_STATS targetStats; |
| int clearStats; |
| } TARGET_STATS_CMD; |
| |
| /* used by AR6000_XIOCTL_USER_SETKEYS */ |
| |
| /* |
| * Setting this bit to 1 doesnot initialize the RSC on the firmware |
| */ |
| #define AR6000_XIOCTL_USER_SETKEYS_RSC_CTRL 1 |
| #define AR6000_USER_SETKEYS_RSC_UNCHANGED 0x00000002 |
| |
| typedef struct { |
| A_UINT32 keyOpCtrl; /* Bit Map of Key Mgmt Ctrl Flags */ |
| } AR6000_USER_SETKEYS_INFO; |
| |
| |
| /* used by AR6000_XIOCTL_GPIO_OUTPUT_SET */ |
| struct ar6000_gpio_output_set_cmd_s { |
| A_UINT32 set_mask; |
| A_UINT32 clear_mask; |
| A_UINT32 enable_mask; |
| A_UINT32 disable_mask; |
| }; |
| |
| /* |
| * used by AR6000_XIOCTL_GPIO_REGISTER_GET and AR6000_XIOCTL_GPIO_REGISTER_SET |
| */ |
| struct ar6000_gpio_register_cmd_s { |
| A_UINT32 gpioreg_id; |
| A_UINT32 value; |
| }; |
| |
| /* used by AR6000_XIOCTL_GPIO_INTR_ACK */ |
| struct ar6000_gpio_intr_ack_cmd_s { |
| A_UINT32 ack_mask; |
| }; |
| |
| /* used by AR6000_XIOCTL_GPIO_INTR_WAIT */ |
| struct ar6000_gpio_intr_wait_cmd_s { |
| A_UINT32 intr_mask; |
| A_UINT32 input_values; |
| }; |
| |
| /* used by the AR6000_XIOCTL_DBGLOG_CFG_MODULE */ |
| typedef struct ar6000_dbglog_module_config_s { |
| A_UINT32 valid; |
| A_UINT16 mmask; |
| A_UINT16 tsr; |
| A_BOOL rep; |
| A_UINT16 size; |
| } DBGLOG_MODULE_CONFIG; |
| |
| typedef struct user_rssi_thold_t { |
| A_INT16 tag; |
| A_INT16 rssi; |
| } USER_RSSI_THOLD; |
| |
| typedef struct user_rssi_params_t { |
| A_UINT8 weight; |
| A_UINT32 pollTime; |
| USER_RSSI_THOLD tholds[12]; |
| } USER_RSSI_PARAMS; |
| |
| typedef struct ar6000_get_btcoex_config_cmd_t{ |
| A_UINT32 btProfileType; |
| A_UINT32 linkId; |
| }AR6000_GET_BTCOEX_CONFIG_CMD; |
| |
| typedef struct ar6000_btcoex_config_t { |
| AR6000_GET_BTCOEX_CONFIG_CMD configCmd; |
| A_UINT32 * configEvent; |
| } AR6000_BTCOEX_CONFIG; |
| |
| typedef struct ar6000_btcoex_stats_t { |
| A_UINT32 * statsEvent; |
| }AR6000_BTCOEX_STATS; |
| /* |
| * Host driver may have some config parameters. Typically, these |
| * config params are one time config parameters. These could |
| * correspond to any of the underlying modules. Host driver exposes |
| * an api for the underlying modules to get this config. |
| */ |
| #define AR6000_DRIVER_CFG_BASE 0x8000 |
| |
| /* Should driver perform wlan node caching? */ |
| #define AR6000_DRIVER_CFG_GET_WLANNODECACHING 0x8001 |
| /*Should we log raw WMI msgs */ |
| #define AR6000_DRIVER_CFG_LOG_RAW_WMI_MSGS 0x8002 |
| |
| /* used by AR6000_XIOCTL_DIAG_READ & AR6000_XIOCTL_DIAG_WRITE */ |
| struct ar6000_diag_window_cmd_s { |
| unsigned int addr; |
| unsigned int value; |
| }; |
| |
| |
| struct ar6000_traffic_activity_change { |
| A_UINT32 StreamID; /* stream ID to indicate activity change */ |
| A_UINT32 Active; /* active (1) or inactive (0) */ |
| }; |
| |
| /* Used with AR6000_XIOCTL_PROF_COUNT_GET */ |
| struct prof_count_s { |
| A_UINT32 addr; /* bin start address */ |
| A_UINT32 count; /* hit count */ |
| }; |
| |
| |
| /* used by AR6000_XIOCTL_MODULE_DEBUG_SET_MASK */ |
| /* AR6000_XIOCTL_MODULE_DEBUG_GET_MASK */ |
| /* AR6000_XIOCTL_DUMP_MODULE_DEBUG_INFO */ |
| struct drv_debug_module_s { |
| A_CHAR modulename[128]; /* name of module */ |
| A_UINT32 mask; /* new mask to set .. or .. current mask */ |
| }; |
| |
| /* used by AR6000_XIOCTL_P2P_AUTH_INVITE */ |
| #define ATH_MAC_LEN 6 |
| typedef PREPACK struct { |
| A_UINT32 auth; |
| A_UINT8 peer_addr[ATH_MAC_LEN]; |
| }POSTPACK P2P_AUTH_INVITE_CMD; |
| |
| /* All HCI related rx events are sent up to the host app |
| * via a wmi event id. It can contain ACL data or HCI event, |
| * based on which it will be de-multiplexed. |
| */ |
| typedef enum { |
| PAL_HCI_EVENT = 0, |
| PAL_HCI_RX_DATA, |
| } WMI_PAL_EVENT_INFO; |
| |
| |
| #ifdef __cplusplus |
| } |
| #endif |
| #endif |