1 /*        $NetBSD: ebusvar.h,v 1.3 2011/06/12 04:00:33 tsutsui 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 /*
11  * Arguments used to attach an ebus "device" to its parent
12  */
13 struct ebus_dev_attach_args {
14           const char *ida_busname;                /* XXX should be common */
15           bus_space_tag_t     ida_memt;
16 
17           int       ida_ndevs;
18           struct ebus_attach_args       *ida_devs;
19 };
20 
21 /*
22  * Arguments used to attach devices to an ebus
23  */
24 struct ebus_attach_args {
25           const char *ia_name;          /* device name */
26           int ia_cookie;                /* device cookie */
27           uint32_t ia_paddr;  /* device address (PHYSICAL) */
28           void *ia_vaddr;               /* device address (VIRTUAL) */
29           int ia_basz;                  /* device size
30                                            (for min regset at probe, else 0) */
31 };
32 
33 void      ebusattach(device_t , device_t , void *);
34 int       ebusprint(void *, const char *);
35 void      ebus_intr_establish(device_t , void *, int,
36               int (*)(void *, void *), void *);
37 
38 #endif    /* !_EMIPS_EBUS_EBUSVAR_H_ */
39