diff options
Diffstat (limited to 'firmware/drivers/sh7034.h')
-rw-r--r-- | firmware/drivers/sh7034.h | 336 |
1 files changed, 336 insertions, 0 deletions
diff --git a/firmware/drivers/sh7034.h b/firmware/drivers/sh7034.h new file mode 100644 index 0000000000..6d6fb6d714 --- /dev/null +++ b/firmware/drivers/sh7034.h | |||
@@ -0,0 +1,336 @@ | |||
1 | /*************************************************************************** | ||
2 | * __________ __ ___. | ||
3 | * Open \______ \ ____ ____ | | _\_ |__ _______ ___ | ||
4 | * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / | ||
5 | * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < | ||
6 | * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ | ||
7 | * \/ \/ \/ \/ \/ | ||
8 | * $Id$ | ||
9 | * | ||
10 | * Copyright (C) 2002 by Alan Korr | ||
11 | * | ||
12 | * All files in this archive are subject to the GNU General Public License. | ||
13 | * See the file COPYING in the source tree root for full license agreement. | ||
14 | * | ||
15 | * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY | ||
16 | * KIND, either express or implied. | ||
17 | * | ||
18 | ****************************************************************************/ | ||
19 | |||
20 | #ifndef __SH7034_H__ | ||
21 | #define __SH7034_H__ | ||
22 | |||
23 | #define GBR 0x00000000 | ||
24 | |||
25 | /* register address macros: */ | ||
26 | |||
27 | #define SMR0_ADDR 0x05FFFEC0 | ||
28 | #define BRR0_ADDR 0x05FFFEC1 | ||
29 | #define SCR0_ADDR 0x05FFFEC2 | ||
30 | #define TDR0_ADDR 0x05FFFEC3 | ||
31 | #define SSR0_ADDR 0x05FFFEC4 | ||
32 | #define RDR0_ADDR 0x05FFFEC5 | ||
33 | #define SMR1_ADDR 0x05FFFEC8 | ||
34 | #define BRR1_ADDR 0x05FFFEC9 | ||
35 | #define SCR1_ADDR 0x05FFFECA | ||
36 | #define TDR1_ADDR 0x05FFFECB | ||
37 | #define SSR1_ADDR 0x05FFFECC | ||
38 | #define RDR1_ADDR 0x05FFFECD | ||
39 | |||
40 | #define ADDRAH_ADDR 0x05FFFEE0 | ||
41 | #define ADDRAL_ADDR 0x05FFFEE1 | ||
42 | #define ADDRBH_ADDR 0x05FFFEE2 | ||
43 | #define ADDRBL_ADDR 0x05FFFEE3 | ||
44 | #define ADDRCH_ADDR 0x05FFFEE4 | ||
45 | #define ADDRCL_ADDR 0x05FFFEE5 | ||
46 | #define ADDRDH_ADDR 0x05FFFEE6 | ||
47 | #define ADDRDL_ADDR 0x05FFFEE7 | ||
48 | #define ADCSR_ADDR 0x05FFFEE8 | ||
49 | #define ADCR_ADDR 0x05FFFEE9 | ||
50 | |||
51 | #define TSTR_ADDR 0x05FFFF00 | ||
52 | #define TSNC_ADDR 0x05FFFF01 | ||
53 | #define TMDR_ADDR 0x05FFFF02 | ||
54 | #define TFCR_ADDR 0x05FFFF03 | ||
55 | #define TCR0_ADDR 0x05FFFF04 | ||
56 | #define TIOR0_ADDR 0x05FFFF05 | ||
57 | #define TIER0_ADDR 0x05FFFF06 | ||
58 | #define TSR0_ADDR 0x05FFFF07 | ||
59 | #define TCNT0_ADDR 0x05FFFF08 | ||
60 | #define GRA0_ADDR 0x05FFFF0A | ||
61 | #define GRB0_ADDR 0x05FFFF0C | ||
62 | #define TCR1_ADDR 0x05FFFF0E | ||
63 | #define TIOR1_ADDR 0x05FFFF0F | ||
64 | #define TIER1_ADDR 0x05FFFF10 | ||
65 | #define TSR1_ADDR 0x05FFFF11 | ||
66 | #define TCNT1_ADDR 0x05FFFF12 | ||
67 | #define GRA_ADDR1 0x05FFFF14 | ||
68 | #define GRB1_ADDR 0x05FFFF16 | ||
69 | #define TCR2_ADDR 0x05FFFF18 | ||
70 | #define TIOR2_ADDR 0x05FFFF19 | ||
71 | #define TIER2_ADDR 0x05FFFF1A | ||
72 | #define TSR2_ADDR 0x05FFFF1B | ||
73 | #define TCNT2_ADDR 0x05FFFF1C | ||
74 | #define GRA2_ADDR 0x05FFFF1E | ||
75 | #define GRB2_ADDR 0x05FFFF20 | ||
76 | #define TCR3_ADDR 0x05FFFF22 | ||
77 | #define TIOR3_ADDR 0x05FFFF23 | ||
78 | #define TIER3_ADDR 0x05FFFF24 | ||
79 | #define TSR3_ADDR 0x05FFFF25 | ||
80 | #define TCNT3_ADDR 0x05FFFF26 | ||
81 | #define GRA3_ADDR 0x05FFFF28 | ||
82 | #define GRB3_ADDR 0x05FFFF2A | ||
83 | #define BRA3_ADDR 0x05FFFF2C | ||
84 | #define BRB3_ADDR 0x05FFFF2E | ||
85 | #define TOCR_ADDR 0x05FFFF31 | ||
86 | #define TCR4_ADDR 0x05FFFF32 | ||
87 | #define TIOR4_ADDR 0x05FFFF33 | ||
88 | #define TIER4_ADDR 0x05FFFF34 | ||
89 | #define TSR4_ADDR 0x05FFFF35 | ||
90 | #define TCNT4_ADDR 0x05FFFF36 | ||
91 | #define GRA4_ADDR 0x05FFFF38 | ||
92 | #define GRB4_ADDR 0x05FFFF3A | ||
93 | #define BRA4_ADDR 0x05FFFF3C | ||
94 | #define BRB4_ADDR 0x05FFFF3E | ||
95 | |||
96 | #define SAR0_ADDR 0x05FFFF40 | ||
97 | #define DAR0_ADDR 0x05FFFF44 | ||
98 | #define OR_ADDR 0x05FFFF48 | ||
99 | #define DTCR0_ADDR 0x05FFFF4A | ||
100 | #define CHCR0_ADDR 0x05FFFF4E | ||
101 | #define SAR1_ADDR 0x05FFFF50 | ||
102 | #define DAR1_ADDR 0x05FFFF54 | ||
103 | #define DTCR1_ADDR 0x05FFFF5A | ||
104 | #define CHCR1_ADDR 0x05FFFF5E | ||
105 | #define SAR2_ADDR 0x05FFFF60 | ||
106 | #define DAR2_ADDR 0x05FFFF64 | ||
107 | #define DTCR2_ADDR 0x05FFFF6A | ||
108 | #define CHCR2_ADDR 0x05FFFF6E | ||
109 | #define SAR3_ADDR 0x05FFFF70 | ||
110 | #define DAR3_ADDR 0x05FFFF74 | ||
111 | #define DTCR3_ADDR 0x05FFFF7A | ||
112 | #define CHCR3_ADDR 0x05FFFF7E | ||
113 | |||
114 | #define IPRA_ADDR 0x05FFFF84 | ||
115 | #define IPRB_ADDR 0x05FFFF86 | ||
116 | #define IPRC_ADDR 0x05FFFF88 | ||
117 | #define IPRD_ADDR 0x05FFFF8A | ||
118 | #define IPRE_ADDR 0x05FFFF8C | ||
119 | #define ICR_ADDR 0x05FFFF8E | ||
120 | |||
121 | #define BARH_ADDR 0x05FFFF90 | ||
122 | #define BARL_ADDR 0x05FFFF92 | ||
123 | #define BAMRH_ADDR 0x05FFFF94 | ||
124 | #define BAMRL_ADDR 0x05FFFF96 | ||
125 | #define BBR_ADDR 0x05FFFF98 | ||
126 | |||
127 | #define BCR_ADDR 0x05FFFFA0 | ||
128 | #define WCR1_ADDR 0x05FFFFA2 | ||
129 | #define WCR2_ADDR 0x05FFFFA4 | ||
130 | #define WCR3_ADDR 0x05FFFFA6 | ||
131 | #define DCR_ADDR 0x05FFFFA8 | ||
132 | #define PCR_ADDR 0x05FFFFAA | ||
133 | #define RCR_ADDR 0x05FFFFAC | ||
134 | #define RTCSR_ADDR 0x05FFFFAE | ||
135 | #define RTCNT_ADDR 0x05FFFFB0 | ||
136 | #define RTCOR_ADDR 0x05FFFFB2 | ||
137 | |||
138 | #define TCSR_ADDR 0x05FFFFB8 | ||
139 | #define TCNT_ADDR 0x05FFFFB9 | ||
140 | #define RSTCSR_ADDR 0x05FFFFBB | ||
141 | |||
142 | #define SBYCR_ADDR 0x05FFFFBC | ||
143 | |||
144 | #define PADR_ADDR 0x05FFFFC0 | ||
145 | #define PBDR_ADDR 0x05FFFFC2 | ||
146 | #define PAIOR_ADDR 0x05FFFFC4 | ||
147 | #define PBIOR_ADDR 0x05FFFFC6 | ||
148 | #define PACR1_ADDR 0x05FFFFC8 | ||
149 | #define PACR2_ADDR 0x05FFFFCA | ||
150 | #define PBCR1_ADDR 0x05FFFFCC | ||
151 | #define PBCR2_ADDR 0x05FFFFCE | ||
152 | #define PCDR_ADDR 0x05FFFFD0 | ||
153 | |||
154 | #define CASCR_ADDR 0x05FFFFEE | ||
155 | |||
156 | |||
157 | /* register macros for direct access: */ | ||
158 | |||
159 | #define SMR0 (*((volatile unsigned char*)SMR0_ADDR)) | ||
160 | #define BRR0 (*((volatile unsigned char*)BRR0_ADDR)) | ||
161 | #define SCR0 (*((volatile unsigned char*)SCR0_ADDR)) | ||
162 | #define TDR0 (*((volatile unsigned char*)TDR0_ADDR)) | ||
163 | #define SSR0 (*((volatile unsigned char*)SSR0_ADDR)) | ||
164 | #define RDR0 (*((volatile unsigned char*)RDR0_ADDR)) | ||
165 | #define SMR1 (*((volatile unsigned char*)SMR1_ADDR)) | ||
166 | #define BRR1 (*((volatile unsigned char*)BRR1_ADDR)) | ||
167 | #define SCR1 (*((volatile unsigned char*)SCR1_ADDR)) | ||
168 | #define TDR1 (*((volatile unsigned char*)TDR1_ADDR)) | ||
169 | #define SSR1 (*((volatile unsigned char*)SSR1_ADDR)) | ||
170 | #define RDR1 (*((volatile unsigned char*)RDR1_ADDR)) | ||
171 | |||
172 | #define ADDRA (*((volatile unsigned short*)ADDRAH_ADDR)) /* combined */ | ||
173 | #define ADDRAH (*((volatile unsigned char*)ADDRAH_ADDR)) | ||
174 | #define ADDRAL (*((volatile unsigned char*)ADDRAL_ADDR)) | ||
175 | #define ADDRB (*((volatile unsigned short*)ADDRBH_ADDR)) /* combined */ | ||
176 | #define ADDRBH (*((volatile unsigned char*)ADDRBH_ADDR)) | ||
177 | #define ADDRBL (*((volatile unsigned char*)ADDRBL_ADDR)) | ||
178 | #define ADDRC (*((volatile unsigned short*)ADDRCJ_ADDR)) /* combined */ | ||
179 | #define ADDRCH (*((volatile unsigned char*)ADDRCH_ADDR)) | ||
180 | #define ADDRCL (*((volatile unsigned char*)ADDRCL_ADDR)) | ||
181 | #define ADDRD (*((volatile unsigned short*)ADDRDH_ADDR)) /* combined */ | ||
182 | #define ADDRDH (*((volatile unsigned char*)ADDRDH_ADDR)) | ||
183 | #define ADDRDL (*((volatile unsigned char*)ADDRDL_ADDR)) | ||
184 | #define ADCSR (*((volatile unsigned char*)ADCSR_ADDR)) | ||
185 | #define ADCR (*((volatile unsigned char*)ADCR_ADDR)) | ||
186 | |||
187 | #define TSTR (*((volatile unsigned char*)TSTR_ADDR)) | ||
188 | #define TSNC (*((volatile unsigned char*)TSNC_ADDR)) | ||
189 | #define TMDR (*((volatile unsigned char*)TMDR_ADDR)) | ||
190 | #define TFCR (*((volatile unsigned char*)TFCR_ADDR)) | ||
191 | #define TCR0 (*((volatile unsigned char*)TCR0_ADDR)) | ||
192 | #define TIOR0 (*((volatile unsigned char*)TIOR0_ADDR)) | ||
193 | #define TIER0 (*((volatile unsigned char*)TIER0_ADDR)) | ||
194 | #define TSR0 (*((volatile unsigned char*)TSR0_ADDR)) | ||
195 | #define TCNT0 (*((volatile unsigned short*)TCNT0_ADDR)) | ||
196 | #define GRA0 (*((volatile unsigned short*)GRA0_ADDR)) | ||
197 | #define GRB0 (*((volatile unsigned short*)GRB0_ADDR)) | ||
198 | #define TCR1 (*((volatile unsigned char*)TCR1_ADDR)) | ||
199 | #define TIOR1 (*((volatile unsigned char*)TIOR1_ADDR)) | ||
200 | #define TIER1 (*((volatile unsigned char*)TIER1_ADDR)) | ||
201 | #define TSR1 (*((volatile unsigned char*)TSR1_ADDR)) | ||
202 | #define TCNT1 (*((volatile unsigned short*)TCNT1_ADDR)) | ||
203 | #define GRA1 (*((volatile unsigned short*)GRA_ADDR))1 | ||
204 | #define GRB1 (*((volatile unsigned short*)GRB1_ADDR)) | ||
205 | #define TCR2 (*((volatile unsigned char*)TCR2_ADDR)) | ||
206 | #define TIOR2 (*((volatile unsigned char*)TIOR2_ADDR)) | ||
207 | #define TIER2 (*((volatile unsigned char*)TIER2_ADDR)) | ||
208 | #define TSR2 (*((volatile unsigned char*)TSR2_ADDR)) | ||
209 | #define TCNT2 (*((volatile unsigned short*)TCNT2_ADDR)) | ||
210 | #define GRA2 (*((volatile unsigned short*)GRA2_ADDR)) | ||
211 | #define GRB2 (*((volatile unsigned short*)GRB2_ADDR)) | ||
212 | #define TCR3 (*((volatile unsigned char*)TCR3_ADDR)) | ||
213 | #define TIOR3 (*((volatile unsigned char*)TIOR3_ADDR)) | ||
214 | #define TIER3 (*((volatile unsigned char*)TIER3_ADDR)) | ||
215 | #define TSR3 (*((volatile unsigned char*)TSR3_ADDR)) | ||
216 | #define TCNT3 (*((volatile unsigned short*)TCNT3_ADDR)) | ||
217 | #define GRA3 (*((volatile unsigned short*)GRA3_ADDR)) | ||
218 | #define GRB3 (*((volatile unsigned short*)GRB3_ADDR)) | ||
219 | #define BRA3 (*((volatile unsigned short*)BRA3_ADDR)) | ||
220 | #define BRB3 (*((volatile unsigned short*)BRB3_ADDR)) | ||
221 | #define TOCR (*((volatile unsigned char*)TOCR_ADDR)) | ||
222 | #define TCR4 (*((volatile unsigned char*)TCR4_ADDR)) | ||
223 | #define TIOR4 (*((volatile unsigned char*)TIOR4_ADDR)) | ||
224 | #define TIER4 (*((volatile unsigned char*)TIER4_ADDR)) | ||
225 | #define TSR4 (*((volatile unsigned char*)TSR4_ADDR)) | ||
226 | #define TCNT4 (*((volatile unsigned short*)TCNT4_ADDR)) | ||
227 | #define GRA4 (*((volatile unsigned short*)GRA4_ADDR)) | ||
228 | #define GRB4 (*((volatile unsigned short*)GRB4_ADDR)) | ||
229 | #define BRA4 (*((volatile unsigned short*)BRA4_ADDR)) | ||
230 | #define BRB4 (*((volatile unsigned short*)BRB4_ADDR)) | ||
231 | |||
232 | #define SAR0 (*((volatile unsigned long*)SAR0_ADDR)) | ||
233 | #define DAR0 (*((volatile unsigned long*)DAR0_ADDR)) | ||
234 | #define DMAOR (*((volatile unsigned long*)DMAOR_ADDR)) | ||
235 | #define DTCR0 (*((volatile unsigned long*)DTCR0_ADDR)) | ||
236 | #define CHCR0 (*((volatile unsigned short*)CHCR0_ADDR)) | ||
237 | #define SAR1 (*((volatile unsigned long*)SAR1_ADDR)) | ||
238 | #define DAR1 (*((volatile unsigned long*)DAR1_ADDR)) | ||
239 | #define DTCR1 (*((volatile unsigned long*)DTCR1_ADDR)) | ||
240 | #define CHCR1 (*((volatile unsigned short*)CHCR1_ADDR)) | ||
241 | #define SAR2 (*((volatile unsigned long*)SAR2_ADDR)) | ||
242 | #define DAR2 (*((volatile unsigned long*)DAR2_ADDR)) | ||
243 | #define DTCR2 (*((volatile unsigned long*)DTCR2_ADDR)) | ||
244 | #define HCR2 (*((volatile unsigned short*)CHCR2_ADDR)) | ||
245 | #define SAR3 (*((volatile unsigned long*)SAR3_ADDR)) | ||
246 | #define DAR3 (*((volatile unsigned long*)DAR3_ADDR)) | ||
247 | #define DTCR3 (*((volatile unsigned long*)DTCR3_ADDR)) | ||
248 | #define CHCR3 (*((volatile unsigned short*)CHCR3_ADDR)) | ||
249 | |||
250 | #define IPRA (*((volatile unsigned short*)IPRA_ADDR)) | ||
251 | #define IPRB (*((volatile unsigned short*)IPRB_ADDR)) | ||
252 | #define IPRC (*((volatile unsigned short*)IPRC_ADDR)) | ||
253 | #define IPRD (*((volatile unsigned short*)IPRD_ADDR)) | ||
254 | #define IPRE (*((volatile unsigned short*)IPRE_ADDR)) | ||
255 | #define ICR (*((volatile unsigned short*)ICR_ADDR)) | ||
256 | |||
257 | #define BAR (*((volatile unsigned long*)BARH_ADDR)) /* combined */ | ||
258 | #define BARH (*((volatile unsigned short*)BARH_ADDR)) | ||
259 | #define BARL (*((volatile unsigned short*)BARL_ADDR)) | ||
260 | #define BAMR (*((volatile unsigned long*)BAMRH_ADDR)) /* combined */ | ||
261 | #define BAMRH (*((volatile unsigned short*)BAMRH_ADDR)) | ||
262 | #define BAMRL (*((volatile unsigned short*)BAMRL_ADDR)) | ||
263 | #define BBR (*((volatile unsigned short*)BBR_ADDR)) | ||
264 | |||
265 | #define BCR (*((volatile unsigned short*)BCR_ADDR)) | ||
266 | #define WCR1 (*((volatile unsigned short*)WCR1_ADDR)) | ||
267 | #define WCR2 (*((volatile unsigned short*)WCR2_ADDR)) | ||
268 | #define WCR3 (*((volatile unsigned short*)WCR3_ADDR)) | ||
269 | #define DCR (*((volatile unsigned short*)DCR_ADDR)) | ||
270 | #define PCR (*((volatile unsigned short*)PCR_ADDR)) | ||
271 | #define RCR (*((volatile unsigned short*)RCR_ADDR)) | ||
272 | #define RTCSR (*((volatile unsigned short*)RTCSR_ADDR)) | ||
273 | #define RTCNT (*((volatile unsigned short*)RTCNT_ADDR)) | ||
274 | #define RTCOR (*((volatile unsigned short*)RTCOR_ADDR)) | ||
275 | |||
276 | #define TCSR (*((volatile unsigned char*)TCSR_ADDR)) | ||
277 | #define TCNT (*((volatile unsigned char*)TCNT_ADDR)) | ||
278 | #define RSTCSR (*((volatile unsigned char*)RSTCSR_ADDR)) | ||
279 | |||
280 | #define SBYCR (*((volatile unsigned char*)SBYCR_ADDR)) | ||
281 | |||
282 | #define PADR (*((volatile unsigned short*)PADR_ADDR)) | ||
283 | #define PBDR (*((volatile unsigned short*)PBDR_ADDR)) | ||
284 | #define PAIOR (*((volatile unsigned short*)PAIOR_ADDR)) | ||
285 | #define PBIOR (*((volatile unsigned short*)PBIOR_ADDR)) | ||
286 | #define PACR1 (*((volatile unsigned short*)PACR1_ADDR)) | ||
287 | #define PACR2 (*((volatile unsigned short*)PACR2_ADDR)) | ||
288 | #define PBCR1 (*((volatile unsigned short*)PBCR1_ADDR)) | ||
289 | #define PBCR2 (*((volatile unsigned short*)PBCR2_ADDR)) | ||
290 | #define PCDR (*((volatile unsigned short*)PCDR_ADDR)) | ||
291 | |||
292 | #define CASCR (*((volatile unsigned char*)CASCR_ADDR)) | ||
293 | |||
294 | /*************************************************************************** | ||
295 | * Register bit definitions | ||
296 | **************************************************************************/ | ||
297 | |||
298 | /* | ||
299 | * Serial mode register bits | ||
300 | */ | ||
301 | |||
302 | #define SYNC_MODE 0x80 | ||
303 | #define SEVEN_BIT_DATA 0x40 | ||
304 | #define PARITY_ON 0x20 | ||
305 | #define ODD_PARITY 0x10 | ||
306 | #define STOP_BITS_2 0x08 | ||
307 | #define ENABLE_MULTIP 0x04 | ||
308 | #define PHI_64 0x03 | ||
309 | #define PHI_16 0x02 | ||
310 | #define PHI_4 0x01 | ||
311 | |||
312 | /* | ||
313 | * Serial control register bits | ||
314 | */ | ||
315 | #define SCI_TIE 0x80 /* Transmit interrupt enable */ | ||
316 | #define SCI_RIE 0x40 /* Receive interrupt enable */ | ||
317 | #define SCI_TE 0x20 /* Transmit enable */ | ||
318 | #define SCI_RE 0x10 /* Receive enable */ | ||
319 | #define SCI_MPIE 0x08 /* Multiprocessor interrupt enable */ | ||
320 | #define SCI_TEIE 0x04 /* Transmit end interrupt enable */ | ||
321 | #define SCI_CKE1 0x02 /* Clock enable 1 */ | ||
322 | #define SCI_CKE0 0x01 /* Clock enable 0 */ | ||
323 | |||
324 | /* | ||
325 | * Serial status register bits | ||
326 | */ | ||
327 | #define SCI_TDRE 0x80 /* Transmit data register empty */ | ||
328 | #define SCI_RDRF 0x40 /* Receive data register full */ | ||
329 | #define SCI_ORER 0x20 /* Overrun error */ | ||
330 | #define SCI_FER 0x10 /* Framing error */ | ||
331 | #define SCI_PER 0x08 /* Parity error */ | ||
332 | #define SCI_TEND 0x04 /* Transmit end */ | ||
333 | #define SCI_MPB 0x02 /* Multiprocessor bit */ | ||
334 | #define SCI_MPBT 0x01 /* Multiprocessor bit transfer */ | ||
335 | |||
336 | #endif | ||