?? common_atheros_sdiostack_ar6000_wlan.patch
字號:
+ A_UINT32 targ_reply_arg);+void ar6000_dset_close(void *devt, A_UINT32 access_cookie);+void ar6000_dset_data_req(void *devt,+ A_UINT32 access_cookie,+ A_UINT32 offset,+ A_UINT32 length,+ A_UINT32 targ_buf,+ A_UINT32 targ_reply_fn,+ A_UINT32 targ_reply_arg);++void ar6000_gpio_intr_rx(A_UINT32 intr_mask, A_UINT32 input_values);+void ar6000_gpio_data_rx(A_UINT32 reg_id, A_UINT32 value);+void ar6000_gpio_ack_rx(void);++#ifdef __cplusplus+}+#endif++#endif /* _AR6000_API_H_ */Index: linux-2.6.18/drivers/sdio/function/wlan/ar6000/include/athdrv.h===================================================================--- /dev/null+++ linux-2.6.18/drivers/sdio/function/wlan/ar6000/include/athdrv.h@@ -0,0 +1,598 @@+/*+ * Copyright (c) 2004-2006 Atheros Communications Inc.+ *+ * Wireless Network driver for Atheros AR6001+ *+ * This program is free software; you can redistribute it and/or modify+ * it under the terms of the GNU General Public License version 2 as+ * published by the Free Software Foundation;+ *+ * Software distributed under the License is distributed on an "AS+ * IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or+ * implied. See the License for the specific language governing+ * rights and limitations under the License.+ *+ *+ * This file contains the definitions for the AR6000 linux driver.+ *+ */++#ifndef _ATHDRV_H_+#define _ATHDRV_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_GETPARAM (SIOCIWFIRSTPRIV+1)+#define IEEE80211_IOCTL_SETKEY (SIOCIWFIRSTPRIV+2)+#define IEEE80211_IOCTL_SETWMMPARAMS (SIOCIWFIRSTPRIV+3)+#define IEEE80211_IOCTL_DELKEY (SIOCIWFIRSTPRIV+4)+#define IEEE80211_IOCTL_GETWMMPARAMS (SIOCIWFIRSTPRIV+5)+#define IEEE80211_IOCTL_SETMLME (SIOCIWFIRSTPRIV+6)+#define IEEE80211_IOCTL_SETOPTIE (SIOCIWFIRSTPRIV+6)+#define IEEE80211_IOCTL_GETOPTIE (SIOCIWFIRSTPRIV+7)+#define IEEE80211_IOCTL_ADDPMKID (SIOCIWFIRSTPRIV+8)+//#define IEEE80211_IOCTL_SETAUTHALG (SIOCIWFIRSTPRIV+10)+#define IEEE80211_IOCTL_LASTONE (SIOCIWFIRSTPRIV+9)++++/* ====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+10)+/*+ * arguments:+ * ar6000_version *revision+ */++#define AR6000_IOCTL_WMI_SETPWR (SIOCIWFIRSTPRIV+11)+/*+ * arguments:+ * WMI_POWER_MODE_CMD pwrModeCmd (see include/wmi.h)+ * uses: WMI_SET_POWER_MODE_CMDID+ */++#define AR6000_IOCTL_WMI_SETSCAN (SIOCIWFIRSTPRIV+12)+/*+ * arguments:+ * WMI_SCAN_PARAMS_CMD scanParams (see include/wmi.h)+ * uses: WMI_SET_SCAN_PARAMS_CMDID+ */++#define AR6000_IOCTL_WMI_SETLISTENINT (SIOCIWFIRSTPRIV+13)+/*+ * arguments:+ * UINT32 listenInterval+ * uses: WMI_SET_LISTEN_INT_CMDID+ */++#define AR6000_IOCTL_WMI_SETBSSFILTER (SIOCIWFIRSTPRIV+14)+/*+ * 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_LINKTHRESHOLD (SIOCIWFIRSTPRIV+23)+/*+ * arguments:+ * WMI_RSSI_THRESHOLD_PARAMS_CMD thresholdParams (see include/wmi.h)+ * uses: WMI_RSSI_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)+++/* ====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+ */++++/* ====DataSet Extended Ioctls==== */++#define AR6000_XIOCTL_WMI_DSET_WAIT_REQ 9+/*+ * arguments:+ * UINT32 cmd (AR6000_XIOCTL_WMI_DSET_WAIT_REQ)+ */++#define AR6000_XIOCTL_WMI_DSET_OPEN_REPLY 10+/*+ * arguments:+ * UINT32 cmd (AR6000_XIOCTL_WMI_DSET_OPEN_REPLY)+ * dset_open_reply_t (see host/include/app/dset.h)+ * uses: WMIX_DSETOPEN_REPLY_CMDID+ */++#define AR6000_XIOCTL_WMI_DSET_DATA_REPLY 11+/*+ * arguments:+ * UINT32 cmd (AR6000_XIOCTL_WMI_DSET_DATA_REPLY)+ * dset_data_reply_t (see host/include/app/dset.h)+ * uses: WMIX_DSETDATA_REPLY_CMDID+ */++#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
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -