hc
2024-05-08 f309769f8af08599af39b6de4f675784ce76530d
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
/******************************************************************************
 *
 * Copyright(c) 2016 - 2019 Realtek Corporation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify it
 * under the terms of version 2 of the GNU General Public License as
 * published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
 * more details.
 *
 ******************************************************************************/
 
#ifndef _HALMAC_FW_INFO_H_
#define _HALMAC_FW_INFO_H_
 
#define H2C_FORMAT_VERSION                15
 
/* FW bin information */
#define WLAN_FW_HDR_SIZE                64
#define WLAN_FW_HDR_CHKSUM_SIZE            8
 
#define WLAN_FW_HDR_VERSION                4
#define WLAN_FW_HDR_SUBVERSION            6
#define WLAN_FW_HDR_SUBINDEX            7
#define WLAN_FW_HDR_MONTH                16
#define WLAN_FW_HDR_DATE                17
#define WLAN_FW_HDR_HOUR                18
#define WLAN_FW_HDR_MIN                    19
#define WLAN_FW_HDR_YEAR                20
#define WLAN_FW_HDR_MEM_USAGE            24
#define WLAN_FW_HDR_H2C_FMT_VER            28
#define WLAN_FW_HDR_DMEM_ADDR            32
#define WLAN_FW_HDR_DMEM_SIZE            36
#define WLAN_FW_HDR_IMEM_SIZE            48
#define WLAN_FW_HDR_EMEM_SIZE            52
#define WLAN_FW_HDR_EMEM_ADDR            56
#define WLAN_FW_HDR_IMEM_ADDR            60
 
#define H2C_ACK_HDR_CONTENT_LENGTH            8
#define CFG_PARAMETER_ACK_CONTENT_LENGTH    16
#define CH_SWITCH_ACK_CONTENT_LENGTH        16
#define SCAN_STATUS_RPT_CONTENT_LENGTH        4
#define SCAN_STATUS_RPT_CONTENT_LENGTH_V2    12
#define SCAN_CH_NOTIFY_CONTENT_LENGTH        12
#define C2H_DBG_HDR_LEN                        4
#define C2H_DBG_CONTENT_MAX_LENGTH            228
#define C2H_DBG_CONTENT_SEQ_OFFSET            1
 
/* Rename from FW SysHalCom_Debug_RAM.h */
#define FW_REG_H2CPKT_DONE_SEQ                0x1C8
#define FW_REG_WOW_REASON                    0x1C7
 
enum halmac_data_type {
   HALMAC_DATA_TYPE_MAC_REG = 0x00,
   HALMAC_DATA_TYPE_BB_REG = 0x01,
   HALMAC_DATA_TYPE_RADIO_A = 0x02,
   HALMAC_DATA_TYPE_RADIO_B = 0x03,
   HALMAC_DATA_TYPE_RADIO_C = 0x04,
   HALMAC_DATA_TYPE_RADIO_D = 0x05,
 
   HALMAC_DATA_TYPE_DRV_DEFINE_0 = 0x80,
   HALMAC_DATA_TYPE_DRV_DEFINE_1 = 0x81,
   HALMAC_DATA_TYPE_DRV_DEFINE_2 = 0x82,
   HALMAC_DATA_TYPE_DRV_DEFINE_3 = 0x83,
   HALMAC_DATA_TYPE_UNDEFINE = 0x7FFFFFFF,
};
 
enum halmac_packet_id {
   HALMAC_PACKET_PROBE_REQ = 0x00,
   HALMAC_PACKET_SYNC_BCN = 0x01,
   HALMAC_PACKET_DISCOVERY_BCN = 0x02,
   HALMAC_PACKET_PROBE_REQ_NLO = 0xF0,
   HALMAC_PACKET_SYNC_BCN_NLO = 0xF1,
   HALMAC_PACKET_DISCOVERY_BCN_NLO = 0xF2,
   HALMAC_PACKET_UNDEFINE = 0x7FFFFFFF,
};
 
enum halmac_cs_action_id {
   HALMAC_CS_ACTION_NONE = 0x00,
   HALMAC_CS_ACTIVE_SCAN = 0x01,
   HALMAC_CS_NAN_NONMASTER_DW = 0x02,
   HALMAC_CS_NAN_NONMASTER_NONDW = 0x03,
   HALMAC_CS_NAN_MASTER_NONDW = 0x04,
   HALMAC_CS_NAN_MASTER_DW = 0x05,
   HALMAC_CS_ACTION_UNDEFINE = 0x7FFFFFFF,
};
 
