1364e30ebd2dbaccba430c603da03e68746eb932aLarry Finger/******************************************************************************
2364e30ebd2dbaccba430c603da03e68746eb932aLarry Finger *
3364e30ebd2dbaccba430c603da03e68746eb932aLarry Finger * Copyright(c) 2007 - 2011 Realtek Corporation. All rights reserved.
4364e30ebd2dbaccba430c603da03e68746eb932aLarry Finger *
5364e30ebd2dbaccba430c603da03e68746eb932aLarry Finger * This program is free software; you can redistribute it and/or modify it
6364e30ebd2dbaccba430c603da03e68746eb932aLarry Finger * under the terms of version 2 of the GNU General Public License as
7364e30ebd2dbaccba430c603da03e68746eb932aLarry Finger * published by the Free Software Foundation.
8364e30ebd2dbaccba430c603da03e68746eb932aLarry Finger *
9364e30ebd2dbaccba430c603da03e68746eb932aLarry Finger * This program is distributed in the hope that it will be useful, but WITHOUT
10364e30ebd2dbaccba430c603da03e68746eb932aLarry Finger * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11364e30ebd2dbaccba430c603da03e68746eb932aLarry Finger * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
12364e30ebd2dbaccba430c603da03e68746eb932aLarry Finger * more details.
13364e30ebd2dbaccba430c603da03e68746eb932aLarry Finger *
14364e30ebd2dbaccba430c603da03e68746eb932aLarry Finger ******************************************************************************/
15364e30ebd2dbaccba430c603da03e68746eb932aLarry Finger#ifndef __USB_OPS_LINUX_H__
16364e30ebd2dbaccba430c603da03e68746eb932aLarry Finger#define __USB_OPS_LINUX_H__
17364e30ebd2dbaccba430c603da03e68746eb932aLarry Finger
18364e30ebd2dbaccba430c603da03e68746eb932aLarry Finger#define VENDOR_CMD_MAX_DATA_LEN	254
19364e30ebd2dbaccba430c603da03e68746eb932aLarry Finger
20364e30ebd2dbaccba430c603da03e68746eb932aLarry Finger#define RTW_USB_CONTROL_MSG_TIMEOUT	500/* ms */
21364e30ebd2dbaccba430c603da03e68746eb932aLarry Finger
22364e30ebd2dbaccba430c603da03e68746eb932aLarry Finger#define MAX_USBCTRL_VENDORREQ_TIMES	10
23364e30ebd2dbaccba430c603da03e68746eb932aLarry Finger
2468552a904c86e3e49d53305933371a1225d8aaf2Jes Sorensenint rtl8723au_read_port(struct rtw_adapter *adapter, u32 addr, u32 cnt,
2568552a904c86e3e49d53305933371a1225d8aaf2Jes Sorensen			struct recv_buf *precvbuf);
2668552a904c86e3e49d53305933371a1225d8aaf2Jes Sorensenvoid rtl8723au_read_port_cancel(struct rtw_adapter *padapter);
2768552a904c86e3e49d53305933371a1225d8aaf2Jes Sorensenint rtl8723au_write_port(struct rtw_adapter *padapter, u32 addr, u32 cnt,
2868552a904c86e3e49d53305933371a1225d8aaf2Jes Sorensen			 struct xmit_buf *pxmitbuf);
2968552a904c86e3e49d53305933371a1225d8aaf2Jes Sorensenvoid rtl8723au_write_port_cancel(struct rtw_adapter *padapter);
3068552a904c86e3e49d53305933371a1225d8aaf2Jes Sorensenint rtl8723au_read_interrupt(struct rtw_adapter *adapter, u32 addr);
31364e30ebd2dbaccba430c603da03e68746eb932aLarry Finger
322786faa33bfc8d61b4fa45dd2e31664de796c837Jes Sorensenu8 rtl8723au_read8(struct rtw_adapter *padapter, u16 addr);
332786faa33bfc8d61b4fa45dd2e31664de796c837Jes Sorensenu16 rtl8723au_read16(struct rtw_adapter *padapter, u16 addr);
342786faa33bfc8d61b4fa45dd2e31664de796c837Jes Sorensenu32 rtl8723au_read32(struct rtw_adapter *padapter, u16 addr);
352786faa33bfc8d61b4fa45dd2e31664de796c837Jes Sorensenint rtl8723au_write8(struct rtw_adapter *padapter, u16 addr, u8 val);
362786faa33bfc8d61b4fa45dd2e31664de796c837Jes Sorensenint rtl8723au_write16(struct rtw_adapter *padapter, u16 addr, u16 val);
372786faa33bfc8d61b4fa45dd2e31664de796c837Jes Sorensenint rtl8723au_write32(struct rtw_adapter *padapter, u16 addr, u32 val);
38edbfd672cacb0d417096a1ed75e0070f1672c861Jes Sorensenint rtl8723au_writeN(struct rtw_adapter *padapter,
392786faa33bfc8d61b4fa45dd2e31664de796c837Jes Sorensen		     u16 addr, u16 length, u8 *pdata);
40050abc45833c6a66501cb3f938ef6e93ac18da8dJes Sorensen
41364e30ebd2dbaccba430c603da03e68746eb932aLarry Finger#endif
42