iomdvar.h revision 1.2 1 1.2 wiz /* $NetBSD: iomdvar.h,v 1.2 2002/04/19 01:04:39 wiz Exp $ */
2 1.1 reinoud
3 1.1 reinoud /*
4 1.1 reinoud * Copyright (c) 1997 Mark Brinicombe.
5 1.1 reinoud * Copyright (c) 1997 Causality Limited
6 1.1 reinoud * All rights reserved.
7 1.1 reinoud *
8 1.1 reinoud * Redistribution and use in source and binary forms, with or without
9 1.1 reinoud * modification, are permitted provided that the following conditions
10 1.1 reinoud * are met:
11 1.1 reinoud * 1. Redistributions of source code must retain the above copyright
12 1.1 reinoud * notice, this list of conditions and the following disclaimer.
13 1.1 reinoud * 2. Redistributions in binary form must reproduce the above copyright
14 1.1 reinoud * notice, this list of conditions and the following disclaimer in the
15 1.1 reinoud * documentation and/or other materials provided with the distribution.
16 1.1 reinoud * 3. All advertising materials mentioning features or use of this software
17 1.1 reinoud * must display the following acknowledgement:
18 1.1 reinoud * This product includes software developed by Mark Brinicombe
19 1.1 reinoud * 4. The name of the company nor the name of the author may be used to
20 1.1 reinoud * endorse or promote products derived from this software without specific
21 1.1 reinoud * prior written permission.
22 1.1 reinoud *
23 1.1 reinoud * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
24 1.1 reinoud * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
25 1.1 reinoud * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
26 1.1 reinoud * IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,
27 1.1 reinoud * INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
28 1.1 reinoud * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
29 1.1 reinoud * SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
30 1.1 reinoud * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
31 1.1 reinoud * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
32 1.1 reinoud * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
33 1.1 reinoud * SUCH DAMAGE.
34 1.1 reinoud *
35 1.1 reinoud * RiscBSD kernel project
36 1.1 reinoud *
37 1.1 reinoud * iomd_bus.h
38 1.1 reinoud *
39 1.1 reinoud * Created : 02/02/97
40 1.1 reinoud */
41 1.1 reinoud
42 1.1 reinoud #include <machine/bus.h>
43 1.1 reinoud
44 1.1 reinoud /*
45 1.1 reinoud * Attach args for iomd_clock device
46 1.1 reinoud */
47 1.1 reinoud
48 1.1 reinoud struct clk_attach_args {
49 1.1 reinoud const char *ca_name; /* device name*/
50 1.1 reinoud bus_space_tag_t ca_iot; /* Bus tag */
51 1.1 reinoud bus_space_handle_t ca_ioh; /* Bus handle */
52 1.1 reinoud int ca_irq; /* IRQ number */
53 1.1 reinoud };
54 1.1 reinoud
55 1.1 reinoud
56 1.1 reinoud /*
57 1.1 reinoud * Attach args for iomd device
58 1.1 reinoud */
59 1.1 reinoud
60 1.1 reinoud /*
61 1.1 reinoud * Attach args for qms device
62 1.1 reinoud */
63 1.1 reinoud
64 1.1 reinoud struct qms_attach_args {
65 1.1 reinoud const char *qa_name; /* device name*/
66 1.1 reinoud bus_space_tag_t qa_iot; /* Bus tag */
67 1.1 reinoud bus_space_handle_t qa_ioh; /* Bus handle */
68 1.1 reinoud bus_space_handle_t qa_ioh_but; /* Bus handle */
69 1.1 reinoud int qa_irq; /* IRQ number */
70 1.1 reinoud };
71 1.1 reinoud
72 1.1 reinoud /*
73 1.2 wiz * Attach args for opms device
74 1.1 reinoud */
75 1.1 reinoud
76 1.2 wiz struct opms_attach_args {
77 1.1 reinoud const char *pa_name; /* device name*/
78 1.1 reinoud bus_space_tag_t pa_iot; /* Bus tag */
79 1.1 reinoud bus_space_handle_t pa_ioh; /* Bus handle */
80 1.1 reinoud int pa_irq; /* IRQ number */
81 1.1 reinoud };
82 1.1 reinoud
83 1.1 reinoud /*
84 1.1 reinoud * Attach args for kbd device
85 1.1 reinoud */
86 1.1 reinoud
87 1.1 reinoud struct kbd_attach_args {
88 1.1 reinoud const char *ka_name; /* device name*/
89 1.1 reinoud bus_space_tag_t ka_iot; /* Bus tag */
90 1.1 reinoud bus_space_handle_t ka_ioh; /* Bus handle */
91 1.1 reinoud int ka_rxirq; /* IRQ number */
92 1.1 reinoud int ka_txirq; /* IRQ number */
93 1.1 reinoud };
94 1.1 reinoud
95 1.1 reinoud /*
96 1.1 reinoud * Attach args for iic device
97 1.1 reinoud */
98 1.1 reinoud
99 1.1 reinoud struct iic_attach_args {
100 1.1 reinoud const char *ia_name; /* device name */
101 1.1 reinoud bus_space_tag_t ia_iot; /* Bus tag */
102 1.1 reinoud bus_space_handle_t ia_ioh; /* Bus handle */
103 1.1 reinoud int ia_irq; /* IRQ number */
104 1.1 reinoud };
105 1.1 reinoud
106 1.1 reinoud /*
107 1.1 reinoud * NOTE: All these attach structures and a const char *name as the
108 1.1 reinoud * first field for identification.
109 1.1 reinoud */
110 1.1 reinoud
111 1.1 reinoud union iomd_attach_args {
112 1.1 reinoud struct kbd_attach_args ia_kbd;
113 1.2 wiz struct opms_attach_args ia_opms;
114 1.1 reinoud struct qms_attach_args ia_qms;
115 1.1 reinoud struct iic_attach_args ia_iic;
116 1.1 reinoud struct clk_attach_args ia_clk;
117 1.1 reinoud };
118 1.1 reinoud
119 1.1 reinoud /*
120 1.1 reinoud * IOMD_BASE register variable
121 1.1 reinoud */
122 1.1 reinoud extern u_int32_t iomd_base;
123 1.1 reinoud
124 1.1 reinoud /* End of iomdvar.h */
125