OSDN Git Service

Add rtl8821ce driver version 5.5.2
[android-x86/external-kernel-drivers.git] / rtl8821ce / hal / halmac / halmac_fw_info.h
1 /******************************************************************************
2  *
3  * Copyright(c) 2016 - 2018 Realtek Corporation. All rights reserved.
4  *
5  * This program is free software; you can redistribute it and/or modify it
6  * under the terms of version 2 of the GNU General Public License as
7  * published by the Free Software Foundation.
8  *
9  * This program is distributed in the hope that it will be useful, but WITHOUT
10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11  * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12  * more details.
13  *
14  ******************************************************************************/
15
16 #ifndef _HALMAC_FW_INFO_H_
17 #define _HALMAC_FW_INFO_H_
18
19 #define H2C_FORMAT_VERSION              11
20
21 /* FW bin information */
22 #define WLAN_FW_HDR_SIZE                64
23 #define WLAN_FW_HDR_CHKSUM_SIZE         8
24
25 #define WLAN_FW_HDR_VERSION             4
26 #define WLAN_FW_HDR_SUBVERSION          6
27 #define WLAN_FW_HDR_SUBINDEX            7
28 #define WLAN_FW_HDR_MONTH               16
29 #define WLAN_FW_HDR_DATE                17
30 #define WLAN_FW_HDR_HOUR                18
31 #define WLAN_FW_HDR_MIN                 19
32 #define WLAN_FW_HDR_YEAR                20
33 #define WLAN_FW_HDR_MEM_USAGE           24
34 #define WLAN_FW_HDR_H2C_FMT_VER         28
35 #define WLAN_FW_HDR_DMEM_ADDR           32
36 #define WLAN_FW_HDR_DMEM_SIZE           36
37 #define WLAN_FW_HDR_IMEM_SIZE           48
38 #define WLAN_FW_HDR_EMEM_SIZE           52
39 #define WLAN_FW_HDR_EMEM_ADDR           56
40 #define WLAN_FW_HDR_IMEM_ADDR           60
41
42 #define H2C_ACK_HDR_CONTENT_LENGTH              8
43 #define CFG_PARAMETER_ACK_CONTENT_LENGTH        16
44 #define SCAN_STATUS_RPT_CONTENT_LENGTH          4
45 #define C2H_DBG_HDR_LEN                         4
46 #define C2H_DBG_CONTENT_MAX_LENGTH              228
47 #define C2H_DBG_CONTENT_SEQ_OFFSET              1
48
49 /* Rename from FW SysHalCom_Debug_RAM.h */
50 #define FW_REG_H2CPKT_DONE_SEQ          0x1C8
51 #define FW_REG_WOW_REASON               0x1C7
52
53 enum halmac_data_type {
54         HALMAC_DATA_TYPE_MAC_REG = 0x00,
55         HALMAC_DATA_TYPE_BB_REG = 0x01,
56         HALMAC_DATA_TYPE_RADIO_A = 0x02,
57         HALMAC_DATA_TYPE_RADIO_B = 0x03,
58         HALMAC_DATA_TYPE_RADIO_C = 0x04,
59         HALMAC_DATA_TYPE_RADIO_D = 0x05,
60
61         HALMAC_DATA_TYPE_DRV_DEFINE_0 = 0x80,
62         HALMAC_DATA_TYPE_DRV_DEFINE_1 = 0x81,
63         HALMAC_DATA_TYPE_DRV_DEFINE_2 = 0x82,
64         HALMAC_DATA_TYPE_DRV_DEFINE_3 = 0x83,
65         HALMAC_DATA_TYPE_UNDEFINE = 0x7FFFFFFF,
66 };
67
68 enum halmac_packet_id {
69         HALMAC_PACKET_PROBE_REQ = 0x00,
70         HALMAC_PACKET_SYNC_BCN = 0x01,
71         HALMAC_PACKET_DISCOVERY_BCN = 0x02,
72         HALMAC_PACKET_UNDEFINE = 0x7FFFFFFF,
73 };
74
75 enum halmac_cs_action_id {
76         HALMAC_CS_ACTION_NONE = 0x00,
77         HALMAC_CS_ACTIVE_SCAN = 0x01,
78         HALMAC_CS_NAN_NONMASTER_DW = 0x02,
79         HALMAC_CS_NAN_NONMASTER_NONDW = 0x03,
80         HALMAC_CS_NAN_MASTER_NONDW = 0x04,
81         HALMAC_CS_NAN_MASTER_DW = 0x05,
82         HALMAC_CS_ACTION_UNDEFINE = 0x7FFFFFFF,
83 };
84
85 enum halmac_cs_extra_action_id {
86         HALMAC_CS_EXTRA_ACTION_NONE = 0x00,
87         HALMAC_CS_EXTRA_UPDATE_PROBE = 0x01,
88         HALMAC_CS_EXTRA_UPDATE_BEACON = 0x02,
89         HALMAC_CS_EXTRA_ACTION_UNDEFINE = 0x7FFFFFFF,
90 };
91
92 enum halmac_h2c_return_code {
93         HALMAC_H2C_RETURN_SUCCESS = 0x00,
94         HALMAC_H2C_RETURN_CFG_ERR_LEN = 0x01,
95         HALMAC_H2C_RETURN_CFG_ERR_CMD = 0x02,
96         HALMAC_H2C_RETURN_EFUSE_ERR_DUMP = 0x03,
97         HALMAC_H2C_RETURN_DATAPACK_ERR_FULL = 0x04,
98         HALMAC_H2C_RETURN_DATAPACK_ERR_ID = 0x05,
99         HALMAC_H2C_RETURN_RUN_ERR_EMPTY = 0x06,
100         HALMAC_H2C_RETURN_RUN_ERR_LEN = 0x07,
101         HALMAC_H2C_RETURN_RUN_ERR_CMD = 0x08,
102         HALMAC_H2C_RETURN_RUN_ERR_ID = 0x09,
103         HALMAC_H2C_RETURN_PACKET_ERR_FULL = 0x0A,
104         HALMAC_H2C_RETURN_PACKET_ERR_ID = 0x0B,
105         HALMAC_H2C_RETURN_SCAN_ERR_FULL = 0x0C,
106         HALMAC_H2C_RETURN_SCAN_ERR_PHYDM = 0x0D,
107         HALMAC_H2C_RETURN_ORIG_ERR_ID = 0x0E,
108         HALMAC_H2C_RETURN_UNDEFINE = 0x7FFFFFFF,
109 };
110
111 enum halmac_scan_report_code {
112         HALMAC_SCAN_REPORT_DONE = 0x00,
113         HALMAC_SCAN_REPORT_ERR_PHYDM = 0x01,
114         HALMAC_SCAN_REPORT_ERR_ID = 0x02,
115         HALMAC_SCAN_REPORT_ERR_TX = 0x03,
116         HALMAC_SCAN_REPORT_UNDEFINE = 0x7FFFFFFF,
117 };
118
119 #endif