Home | History | Annotate | Line # | Download | only in ebus
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