ebusvar.h revision 1.1 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