xref: /netbsd/sys/arch/emips/ebus/ebusvar.h (revision 6550d01e)
1 /*	$NetBSD: ebusvar.h,v 1.1 2011/01/26 01:18:50 pooka Exp $	*/
2 
3 #ifndef _EMIPS_EBUS_EBUSVAR_H_
4 #define _EMIPS_EBUS_EBUSVAR_H_
5 
6 #include <machine/bus.h>
7 
8 struct ebus_attach_args;
9 
10 struct ebus_softc {
11 	struct device	sc_dev;
12 };
13 
14 /*
15  * Arguments used to attach an ebus "device" to its parent
16  */
17 struct ebus_dev_attach_args {
18 	const char *ida_busname;		/* XXX should be common */
19 	bus_space_tag_t	ida_memt;
20 
21 	int	ida_ndevs;
22 	struct ebus_attach_args	*ida_devs;
23 };
24 
25 /*
26  * Arguments used to attach devices to an ebus
27  */
28 struct ebus_attach_args {
29 	const char *ia_name;         /* device name */
30 	int	        ia_cookie;       /* device cookie */
31 	u_int32_t   ia_paddr;        /* device address (PHYSICAL) */
32     void       *ia_vaddr;        /* device address (VIRTUAL) */
33 	int	        ia_basz;         /* device size (for min regset at probe, else 0) */
34 };
35 
36 void	ebusattach (struct device *, struct device *, void *);
37 int	    ebusprint (void *, const char *);
38 void	ebus_intr_establish (struct device *, void * cookie, int level,
39 	    int (*handler)(void *, void *), void *arg);
40 
41 #endif	/* !_EMIPS_EBUS_EBUSVAR_H_ */
42