xref: /netbsd/sys/arch/atari/vme/vmevar.h (revision bf9ec67e)
1 /*	$NetBSD: vmevar.h,v 1.3 1997/10/09 07:41:06 jtc Exp $	*/
2 
3 /*-
4  * Copyright (c) 1997 The NetBSD Foundation, Inc.
5  * All rights reserved.
6  *
7  * Redistribution and use in source and binary forms, with or without
8  * modification, are permitted provided that the following conditions
9  * are met:
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.
15  * 3. All advertising materials mentioning features or use of this software
16  *    must display the following acknowledgement:
17  *        This product includes software developed by the NetBSD
18  *        Foundation, Inc. and its contributors.
19  * 4. Neither the name of The NetBSD Foundation nor the names of its
20  *    contributors may be used to endorse or promote products derived
21  *    from this software without specific prior written permission.
22  *
23  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
24  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
25  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
26  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
27  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
28  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
29  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
30  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
31  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
32  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
33  * POSSIBILITY OF SUCH DAMAGE.
34  */
35 
36 /*
37  * Definitions for VME autoconfiguration.
38  */
39 
40 #include <machine/bus.h>
41 
42 /*
43  * Structures and definitions needed by the machine-dependent header.
44  */
45 struct vmebus_attach_args;
46 
47 #include <atari/vme/vme_machdep.h>
48 
49 /*
50  * VME bus attach arguments
51  */
52 struct vmebus_attach_args {
53 	char	*vba_busname;		/* XXX should be common */
54 	bus_space_tag_t vba_iot;	/* vme i/o space tag */
55 	bus_space_tag_t vba_memt;	/* vme mem space tag */
56 	vme_chipset_tag_t vba_vc;
57 };
58 
59 /*
60  * VME driver attach arguments
61  */
62 struct vme_attach_args {
63 	bus_space_tag_t va_iot;		/* vme i/o space tag */
64 	bus_space_tag_t va_memt;	/* vme mem space tag */
65 
66 	vme_chipset_tag_t va_vc;
67 
68 	int	va_iobase;		/* base i/o address */
69 	int	va_iosize;		/* span of ports used */
70 	int	va_irq;			/* interrupt request */
71 	int	va_maddr;		/* physical i/o mem addr */
72 	u_int	va_msize;		/* size of i/o memory */
73 	void	*va_aux;		/* driver specific */
74 };
75 
76 #include "locators.h"
77 
78 #define	IOBASEUNK	VMECF_IOPORT_DEFAULT	/* i/o address is unknown */
79 #define	IRQUNK		VMECF_IRQ_DEFAULT	/* interrupt request line is unknown */
80 #define	MADDRUNK	VMECF_MEM_DEFAULT	/* shared memory address is unknown */
81 
82 #define		cf_iobase		cf_loc[VMECF_IOPORT]
83 #define		cf_iosize		cf_loc[VMECF_IOSIZE]
84 #define		cf_maddr		cf_loc[VMECF_MEM]
85 #define		cf_msize		cf_loc[VMECF_MEMSIZ]
86 #define		cf_irq			cf_loc[VMECF_IRQ]
87 
88 /*
89  * VME master bus
90  */
91 struct vme_softc {
92 	struct	device sc_dev;		/* base device */
93 	bus_space_tag_t sc_iot;		/* vme io space tag */
94 	bus_space_tag_t sc_memt;	/* vme mem space tag */
95 
96 	vme_chipset_tag_t sc_vc;
97 };
98 
99