1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /****************************************************************************** 3 * 4 * Copyright(c) 2016 Realtek Corporation. 5 * 6 * Contact Information: 7 * wlanfae <wlanfae@realtek.com> 8 * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park, 9 * Hsinchu 300, Taiwan. 10 * 11 * Larry Finger <Larry.Finger@lwfinger.net> 12 * 13 *****************************************************************************/ 14 #ifndef _HALMAC_FW_INFO_H_ 15 #define _HALMAC_FW_INFO_H_ 16 17 #define H2C_FORMAT_VERSION 6 18 19 #define H2C_ACK_HDR_CONTENT_LENGTH 8 20 #define CFG_PARAMETER_ACK_CONTENT_LENGTH 16 21 #define SCAN_STATUS_RPT_CONTENT_LENGTH 4 22 #define C2H_DBG_HEADER_LENGTH 4 23 #define C2H_DBG_CONTENT_MAX_LENGTH 228 24 25 #define C2H_DBG_CONTENT_SEQ_OFFSET 1 26 27 /* Rename from FW SysHalCom_Debug_RAM.h */ 28 #define FW_REG_H2CPKT_DONE_SEQ 0x1C8 29 #define fw_reg_wow_reason 0x1C7 30 31 enum halmac_data_type { 32 HALMAC_DATA_TYPE_MAC_REG = 0x00, 33 HALMAC_DATA_TYPE_BB_REG = 0x01, 34 HALMAC_DATA_TYPE_RADIO_A = 0x02, 35 HALMAC_DATA_TYPE_RADIO_B = 0x03, 36 HALMAC_DATA_TYPE_RADIO_C = 0x04, 37 HALMAC_DATA_TYPE_RADIO_D = 0x05, 38 39 HALMAC_DATA_TYPE_DRV_DEFINE_0 = 0x80, 40 HALMAC_DATA_TYPE_DRV_DEFINE_1 = 0x81, 41 HALMAC_DATA_TYPE_DRV_DEFINE_2 = 0x82, 42 HALMAC_DATA_TYPE_DRV_DEFINE_3 = 0x83, 43 HALMAC_DATA_TYPE_UNDEFINE = 0x7FFFFFFF, 44 }; 45 46 enum halmac_packet_id { 47 HALMAC_PACKET_PROBE_REQ = 0x00, 48 HALMAC_PACKET_SYNC_BCN = 0x01, 49 HALMAC_PACKET_DISCOVERY_BCN = 0x02, 50 51 HALMAC_PACKET_UNDEFINE = 0x7FFFFFFF, 52 }; 53 54 /* Channel Switch Action ID */ 55 enum halmac_cs_action_id { 56 HALMAC_CS_ACTION_NONE = 0x00, 57 HALMAC_CS_ACTIVE_SCAN = 0x01, 58 HALMAC_CS_NAN_NONMASTER_DW = 0x02, 59 HALMAC_CS_NAN_NONMASTER_NONDW = 0x03, 60 HALMAC_CS_NAN_MASTER_NONDW = 0x04, 61 HALMAC_CS_NAN_MASTER_DW = 0x05, 62 63 HALMAC_CS_ACTION_UNDEFINE = 0x7FFFFFFF, 64 }; 65 66 /* Channel Switch Extra Action ID */ 67 enum halmac_cs_extra_action_id { 68 HALMAC_CS_EXTRA_ACTION_NONE = 0x00, 69 HALMAC_CS_EXTRA_UPDATE_PROBE = 0x01, 70 HALMAC_CS_EXTRA_UPDATE_BEACON = 0x02, 71 72 HALMAC_CS_EXTRA_ACTION_UNDEFINE = 0x7FFFFFFF, 73 }; 74 75 enum halmac_h2c_return_code { 76 HALMAC_H2C_RETURN_SUCCESS = 0x00, 77 HALMAC_H2C_RETURN_CFG_ERR_LEN = 0x01, 78 HALMAC_H2C_RETURN_CFG_ERR_CMD = 0x02, 79 80 HALMAC_H2C_RETURN_EFUSE_ERR_DUMP = 0x03, 81 82 HALMAC_H2C_RETURN_DATAPACK_ERR_FULL = 0x04, /* DMEM buffer full */ 83 HALMAC_H2C_RETURN_DATAPACK_ERR_ID = 0x05, /* Invalid pack id */ 84 85 HALMAC_H2C_RETURN_RUN_ERR_EMPTY = 86 0x06, /* No data in dedicated buffer */ 87 HALMAC_H2C_RETURN_RUN_ERR_LEN = 0x07, 88 HALMAC_H2C_RETURN_RUN_ERR_CMD = 0x08, 89 HALMAC_H2C_RETURN_RUN_ERR_ID = 0x09, /* Invalid pack id */ 90 91 HALMAC_H2C_RETURN_PACKET_ERR_FULL = 0x0A, /* DMEM buffer full */ 92 HALMAC_H2C_RETURN_PACKET_ERR_ID = 0x0B, /* Invalid packet id */ 93 94 HALMAC_H2C_RETURN_SCAN_ERR_FULL = 0x0C, /* DMEM buffer full */ 95 HALMAC_H2C_RETURN_SCAN_ERR_PHYDM = 0x0D, /* PHYDM API return fail */ 96 97 HALMAC_H2C_RETURN_ORIG_ERR_ID = 0x0E, /* Invalid original H2C cmd id */ 98 99 HALMAC_H2C_RETURN_UNDEFINE = 0x7FFFFFFF, 100 }; 101 102 enum halmac_scan_report_code { 103 HALMAC_SCAN_REPORT_DONE = 0x00, 104 HALMAC_SCAN_REPORT_ERR_PHYDM = 0x01, /* PHYDM API return fail */ 105 HALMAC_SCAN_REPORT_ERR_ID = 0x02, /* Invalid ActionID */ 106 HALMAC_SCAN_REPORT_ERR_TX = 0x03, /* Tx RsvdPage fail */ 107 108 HALMAC_SCAN_REPORT_UNDEFINE = 0x7FFFFFFF, 109 }; 110 111 #endif 112