xref: /openbmc/u-boot/arch/sh/include/asm/cpu_sh7720.h (revision 5794619e)
1 /*
2  * Copyright 2007 (C)
3  * Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
4  *
5  * Copyright 2008 (C)
6  * Mark Jonas <mark.jonas@de.bosch.com>
7  *
8  * SH7720 Internal I/O register
9  *
10  * This program is free software; you can redistribute it and/or
11  * modify it under the terms of the GNU General Public License as
12  * published by the Free Software Foundation; either version 2 of
13  * the License, or (at your option) any later version.
14  *
15  * This program is distributed in the hope that it will be useful,
16  * but WITHOUT ANY WARRANTY; without even the implied warranty of
17  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
18  * GNU General Public License for more details.
19  *
20  * You should have received a copy of the GNU General Public License
21  * along with this program; if not, write to the Free Software
22  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
23  * MA 02111-1307 USA
24  */
25 
26 #ifndef _ASM_CPU_SH7720_H_
27 #define _ASM_CPU_SH7720_H_
28 
29 #define CACHE_OC_NUM_WAYS	4
30 #define CCR_CACHE_INIT		0x0000000B
31 
32 /*	EXP	*/
33 #define TRA		0xFFFFFFD0
34 #define EXPEVT		0xFFFFFFD4
35 #define INTEVT		0xFFFFFFD8
36 
37 /*	MMU	*/
38 #define MMUCR		0xFFFFFFE0
39 #define PTEH		0xFFFFFFF0
40 #define PTEL		0xFFFFFFF4
41 #define TTB		0xFFFFFFF8
42 
43 /*	CACHE	*/
44 #define CCR		0xFFFFFFEC
45 
46 /*	INTC	*/
47 #define IPRF		0xA4080000
48 #define IPRG		0xA4080002
49 #define IPRH		0xA4080004
50 #define IPRI		0xA4080006
51 #define IPRJ		0xA4080008
52 #define IRR5		0xA4080020
53 #define IRR6		0xA4080022
54 #define IRR7		0xA4080024
55 #define IRR8		0xA4080026
56 #define IRR9		0xA4080028
57 #define IRR0		0xA4140004
58 #define IRR1		0xA4140006
59 #define IRR2		0xA4140008
60 #define IRR3		0xA414000A
61 #define IRR4		0xA414000C
62 #define ICR1		0xA4140010
63 #define ICR2		0xA4140012
64 #define PINTER		0xA4140014
65 #define IPRC		0xA4140016
66 #define IPRD		0xA4140018
67 #define IPRE		0xA414001A
68 #define ICR0		0xA414FEE0
69 #define IPRA		0xA414FEE2
70 #define IPRB		0xA414FEE4
71 
72 /*	BSC	*/
73 #define BSC_BASE	0xA4FD0000
74 #define CMNCR		(BSC_BASE + 0x00)
75 #define CS0BCR		(BSC_BASE + 0x04)
76 #define CS2BCR		(BSC_BASE + 0x08)
77 #define CS3BCR		(BSC_BASE + 0x0C)
78 #define CS4BCR		(BSC_BASE + 0x10)
79 #define CS5ABCR		(BSC_BASE + 0x14)
80 #define CS5BBCR		(BSC_BASE + 0x18)
81 #define CS6ABCR		(BSC_BASE + 0x1C)
82 #define CS6BBCR		(BSC_BASE + 0x20)
83 #define CS0WCR		(BSC_BASE + 0x24)
84 #define CS2WCR		(BSC_BASE + 0x28)
85 #define CS3WCR		(BSC_BASE + 0x2C)
86 #define CS4WCR		(BSC_BASE + 0x30)
87 #define CS5AWCR		(BSC_BASE + 0x34)
88 #define CS5BWCR		(BSC_BASE + 0x38)
89 #define CS6AWCR		(BSC_BASE + 0x3C)
90 #define CS6BWCR		(BSC_BASE + 0x40)
91 #define SDCR		(BSC_BASE + 0x44)
92 #define RTCSR		(BSC_BASE + 0x48)
93 #define RTCNR		(BSC_BASE + 0x4C)
94 #define RTCOR		(BSC_BASE + 0x50)
95 #define SDMR2		(BSC_BASE + 0x4000)
96 #define SDMR3		(BSC_BASE + 0x5000)
97 
98 /*	DMAC	*/
99 
100 /*	CPG	*/
101 #define UCLKCR		0xA40A0008
102 #define FRQCR		0xA415FF80
103 
104 /*	LOW POWER MODE	*/
105 
106 /*	TMU	*/
107 #define TMU_BASE	0xA412FE90
108 #define TSTR		(TMU_BASE + 0x02)
109 #define TCOR0		(TMU_BASE + 0x04)
110 #define TCNT0		(TMU_BASE + 0x08)
111 #define TCR0		(TMU_BASE + 0x0C)
112 #define TCOR1		(TMU_BASE + 0x10)
113 #define TCNT1		(TMU_BASE + 0x14)
114 #define TCR1		(TMU_BASE + 0x18)
115 #define TCOR2		(TMU_BASE + 0x1C)
116 #define TCNT2		(TMU_BASE + 0x20)
117 #define TCR2		(TMU_BASE + 0x24)
118 
119 /*	TPU	*/
120 #define TPU_BASE	0xA4480000
121 #define TPU_TSTR	(TPU_BASE + 0x00)
122 #define TPU_TCR0	(TPU_BASE + 0x10)
123 #define TPU_TMDR0	(TPU_BASE + 0x14)
124 #define TPU_TIOR0	(TPU_BASE + 0x18)
125 #define TPU_TIER0	(TPU_BASE + 0x1C)
126 #define TPU_TSR0	(TPU_BASE + 0x20)
127 #define TPU_TCNT0	(TPU_BASE + 0x24)
128 #define TPU_TGRA0	(TPU_BASE + 0x28)
129 #define TPU_TGRB0	(TPU_BASE + 0x2C)
130 #define TPU_TGRC0	(TPU_BASE + 0x30)
131 #define TPU_TGRD0	(TPU_BASE + 0x34)
132 #define TPU_TCR1	(TPU_BASE + 0x50)
133 #define TPU_TMDR1	(TPU_BASE + 0x54)
134 #define TPU_TIOR1	(TPU_BASE + 0x58)
135 #define TPU_TIER1	(TPU_BASE + 0x5C)
136 #define TPU_TSR1	(TPU_BASE + 0x60)
137 #define TPU_TCNT1	(TPU_BASE + 0x64)
138 #define TPU_TGRA1	(TPU_BASE + 0x68)
139 #define TPU_TGRB1	(TPU_BASE + 0x6C)
140 #define TPU_TGRC1	(TPU_BASE + 0x70)
141 #define TPU_TGRD1	(TPU_BASE + 0x74)
142 #define TPU_TCR2	(TPU_BASE + 0x90)
143 #define TPU_TMDR2	(TPU_BASE + 0x94)
144 #define TPU_TIOR2	(TPU_BASE + 0x98)
145 #define TPU_TIER2	(TPU_BASE + 0x9C)
146 #define TPU_TSR2	(TPU_BASE + 0xB0)
147 #define TPU_TCNT2	(TPU_BASE + 0xB4)
148 #define TPU_TGRA2	(TPU_BASE + 0xB8)
149 #define TPU_TGRB2	(TPU_BASE + 0xBC)
150 #define TPU_TGRC2	(TPU_BASE + 0xC0)
151 #define TPU_TGRD2	(TPU_BASE + 0xC4)
152 #define TPU_TCR3	(TPU_BASE + 0xD0)
153 #define TPU_TMDR3	(TPU_BASE + 0xD4)
154 #define TPU_TIOR3	(TPU_BASE + 0xD8)
155 #define TPU_TIER3	(TPU_BASE + 0xDC)
156 #define TPU_TSR3	(TPU_BASE + 0xE0)
157 #define TPU_TCNT3	(TPU_BASE + 0xE4)
158 #define TPU_TGRA3	(TPU_BASE + 0xE8)
159 #define TPU_TGRB3	(TPU_BASE + 0xEC)
160 #define TPU_TGRC3	(TPU_BASE + 0xF0)
161 #define TPU_TGRD3	(TPU_BASE + 0xF4)
162 
163 /*	CMT	*/
164 
165 /*	SIOF	*/
166 
167 /*	SCIF	*/
168 #define SCIF0_BASE	0xA4430000
169 
170 /*	SIM	*/
171 
172 /*	IrDA	*/
173 
174 /*	IIC	*/
175 
176 /*	LCDC	*/
177 
178 /*	USBF	*/
179 
180 /*	MMCIF	*/
181 
182 /*	PFC	*/
183 #define PFC_BASE	0xA4050100
184 #define PACR		(PFC_BASE + 0x00)
185 #define PBCR		(PFC_BASE + 0x02)
186 #define PCCR		(PFC_BASE + 0x04)
187 #define PDCR		(PFC_BASE + 0x06)
188 #define PECR		(PFC_BASE + 0x08)
189 #define PFCR		(PFC_BASE + 0x0A)
190 #define PGCR		(PFC_BASE + 0x0C)
191 #define PHCR		(PFC_BASE + 0x0E)
192 #define PJCR		(PFC_BASE + 0x10)
193 #define PKCR		(PFC_BASE + 0x12)
194 #define PLCR		(PFC_BASE + 0x14)
195 #define PMCR		(PFC_BASE + 0x16)
196 #define PPCR		(PFC_BASE + 0x18)
197 #define PRCR		(PFC_BASE + 0x1A)
198 #define PSCR		(PFC_BASE + 0x1C)
199 #define PTCR		(PFC_BASE + 0x1E)
200 #define PUCR		(PFC_BASE + 0x20)
201 #define PVCR		(PFC_BASE + 0x22)
202 #define PSELA		(PFC_BASE + 0x24)
203 #define PSELB		(PFC_BASE + 0x26)
204 #define PSELC		(PFC_BASE + 0x28)
205 #define PSELD		(PFC_BASE + 0x2A)
206 
207 /*	I/O Port	*/
208 #define PORT_BASE	0xA4050100
209 #define PADR		(PORT_BASE + 0x40)
210 #define PBDR		(PORT_BASE + 0x42)
211 #define PCDR		(PORT_BASE + 0x44)
212 #define PDDR		(PORT_BASE + 0x46)
213 #define PEDR		(PORT_BASE + 0x48)
214 #define PFDR		(PORT_BASE + 0x4A)
215 #define PGDR		(PORT_BASE + 0x4C)
216 #define PHDR		(PORT_BASE + 0x4E)
217 #define PJDR		(PORT_BASE + 0x50)
218 #define PKDR		(PORT_BASE + 0x52)
219 #define PLDR		(PORT_BASE + 0x54)
220 #define PMDR		(PORT_BASE + 0x56)
221 #define PPDR		(PORT_BASE + 0x58)
222 #define PRDR		(PORT_BASE + 0x5A)
223 #define PSDR		(PORT_BASE + 0x5C)
224 #define PTDR		(PORT_BASE + 0x5E)
225 #define PUDR		(PORT_BASE + 0x60)
226 #define PVDR		(PORT_BASE + 0x62)
227 
228 /*	H-UDI	*/
229 
230 #endif /* _ASM_CPU_SH7720_H_ */
231