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