0001
0002
0003 #ifndef __MT7603_MCU_H
0004 #define __MT7603_MCU_H
0005
0006 struct mt7603_mcu_txd {
0007 __le16 len;
0008 __le16 pq_id;
0009
0010 u8 cid;
0011 u8 pkt_type;
0012 u8 set_query;
0013 u8 seq;
0014
0015 u8 uc_d2b0_rev;
0016 u8 ext_cid;
0017 u8 uc_d2b2_rev;
0018 u8 ext_cid_ack;
0019
0020 u32 au4_d3_to_d7_rev[5];
0021 } __packed __aligned(4);
0022
0023 struct mt7603_mcu_rxd {
0024 __le16 len;
0025 __le16 pkt_type_id;
0026
0027 u8 eid;
0028 u8 seq;
0029 __le16 __rsv;
0030
0031 u8 ext_eid;
0032 u8 __rsv1[3];
0033 };
0034
0035 #define MCU_PKT_ID 0xa0
0036 #define MCU_PORT_QUEUE 0x8000
0037 #define MCU_PORT_QUEUE_FW 0xc000
0038
0039 #define MCU_FIRMWARE_ADDRESS 0x100000
0040
0041 enum {
0042 MCU_Q_QUERY,
0043 MCU_Q_SET,
0044 MCU_Q_RESERVED,
0045 MCU_Q_NA
0046 };
0047
0048 enum {
0049 MCU_CMD_TARGET_ADDRESS_LEN_REQ = 0x01,
0050 MCU_CMD_FW_START_REQ = 0x02,
0051 MCU_CMD_INIT_ACCESS_REG = 0x3,
0052 MCU_CMD_PATCH_START_REQ = 0x05,
0053 MCU_CMD_PATCH_FINISH_REQ = 0x07,
0054 MCU_CMD_PATCH_SEM_CONTROL = 0x10,
0055 MCU_CMD_HIF_LOOPBACK = 0x20,
0056 MCU_CMD_CH_PRIVILEGE = 0x20,
0057 MCU_CMD_ACCESS_REG = 0xC2,
0058 MCU_CMD_EXT_CID = 0xED,
0059 MCU_CMD_FW_SCATTER = 0xEE,
0060 MCU_CMD_RESTART_DL_REQ = 0xEF,
0061 };
0062
0063 enum {
0064 MCU_EXT_CMD_RF_REG_ACCESS = 0x02,
0065 MCU_EXT_CMD_RF_TEST = 0x04,
0066 MCU_EXT_CMD_RADIO_ON_OFF_CTRL = 0x05,
0067 MCU_EXT_CMD_WIFI_RX_DISABLE = 0x06,
0068 MCU_EXT_CMD_PM_STATE_CTRL = 0x07,
0069 MCU_EXT_CMD_CHANNEL_SWITCH = 0x08,
0070 MCU_EXT_CMD_NIC_CAPABILITY = 0x09,
0071 MCU_EXT_CMD_PWR_SAVING = 0x0A,
0072 MCU_EXT_CMD_MULTIPLE_REG_ACCESS = 0x0E,
0073 MCU_EXT_CMD_AP_PWR_SAVING_CAPABILITY = 0xF,
0074 MCU_EXT_CMD_SEC_ADDREMOVE_KEY = 0x10,
0075 MCU_EXT_CMD_SET_TX_POWER_CTRL = 0x11,
0076 MCU_EXT_CMD_FW_LOG_2_HOST = 0x13,
0077 MCU_EXT_CMD_PS_RETRIEVE_START = 0x14,
0078 MCU_EXT_CMD_LED_CTRL = 0x17,
0079 MCU_EXT_CMD_PACKET_FILTER = 0x18,
0080 MCU_EXT_CMD_PWR_MGT_BIT_WIFI = 0x1B,
0081 MCU_EXT_CMD_EFUSE_BUFFER_MODE = 0x21,
0082 MCU_EXT_CMD_THERMAL_PROTECT = 0x23,
0083 MCU_EXT_CMD_EDCA_SET = 0x27,
0084 MCU_EXT_CMD_SLOT_TIME_SET = 0x28,
0085 MCU_EXT_CMD_CONFIG_INTERNAL_SETTING = 0x29,
0086 MCU_EXT_CMD_NOA_OFFLOAD_CTRL = 0x2B,
0087 MCU_EXT_CMD_GET_THEMAL_SENSOR = 0x2C,
0088 MCU_EXT_CMD_WAKEUP_OPTION = 0x2E,
0089 MCU_EXT_CMD_AC_QUEUE_CONTROL = 0x31,
0090 MCU_EXT_CMD_BCN_UPDATE = 0x33
0091 };
0092
0093 enum {
0094 MCU_EXT_EVENT_CMD_RESULT = 0x0,
0095 MCU_EXT_EVENT_RF_REG_ACCESS = 0x2,
0096 MCU_EXT_EVENT_MULTI_CR_ACCESS = 0x0E,
0097 MCU_EXT_EVENT_FW_LOG_2_HOST = 0x13,
0098 MCU_EXT_EVENT_BEACON_LOSS = 0x1A,
0099 MCU_EXT_EVENT_THERMAL_PROTECT = 0x22,
0100 MCU_EXT_EVENT_BCN_UPDATE = 0x31,
0101 };
0102
0103 #endif