Linux Audio

Check our new training course

Loading...
Note: File does not exist in v3.1.
  1/* SPDX-License-Identifier: ISC */
  2
  3#ifndef __MT7603_MCU_H
  4#define __MT7603_MCU_H
  5
  6struct mt7603_mcu_txd {
  7	__le16 len;
  8	__le16 pq_id;
  9
 10	u8 cid;
 11	u8 pkt_type;
 12	u8 set_query;
 13	u8 seq;
 14
 15	u8 uc_d2b0_rev;
 16	u8 ext_cid;
 17	u8 uc_d2b2_rev;
 18	u8 ext_cid_ack;
 19
 20	u32 au4_d3_to_d7_rev[5];
 21} __packed __aligned(4);
 22
 23struct mt7603_mcu_rxd {
 24	__le16 len;
 25	__le16 pkt_type_id;
 26
 27	u8 eid;
 28	u8 seq;
 29	__le16 __rsv;
 30
 31	u8 ext_eid;
 32	u8 __rsv1[3];
 33};
 34
 35#define MCU_PKT_ID		0xa0
 36#define MCU_PORT_QUEUE		0x8000
 37#define MCU_PORT_QUEUE_FW	0xc000
 38
 39#define MCU_FIRMWARE_ADDRESS	0x100000
 40
 41enum {
 42	MCU_Q_QUERY,
 43	MCU_Q_SET,
 44	MCU_Q_RESERVED,
 45	MCU_Q_NA
 46};
 47
 48enum {
 49	MCU_CMD_TARGET_ADDRESS_LEN_REQ = 0x01,
 50	MCU_CMD_FW_START_REQ = 0x02,
 51	MCU_CMD_INIT_ACCESS_REG = 0x3,
 52	MCU_CMD_PATCH_START_REQ = 0x05,
 53	MCU_CMD_PATCH_FINISH_REQ = 0x07,
 54	MCU_CMD_PATCH_SEM_CONTROL = 0x10,
 55	MCU_CMD_HIF_LOOPBACK = 0x20,
 56	MCU_CMD_CH_PRIVILEGE = 0x20,
 57	MCU_CMD_ACCESS_REG = 0xC2,
 58	MCU_CMD_EXT_CID = 0xED,
 59	MCU_CMD_FW_SCATTER = 0xEE,
 60	MCU_CMD_RESTART_DL_REQ = 0xEF,
 61};
 62
 63enum {
 64	MCU_EXT_CMD_RF_REG_ACCESS = 0x02,
 65	MCU_EXT_CMD_RF_TEST = 0x04,
 66	MCU_EXT_CMD_RADIO_ON_OFF_CTRL = 0x05,
 67	MCU_EXT_CMD_WIFI_RX_DISABLE = 0x06,
 68	MCU_EXT_CMD_PM_STATE_CTRL = 0x07,
 69	MCU_EXT_CMD_CHANNEL_SWITCH = 0x08,
 70	MCU_EXT_CMD_NIC_CAPABILITY = 0x09,
 71	MCU_EXT_CMD_PWR_SAVING = 0x0A,
 72	MCU_EXT_CMD_MULTIPLE_REG_ACCESS = 0x0E,
 73	MCU_EXT_CMD_AP_PWR_SAVING_CAPABILITY = 0xF,
 74	MCU_EXT_CMD_SEC_ADDREMOVE_KEY = 0x10,
 75	MCU_EXT_CMD_SET_TX_POWER_CTRL = 0x11,
 76	MCU_EXT_CMD_FW_LOG_2_HOST = 0x13,
 77	MCU_EXT_CMD_PS_RETRIEVE_START = 0x14,
 78	MCU_EXT_CMD_LED_CTRL = 0x17,
 79	MCU_EXT_CMD_PACKET_FILTER = 0x18,
 80	MCU_EXT_CMD_PWR_MGT_BIT_WIFI = 0x1B,
 81	MCU_EXT_CMD_EFUSE_BUFFER_MODE = 0x21,
 82	MCU_EXT_CMD_THERMAL_PROTECT = 0x23,
 83	MCU_EXT_CMD_EDCA_SET = 0x27,
 84	MCU_EXT_CMD_SLOT_TIME_SET = 0x28,
 85	MCU_EXT_CMD_CONFIG_INTERNAL_SETTING = 0x29,
 86	MCU_EXT_CMD_NOA_OFFLOAD_CTRL = 0x2B,
 87	MCU_EXT_CMD_GET_THEMAL_SENSOR = 0x2C,
 88	MCU_EXT_CMD_WAKEUP_OPTION = 0x2E,
 89	MCU_EXT_CMD_AC_QUEUE_CONTROL = 0x31,
 90	MCU_EXT_CMD_BCN_UPDATE = 0x33
 91};
 92
 93enum {
 94	MCU_EXT_EVENT_CMD_RESULT = 0x0,
 95	MCU_EXT_EVENT_RF_REG_ACCESS = 0x2,
 96	MCU_EXT_EVENT_MULTI_CR_ACCESS = 0x0E,
 97	MCU_EXT_EVENT_FW_LOG_2_HOST = 0x13,
 98	MCU_EXT_EVENT_BEACON_LOSS = 0x1A,
 99	MCU_EXT_EVENT_THERMAL_PROTECT = 0x22,
100	MCU_EXT_EVENT_BCN_UPDATE = 0x31,
101};
102
103static inline struct sk_buff *
104mt7603_mcu_msg_alloc(const void *data, int len)
105{
106	return mt76_mcu_msg_alloc(data, sizeof(struct mt7603_mcu_txd),
107				  len, 0);
108}
109
110#endif