mediatek: mt76-6e-usb: Copied entire code from v5.18.y
[platform/kernel/linux-rpi.git] / drivers / net / wireless / mediatek / mt76-6e-usb / mt7603 / mcu.h
1 /* SPDX-License-Identifier: ISC */
2
3 #ifndef __MT7603_MCU_H
4 #define __MT7603_MCU_H
5
6 struct 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
23 struct 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
41 enum {
42         MCU_Q_QUERY,
43         MCU_Q_SET,
44         MCU_Q_RESERVED,
45         MCU_Q_NA
46 };
47
48 enum {
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
63 enum {
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
93 enum {
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
103 #endif