1 /*
2  *************************************************************************
3  * Ralink Tech Inc.
4  * 5F., No.36, Taiyuan St., Jhubei City,
5  * Hsinchu County 302,
6  * Taiwan, R.O.C.
7  *
8  * (c) Copyright 2002-2007, Ralink Technology, Inc.
9  *
10  * This program is free software; you can redistribute it and/or modify  *
11  * it under the terms of the GNU General Public License as published by  *
12  * the Free Software Foundation; either version 2 of the License, or     *
13  * (at your option) any later version.                                   *
14  *                                                                       *
15  * This program is distributed in the hope that it will be useful,       *
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of        *
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         *
18  * GNU General Public License for more details.                          *
19  *                                                                       *
20  * You should have received a copy of the GNU General Public License     *
21  * along with this program; if not, write to the                         *
22  * Free Software Foundation, Inc.,                                       *
23  * 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             *
24  *                                                                       *
25  *************************************************************************
26 
27     Module Name:
28 	rt_iface.h
29 
30     Abstract:
31 
32     Revision History:
33     Who          When          What
34     ---------    ----------    ----------------------------------------------
35  */
36 
37 #ifndef __RTMP_IFACE_H__
38 #define __RTMP_IFACE_H__
39 
40 #ifdef RTMP_PCI_SUPPORT
41 #include "iface/rtmp_pci.h"
42 #endif /* RTMP_PCI_SUPPORT // */
43 #ifdef RTMP_USB_SUPPORT
44 #include "iface/rtmp_usb.h"
45 #endif /* RTMP_USB_SUPPORT // */
46 
47 struct rt_inf_pci_config {
48 	unsigned long CSRBaseAddress;	/* PCI MMIO Base Address, all access will use */
49 	unsigned int irq_num;
50 };
51 
52 struct rt_inf_usb_config {
53 	u8 BulkInEpAddr;	/* bulk-in endpoint address */
54 	u8 BulkOutEpAddr[6];	/* bulk-out endpoint address */
55 };
56 
57 struct rt_inf_rbus_config {
58 	unsigned long csr_addr;
59 	unsigned int irq;
60 };
61 
62 typedef enum _RTMP_INF_TYPE_ {
63 	RTMP_DEV_INF_UNKNOWN = 0,
64 	RTMP_DEV_INF_PCI = 1,
65 	RTMP_DEV_INF_USB = 2,
66 	RTMP_DEV_INF_RBUS = 4,
67 } RTMP_INF_TYPE;
68 
69 typedef union _RTMP_INF_CONFIG_ {
70 	struct rt_inf_pci_config pciConfig;
71 	struct rt_inf_usb_config usbConfig;
72 	struct rt_inf_rbus_config rbusConfig;
73 } RTMP_INF_CONFIG;
74 
75 #endif /* __RTMP_IFACE_H__ // */
76