autoconf.h revision 1.1
1/*-
2 * Copyright (c) 2001 The NetBSD Foundation, Inc.
3 * All rights reserved.
4 *
5 * This code is derived from software contributed to The NetBSD Foundation
6 * by Matt Thomas <matt@3am-software.com>
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 * 1. Redistributions of source code must retain the above copyright
12 *    notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 *    notice, this list of conditions and the following disclaimer in the
15 *    documentation and/or other materials provided with the distribution.
16 * 3. All advertising materials mentioning features or use of this software
17 *    must display the following acknowledgement:
18 *        This product includes software developed by the NetBSD
19 *        Foundation, Inc. and its contributors.
20 * 4. Neither the name of The NetBSD Foundation nor the names of its
21 *    contributors may be used to endorse or promote products derived
22 *    from this software without specific prior written permission.
23 *
24 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
25 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
26 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
27 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
28 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
29 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
30 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
31 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
32 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
33 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
34 * POSSIBILITY OF SUCH DAMAGE.
35 */
36
37#ifndef _EVBARM_AUTOCONF_H_
38#define	_EVBARM_AUTOCONF_H_
39
40#include <machine/bus.h>
41
42struct mainbus_attach_args {
43	const char *ma_name;
44};
45
46
47/*
48 * There's no DMA to/from OBIO space so there's dma tag
49 */
50#define	OBIO_MAXREGIONS		8
51
52struct obio_attach_args {
53	const char *oa_name;
54	int oa_instance;
55
56	bus_space_tag_t oa_memt;
57	int oa_nregions;
58	bus_addr_t oa_addrs[OBIO_MAXREGIONS];
59	bus_size_t oa_lens[OBIO_MAXREGIONS];
60
61	int oa_irq;
62	int oa_itype;
63	struct intrsource *oa_isrc;
64};
65
66#ifdef _KERNEL
67
68#include "locators.h"
69#define	obiocf_instance		cf_loc[OBIOCF_INSTANCE]
70
71#define	obio_intr_establish(oa, func, arg) \
72	intr_establish((oa)->oa_isrc, (oa)->oa_irq, (oa)->oa_itype, func, arg)
73
74#endif	/* _KERNEL */
75
76#endif	/* _EVBARM_AUTOCONF_H_ */
77