diff options
Diffstat (limited to 'ANDROID_3.4.5/drivers/net/wireless/eagle/sip2_common.h')
-rwxr-xr-x | ANDROID_3.4.5/drivers/net/wireless/eagle/sip2_common.h | 458 |
1 files changed, 0 insertions, 458 deletions
diff --git a/ANDROID_3.4.5/drivers/net/wireless/eagle/sip2_common.h b/ANDROID_3.4.5/drivers/net/wireless/eagle/sip2_common.h deleted file mode 100755 index 8b4631e5..00000000 --- a/ANDROID_3.4.5/drivers/net/wireless/eagle/sip2_common.h +++ /dev/null @@ -1,458 +0,0 @@ -/* - * Copyright (c) 2010 - 2012 Espressif System. - * - * Common definitions of Serial Interconnctor Protocol - * - * little endian - */ - -#ifndef _SIP2_COMMON_H -#define _SIP2_COMMON_H - -#ifdef __ets__ -#include "utils.h" -#endif /*__ets__*/ - -/* max 16 types */ -typedef enum { - SIP_CTRL = 0, - SIP_DATA, - SIP_DATA_AMPDU, -} SIP_TYPE; - -typedef enum { - SIP_TX_CTRL_BUF = 0, /* from host */ - SIP_RX_CTRL_BUF, /* to host */ - SIP_TX_DATA_BUF, /* from host */ - SIP_RX_DATA_BUF /* to host */ -} SIP_BUF_TYPE; - -enum sip_cmd_id { - SIP_CMD_GET_VER = 0, - SIP_CMD_WRITE_MEMORY,//1 ROM code - SIP_CMD_READ_MEMORY,//2 - SIP_CMD_WRITE_REG,//3 ROM code - SIP_CMD_READ_REG, //4 - SIP_CMD_BOOTUP,//5 ROM code - SIP_CMD_COPYBACK,//6 - SIP_CMD_INIT, //7 - SIP_CMD_SCAN,//8 - SIP_CMD_SETKEY,//9 - SIP_CMD_CONFIG,//10 - SIP_CMD_BSS_INFO_UPDATE,//11 - SIP_CMD_LOOPBACK,//12 ROM code - //do not add cmd before this line - SIP_CMD_SET_WMM_PARAM, - SIP_CMD_AMPDU_ACTION, - SIP_CMD_HB_REQ, //15 - SIP_CMD_RESET_MAC, //16 - SIP_CMD_PRE_DOWN, //17 - SIP_CMD_SLEEP, /* for sleep testing */ - SIP_CMD_WAKEUP, /* for sleep testing */ - SIP_CMD_DEBUG, /* for general testing */ - SIP_CMD_GET_FW_VER, /* get fw rev. */ - SIP_CMD_SETVIF, - SIP_CMD_SETSTA, - SIP_CMD_PS, - SIP_CMD_SUSPEND, - SIP_CMD_MAX -}; - -enum { - SIP_EVT_TARGET_ON = 0, // - SIP_EVT_BOOTUP,//1 in ROM code - SIP_EVT_COPYBACK,//2 - SIP_EVT_SCAN_RESULT, //3 - SIP_EVT_TX_STATUS,//4 - SIP_EVT_CREDIT_RPT, //5, in ROM code - SIP_EVT_ERROR,//6 - SIP_EVT_LOOPBACK,//7, in ROM code - SIP_EVT_SNPRINTF_TO_HOST, //8 in ROM code - //do not add evt before this line - SIP_EVT_HB_ACK, //9 - SIP_EVT_RESET_MAC_ACK, //10 - SIP_EVT_WAKEUP,//11 /* for sleep testing */ - SIP_EVT_DEBUG,//12 /* for general testing */ - SIP_EVT_PRINT_TO_HOST, //13 - SIP_EVT_TRC_AMPDU, //14 - SIP_EVT_ROC, //15 - SIP_EVT_RESETTING, - SIP_EVT_SLEEP, - SIP_EVT_TXIDLE, - SIP_EVT_NOISEFLOOR, - SIP_EVT_MAX -}; - -#define SIP_IFIDX_MASK 0xf0 -#define SIP_IFIDX_S 4 -#define SIP_TYPE_MASK 0x0f -#define SIP_TYPE_S 0 - -#define SIP_HDR_GET_IFIDX(fc0) (((fc0) & SIP_IFIDX_MASK) >> SIP_IFIDX_S) -#define SIP_HDR_SET_IFIDX(fc0, ifidx) ( (fc0) = ((fc0) & ~SIP_IFIDX_MASK) | ((ifidx) << SIP_IFIDX_S & SIP_IFIDX_MASK) ) -#define SIP_HDR_GET_TYPE(fc0) ((fc0) & SIP_TYPE_MASK ) -/* assume type field is cleared */ -#define SIP_HDR_SET_TYPE(fc0, type) ((fc0) = ((fc0) & ~ SIP_TYPE_MASK) | ((type) & SIP_TYPE_MASK)) - -/* sip 2.0, not hybrid header so far */ -#define SIP_HDR_IS_CTRL(hdr) (SIP_HDR_GET_TYPE((hdr)->fc[0]) == SIP_CTRL) -#define SIP_HDR_IS_DATA(hdr) (SIP_HDR_GET_TYPE((hdr)->fc[0]) == SIP_DATA) -#define SIP_HDR_IS_AMPDU(hdr) (SIP_HDR_GET_TYPE((hdr)->fc[0]) == SIP_DATA_AMPDU) - -/* fc[1] flags, only for data pkt. Ctrl pkts use fc[1] as eventID */ -#define SIP_HDR_SET_FLAGS(hdr, flags) ((hdr)->fc[1] |= (flags)) -#define SIP_HDR_F_MORE_PKT 0x1 -#define SIP_HDR_F_NEED_CRDT_RPT 0x2 -#define SIP_HDR_F_SYNC 0x4 -#define SIP_HDR_F_SYNC_RESET 0x8 -#define SIP_HDR_F_PM_TURNING_ON 0x10 -#define SIP_HDR_F_PM_TURNING_OFF 0x20 - -#define SIP_HDR_NEED_CREDIT_UPDATE(hdr) ((hdr)->fc[1] & SIP_HDR_F_NEED_CRDT_RPT) -#define SIP_HDR_IS_MORE_PKT(hdr) ((hdr)->fc[1] & SIP_HDR_F_MORE_PKT) -#define SIP_HDR_IS_CRDT_RPT(hdr) ((hdr)->fc[1] & SIP_HDR_F_CRDT_RPT) -#define SIP_HDR_IS_SYNC(hdr) ((hdr)->fc[1] & SIP_HDR_F_SYNC) -#define SIP_HDR_IS_SYNC_RESET(hdr) ((hdr)->fc[1] & SIP_HDR_F_SYNC_RESET) -#define SIP_HDR_IS_SYNC_PKT(hdr) (SIP_HDR_IS_SYNC(hdr) | SIP_HDR_IS_SYNC_RESET(hdr)) -#define SIP_HDR_SET_SYNC(hdr) SIP_HDR_SET_FLAGS((hdr), SIP_HDR_F_SYNC) -#define SIP_HDR_SET_SYNC_RESET(hdr) SIP_HDR_SET_FLAGS((hdr), SIP_HDR_F_SYNC_RESET) -#define SIP_HDR_SET_MORE_PKT(hdr) SIP_HDR_SET_FLAGS((hdr), SIP_HDR_F_MORE_PKT) -#define SIP_HDR_SET_PM_TURNING_ON(hdr) SIP_HDR_SET_FLAGS((hdr), SIP_HDR_F_PM_TURNING_ON) -#define SIP_HDR_IS_PM_TURNING_ON(hdr) ((hdr)->fc[1] & SIP_HDR_F_PM_TURNING_ON) -#define SIP_HDR_SET_PM_TURNING_OFF(hdr) SIP_HDR_SET_FLAGS((hdr), SIP_HDR_F_PM_TURNING_OFF) -#define SIP_HDR_IS_PM_TURNING_OFF(hdr) ((hdr)->fc[1] & SIP_HDR_F_PM_TURNING_OFF) - -/* - * fc[0]: first 4bit: ifidx; last 4bit: type - * fc[1]: flags - * - * Don't touch the header definitons - */ -struct sip_hdr_min { - u8 fc[2]; - __le16 len; -} __packed; - -/* not more than 4byte long */ -struct sip_tx_data_info { - u8 tid; - u8 ac; - u8 p2p:1, - enc_flag:7; - u8 hw_kid; -} __packed; - -/* NB: this structure should be not more than 4byte !! */ -struct sip_tx_info { - union { - u32 cmdid; - struct sip_tx_data_info dinfo; - } u; -} __packed; - -struct sip_hdr { - u8 fc[2]; //fc[0]: type and ifidx ; fc[1] is eventID if the first ctrl pkt in the chain. data pkt still can use fc[1] to set flag - __le16 len; - union { - volatile u32 recycled_credits; /* last 12bits is credits, first 20 bits is actual length of the first pkt in the chain */ - struct sip_tx_info tx_info; - } u; - u32 seq; -} __packed; - -#define h_credits u.recycled_credits -#define c_evtid fc[1] -#define c_cmdid u.tx_info.u.cmdid -#define d_ac u.tx_info.u.dinfo.ac -#define d_tid u.tx_info.u.dinfo.tid -#define d_p2p u.tx_info.u.dinfo.p2p -#define d_enc_flag u.tx_info.u.dinfo.enc_flag -#define d_hw_kid u.tx_info.u.dinfo.hw_kid - -#define SIP_CREDITS_MASK 0xfff /* last 12 bits */ - -#ifdef HOST_RC - -#define RC_CNT_MASK 0xf - -struct sip_rc_status { - u32 rc_map; - union { - u32 rc_cnt1:4, - rc_cnt2:4, - rc_cnt3:4, - rc_cnt4:4, - rc_cnt5:4; - - u32 rc_cnt_store; - }; -}; - -/* copy from mac80211.h */ -struct sip_tx_rc { - struct ieee80211_tx_rate rates[IEEE80211_TX_MAX_RATES]; - s8 rts_cts_rate_idx; -}; -#endif /* HOST_RC */ - -#define SIP_HDR_MIN_LEN 4 -#define SIP_HDR_LEN sizeof(struct sip_hdr) -#define SIP_CTRL_HDR_LEN SIP_HDR_LEN /* same as sip_hdr in sip2 design */ -#define SIP_BOOT_BUF_SIZE 256 -#define SIP_CTRL_BUF_SZ 256 /* too much?? */ -#define SIP_CTRL_BUF_N 6 -#define SIP_CTRL_TXBUF_N 2 -#define SIP_CTRL_RXBUF_N 4 - -/* WAR for mblk */ -#define SIP_RX_ADDR_PREFIX_MASK 0xfc000000 -#define SIP_RX_ADDR_SHIFT 6 /* [31:5], shift 6 bits*/ - -struct sip_cmd_write_memory { - u32 addr; - u32 len; -} __packed; - -struct sip_cmd_read_memory { - u32 addr; - u32 len; -} __packed; - -struct sip_cmd_write_reg { - u32 addr; - u32 val; -} __packed; - -struct sip_cmd_bootup { - u32 boot_addr; -} __packed; - -struct sip_cmd_loopback { - u32 txlen; //host to target packet len, 0 means no txpacket - u32 rxlen; //target to host packet len, 0 means no rxpacket - u32 pack_id; //sequence of packet -} __packed; - -struct sip_evt_loopback { - u32 txlen; //host to target packet len, 0 means no txpacket - u32 rxlen; //target to host packet len, 0 means no rxpacket - u32 pack_id; //sequence of packet -} __packed; - -struct sip_cmd_copyback { - u32 addr; - u32 len; -} __packed; - -struct sip_cmd_scan { -// u8 ssid[32]; - u8 ssid_len; -// u8 hw_channel[14]; - u8 n_channels; - u8 ie_len; - u8 aborted; -} __packed; // ie[] append at the end - - -#ifndef ETH_ALEN -#define ETH_ALEN 6 -#endif /* ETH_ALEN */ - -struct sip_cmd_setkey { - u8 bssid_no; - u8 addr[ETH_ALEN]; - u8 alg; - u8 keyidx; - u8 hw_key_idx; - u8 flags; - u8 keylen; - u8 key[32]; -} __packed; - -struct sip_cmd_config { - u16 center_freq; - u16 duration; -} __packed; - -struct sip_cmd_bss_info_update { - u8 bssid[ETH_ALEN]; - u16 isassoc; - u32 beacon_int; - u8 bssid_no; -} __packed; - -struct sip_evt_bootup { - u16 tx_blksz; - u8 mac_addr[ETH_ALEN]; - /* anything else ? */ -} __packed; - -struct sip_cmd_setvif { - u8 index; - u8 mac[ETH_ALEN]; - u8 set; - u8 op_mode; - u8 is_p2p; -} __packed; - -enum esp_ieee80211_phytype{ - ESP_IEEE80211_T_CCK = 0, - ESP_IEEE80211_T_OFDM = 1, - ESP_IEEE80211_T_HT20_L = 2, - ESP_IEEE80211_T_HT20_S = 3, -}; - -struct sip_cmd_setsta { - u8 ifidx; - u8 index; - u8 set; - u8 phymode; - u8 mac[ETH_ALEN]; - u16 aid; - u8 ampdu_factor; - u8 ampdu_density; - u16 resv; -} __packed; - -struct sip_cmd_ps { - u8 dtim_period; - u8 max_sleep_period; - u8 on; - u8 resv; -} __packed; - -struct sip_cmd_suspend { - u8 suspend; - u8 resv[3]; -} __packed; - -#define SIP_DUMP_RPBM_ERR BIT(0) -#define SIP_RXABORT_FIXED BIT(1) -#define SIP_SUPPORT_BGSCAN BIT(2) -struct sip_evt_bootup2 { - u16 tx_blksz; - u8 mac_addr[ETH_ALEN]; - u16 rx_blksz; - u8 credit_to_reserve; - u8 options; - s16 noise_floor; - u8 resv[2]; - /* anything else ? */ -} __packed; - -typedef enum { - TRC_TX_AMPDU_STOPPED = 1, - TRC_TX_AMPDU_OPERATIONAL, - TRC_TX_AMPDU_WAIT_STOP, - TRC_TX_AMPDU_WAIT_OPERATIONAL, - TRC_TX_AMPDU_START, -} trc_ampdu_state_t; - -struct sip_evt_trc_ampdu { - u8 state; - u8 tid; - u8 addr[ETH_ALEN]; -} __packed; - -struct sip_cmd_set_wmm_params { - u8 aci; - u8 aifs; - u8 ecw_min; - u8 ecw_max; - u16 txop_us; -} __packed; - -#define SIP_AMPDU_RX_START 0 -#define SIP_AMPDU_RX_STOP 1 -#define SIP_AMPDU_TX_OPERATIONAL 2 -#define SIP_AMPDU_TX_STOP 3 -struct sip_cmd_ampdu_action { - u8 action; - u8 index; - u8 tid; - u8 win_size; - u16 ssn; - u8 addr[ETH_ALEN]; -} __packed; - -#define SIP_TX_ST_OK 0 -#define SIP_TX_ST_NOEB 1 -#define SIP_TX_ST_ACKTO 2 -#define SIP_TX_ST_ENCERR 3 - -//NB: sip_tx_status must be 4 bytes aligned -struct sip_tx_status { - u32 sip_seq; -#ifdef HOST_RC - struct sip_rc_status rcstatus; -#endif /* HOST_RC */ - u8 errno; /* success or failure code */ - u8 rate_index; - char ack_signal; - u8 pad; -} __packed; - -struct sip_evt_tx_report { - u32 pkts; - struct sip_tx_status status[0]; -} __packed; - -struct sip_evt_tx_mblk { - u32 mblk_map; -} __packed; - -struct sip_evt_scan_report { - u16 scan_id; - u16 aborted; -} __packed; - -struct sip_evt_roc { - u16 state; //start:1, end :0 - u16 is_ok; -} __packed; - -struct sip_evt_txidle { - u32 last_seq; -} __packed; - -struct sip_evt_noisefloor { - s16 noise_floor; - u16 pad; -} __packed; -/* - * for mblk direct memory access, no need for sip_hdr. tx: first 2k for contrl msg, - * rest of 14k for data. rx, same. - */ -#ifdef TEST_MODE - -struct sip_cmd_sleep { - u32 sleep_mode; - u32 sleep_tm_ms; - u32 wakeup_tm_ms; //zero: after receive bcn, then sleep, nozero: delay nozero ms to sleep - u32 sleep_times; //zero: always sleep, nozero: after nozero number sleep/wakeup, then end up sleep -} __packed; - -struct sip_cmd_wakeup { - u32 check_data; //0:copy to event -} __packed; - -struct sip_evt_wakeup { - u32 check_data; -} __packed; - -//general debug command -struct sip_cmd_debug { - u32 cmd_type; - u32 para_num; - u32 para[10]; -} __packed; - -struct sip_evt_debug { - u16 len; - u32 results[8]; - u16 pad; -} __packed; - -#endif //ifdef TEST_MODE - -#endif /* _SIP_COMMON_H_ */ |