1 /* SPDX-License-Identifier: GPL-2.0 */
2 /******************************************************************************
3  *
4  * Copyright(c) 2016  Realtek Corporation.
5  *
6  * Contact Information:
7  * wlanfae <wlanfae@realtek.com>
8  * Realtek Corporation, No. 2, Innovation Road II, Hsinchu Science Park,
9  * Hsinchu 300, Taiwan.
10  *
11  * Larry Finger <Larry.Finger@lwfinger.net>
12  *
13  *****************************************************************************/
14 #ifndef _HALMAC_API_88XX_USB_H_
15 #define _HALMAC_API_88XX_USB_H_
16 
17 #include "../halmac_2_platform.h"
18 #include "../halmac_type.h"
19 
20 enum halmac_ret_status
21 halmac_init_usb_cfg_88xx(struct halmac_adapter *halmac_adapter);
22 
23 enum halmac_ret_status
24 halmac_deinit_usb_cfg_88xx(struct halmac_adapter *halmac_adapter);
25 
26 enum halmac_ret_status
27 halmac_cfg_rx_aggregation_88xx_usb(struct halmac_adapter *halmac_adapter,
28 				   struct halmac_rxagg_cfg *phalmac_rxagg_cfg);
29 
30 u8 halmac_reg_read_8_usb_88xx(struct halmac_adapter *halmac_adapter,
31 			      u32 halmac_offset);
32 
33 enum halmac_ret_status
34 halmac_reg_write_8_usb_88xx(struct halmac_adapter *halmac_adapter,
35 			    u32 halmac_offset, u8 halmac_data);
36 
37 u16 halmac_reg_read_16_usb_88xx(struct halmac_adapter *halmac_adapter,
38 				u32 halmac_offset);
39 
40 enum halmac_ret_status
41 halmac_reg_write_16_usb_88xx(struct halmac_adapter *halmac_adapter,
42 			     u32 halmac_offset, u16 halmac_data);
43 
44 u32 halmac_reg_read_32_usb_88xx(struct halmac_adapter *halmac_adapter,
45 				u32 halmac_offset);
46 
47 enum halmac_ret_status
48 halmac_reg_write_32_usb_88xx(struct halmac_adapter *halmac_adapter,
49 			     u32 halmac_offset, u32 halmac_data);
50 
51 enum halmac_ret_status
52 halmac_set_bulkout_num_88xx(struct halmac_adapter *halmac_adapter,
53 			    u8 bulkout_num);
54 
55 enum halmac_ret_status
56 halmac_get_usb_bulkout_id_88xx(struct halmac_adapter *halmac_adapter,
57 			       u8 *halmac_buf, u32 halmac_size, u8 *bulkout_id);
58 
59 enum halmac_ret_status halmac_cfg_tx_agg_align_usb_not_support_88xx(
60 	struct halmac_adapter *halmac_adapter, u8 enable, u16 align_size);
61 
62 #endif /* _HALMAC_API_88XX_USB_H_ */
63