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