1 /******************************************************************************
3 * Copyright(c) 2016 - 2018 Realtek Corporation. All rights reserved.
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.
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
14 ******************************************************************************/
16 #ifndef _HALMAC_CFG_WMAC_88XX_H_
17 #define _HALMAC_CFG_WMAC_88XX_H_
19 #include "../halmac_api.h"
21 #if HALMAC_88XX_SUPPORT
23 enum halmac_ret_status
24 cfg_mac_addr_88xx(struct halmac_adapter *adapter, u8 port,
25 union halmac_wlan_addr *addr);
27 enum halmac_ret_status
28 cfg_bssid_88xx(struct halmac_adapter *adapter, u8 port,
29 union halmac_wlan_addr *addr);
31 enum halmac_ret_status
32 cfg_transmitter_addr_88xx(struct halmac_adapter *adapter, u8 port,
33 union halmac_wlan_addr *addr);
35 enum halmac_ret_status
36 cfg_net_type_88xx(struct halmac_adapter *adapter, u8 port,
37 enum halmac_network_type_select net_type);
39 enum halmac_ret_status
40 cfg_tsf_rst_88xx(struct halmac_adapter *adapter, u8 port);
42 enum halmac_ret_status
43 cfg_bcn_space_88xx(struct halmac_adapter *adapter, u8 port, u32 bcn_space);
45 enum halmac_ret_status
46 rw_bcn_ctrl_88xx(struct halmac_adapter *adapter, u8 port, u8 write_en,
47 struct halmac_bcn_ctrl *ctrl);
49 enum halmac_ret_status
50 cfg_multicast_addr_88xx(struct halmac_adapter *adapter,
51 union halmac_wlan_addr *addr);
53 enum halmac_ret_status
54 cfg_operation_mode_88xx(struct halmac_adapter *adapter,
55 enum halmac_wireless_mode mode);
57 enum halmac_ret_status
58 cfg_ch_bw_88xx(struct halmac_adapter *adapter, u8 ch,
59 enum halmac_pri_ch_idx idx, enum halmac_bw bw);
61 enum halmac_ret_status
62 cfg_ch_88xx(struct halmac_adapter *adapter, u8 ch);
64 enum halmac_ret_status
65 cfg_pri_ch_idx_88xx(struct halmac_adapter *adapter, enum halmac_pri_ch_idx idx);
67 enum halmac_ret_status
68 cfg_bw_88xx(struct halmac_adapter *adapter, enum halmac_bw bw);
71 enable_bb_rf_88xx(struct halmac_adapter *adapter, u8 enable);
73 enum halmac_ret_status
74 cfg_la_mode_88xx(struct halmac_adapter *adapter, enum halmac_la_mode mode);
76 enum halmac_ret_status
77 cfg_rxfifo_expand_mode_88xx(struct halmac_adapter *adapter,
78 enum halmac_rx_fifo_expanding_mode mode);
80 enum halmac_ret_status
81 config_security_88xx(struct halmac_adapter *adapter,
82 struct halmac_security_setting *setting);
85 get_used_cam_entry_num_88xx(struct halmac_adapter *adapter,
86 enum hal_security_type sec_type);
88 enum halmac_ret_status
89 write_cam_88xx(struct halmac_adapter *adapter, u32 idx,
90 struct halmac_cam_entry_info *info);
92 enum halmac_ret_status
93 read_cam_entry_88xx(struct halmac_adapter *adapter, u32 idx,
94 struct halmac_cam_entry_format *content);
96 enum halmac_ret_status
97 clear_cam_entry_88xx(struct halmac_adapter *adapter, u32 idx);
100 rx_shift_88xx(struct halmac_adapter *adapter, u8 enable);
102 enum halmac_ret_status
103 cfg_edca_para_88xx(struct halmac_adapter *adapter, enum halmac_acq_id acq_id,
104 struct halmac_edca_para *param);
107 rx_clk_gate_88xx(struct halmac_adapter *adapter, u8 enable);
109 enum halmac_ret_status
110 rx_cut_amsdu_cfg_88xx(struct halmac_adapter *adapter,
111 struct halmac_cut_amsdu_cfg *cfg);
113 enum halmac_ret_status
114 fast_edca_cfg_88xx(struct halmac_adapter *adapter,
115 struct halmac_fast_edca_cfg *cfg);
117 enum halmac_ret_status
118 get_mac_addr_88xx(struct halmac_adapter *adapter, u8 port,
119 union halmac_wlan_addr *addr);
122 rts_full_bw_88xx(struct halmac_adapter *adapter, u8 enable);
124 #endif/* HALMAC_88XX_SUPPORT */
126 #endif/* _HALMAC_CFG_WMAC_88XX_H_ */