1/*	$NetBSD: ebusvar.h,v 1.2 2011/06/12 03:57:09 tsutsui Exp $	*/
2
3#ifndef _EMIPS_EBUS_EBUSVAR_H_
4#define _EMIPS_EBUS_EBUSVAR_H_
5
6#include <machine/bus.h>
7
8struct ebus_attach_args;
9
10/*
11 * Arguments used to attach an ebus "device" to its parent
12 */
13struct 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 */
24struct 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
33void	ebusattach(device_t , device_t , void *);
34int	ebusprint(void *, const char *);
35void	ebus_intr_establish(device_t , void *, int,
36	    int (*)(void *, void *), void *);
37
38#endif	/* !_EMIPS_EBUS_EBUSVAR_H_ */
39