sbd_tr2a.h revision 1.1 1 1.1 tsutsui /* $NetBSD: sbd_tr2a.h,v 1.1 2005/12/29 15:20:09 tsutsui Exp $ */
2 1.1 tsutsui
3 1.1 tsutsui /*-
4 1.1 tsutsui * Copyright (c) 2004 The NetBSD Foundation, Inc.
5 1.1 tsutsui * All rights reserved.
6 1.1 tsutsui *
7 1.1 tsutsui * This code is derived from software contributed to The NetBSD Foundation
8 1.1 tsutsui * by UCHIYAMA Yasushi.
9 1.1 tsutsui *
10 1.1 tsutsui * Redistribution and use in source and binary forms, with or without
11 1.1 tsutsui * modification, are permitted provided that the following conditions
12 1.1 tsutsui * are met:
13 1.1 tsutsui * 1. Redistributions of source code must retain the above copyright
14 1.1 tsutsui * notice, this list of conditions and the following disclaimer.
15 1.1 tsutsui * 2. Redistributions in binary form must reproduce the above copyright
16 1.1 tsutsui * notice, this list of conditions and the following disclaimer in the
17 1.1 tsutsui * documentation and/or other materials provided with the distribution.
18 1.1 tsutsui * 3. All advertising materials mentioning features or use of this software
19 1.1 tsutsui * must display the following acknowledgement:
20 1.1 tsutsui * This product includes software developed by the NetBSD
21 1.1 tsutsui * Foundation, Inc. and its contributors.
22 1.1 tsutsui * 4. Neither the name of The NetBSD Foundation nor the names of its
23 1.1 tsutsui * contributors may be used to endorse or promote products derived
24 1.1 tsutsui * from this software without specific prior written permission.
25 1.1 tsutsui *
26 1.1 tsutsui * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
27 1.1 tsutsui * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
28 1.1 tsutsui * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
29 1.1 tsutsui * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
30 1.1 tsutsui * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
31 1.1 tsutsui * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
32 1.1 tsutsui * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
33 1.1 tsutsui * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
34 1.1 tsutsui * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
35 1.1 tsutsui * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
36 1.1 tsutsui * POSSIBILITY OF SUCH DAMAGE.
37 1.1 tsutsui */
38 1.1 tsutsui
39 1.1 tsutsui #ifndef _SBD_TR2A_PRIVATE
40 1.1 tsutsui #error "Don't inlucde this file except for TR2A implemetation"
41 1.1 tsutsui #endif /* !_SBD_TR2A_PRIVATE */
42 1.1 tsutsui
43 1.1 tsutsui #ifndef _EWS4800MIPS_SBD_TR2A_H_
44 1.1 tsutsui #define _EWS4800MIPS_SBD_TR2A_H_
45 1.1 tsutsui /*
46 1.1 tsutsui * EWS4800/360 (TR2A) specific system board definition
47 1.1 tsutsui */
48 1.1 tsutsui /*
49 1.1 tsutsui * [interrupt overview]
50 1.1 tsutsui *
51 1.1 tsutsui * +-----+
52 1.1 tsutsui * | CPU |
53 1.1 tsutsui * +--+--+
54 1.1 tsutsui * |
55 1.1 tsutsui * +----+----+-+--+----+----+
56 1.1 tsutsui * INT5 INT4 INT3 INT2 INT1 INT0
57 1.1 tsutsui * | | | | | |
58 1.1 tsutsui * +-+----+----+----+----+----+-+
59 1.1 tsutsui * | INTC |
60 1.1 tsutsui * | mask: 0xbe000008 |
61 1.1 tsutsui * | status: 0xbe000004 |
62 1.1 tsutsui * | clear: 0xbe000000 | +-------------------+
63 1.1 tsutsui * +-+----+----+----+----+----+-+ | APbus |
64 1.1 tsutsui * | | | | +----+---------+Lo |
65 1.1 tsutsui * CLOCK---+ | +----+---------+---------+Hi |
66 1.1 tsutsui * 0xbe4a0008 | | | | |
67 1.1 tsutsui * (0x80) +-+---------+---------+-+ +-------------------+
68 1.1 tsutsui * | ASObus |
69 1.1 tsutsui * | mask: 0xbe40a00c |
70 1.1 tsutsui * | status: 0xbe40a010 |
71 1.1 tsutsui * | DMA int:0xbe408000 |
72 1.1 tsutsui * +-+---------+---------+-+
73 1.1 tsutsui * | | |
74 1.1 tsutsui * 0xbe440000 ZS-+ | |
75 1.1 tsutsui * 0xbe480000 KBMS | |
76 1.1 tsutsui * | |
77 1.1 tsutsui * 0xbe500000 SCSI-A-------+ |
78 1.1 tsutsui * 0xbe510000 SCSI-B-------+ |
79 1.1 tsutsui * 0xbe400000 LANCE--------+ |
80 1.1 tsutsui * |
81 1.1 tsutsui * NMI-------------------------+
82 1.1 tsutsui *
83 1.1 tsutsui * [INTC interrupt mask] 0xbe000008
84 1.1 tsutsui * 0x80000000 INT5
85 1.1 tsutsui * 0x04000000 INT4
86 1.1 tsutsui * 0x00200000 INT3
87 1.1 tsutsui * 0x00010000 INT2
88 1.1 tsutsui * 0x00000800 INT1
89 1.1 tsutsui * 0x00000020 INT0
90 1.1 tsutsui *
91 1.1 tsutsui * [ASObus interrupt mask] 0xbe40a00c
92 1.1 tsutsui * TR2A
93 1.1 tsutsui * 0x00800000 INT4 -
94 1.1 tsutsui * 0x00400000 INT4 -
95 1.1 tsutsui * 0x00300010 INT4 ZS
96 1.1 tsutsui * 0x00000040 INT4 KBMS
97 1.1 tsutsui * 0x00000020 INT4 -
98 1.1 tsutsui * 0x00000100 INT2 simd2 A
99 1.1 tsutsui * 0x00000200 INT2 simd2 B
100 1.1 tsutsui * 0x00000001 INT2 limd2
101 1.1 tsutsui * 0x00008000 INT0 NMI
102 1.1 tsutsui * 0x00000008 INT0 -
103 1.1 tsutsui * 0x00000004 INT0 -
104 1.1 tsutsui * 0x00f0837d 0x00300351
105 1.1 tsutsui */
106 1.1 tsutsui
107 1.1 tsutsui /* ROM */
108 1.1 tsutsui #define TR2A_ROM_FONT_ADDR 0xbfc0ec00
109 1.1 tsutsui #define TR2A_SCSIROM_ADDR 0xbfc80000
110 1.1 tsutsui #define TR2A_GAROM_ADDR 0xbfc82000
111 1.1 tsutsui
112 1.1 tsutsui #define TR2A_ROM_KEYMAP_NORMAL ((uint8_t *)0xbfc39140)
113 1.1 tsutsui #define TR2A_ROM_KEYMAP_SHIFTED ((uint8_t *)0xbfc38e40)
114 1.1 tsutsui #define TR2A_ROM_KEYMAP_CONTROL ((uint8_t *)0xbfc38ec0)
115 1.1 tsutsui #define TR2A_ROM_KEYMAP_CAPSLOCK ((uint8_t *)0xbfc39040)
116 1.1 tsutsui
117 1.1 tsutsui /* System board I/O devices */
118 1.1 tsutsui #define TR2A_IOBASE_ADDR 0xbe000000
119 1.1 tsutsui #define TR2A_LANCE_BASE 0xbe400000 /* Ether AM79C90 */
120 1.1 tsutsui #define TR2A_SIO_BASE 0xbe440000 /* SIO1 85230 */
121 1.1 tsutsui #define TR2A_KBMS_BASE 0xbe480000 /* SIO0 85230 */
122 1.1 tsutsui #define TR2A_NVSRAM_BASE 0xbe490000 /* NVSRAM */
123 1.1 tsutsui #define TR2A_SCSIA_BASE 0xbe500000 /* SCSI-A NCR53C710 */
124 1.1 tsutsui #define TR2A_SCSIB_BASE 0xbe510000 /* SCSI-B NCR53C710 */
125 1.1 tsutsui #if 0
126 1.1 tsutsui #define TR2A_FDC_BASE 0xbe420000
127 1.1 tsutsui #define TR2A_LPT_BASE 0xbe430000
128 1.1 tsutsui #define TR2A_APBUS_INTC_MASK 0xbe806000
129 1.1 tsutsui #define TR2A_VMECHK 0xbe000040
130 1.1 tsutsui #define TR2A_CLK 0xbe000024
131 1.1 tsutsui #endif
132 1.1 tsutsui
133 1.1 tsutsui /* APbus */
134 1.1 tsutsui #define TR2A_APBUS_ADDR 0xe0000000
135 1.1 tsutsui #define TR2A_APBUS_SIZE 0x18000000
136 1.1 tsutsui
137 1.1 tsutsui /* NVSRAM */
138 1.1 tsutsui #define TR2A_NVSRAM_ADDR 0xbe490000
139 1.1 tsutsui #define NVSRAM_SIGNATURE 0xbe490000
140 1.1 tsutsui #define NVSRAM_MACHINEID 0xbe490010
141 1.1 tsutsui #define NVSRAM_ETHERADDR 0xbe491008
142 1.1 tsutsui #define NVSRAM_TF_PROGRESS 0xbe493010
143 1.1 tsutsui #define NVSRAM_TF_ERROR 0xbe493028
144 1.1 tsutsui #define NVSRAM_BOOTDEV ((uint8_t *)0xbe493030)
145 1.1 tsutsui #define NVSRAM_CONSTYPE ((uint8_t *)0xbe4932a0)
146 1.1 tsutsui #define NVSRAM_BOOTUNIT 0xbe493414
147 1.1 tsutsui #define NVSRAM_SBDINIT_0 0xbe493450
148 1.1 tsutsui #define NVSRAM_SBDINIT_1 0xbe493454
149 1.1 tsutsui #define NVSRAM_SBDINIT_2 0xbe493458
150 1.1 tsutsui #define NVSRAM_SBDINIT_3 0xbe49345c
151 1.1 tsutsui
152 1.1 tsutsui /* Frame buffer */
153 1.1 tsutsui #define TR2A_GAFB_ADDR 0xf0000000
154 1.1 tsutsui #define TR2A_GAFB_SIZE 0x04000000
155 1.1 tsutsui #define TR2A_GAREG_ADDR 0xf5f00000
156 1.1 tsutsui #define TR2A_GAREG_SIZE 0x00001000
157 1.1 tsutsui
158 1.1 tsutsui #define SOFTRESET_REG ((volatile uint8_t *)0xba000004)
159 1.1 tsutsui #define SOFTRESET_FLAG ((volatile uint32_t *)0xbe000064)
160 1.1 tsutsui
161 1.1 tsutsui #define CLOCK_REG ((volatile uint8_t *)0xbe4a0008)
162 1.1 tsutsui #define POWEROFF_REG ((volatile uint8_t *)0xbe4a0030)
163 1.1 tsutsui #define LED_TF_REG ((volatile uint8_t *)0xbe4a0040)
164 1.1 tsutsui #define LED_TF_ON 1
165 1.1 tsutsui #define LED_TF_OFF 0
166 1.1 tsutsui #define TF_ERROR_CODE ((volatile uint8_t *)0xbe4a0044)
167 1.1 tsutsui #define BUZZER_REG ((volatile uint8_t *)0xbe4a0050)
168 1.1 tsutsui
169 1.1 tsutsui /* Keyboard/Mouse Z85230 */
170 1.1 tsutsui #define KBD_STATUS ((volatile uint8_t *)0xbe480000)
171 1.1 tsutsui #define KBD_DATA ((volatile uint8_t *)0xbe480004)
172 1.1 tsutsui
173 1.1 tsutsui /* RTC */
174 1.1 tsutsui #define RTC_MK48T18_ADDR ((volatile uint8_t *)0xbe493fe0)
175 1.1 tsutsui #define RTC_MK48T18_NVSRAM_ADDR 0xbe490000
176 1.1 tsutsui
177 1.1 tsutsui /* INTC */
178 1.1 tsutsui #define INTC_CLEAR_REG ((volatile uint32_t *)0xbe000000)
179 1.1 tsutsui #define INTC_STATUS_REG ((volatile uint32_t *)0xbe000004)
180 1.1 tsutsui #define INTC_MASK_REG ((volatile uint32_t *)0xbe000008)
181 1.1 tsutsui #define INTC_INT5 0x80000000
182 1.1 tsutsui #define INTC_INT4 0x04000000
183 1.1 tsutsui #define INTC_INT3 0x00200000
184 1.1 tsutsui #define INTC_INT2 0x00010000
185 1.1 tsutsui #define INTC_INT1 0x00000800
186 1.1 tsutsui #define INTC_INT0 0x00000020
187 1.1 tsutsui
188 1.1 tsutsui /* ASO */
189 1.1 tsutsui #define ASO_DMAINT_STATUS_REG ((volatile uint32_t *)0xbe408000)
190 1.1 tsutsui #define ASO_INT_MASK_REG ((volatile uint32_t *)0xbe40a00c)
191 1.1 tsutsui #define ASO_INT_STATUS_REG ((volatile uint32_t *)0xbe40a010)
192 1.1 tsutsui
193 1.1 tsutsui #define TR2A_ASO_INTMASK_ALL 0x00f0837d
194 1.1 tsutsui
195 1.1 tsutsui /* Graphic adapter */
196 1.1 tsutsui #include <machine/gareg.h>
197 1.1 tsutsui
198 1.1 tsutsui #endif /* !_EWS4800MIPS_SBD_TR2_H_ */
199