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