1 /* $NetBSD: vmevar.h,v 1.5 2005/12/11 12:17:02 christos Exp $ */
4 * Copyright (c) 1997 The NetBSD Foundation, Inc.
7 * Redistribution and use in source and binary forms, with or without
8 * modification, are permitted provided that the following conditions
10 * 1. Redistributions of source code must retain the above copyright
11 * notice, this list of conditions and the following disclaimer.
12 * 2. Redistributions in binary form must reproduce the above copyright
13 * notice, this list of conditions and the following disclaimer in the
14 * documentation and/or other materials provided with the distribution.
16 * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
17 * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
18 * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
19 * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
20 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
26 * POSSIBILITY OF SUCH DAMAGE.
30 * Definitions for VME autoconfiguration.
33 #include <machine/bus.h>
36 * Structures and definitions needed by the machine-dependent header.
38 struct vmebus_attach_args
;
40 #include <atari/vme/vme_machdep.h>
43 * VME bus attach arguments
45 struct vmebus_attach_args
{
46 const char *vba_busname
; /* XXX should be common */
47 bus_space_tag_t vba_iot
; /* vme i/o space tag */
48 bus_space_tag_t vba_memt
; /* vme mem space tag */
49 vme_chipset_tag_t vba_vc
;
53 * VME driver attach arguments
55 struct vme_attach_args
{
56 bus_space_tag_t va_iot
; /* vme i/o space tag */
57 bus_space_tag_t va_memt
; /* vme mem space tag */
59 vme_chipset_tag_t va_vc
;
61 int va_iobase
; /* base i/o address */
62 int va_iosize
; /* span of ports used */
63 int va_irq
; /* interrupt request */
64 int va_maddr
; /* physical i/o mem addr */
65 u_int va_msize
; /* size of i/o memory */
66 void *va_aux
; /* driver specific */
71 #define IOBASEUNK VMECF_IOPORT_DEFAULT /* i/o address is unknown */
72 #define IRQUNK VMECF_IRQ_DEFAULT /* interrupt request line is unknown */
73 #define MADDRUNK VMECF_MEM_DEFAULT /* shared memory address is unknown */
75 #define cf_iobase cf_loc[VMECF_IOPORT]
76 #define cf_iosize cf_loc[VMECF_IOSIZE]
77 #define cf_maddr cf_loc[VMECF_MEM]
78 #define cf_msize cf_loc[VMECF_MEMSIZ]
79 #define cf_irq cf_loc[VMECF_IRQ]
85 struct device sc_dev
; /* base device */
86 bus_space_tag_t sc_iot
; /* vme io space tag */
87 bus_space_tag_t sc_memt
; /* vme mem space tag */
89 vme_chipset_tag_t sc_vc
;