blob: 6a861bd99dce43860dc60257353c95743fa408f0 [file] [log] [blame]
Yoshihiro Shimodaf9913a82007-12-03 22:58:45 +09001/*
Mark Jonas3313e0e2008-03-10 11:37:10 +01002 * Copyright 2007 (C)
3 * Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
4 *
5 * Copyright 2008 (C)
6 * Mark Jonas <mark.jonas@de.bosch.com>
Yoshihiro Shimodaf9913a82007-12-03 22:58:45 +09007 *
8 * SH7720 Internal I/O register
9 *
Wolfgang Denk1a459662013-07-08 09:37:19 +020010 * SPDX-License-Identifier: GPL-2.0+
Yoshihiro Shimodaf9913a82007-12-03 22:58:45 +090011 */
12
13#ifndef _ASM_CPU_SH7720_H_
14#define _ASM_CPU_SH7720_H_
15
16#define CACHE_OC_NUM_WAYS 4
17#define CCR_CACHE_INIT 0x0000000B
18
19/* EXP */
20#define TRA 0xFFFFFFD0
21#define EXPEVT 0xFFFFFFD4
22#define INTEVT 0xFFFFFFD8
23
24/* MMU */
25#define MMUCR 0xFFFFFFE0
26#define PTEH 0xFFFFFFF0
27#define PTEL 0xFFFFFFF4
28#define TTB 0xFFFFFFF8
29
30/* CACHE */
31#define CCR 0xFFFFFFEC
32
33/* INTC */
34#define IPRF 0xA4080000
35#define IPRG 0xA4080002
36#define IPRH 0xA4080004
37#define IPRI 0xA4080006
38#define IPRJ 0xA4080008
39#define IRR5 0xA4080020
40#define IRR6 0xA4080022
41#define IRR7 0xA4080024
42#define IRR8 0xA4080026
43#define IRR9 0xA4080028
44#define IRR0 0xA4140004
45#define IRR1 0xA4140006
46#define IRR2 0xA4140008
47#define IRR3 0xA414000A
48#define IRR4 0xA414000C
49#define ICR1 0xA4140010
50#define ICR2 0xA4140012
51#define PINTER 0xA4140014
52#define IPRC 0xA4140016
53#define IPRD 0xA4140018
54#define IPRE 0xA414001A
55#define ICR0 0xA414FEE0
56#define IPRA 0xA414FEE2
57#define IPRB 0xA414FEE4
58
59/* BSC */
60#define BSC_BASE 0xA4FD0000
61#define CMNCR (BSC_BASE + 0x00)
62#define CS0BCR (BSC_BASE + 0x04)
63#define CS2BCR (BSC_BASE + 0x08)
64#define CS3BCR (BSC_BASE + 0x0C)
65#define CS4BCR (BSC_BASE + 0x10)
66#define CS5ABCR (BSC_BASE + 0x14)
67#define CS5BBCR (BSC_BASE + 0x18)
68#define CS6ABCR (BSC_BASE + 0x1C)
69#define CS6BBCR (BSC_BASE + 0x20)
70#define CS0WCR (BSC_BASE + 0x24)
71#define CS2WCR (BSC_BASE + 0x28)
72#define CS3WCR (BSC_BASE + 0x2C)
73#define CS4WCR (BSC_BASE + 0x30)
74#define CS5AWCR (BSC_BASE + 0x34)
75#define CS5BWCR (BSC_BASE + 0x38)
76#define CS6AWCR (BSC_BASE + 0x3C)
77#define CS6BWCR (BSC_BASE + 0x40)
78#define SDCR (BSC_BASE + 0x44)
79#define RTCSR (BSC_BASE + 0x48)
80#define RTCNR (BSC_BASE + 0x4C)
81#define RTCOR (BSC_BASE + 0x50)
82#define SDMR2 (BSC_BASE + 0x4000)
83#define SDMR3 (BSC_BASE + 0x5000)
84
85/* DMAC */
86
87/* CPG */
88#define UCLKCR 0xA40A0008
89#define FRQCR 0xA415FF80
90
91/* LOW POWER MODE */
92
93/* TMU */
94#define TMU_BASE 0xA412FE90
Yoshihiro Shimodaf9913a82007-12-03 22:58:45 +090095
96/* TPU */
97#define TPU_BASE 0xA4480000
98#define TPU_TSTR (TPU_BASE + 0x00)
99#define TPU_TCR0 (TPU_BASE + 0x10)
100#define TPU_TMDR0 (TPU_BASE + 0x14)
101#define TPU_TIOR0 (TPU_BASE + 0x18)
102#define TPU_TIER0 (TPU_BASE + 0x1C)
103#define TPU_TSR0 (TPU_BASE + 0x20)
104#define TPU_TCNT0 (TPU_BASE + 0x24)
105#define TPU_TGRA0 (TPU_BASE + 0x28)
106#define TPU_TGRB0 (TPU_BASE + 0x2C)
107#define TPU_TGRC0 (TPU_BASE + 0x30)
108#define TPU_TGRD0 (TPU_BASE + 0x34)
109#define TPU_TCR1 (TPU_BASE + 0x50)
110#define TPU_TMDR1 (TPU_BASE + 0x54)
111#define TPU_TIOR1 (TPU_BASE + 0x58)
112#define TPU_TIER1 (TPU_BASE + 0x5C)
113#define TPU_TSR1 (TPU_BASE + 0x60)
114#define TPU_TCNT1 (TPU_BASE + 0x64)
115#define TPU_TGRA1 (TPU_BASE + 0x68)
116#define TPU_TGRB1 (TPU_BASE + 0x6C)
117#define TPU_TGRC1 (TPU_BASE + 0x70)
118#define TPU_TGRD1 (TPU_BASE + 0x74)
119#define TPU_TCR2 (TPU_BASE + 0x90)
120#define TPU_TMDR2 (TPU_BASE + 0x94)
121#define TPU_TIOR2 (TPU_BASE + 0x98)
122#define TPU_TIER2 (TPU_BASE + 0x9C)
123#define TPU_TSR2 (TPU_BASE + 0xB0)
124#define TPU_TCNT2 (TPU_BASE + 0xB4)
125#define TPU_TGRA2 (TPU_BASE + 0xB8)
126#define TPU_TGRB2 (TPU_BASE + 0xBC)
127#define TPU_TGRC2 (TPU_BASE + 0xC0)
128#define TPU_TGRD2 (TPU_BASE + 0xC4)
129#define TPU_TCR3 (TPU_BASE + 0xD0)
130#define TPU_TMDR3 (TPU_BASE + 0xD4)
131#define TPU_TIOR3 (TPU_BASE + 0xD8)
132#define TPU_TIER3 (TPU_BASE + 0xDC)
133#define TPU_TSR3 (TPU_BASE + 0xE0)
134#define TPU_TCNT3 (TPU_BASE + 0xE4)
135#define TPU_TGRA3 (TPU_BASE + 0xE8)
136#define TPU_TGRB3 (TPU_BASE + 0xEC)
137#define TPU_TGRC3 (TPU_BASE + 0xF0)
138#define TPU_TGRD3 (TPU_BASE + 0xF4)
139
140/* CMT */
141
142/* SIOF */
143
144/* SCIF */
145#define SCIF0_BASE 0xA4430000
146
147/* SIM */
148
149/* IrDA */
150
151/* IIC */
152
153/* LCDC */
154
155/* USBF */
156
157/* MMCIF */
158
159/* PFC */
160#define PFC_BASE 0xA4050100
161#define PACR (PFC_BASE + 0x00)
162#define PBCR (PFC_BASE + 0x02)
163#define PCCR (PFC_BASE + 0x04)
164#define PDCR (PFC_BASE + 0x06)
165#define PECR (PFC_BASE + 0x08)
166#define PFCR (PFC_BASE + 0x0A)
167#define PGCR (PFC_BASE + 0x0C)
168#define PHCR (PFC_BASE + 0x0E)
169#define PJCR (PFC_BASE + 0x10)
170#define PKCR (PFC_BASE + 0x12)
171#define PLCR (PFC_BASE + 0x14)
172#define PMCR (PFC_BASE + 0x16)
173#define PPCR (PFC_BASE + 0x18)
174#define PRCR (PFC_BASE + 0x1A)
175#define PSCR (PFC_BASE + 0x1C)
176#define PTCR (PFC_BASE + 0x1E)
177#define PUCR (PFC_BASE + 0x20)
178#define PVCR (PFC_BASE + 0x22)
179#define PSELA (PFC_BASE + 0x24)
180#define PSELB (PFC_BASE + 0x26)
181#define PSELC (PFC_BASE + 0x28)
182#define PSELD (PFC_BASE + 0x2A)
183
184/* I/O Port */
Mark Jonas3313e0e2008-03-10 11:37:10 +0100185#define PORT_BASE 0xA4050100
186#define PADR (PORT_BASE + 0x40)
187#define PBDR (PORT_BASE + 0x42)
188#define PCDR (PORT_BASE + 0x44)
189#define PDDR (PORT_BASE + 0x46)
190#define PEDR (PORT_BASE + 0x48)
191#define PFDR (PORT_BASE + 0x4A)
192#define PGDR (PORT_BASE + 0x4C)
193#define PHDR (PORT_BASE + 0x4E)
194#define PJDR (PORT_BASE + 0x50)
195#define PKDR (PORT_BASE + 0x52)
196#define PLDR (PORT_BASE + 0x54)
197#define PMDR (PORT_BASE + 0x56)
198#define PPDR (PORT_BASE + 0x58)
199#define PRDR (PORT_BASE + 0x5A)
200#define PSDR (PORT_BASE + 0x5C)
201#define PTDR (PORT_BASE + 0x5E)
202#define PUDR (PORT_BASE + 0x60)
203#define PVDR (PORT_BASE + 0x62)
Yoshihiro Shimodaf9913a82007-12-03 22:58:45 +0900204
205/* H-UDI */
206
207#endif /* _ASM_CPU_SH7720_H_ */