xref: /OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/rtl8822be/hal/halmac/halmac_fw_info.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef _HALMAC_FW_INFO_H_
3 #define _HALMAC_FW_INFO_H_
4 
5 #define H2C_FORMAT_VERSION              4
6 
7 #define H2C_ACK_HDR_CONTENT_LENGTH          8
8 #define CFG_PARAMETER_ACK_CONTENT_LENGTH    16
9 #define SCAN_STATUS_RPT_CONTENT_LENGTH      4
10 #define C2H_DBG_HEADER_LENGTH               4
11 #define C2H_DBG_CONTENT_MAX_LENGTH                      228
12 
13 #define C2H_DBG_CONTENT_SEQ_OFFSET          1
14 
15 /* Rename from FW SysHalCom_Debug_RAM.h */
16 #define FW_REG_H2CPKT_DONE_SEQ              0x1C8
17 #define FW_REG_WoW_REASON                   0x1C7
18 
19 
20 typedef enum _HALMAC_DATA_TYPE {
21 	HALMAC_DATA_TYPE_MAC_REG = 0x00,
22 	HALMAC_DATA_TYPE_BB_REG = 0x01,
23 	HALMAC_DATA_TYPE_RADIO_A = 0x02,
24 	HALMAC_DATA_TYPE_RADIO_B = 0x03,
25 	HALMAC_DATA_TYPE_RADIO_C = 0x04,
26 	HALMAC_DATA_TYPE_RADIO_D = 0x05,
27 
28 	HALMAC_DATA_TYPE_DRV_DEFINE_0 = 0x80,
29 	HALMAC_DATA_TYPE_DRV_DEFINE_1 = 0x81,
30 	HALMAC_DATA_TYPE_DRV_DEFINE_2 = 0x82,
31 	HALMAC_DATA_TYPE_DRV_DEFINE_3 = 0x83,
32 	HALMAC_DATA_TYPE_UNDEFINE = 0x7FFFFFFF,
33 } HALMAC_DATA_TYPE;
34 
35 typedef enum _HALMAC_PACKET_ID {
36 	HALMAC_PACKET_PROBE_REQ = 0x00,
37 	HALMAC_PACKET_SYNC_BCN = 0x01,
38 	HALMAC_PACKET_DISCOVERY_BCN = 0x02,
39 
40 	HALMAC_PACKET_UNDEFINE = 0x7FFFFFFF,
41 } HALMAC_PACKET_ID;
42 
43 /* Channel Switch Action ID */
44 typedef enum _HALMAC_CS_ACTION_ID {
45 	HALMAC_CS_ACTION_NONE = 0x00,
46 	HALMAC_CS_ACTIVE_SCAN = 0x01,
47 	HALMAC_CS_NAN_NONMASTER_DW = 0x02,
48 	HALMAC_CS_NAN_NONMASTER_NONDW = 0x03,
49 	HALMAC_CS_NAN_MASTER_NONDW = 0x04,
50 	HALMAC_CS_NAN_MASTER_DW = 0x05,
51 
52 	HALMAC_CS_ACTION_UNDEFINE = 0x7FFFFFFF,
53 } HALMAC_CS_ACTION_ID;
54 
55 /* Channel Switch Extra Action ID */
56 typedef enum _HALMAC_CS_EXTRA_ACTION_ID {
57 	HALMAC_CS_EXTRA_ACTION_NONE = 0x00,
58 	HALMAC_CS_EXTRA_UPDATE_PROBE = 0x01,
59 	HALMAC_CS_EXTRA_UPDATE_BEACON = 0x02,
60 
61 
62 	HALMAC_CS_EXTRA_ACTION_UNDEFINE = 0x7FFFFFFF,
63 } HALMAC_CS_EXTRA_ACTION_ID;
64 
65 typedef enum _HALMAC_H2C_RETURN_CODE {
66 	HALMAC_H2C_RETURN_SUCCESS = 0x00,
67 	HALMAC_H2C_RETURN_CFG_ERR_LEN = 0x01,
68 	HALMAC_H2C_RETURN_CFG_ERR_CMD = 0x02,
69 
70 	HALMAC_H2C_RETURN_EFUSE_ERR_DUMP = 0x03,
71 
72 	HALMAC_H2C_RETURN_DATAPACK_ERR_FULL = 0x04,     /* DMEM buffer full */
73 	HALMAC_H2C_RETURN_DATAPACK_ERR_ID = 0x05,       /* Invalid pack id */
74 
75 	HALMAC_H2C_RETURN_RUN_ERR_EMPTY = 0x06,         /* No data in dedicated buffer */
76 	HALMAC_H2C_RETURN_RUN_ERR_LEN = 0x07,
77 	HALMAC_H2C_RETURN_RUN_ERR_CMD = 0x08,
78 	HALMAC_H2C_RETURN_RUN_ERR_ID = 0x09,            /* Invalid pack id */
79 
80 	HALMAC_H2C_RETURN_PACKET_ERR_FULL = 0x0A,       /* DMEM buffer full */
81 	HALMAC_H2C_RETURN_PACKET_ERR_ID = 0x0B,         /* Invalid packet id */
82 
83 	HALMAC_H2C_RETURN_SCAN_ERR_FULL = 0x0C,         /* DMEM buffer full */
84 	HALMAC_H2C_RETURN_SCAN_ERR_PHYDM = 0x0D,        /* PHYDM API return fail */
85 
86 	HALMAC_H2C_RETURN_ORIG_ERR_ID = 0x0E,           /* Invalid original H2C cmd id */
87 
88 	HALMAC_H2C_RETURN_UNDEFINE = 0x7FFFFFFF,
89 } HALMAC_H2C_RETURN_CODE;
90 
91 typedef enum _HALMAC_SCAN_REPORT_CODE {
92 	HALMAC_SCAN_REPORT_DONE = 0x00,
93 	HALMAC_SCAN_REPORT_ERR_PHYDM = 0x01,    /* PHYDM API return fail */
94 	HALMAC_SCAN_REPORT_ERR_ID = 0x02,       /* Invalid ActionID */
95 	HALMAC_SCAN_REPORT_ERR_TX = 0x03,       /* Tx RsvdPage fail */
96 
97 	HALMAC_SCAN_REPORT_UNDEFINE = 0x7FFFFFFF,
98 } HALMAC_SCAN_REPORT_CODE;
99 
100 
101 
102 #endif
103