xref: /OK3568_Linux_fs/kernel/drivers/net/wireless/rockchip_wlan/rtl8723bu/include/sdio_ops.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1 /******************************************************************************
2  *
3  * Copyright(c) 2007 - 2011 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  * You should have received a copy of the GNU General Public License along with
15  * this program; if not, write to the Free Software Foundation, Inc.,
16  * 51 Franklin Street, Fifth Floor, Boston, MA 02110, USA
17  *
18  *
19  ******************************************************************************/
20 #ifndef __SDIO_OPS_H__
21 #define __SDIO_OPS_H__
22 
23 
24 #ifdef PLATFORM_LINUX
25 #include <sdio_ops_linux.h>
26 #endif
27 
28 #ifdef PLATFORM_WINDOWS
29 
30 #ifdef PLATFORM_OS_XP
31 #include <sdio_ops_xp.h>
32 struct async_context
33 {
34 	PMDL pmdl;
35 	PSDBUS_REQUEST_PACKET sdrp;
36 	unsigned char* r_buf;
37 	unsigned char* padapter;
38 };
39 #endif
40 
41 #ifdef PLATFORM_OS_CE
42 #include <sdio_ops_ce.h>
43 #endif
44 
45 #endif // PLATFORM_WINDOWS
46 
47 
48 extern void sdio_set_intf_ops(_adapter *padapter,struct _io_ops *pops);
49 
50 //extern void sdio_func1cmd52_read(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *rmem);
51 //extern void sdio_func1cmd52_write(struct intf_hdl *pintfhdl, u32 addr, u32 cnt, u8 *wmem);
52 extern u8 SdioLocalCmd52Read1Byte(PADAPTER padapter, u32 addr);
53 extern void SdioLocalCmd52Write1Byte(PADAPTER padapter, u32 addr, u8 v);
54 extern s32 _sdio_local_read(PADAPTER padapter, u32 addr, u32 cnt, u8 *pbuf);
55 extern s32 sdio_local_read(PADAPTER padapter, u32 addr, u32 cnt, u8 *pbuf);
56 extern s32 _sdio_local_write(PADAPTER padapter, u32 addr, u32 cnt, u8 *pbuf);
57 extern s32 sdio_local_write(PADAPTER padapter, u32 addr, u32 cnt, u8 *pbuf);
58 
59 u32 _sdio_read32(PADAPTER padapter, u32 addr);
60 s32 _sdio_write32(PADAPTER padapter, u32 addr, u32 val);
61 
62 extern void sd_int_hdl(PADAPTER padapter);
63 extern u8 CheckIPSStatus(PADAPTER padapter);
64 
65 #ifdef CONFIG_RTL8188E
66 extern void InitInterrupt8188ESdio(PADAPTER padapter);
67 extern void EnableInterrupt8188ESdio(PADAPTER padapter);
68 extern void DisableInterrupt8188ESdio(PADAPTER padapter);
69 extern void UpdateInterruptMask8188ESdio(PADAPTER padapter, u32 AddMSR, u32 RemoveMSR);
70 extern u8 HalQueryTxBufferStatus8189ESdio(PADAPTER padapter);
71 extern u8 HalQueryTxOQTBufferStatus8189ESdio(PADAPTER padapter);
72 extern void ClearInterrupt8188ESdio(PADAPTER padapter);
73 #endif // CONFIG_RTL8188E
74 
75 #ifdef CONFIG_RTL8821A
76 extern void InitInterrupt8821AS(PADAPTER padapter);
77 extern void EnableInterrupt8821AS(PADAPTER padapter);
78 extern void DisableInterrupt8821AS(PADAPTER padapter);
79 extern u8 HalQueryTxBufferStatus8821AS(PADAPTER padapter);
80 extern u8 HalQueryTxOQTBufferStatus8821ASdio(PADAPTER padapter);
81 #if defined(CONFIG_WOWLAN) || defined(CONFIG_AP_WOWLAN)
82 void ClearInterrupt8821AS(PADAPTER padapter);
83 #endif /* defined(CONFIG_WOWLAN) || defined(CONFIG_AP_WOWLAN) */
84 #endif /* CONFIG_RTL8821A */
85 
86 #if defined(CONFIG_WOWLAN) || defined(CONFIG_AP_WOWLAN)
87 extern u8 RecvOnePkt(PADAPTER padapter, u32 size);
88 #endif // CONFIG_WOWLAN
89 #ifdef CONFIG_RTL8723B
90 extern void InitInterrupt8723BSdio(PADAPTER padapter);
91 extern void InitSysInterrupt8723BSdio(PADAPTER padapter);
92 extern void EnableInterrupt8723BSdio(PADAPTER padapter);
93 extern void DisableInterrupt8723BSdio(PADAPTER padapter);
94 extern u8 HalQueryTxBufferStatus8723BSdio(PADAPTER padapter);
95 extern u8 HalQueryTxOQTBufferStatus8723BSdio(PADAPTER padapter);
96 #if defined(CONFIG_WOWLAN) || defined(CONFIG_AP_WOWLAN)
97 extern void DisableInterruptButCpwm28723BSdio(PADAPTER padapter);
98 extern void ClearInterrupt8723BSdio(PADAPTER padapter);
99 #endif //CONFIG_WOWLAN
100 #endif
101 
102 
103 #ifdef CONFIG_RTL8192E
104 extern void InitInterrupt8192ESdio(PADAPTER padapter);
105 extern void EnableInterrupt8192ESdio(PADAPTER padapter);
106 extern void DisableInterrupt8192ESdio(PADAPTER padapter);
107 extern void UpdateInterruptMask8192ESdio(PADAPTER padapter, u32 AddMSR, u32 RemoveMSR);
108 extern u8 HalQueryTxBufferStatus8192ESdio(PADAPTER padapter);
109 extern u8 HalQueryTxOQTBufferStatus8192ESdio(PADAPTER padapter);
110 extern void ClearInterrupt8192ESdio(PADAPTER padapter);
111 #endif // CONFIG_RTL8192E
112 
113 #ifdef CONFIG_RTL8703B
114 extern void InitInterrupt8703BSdio(PADAPTER padapter);
115 extern void InitSysInterrupt8703BSdio(PADAPTER padapter);
116 extern void EnableInterrupt8703BSdio(PADAPTER padapter);
117 extern void DisableInterrupt8703BSdio(PADAPTER padapter);
118 extern u8 HalQueryTxBufferStatus8703BSdio(PADAPTER padapter);
119 extern u8 HalQueryTxOQTBufferStatus8703BSdio(PADAPTER padapter);
120 #if defined(CONFIG_WOWLAN) || defined(CONFIG_AP_WOWLAN)
121 extern void DisableInterruptButCpwm28703BSdio(PADAPTER padapter);
122 extern void ClearInterrupt8703BSdio(PADAPTER padapter);
123 #endif //CONFIG_WOWLAN
124 #endif
125 
126 #ifdef CONFIG_RTL8188F
127 extern void InitInterrupt8188FSdio(PADAPTER padapter);
128 extern void InitSysInterrupt8188FSdio(PADAPTER padapter);
129 extern void EnableInterrupt8188FSdio(PADAPTER padapter);
130 extern void DisableInterrupt8188FSdio(PADAPTER padapter);
131 extern u8 HalQueryTxBufferStatus8188FSdio(PADAPTER padapter);
132 extern u8 HalQueryTxOQTBufferStatus8188FSdio(PADAPTER padapter);
133 #if defined(CONFIG_WOWLAN) || defined(CONFIG_AP_WOWLAN)
134 extern void DisableInterruptButCpwm28188FSdio(PADAPTER padapter);
135 extern void ClearInterrupt8188FSdio(PADAPTER padapter);
136 #endif /* defined(CONFIG_WOWLAN) || defined(CONFIG_AP_WOWLAN) */
137 #endif
138 
139 #endif // !__SDIO_OPS_H__
140 
141