GNU Linux-libre 4.19.264-gnu1
[releases.git] / drivers / staging / rtlwifi / halmac / halmac_88xx / halmac_api_88xx_sdio.h
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_SDIO_H_
15 #define _HALMAC_API_88XX_SDIO_H_
16
17 #include "../halmac_2_platform.h"
18 #include "../halmac_type.h"
19
20 enum halmac_ret_status
21 halmac_init_sdio_cfg_88xx(struct halmac_adapter *halmac_adapter);
22
23 enum halmac_ret_status
24 halmac_deinit_sdio_cfg_88xx(struct halmac_adapter *halmac_adapter);
25
26 enum halmac_ret_status
27 halmac_cfg_rx_aggregation_88xx_sdio(struct halmac_adapter *halmac_adapter,
28                                     struct halmac_rxagg_cfg *phalmac_rxagg_cfg);
29
30 u8 halmac_reg_read_8_sdio_88xx(struct halmac_adapter *halmac_adapter,
31                                u32 halmac_offset);
32
33 enum halmac_ret_status
34 halmac_reg_write_8_sdio_88xx(struct halmac_adapter *halmac_adapter,
35                              u32 halmac_offset, u8 halmac_data);
36
37 u16 halmac_reg_read_16_sdio_88xx(struct halmac_adapter *halmac_adapter,
38                                  u32 halmac_offset);
39
40 enum halmac_ret_status
41 halmac_reg_write_16_sdio_88xx(struct halmac_adapter *halmac_adapter,
42                               u32 halmac_offset, u16 halmac_data);
43
44 u32 halmac_reg_read_32_sdio_88xx(struct halmac_adapter *halmac_adapter,
45                                  u32 halmac_offset);
46
47 enum halmac_ret_status
48 halmac_reg_write_32_sdio_88xx(struct halmac_adapter *halmac_adapter,
49                               u32 halmac_offset, u32 halmac_data);
50
51 enum halmac_ret_status
52 halmac_get_sdio_tx_addr_88xx(struct halmac_adapter *halmac_adapter,
53                              u8 *halmac_buf, u32 halmac_size, u32 *pcmd53_addr);
54
55 enum halmac_ret_status
56 halmac_cfg_tx_agg_align_sdio_88xx(struct halmac_adapter *halmac_adapter,
57                                   u8 enable, u16 align_size);
58
59 enum halmac_ret_status halmac_cfg_tx_agg_align_sdio_not_support_88xx(
60         struct halmac_adapter *halmac_adapter, u8 enable, u16 align_size);
61
62 enum halmac_ret_status
63 halmac_tx_allowed_sdio_88xx(struct halmac_adapter *halmac_adapter,
64                             u8 *halmac_buf, u32 halmac_size);
65
66 u32 halmac_reg_read_indirect_32_sdio_88xx(struct halmac_adapter *halmac_adapter,
67                                           u32 halmac_offset);
68
69 u8 halmac_reg_read_nbyte_sdio_88xx(struct halmac_adapter *halmac_adapter,
70                                    u32 halmac_offset, u32 halmac_size,
71                                    u8 *halmac_data);
72
73 #endif /* _HALMAC_API_88XX_SDIO_H_ */