• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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