1 /****************************************************************************** 2 * 3 * Copyright(c) 2016 - 2019 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_EFUSE_88XX_H_ 17 #define _HALMAC_EFUSE_88XX_H_ 18 19 #include "../halmac_api.h" 20 21 #if HALMAC_88XX_SUPPORT 22 23 enum halmac_ret_status 24 dump_efuse_map_88xx(struct halmac_adapter *adapter, 25 enum halmac_efuse_read_cfg cfg); 26 27 enum halmac_ret_status 28 eeprom_parser_88xx(struct halmac_adapter *adapter, u8 *phy_map, u8 *log_map); 29 30 enum halmac_ret_status 31 eeprom_mask_parser_88xx(struct halmac_adapter *adapter, u8 *phy_map, 32 u8 *log_mask); 33 34 enum halmac_ret_status 35 dump_efuse_map_bt_88xx(struct halmac_adapter *adapter, 36 enum halmac_efuse_bank bank, u32 size, u8 *map); 37 38 enum halmac_ret_status 39 write_efuse_bt_88xx(struct halmac_adapter *adapter, u32 offset, u8 value, 40 enum halmac_efuse_bank bank); 41 42 enum halmac_ret_status 43 read_efuse_bt_88xx(struct halmac_adapter *adapter, u32 offset, u8 *value, 44 enum halmac_efuse_bank bank); 45 46 enum halmac_ret_status 47 cfg_efuse_auto_check_88xx(struct halmac_adapter *adapter, u8 enable); 48 49 enum halmac_ret_status 50 get_efuse_available_size_88xx(struct halmac_adapter *adapter, u32 *size); 51 52 enum halmac_ret_status 53 get_efuse_size_88xx(struct halmac_adapter *adapter, u32 *size); 54 55 enum halmac_ret_status 56 get_log_efuse_size_88xx(struct halmac_adapter *adapter, u32 *size); 57 58 enum halmac_ret_status 59 dump_log_efuse_map_88xx(struct halmac_adapter *adapter, 60 enum halmac_efuse_read_cfg cfg); 61 enum halmac_ret_status 62 dump_log_efuse_mask_88xx(struct halmac_adapter *adapter, 63 enum halmac_efuse_read_cfg cfg); 64 65 enum halmac_ret_status 66 read_logical_efuse_88xx(struct halmac_adapter *adapter, u32 offset, u8 *value); 67 68 enum halmac_ret_status 69 write_log_efuse_88xx(struct halmac_adapter *adapter, u32 offset, u8 value); 70 71 enum halmac_ret_status 72 write_log_efuse_word_88xx(struct halmac_adapter *adapter, u32 offset, 73 u16 value); 74 75 enum halmac_ret_status 76 pg_efuse_by_map_88xx(struct halmac_adapter *adapter, 77 struct halmac_pg_efuse_info *info, 78 enum halmac_efuse_read_cfg cfg); 79 80 enum halmac_ret_status 81 mask_log_efuse_88xx(struct halmac_adapter *adapter, 82 struct halmac_pg_efuse_info *info); 83 84 enum halmac_ret_status 85 read_efuse_88xx(struct halmac_adapter *adapter, u32 offset, u32 size, u8 *map); 86 87 enum halmac_ret_status 88 write_hw_efuse_88xx(struct halmac_adapter *adapter, u32 offset, u8 value); 89 90 enum halmac_ret_status 91 switch_efuse_bank_88xx(struct halmac_adapter *adapter, 92 enum halmac_efuse_bank bank); 93 94 enum halmac_ret_status 95 get_efuse_data_88xx(struct halmac_adapter *adapter, u8 *buf, u32 size); 96 97 enum halmac_ret_status 98 cnv_efuse_state_88xx(struct halmac_adapter *adapter, 99 enum halmac_cmd_construct_state dest_state); 100 101 enum halmac_ret_status 102 get_dump_phy_efuse_status_88xx(struct halmac_adapter *adapter, 103 enum halmac_cmd_process_status *proc_status, 104 u8 *data, u32 *size); 105 106 enum halmac_ret_status 107 get_dump_log_efuse_status_88xx(struct halmac_adapter *adapter, 108 enum halmac_cmd_process_status *proc_status, 109 u8 *data, u32 *size); 110 111 enum halmac_ret_status 112 get_dump_log_efuse_mask_status_88xx(struct halmac_adapter *adapter, 113 enum halmac_cmd_process_status *proc_status, 114 u8 *data, u32 *size); 115 116 enum halmac_ret_status 117 get_h2c_ack_phy_efuse_88xx(struct halmac_adapter *adapter, u8 *buf, u32 size); 118 119 u32 120 get_rsvd_efuse_size_88xx(struct halmac_adapter *adapter); 121 122 enum halmac_ret_status 123 write_wifi_phy_efuse_88xx(struct halmac_adapter *adapter, u32 offset, u8 value); 124 125 enum halmac_ret_status 126 read_wifi_phy_efuse_88xx(struct halmac_adapter *adapter, u32 offset, u32 size, 127 u8 *value); 128 129 #endif /* HALMAC_88XX_SUPPORT */ 130 131 #endif/* _HALMAC_EFUSE_88XX_H_ */ 132