• 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_COMMON_88XX_H_
17 #define _HALMAC_COMMON_88XX_H_
18 
19 #include "../halmac_api.h"
20 #include "../halmac_pwr_seq_cmd.h"
21 #include "../halmac_gpio_cmd.h"
22 
23 #if HALMAC_88XX_SUPPORT
24 
25 enum halmac_ret_status
26 ofld_func_cfg_88xx(struct halmac_adapter *adapter,
27 		   struct halmac_ofld_func_info *info);
28 
29 enum halmac_ret_status
30 dl_drv_rsvd_page_88xx(struct halmac_adapter *adapter, u8 pg_offset, u8 *buf,
31 		      u32 size);
32 
33 enum halmac_ret_status
34 dl_rsvd_page_88xx(struct halmac_adapter *adapter, u16 pg_addr, u8 *buf,
35 		  u32 size);
36 
37 enum halmac_ret_status
38 get_hw_value_88xx(struct halmac_adapter *adapter, enum halmac_hw_id hw_id,
39 		  void *value);
40 
41 enum halmac_ret_status
42 set_hw_value_88xx(struct halmac_adapter *adapter, enum halmac_hw_id hw_id,
43 		  void *value);
44 
45 enum halmac_ret_status
46 get_watcher_88xx(struct halmac_adapter *adapter, enum halmac_watcher_sel sel,
47 		 void *value);
48 
49 enum halmac_ret_status
50 set_h2c_pkt_hdr_88xx(struct halmac_adapter *adapter, u8 *hdr,
51 		     struct halmac_h2c_header_info *info, u16 *seq_num);
52 
53 enum halmac_ret_status
54 send_h2c_pkt_88xx(struct halmac_adapter *adapter, u8 *pkt);
55 
56 enum halmac_ret_status
57 get_h2c_buf_free_space_88xx(struct halmac_adapter *adapter);
58 
59 enum halmac_ret_status
60 get_c2h_info_88xx(struct halmac_adapter *adapter, u8 *buf, u32 size);
61 
62 enum halmac_ret_status
63 mac_debug_88xx(struct halmac_adapter *adapter);
64 
65 enum halmac_ret_status
66 cfg_parameter_88xx(struct halmac_adapter *adapter,
67 		   struct halmac_phy_parameter_info *info, u8 full_fifo);
68 
69 enum halmac_ret_status
70 update_packet_88xx(struct halmac_adapter *adapter, enum halmac_packet_id pkt_id,
71 		   u8 *pkt, u32 size);
72 
73 enum halmac_ret_status
74 send_scan_packet_88xx(struct halmac_adapter *adapter, u8 index,
75 		      u8 *pkt, u32 size);
76 
77 enum halmac_ret_status
78 drop_scan_packet_88xx(struct halmac_adapter *adapter,
79 		      struct halmac_drop_pkt_option *option);
80 
81 enum halmac_ret_status
82 bcn_ie_filter_88xx(struct halmac_adapter *adapter,
83 		   struct halmac_bcn_ie_info *info);
84 
85 enum halmac_ret_status
86 update_datapack_88xx(struct halmac_adapter *adapter,
87 		     enum halmac_data_type data_type,
88 		     struct halmac_phy_parameter_info *info);
89 
90 enum halmac_ret_status
91 run_datapack_88xx(struct halmac_adapter *adapter,
92 		  enum halmac_data_type data_type);
93 
94 enum halmac_ret_status
95 send_bt_coex_88xx(struct halmac_adapter *adapter, u8 *buf, u32 size, u8 ack);
96 
97 enum halmac_ret_status
98 dump_fifo_88xx(struct halmac_adapter *adapter, enum hal_fifo_sel sel,
99 	       u32 start_addr, u32 size, u8 *data);
100 
101 u32
102 get_fifo_size_88xx(struct halmac_adapter *adapter, enum hal_fifo_sel sel);
103 
104 enum halmac_ret_status
105 set_h2c_header_88xx(struct halmac_adapter *adapter, u8 *hdr, u16 *seq, u8 ack);
106 
107 enum halmac_ret_status
108 add_ch_info_88xx(struct halmac_adapter *adapter, struct halmac_ch_info *info);
109 
110 enum halmac_ret_status
111 add_extra_ch_info_88xx(struct halmac_adapter *adapter,
112 		       struct halmac_ch_extra_info *info);
113 
114 enum halmac_ret_status
115 ctrl_ch_switch_88xx(struct halmac_adapter *adapter,
116 		    struct halmac_ch_switch_option *opt);
117 
118 enum halmac_ret_status
119 clear_ch_info_88xx(struct halmac_adapter *adapter);
120 
121 enum halmac_ret_status
122 chk_txdesc_88xx(struct halmac_adapter *adapter, u8 *buf, u32 size);
123 
124 enum halmac_ret_status
125 get_version_88xx(struct halmac_adapter *adapter, struct halmac_ver *ver);
126 
127 enum halmac_ret_status
128 p2pps_88xx(struct halmac_adapter *adapter, struct halmac_p2pps *info);
129 
130 enum halmac_ret_status
131 query_status_88xx(struct halmac_adapter *adapter,
132 		  enum halmac_feature_id feature_id,
133 		  enum halmac_cmd_process_status *proc_status, u8 *data,
134 		  u32 *size);
135 
136 enum halmac_ret_status
137 cfg_drv_rsvd_pg_num_88xx(struct halmac_adapter *adapter,
138 			 enum halmac_drv_rsvd_pg_num pg_num);
139 
140 enum halmac_ret_status
141 h2c_lb_88xx(struct halmac_adapter *adapter);
142 
143 enum halmac_ret_status
144 pwr_seq_parser_88xx(struct halmac_adapter *adapter,
145 		    struct halmac_wlan_pwr_cfg **cmd_seq);
146 
147 enum halmac_ret_status
148 parse_intf_phy_88xx(struct halmac_adapter *adapter,
149 		    struct halmac_intf_phy_para *param,
150 		    enum halmac_intf_phy_platform pltfm,
151 		    enum hal_intf_phy intf_phy);
152 
153 enum halmac_ret_status
154 txfifo_is_empty_88xx(struct halmac_adapter *adapter, u32 chk_num);
155 
156 u8*
157 smart_malloc_88xx(struct halmac_adapter *adapter, u32 size, u32 *new_size);
158 
159 enum halmac_ret_status
160 ltecoex_reg_read_88xx(struct halmac_adapter *adapter, u16 offset, u32 *value);
161 
162 enum halmac_ret_status
163 ltecoex_reg_write_88xx(struct halmac_adapter *adapter, u16 offset, u32 value);
164 
165 #endif/* HALMAC_88XX_SUPPORT */
166 
167 #endif/* _HALMAC_COMMON_88XX_H_ */
168