1 #ifndef _ASM_CPU_SH7780_H_
2 #define _ASM_CPU_SH7780_H_
5 * Copyright (c) 2007,2008 Nobuhiro Iwamatsu
6 * Copyright (c) 2008 Yusuke Goda <goda.yusuke@renesas.com>
8 * This program is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU General Public License as
10 * published by the Free Software Foundation; either version 2 of
11 * the License, or (at your option) any later version.
13 * This program is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16 * GNU General Public License for more details.
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
25 #define CACHE_OC_NUM_WAYS 1
26 #define CCR_CACHE_INIT 0x0000090b
29 #define TRA 0xFF000020
30 #define EXPEVT 0xFF000024
31 #define INTEVT 0xFF000028
33 /* Memory Management Unit */
34 #define PTEH 0xFF000000
35 #define PTEL 0xFF000004
36 #define TTB 0xFF000008
37 #define TEA 0xFF00000C
38 #define MMUCR 0xFF000010
39 #define PASCR 0xFF000070
40 #define IRMCR 0xFF000078
42 /* Cache Controller */
43 #define CCR 0xFF00001C
44 #define QACR0 0xFF000038
45 #define QACR1 0xFF00003C
46 #define RAMCR 0xFF000074
49 #define RAMCR 0xFF000074
50 #define LSA0 0xFF000050
51 #define LSA1 0xFF000054
52 #define LDA0 0xFF000058
53 #define LDA1 0xFF00005C
55 /* Interrupt Controller */
56 #define ICR0 0xFFD00000
57 #define ICR1 0xFFD0001C
58 #define INTPRI 0xFFD00010
59 #define INTREQ 0xFFD00024
60 #define INTMSK0 0xFFD00044
61 #define INTMSK1 0xFFD00048
62 #define INTMSK2 0xFFD40080
63 #define INTMSKCLR0 0xFFD00064
64 #define INTMSKCLR1 0xFFD00068
65 #define INTMSKCLR2 0xFFD40084
66 #define NMIFCR 0xFFD000C0
67 #define USERIMASK 0xFFD30000
68 #define INT2PRI0 0xFFD40000
69 #define INT2PRI1 0xFFD40004
70 #define INT2PRI2 0xFFD40008
71 #define INT2PRI3 0xFFD4000C
72 #define INT2PRI4 0xFFD40010
73 #define INT2PRI5 0xFFD40014
74 #define INT2PRI6 0xFFD40018
75 #define INT2PRI7 0xFFD4001C
76 #define INT2A0 0xFFD40030
77 #define INT2A1 0xFFD40034
78 #define INT2MSKR 0xFFD40038
79 #define INT2MSKCR 0xFFD4003C
80 #define INT2B0 0xFFD40040
81 #define INT2B1 0xFFD40044
82 #define INT2B2 0xFFD40048
83 #define INT2B3 0xFFD4004C
84 #define INT2B4 0xFFD40050
85 #define INT2B5 0xFFD40054
86 #define INT2B6 0xFFD40058
87 #define INT2B7 0xFFD4005C
88 #define INT2GPIC 0xFFD40090
90 /* local Bus State Controller */
91 #define MMSELR 0xFF400020
92 #define BCR 0xFF801000
93 #define CS0BCR 0xFF802000
94 #define CS1BCR 0xFF802010
95 #define CS2BCR 0xFF802020
96 #define CS4BCR 0xFF802040
97 #define CS5BCR 0xFF802050
98 #define CS6BCR 0xFF802060
99 #define CS0WCR 0xFF802008
100 #define CS1WCR 0xFF802018
101 #define CS2WCR 0xFF802028
102 #define CS4WCR 0xFF802048
103 #define CS5WCR 0xFF802058
104 #define CS6WCR 0xFF802068
105 #define CS5PCR 0xFF802070
106 #define CS6PCR 0xFF802080
109 #define MIM_1 0xFE800008
110 #define MIM_2 0xFE80000C
111 #define SCR_1 0xFE800010
112 #define SCR_2 0xFE800014
113 #define STR_1 0xFE800018
114 #define STR_2 0xFE80001C
115 #define SDR_1 0xFE800030
116 #define SDR_2 0xFE800034
117 #define DBK_1 0xFE800400
118 #define DBK_2 0xFE800404
121 #define SH7780_PCIECR 0xFE000008
122 #define SH7780_PCIVID 0xFE040000
123 #define SH7780_PCIDID 0xFE040002
124 #define SH7780_PCICMD 0xFE040004
125 #define SH7780_PCISTATUS 0xFE040006
126 #define SH7780_PCIRID 0xFE040008
127 #define SH7780_PCIPIF 0xFE040009
128 #define SH7780_PCISUB 0xFE04000A
129 #define SH7780_PCIBCC 0xFE04000B
130 #define SH7780_PCICLS 0xFE04000C
131 #define SH7780_PCILTM 0xFE04000D
132 #define SH7780_PCIHDR 0xFE04000E
133 #define SH7780_PCIBIST 0xFE04000F
134 #define SH7780_PCIIBAR 0xFE040010
135 #define SH7780_PCIMBAR0 0xFE040014
136 #define SH7780_PCIMBAR1 0xFE040018
137 #define SH7780_PCISVID 0xFE04002C
138 #define SH7780_PCISID 0xFE04002E
139 #define SH7780_PCICP 0xFE040034
140 #define SH7780_PCIINTLINE 0xFE04003C
141 #define SH7780_PCIINTPIN 0xFE04003D
142 #define SH7780_PCIMINGNT 0xFE04003E
143 #define SH7780_PCIMAXLAT 0xFE04003F
144 #define SH7780_PCICID 0xFE040040
145 #define SH7780_PCINIP 0xFE040041
146 #define SH7780_PCIPMC 0xFE040042
147 #define SH7780_PCIPMCSR 0xFE040044
148 #define SH7780_PCIPMCSRBSE 0xFE040046
149 #define SH7780_PCI_CDD 0xFE040047
150 #define SH7780_PCICR 0xFE040100
151 #define SH7780_PCILSR0 0xFE040104
152 #define SH7780_PCILSR1 0xFE040108
153 #define SH7780_PCILAR0 0xFE04010C
154 #define SH7780_PCILAR1 0xFE040110
155 #define SH7780_PCIIR 0xFE040114
156 #define SH7780_PCIIMR 0xFE040118
157 #define SH7780_PCIAIR 0xFE04011C
158 #define SH7780_PCICIR 0xFE040120
159 #define SH7780_PCIAINT 0xFE040130
160 #define SH7780_PCIAINTM 0xFE040134
161 #define SH7780_PCIBMIR 0xFE040138
162 #define SH7780_PCIPAR 0xFE0401C0
163 #define SH7780_PCIPINT 0xFE0401CC
164 #define SH7780_PCIPINTM 0xFE0401D0
165 #define SH7780_PCIMBR0 0xFE0401E0
166 #define SH7780_PCIMBMR0 0xFE0401E4
167 #define SH7780_PCIMBR1 0xFE0401E8
168 #define SH7780_PCIMBMR1 0xFE0401EC
169 #define SH7780_PCIMBR2 0xFE0401F0
170 #define SH7780_PCIMBMR2 0xFE0401F4
171 #define SH7780_PCIIOBR 0xFE0401F8
172 #define SH7780_PCIIOBMR 0xFE0401FC
173 #define SH7780_PCICSCR0 0xFE040210
174 #define SH7780_PCICSCR1 0xFE040214
175 #define SH7780_PCICSAR0 0xFE040218
176 #define SH7780_PCICSAR1 0xFE04021C
177 #define SH7780_PCIPDR 0xFE040220
180 #define DMAC_SAR0 0xFC808020
181 #define DMAC_DAR0 0xFC808024
182 #define DMAC_TCR0 0xFC808028
183 #define DMAC_CHCR0 0xFC80802C
184 #define DMAC_SAR1 0xFC808030
185 #define DMAC_DAR1 0xFC808034
186 #define DMAC_TCR1 0xFC808038
187 #define DMAC_CHCR1 0xFC80803C
188 #define DMAC_SAR2 0xFC808040
189 #define DMAC_DAR2 0xFC808044
190 #define DMAC_TCR2 0xFC808048
191 #define DMAC_CHCR2 0xFC80804C
192 #define DMAC_SAR3 0xFC808050
193 #define DMAC_DAR3 0xFC808054
194 #define DMAC_TCR3 0xFC808058
195 #define DMAC_CHCR3 0xFC80805C
196 #define DMAC_DMAOR0 0xFC808060
197 #define DMAC_SAR4 0xFC808070
198 #define DMAC_DAR4 0xFC808074
199 #define DMAC_TCR4 0xFC808078
200 #define DMAC_CHCR4 0xFC80807C
201 #define DMAC_SAR5 0xFC808080
202 #define DMAC_DAR5 0xFC808084
203 #define DMAC_TCR5 0xFC808088
204 #define DMAC_CHCR5 0xFC80808C
205 #define DMAC_SARB0 0xFC808120
206 #define DMAC_DARB0 0xFC808124
207 #define DMAC_TCRB0 0xFC808128
208 #define DMAC_SARB1 0xFC808130
209 #define DMAC_DARB1 0xFC808134
210 #define DMAC_TCRB1 0xFC808138
211 #define DMAC_SARB2 0xFC808140
212 #define DMAC_DARB2 0xFC808144
213 #define DMAC_TCRB2 0xFC808148
214 #define DMAC_SARB3 0xFC808150
215 #define DMAC_DARB3 0xFC808154
216 #define DMAC_TCRB3 0xFC808158
217 #define DMAC_DMARS0 0xFC809000
218 #define DMAC_DMARS1 0xFC809004
219 #define DMAC_DMARS2 0xFC809008
220 #define DMAC_SAR6 0xFC818020
221 #define DMAC_DAR6 0xFC818024
222 #define DMAC_TCR6 0xFC818028
223 #define DMAC_CHCR6 0xFC81802C
224 #define DMAC_SAR7 0xFC818030
225 #define DMAC_DAR7 0xFC818034
226 #define DMAC_TCR7 0xFC818038
227 #define DMAC_CHCR7 0xFC81803C
228 #define DMAC_SAR8 0xFC818040
229 #define DMAC_DAR8 0xFC818044
230 #define DMAC_TCR8 0xFC818048
231 #define DMAC_CHCR8 0xFC81804C
232 #define DMAC_SAR9 0xFC818050
233 #define DMAC_DAR9 0xFC818054
234 #define DMAC_TCR9 0xFC818058
235 #define DMAC_CHCR9 0xFC81805C
236 #define DMAC_DMAOR1 0xFC818060
237 #define DMAC_SAR10 0xFC818070
238 #define DMAC_DAR10 0xFC818074
239 #define DMAC_TCR10 0xFC818078
240 #define DMAC_CHCR10 0xFC81807C
241 #define DMAC_SAR11 0xFC818080
242 #define DMAC_DAR11 0xFC818084
243 #define DMAC_TCR11 0xFC818088
244 #define DMAC_CHCR11 0xFC81808C
245 #define DMAC_SARB6 0xFC818120
246 #define DMAC_DARB6 0xFC818124
247 #define DMAC_TCRB6 0xFC818128
248 #define DMAC_SARB7 0xFC818130
249 #define DMAC_DARB7 0xFC818134
250 #define DMAC_TCRB7 0xFC818138
251 #define DMAC_SARB8 0xFC818140
252 #define DMAC_DARB8 0xFC818144
253 #define DMAC_TCRB8 0xFC818148
254 #define DMAC_SARB9 0xFC818150
255 #define DMAC_DARB9 0xFC818154
256 #define DMAC_TCRB9 0xFC818158
258 /* Clock Pulse Generator */
259 #define FRQCR 0xFFC80000
260 #define PLLCR 0xFFC80024
261 #define MSTPCR 0xFFC80030
263 /* Watchdog Timer and Reset */
265 #define WDTST 0xFFCC0000
266 #define WDTCSR 0xFFCC0004
267 #define WDTBST 0xFFCC0008
268 #define WDTCNT 0xFFCC0010
269 #define WDTBCNT 0xFFCC0018
272 #define MSTPCR 0xFFC80030
276 #define TOCR 0xFFD80000
277 #define TSTR0 0xFFD80004
278 #define TCOR0 0xFFD80008
279 #define TCNT0 0xFFD8000C
280 #define TCR0 0xFFD80010
281 #define TCOR1 0xFFD80014
282 #define TCNT1 0xFFD80018
283 #define TCR1 0xFFD8001C
284 #define TCOR2 0xFFD80020
285 #define TCNT2 0xFFD80024
286 #define TCR2 0xFFD80028
287 #define TCPR2 0xFFD8002C
288 #define TSTR1 0xFFDC0004
289 #define TCOR3 0xFFDC0008
290 #define TCNT3 0xFFDC000C
291 #define TCR3 0xFFDC0010
292 #define TCOR4 0xFFDC0014
293 #define TCNT4 0xFFDC0018
294 #define TCR4 0xFFDC001C
295 #define TCOR5 0xFFDC0020
296 #define TCNT5 0xFFDC0024
297 #define TCR5 0xFFDC0028
300 #define CMTCFG 0xFFE30000
301 #define CMTFRT 0xFFE30004
302 #define CMTCTL 0xFFE30008
303 #define CMTIRQS 0xFFE3000C
304 #define CMTCH0T 0xFFE30010
305 #define CMTCH0ST 0xFFE30020
306 #define CMTCH0C 0xFFE30030
307 #define CMTCH1T 0xFFE30014
308 #define CMTCH1ST 0xFFE30024
309 #define CMTCH1C 0xFFE30034
310 #define CMTCH2T 0xFFE30018
311 #define CMTCH2C 0xFFE30038
312 #define CMTCH3T 0xFFE3001C
313 #define CMTCH3C 0xFFE3003C
316 #define R64CNT 0xFFE80000
317 #define RSECCNT 0xFFE80004
318 #define RMINCNT 0xFFE80008
319 #define RHRCNT 0xFFE8000C
320 #define RWKCNT 0xFFE80010
321 #define RDAYCNT 0xFFE80014
322 #define RMONCNT 0xFFE80018
323 #define RYRCNT 0xFFE8001C
324 #define RSECAR 0xFFE80020
325 #define RMINAR 0xFFE80024
326 #define RHRAR 0xFFE80028
327 #define RWKAR 0xFFE8002C
328 #define RDAYAR 0xFFE80030
329 #define RMONAR 0xFFE80034
330 #define RCR1 0xFFE80038
331 #define RCR2 0xFFE8003C
332 #define RCR3 0xFFE80050
333 #define RYRAR 0xFFE80054
335 /* Serial Communication Interface with FIFO */
336 #define SCIF0_BASE SCSMR0
337 #define SCSMR0 0xFFE00000
338 #define SCBRR0 0xFFE00004
339 #define SCSCR0 0xFFE00008
340 #define SCFSR0 0xFFE00010
341 #define SCFCR0 0xFFE00018
342 #define SCTFDR0 0xFFE0001C
343 #define SCRFDR0 0xFFE00020
344 #define SCSPTR0 0xFFE00024
345 #define SCLSR0 0xFFE00028
346 #define SCRER0 0xFFE0002C
347 #define SCSMR1 0xFFE10000
348 #define SCBRR1 0xFFE10004
349 #define SCSCR1 0xFFE10008
350 #define SCFSR1 0xFFE10010
351 #define SCFCR1 0xFFE10018
352 #define SCTFDR1 0xFFE1001C
353 #define SCRFDR1 0xFFE10020
354 #define SCSPTR1 0xFFE10024
355 #define SCLSR1 0xFFE10028
356 #define SCRER1 0xFFE1002C
358 /* Serial I/O with FIFO */
359 #define SIMDR 0xFFE20000
360 #define SISCR 0xFFE20002
361 #define SITDAR 0xFFE20004
362 #define SIRDAR 0xFFE20006
363 #define SICDAR 0xFFE20008
364 #define SICTR 0xFFE2000C
365 #define SIFCTR 0xFFE20010
366 #define SISTR 0xFFE20014
367 #define SIIER 0xFFE20016
368 #define SITCR 0xFFE20028
369 #define SIRCR 0xFFE2002C
370 #define SPICR 0xFFE20030
372 /* Serial Protocol Interface */
373 #define SPCR 0xFFE50000
374 #define SPSR 0xFFE50004
375 #define SPSCR 0xFFE50008
376 #define SPTBR 0xFFE5000C
377 #define SPRBR 0xFFE50010
379 /* Multimedia Card Interface */
380 #define CMDR0 0xFFE60000
381 #define CMDR1 0xFFE60001
382 #define CMDR2 0xFFE60002
383 #define CMDR3 0xFFE60003
384 #define CMDR4 0xFFE60004
385 #define CMDR5 0xFFE60005
386 #define CMDSTRT 0xFFE60006
387 #define OPCR 0xFFE6000A
388 #define CSTR 0xFFE6000B
389 #define INTCR0 0xFFE6000C
390 #define INTCR1 0xFFE6000D
391 #define INTSTR0 0xFFE6000E
392 #define INTSTR1 0xFFE6000F
393 #define CLKON 0xFFE60010
394 #define CTOCR 0xFFE60011
395 #define TBCR 0xFFE60014
396 #define MODER 0xFFE60016
397 #define CMDTYR 0xFFE60018
398 #define RSPTYR 0xFFE60019
399 #define TBNCR 0xFFE6001A
400 #define RSPR0 0xFFE60020
401 #define RSPR1 0xFFE60021
402 #define RSPR2 0xFFE60022
403 #define RSPR3 0xFFE60023
404 #define RSPR4 0xFFE60024
405 #define RSPR5 0xFFE60025
406 #define RSPR6 0xFFE60026
407 #define RSPR7 0xFFE60027
408 #define RSPR8 0xFFE60028
409 #define RSPR9 0xFFE60029
410 #define RSPR10 0xFFE6002A
411 #define RSPR11 0xFFE6002B
412 #define RSPR12 0xFFE6002C
413 #define RSPR13 0xFFE6002D
414 #define RSPR14 0xFFE6002E
415 #define RSPR15 0xFFE6002F
416 #define RSPR16 0xFFE60030
417 #define RSPRD 0xFFE60031
418 #define DTOUTR 0xFFE60032
419 #define DR 0xFFE60040
420 #define DMACR 0xFFE60044
421 #define INTCR2 0xFFE60046
422 #define INTSTR2 0xFFE60048
424 /* Audio Codec Interface */
425 #define HACCR 0xFFE40008
426 #define HACCSAR 0xFFE40020
427 #define HACCSDR 0xFFE40024
428 #define HACPCML 0xFFE40028
429 #define HACPCMR 0xFFE4002C
430 #define HACTIER 0xFFE40050
431 #define HACTSR 0xFFE40054
432 #define HACRIER 0xFFE40058
433 #define HACRSR 0xFFE4005C
434 #define HACACR 0xFFE40060
436 /* Serial Sound Interface */
437 #define SSICR 0xFFE70000
438 #define SSISR 0xFFE70004
439 #define SSITDR 0xFFE70008
440 #define SSIRDR 0xFFE7000C
442 /* Flash memory Controller */
443 #define FLCMNCR 0xFFE90000
444 #define FLCMDCR 0xFFE90004
445 #define FLCMCDR 0xFFE90008
446 #define FLADR 0xFFE9000C
447 #define FLDATAR 0xFFE90010
448 #define FLDTCNTR 0xFFE90014
449 #define FLINTDMACR 0xFFE90018
450 #define FLBSYTMR 0xFFE9001C
451 #define FLBSYCNT 0xFFE90020
452 #define FLTRCR 0xFFE9002C
454 /* General Purpose I/O */
455 #define PACR 0xFFEA0000
456 #define PBCR 0xFFEA0002
457 #define PCCR 0xFFEA0004
458 #define PDCR 0xFFEA0006
459 #define PECR 0xFFEA0008
460 #define PFCR 0xFFEA000A
461 #define PGCR 0xFFEA000C
462 #define PHCR 0xFFEA000E
463 #define PJCR 0xFFEA0010
464 #define PKCR 0xFFEA0012
465 #define PLCR 0xFFEA0014
466 #define PMCR 0xFFEA0016
467 #define PADR 0xFFEA0020
468 #define PBDR 0xFFEA0022
469 #define PCDR 0xFFEA0024
470 #define PDDR 0xFFEA0026
471 #define PEDR 0xFFEA0028
472 #define PFDR 0xFFEA002A
473 #define PGDR 0xFFEA002C
474 #define PHDR 0xFFEA002E
475 #define PJDR 0xFFEA0030
476 #define PKDR 0xFFEA0032
477 #define PLDR 0xFFEA0034
478 #define PMDR 0xFFEA0036
479 #define PEPUPR 0xFFEA0048
480 #define PHPUPR 0xFFEA004E
481 #define PJPUPR 0xFFEA0050
482 #define PKPUPR 0xFFEA0052
483 #define PMPUPR 0xFFEA0056
484 #define PPUPR1 0xFFEA0060
485 #define PPUPR2 0xFFEA0062
486 #define PMSELR 0xFFEA0080
488 /* User Break Controller */
489 #define CBR0 0xFF200000
490 #define CRR0 0xFF200004
491 #define CAR0 0xFF200008
492 #define CAMR0 0xFF20000C
493 #define CBR1 0xFF200020
494 #define CRR1 0xFF200024
495 #define CAR1 0xFF200028
496 #define CAMR1 0xFF20002C
497 #define CDR1 0xFF200030
498 #define CDMR1 0xFF200034
499 #define CETR1 0xFF200038
500 #define CCMFR 0xFF200600
501 #define CBCR 0xFF200620
503 #endif /* _ASM_CPU_SH7780_H_ */