• 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_SDIO_88XX_H_
17 #define _HALMAC_SDIO_88XX_H_
18 
19 #include "../halmac_api.h"
20 
21 #if (HALMAC_88XX_SUPPORT && HALMAC_SDIO_SUPPORT)
22 
23 enum halmac_ret_status
24 init_sdio_cfg_88xx(struct halmac_adapter *adapter);
25 
26 enum halmac_ret_status
27 deinit_sdio_cfg_88xx(struct halmac_adapter *adapter);
28 
29 enum halmac_ret_status
30 cfg_sdio_rx_agg_88xx(struct halmac_adapter *adapter,
31 		     struct halmac_rxagg_cfg *cfg);
32 
33 enum halmac_ret_status
34 cfg_txagg_sdio_align_88xx(struct halmac_adapter *adapter, u8 enable,
35 			  u16 align_size);
36 
37 u32
38 sdio_indirect_reg_r32_88xx(struct halmac_adapter *adapter, u32 offset);
39 
40 enum halmac_ret_status
41 sdio_reg_rn_88xx(struct halmac_adapter *adapter, u32 offset, u32 size,
42 		 u8 *value);
43 
44 enum halmac_ret_status
45 set_sdio_bulkout_num_88xx(struct halmac_adapter *adapter, u8 num);
46 
47 enum halmac_ret_status
48 get_sdio_bulkout_id_88xx(struct halmac_adapter *adapter, u8 *buf, u32 size,
49 			 u8 *id);
50 
51 enum halmac_ret_status
52 sdio_cmd53_4byte_88xx(struct halmac_adapter *adapter,
53 		      enum halmac_sdio_cmd53_4byte_mode mode);
54 
55 enum halmac_ret_status
56 sdio_hw_info_88xx(struct halmac_adapter *adapter,
57 		  struct halmac_sdio_hw_info *info);
58 
59 void
60 cfg_sdio_tx_page_threshold_88xx(struct halmac_adapter *adapter,
61 				struct halmac_tx_page_threshold_info *info);
62 
63 enum halmac_ret_status
64 cnv_to_sdio_bus_offset_88xx(struct halmac_adapter *adapter, u32 *offset);
65 
66 enum halmac_ret_status
67 leave_sdio_suspend_88xx(struct halmac_adapter *adapter);
68 
69 u32
70 r_indir_sdio_88xx(struct halmac_adapter *adapter, u32 adr,
71 		  enum halmac_io_size size);
72 
73 enum halmac_ret_status
74 w_indir_sdio_88xx(struct halmac_adapter *adapter, u32 adr, u32 val,
75 		  enum halmac_io_size size);
76 
77 enum halmac_ret_status
78 en_ref_autok_sdio_88xx(struct halmac_adapter *adapter, u8 en);
79 
80 #endif /* HALMAC_88XX_SUPPORT */
81 
82 #endif/* _HALMAC_SDIO_88XX_H_ */
83