enum halmac_cs_extra_action_id {
   HALMAC_CS_EXTRA_ACTION_NONE = 0x00,
   HALMAC_CS_EXTRA_UPDATE_PROBE = 0x01,
   HALMAC_CS_EXTRA_UPDATE_BEACON = 0x02,
   HALMAC_CS_EXTRA_ACTION_SCAN = 0x03,
   HALMAC_CS_EXTRA_ACTION_UNDEFINE = 0x7FFFFFFF,
};
 
enum halmac_h2c_return_code {
   HALMAC_H2C_RETURN_SUCCESS = 0x00,
   HALMAC_H2C_RETURN_CFG_ERR_LEN = 0x01,
   HALMAC_H2C_RETURN_CFG_ERR_CMD = 0x02,
   HALMAC_H2C_RETURN_EFUSE_ERR_DUMP = 0x03,
   HALMAC_H2C_RETURN_DATAPACK_ERR_FULL = 0x04,
   HALMAC_H2C_RETURN_DATAPACK_ERR_ID = 0x05,
   HALMAC_H2C_RETURN_RUN_ERR_EMPTY = 0x06,
   HALMAC_H2C_RETURN_RUN_ERR_LEN = 0x07,
   HALMAC_H2C_RETURN_RUN_ERR_CMD = 0x08,
   HALMAC_H2C_RETURN_RUN_ERR_ID = 0x09,
   HALMAC_H2C_RETURN_PACKET_ERR_FULL = 0x0A,
   HALMAC_H2C_RETURN_PACKET_ERR_ID = 0x0B,
   HALMAC_H2C_RETURN_SCAN_ERR_FULL = 0x0C,
   HALMAC_H2C_RETURN_SCAN_ERR_PHYDM = 0x0D,
   HALMAC_H2C_RETURN_ORIG_ERR_ID = 0x0E,
   HALMAC_H2C_RETURN_SCAN_PKT_FULL = 0x0F,
   HALMAC_H2C_RETURN_SCAN_PKT_BUF_BUSY = 0x10,
   HALMAC_H2C_RETURN_SCAN_PKT_IDX_REUSE = 0x11,
   HALMAC_H2C_RETURN_EFUSE_BUF_BUSY = 0x12,
   HALMAC_H2C_RETURN_UNDEFINE = 0x7FFFFFFF,
};
 
enum halmac_scan_report_code {
   HALMAC_SCAN_REPORT_DONE    = 0x00,
   HALMAC_SCAN_REPORT_ERR_PHYDM = 0x01,
   HALMAC_SCAN_REPORT_ERR_ID = 0x02,
   HALMAC_SCAN_REPORT_ERR_TX = 0x03,
   HALMAC_SCAN_REPORT_UNDEFINE = 0x7FFFFFFF,
};
 
enum halmac_scan_notify_id {
   HALMAC_SCAN_NOTIFY_ID_PRESWITCH = 0x00,
   HALMAC_SCAN_NOTIFY_ID_POSTSWITCH = 0x01,
   HALMAC_SCAN_NOTIFY_ID_PROBE_PRETX = 0x02,
   HALMAC_SCAN_NOTIFY_ID_PROBE_POSTTX = 0x03,
   HALMAC_SCAN_NOTIFY_ID_ACTION_PRETX = 0x04,
   HALMAC_SCAN_NOTIFY_ID_ACTION_POSTTX = 0x05,
   HALMAC_SCAN_NOTIFY_ID_DWELLEXT = 0x06,
   HALMAC_SCAN_NOTIFY_ID_UNDEFINE = 0x7F,
};
 
enum halmac_scan_notify_status {
   HALMAC_SCAN_NOTIFY_STATUS_NONE = 0x00,
   HALMAC_SCAN_NOTIFY_STATUS_PHYDM_OK = 0x01,
   HALMAC_SCAN_NOTIFY_STATUS_PHYDM_ERR = 0x02,
   HALMAC_SCAN_NOTIFY_STATUS_NO_PROBE = 0x03,
   HALMAC_SCAN_NOTIFY_STATUS_TX_PROBE_OK = 0x04,
   HALMAC_SCAN_NOTIFY_STATUS_TX_PROBE_FAIL = 0x05,
   HALMAC_SCAN_NOTIFY_STATUS_INVALID_ACTION_IDX = 0x06,
   HALMAC_SCAN_NOTIFY_STATUS_TX_ACTION_OK = 0x07,
   HALMAC_SCAN_NOTIFY_STATUS_TX_ACTION_FAIL = 0x08,
   HALMAC_SCAN_NOTIFY_STATUS_UNDEFINE = 0x7F,
};
 
#endif