xref: /openbmc/u-boot/arch/sh/include/asm/cpu_sh7720.h (revision e8f80a5a)
1*83d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */
2819833afSPeter Tyser /*
3819833afSPeter Tyser  * Copyright 2007 (C)
4819833afSPeter Tyser  * Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
5819833afSPeter Tyser  *
6819833afSPeter Tyser  * Copyright 2008 (C)
7819833afSPeter Tyser  * Mark Jonas <mark.jonas@de.bosch.com>
8819833afSPeter Tyser  *
9819833afSPeter Tyser  * SH7720 Internal I/O register
10819833afSPeter Tyser  */
11819833afSPeter Tyser 
12819833afSPeter Tyser #ifndef _ASM_CPU_SH7720_H_
13819833afSPeter Tyser #define _ASM_CPU_SH7720_H_
14819833afSPeter Tyser 
15819833afSPeter Tyser #define CACHE_OC_NUM_WAYS	4
16819833afSPeter Tyser #define CCR_CACHE_INIT		0x0000000B
17819833afSPeter Tyser 
18819833afSPeter Tyser /*	EXP	*/
19819833afSPeter Tyser #define TRA		0xFFFFFFD0
20819833afSPeter Tyser #define EXPEVT		0xFFFFFFD4
21819833afSPeter Tyser #define INTEVT		0xFFFFFFD8
22819833afSPeter Tyser 
23819833afSPeter Tyser /*	MMU	*/
24819833afSPeter Tyser #define MMUCR		0xFFFFFFE0
25819833afSPeter Tyser #define PTEH		0xFFFFFFF0
26819833afSPeter Tyser #define PTEL		0xFFFFFFF4
27819833afSPeter Tyser #define TTB		0xFFFFFFF8
28819833afSPeter Tyser 
29819833afSPeter Tyser /*	CACHE	*/
30819833afSPeter Tyser #define CCR		0xFFFFFFEC
31819833afSPeter Tyser 
32819833afSPeter Tyser /*	INTC	*/
33819833afSPeter Tyser #define IPRF		0xA4080000
34819833afSPeter Tyser #define IPRG		0xA4080002
35819833afSPeter Tyser #define IPRH		0xA4080004
36819833afSPeter Tyser #define IPRI		0xA4080006
37819833afSPeter Tyser #define IPRJ		0xA4080008
38819833afSPeter Tyser #define IRR5		0xA4080020
39819833afSPeter Tyser #define IRR6		0xA4080022
40819833afSPeter Tyser #define IRR7		0xA4080024
41819833afSPeter Tyser #define IRR8		0xA4080026
42819833afSPeter Tyser #define IRR9		0xA4080028
43819833afSPeter Tyser #define IRR0		0xA4140004
44819833afSPeter Tyser #define IRR1		0xA4140006
45819833afSPeter Tyser #define IRR2		0xA4140008
46819833afSPeter Tyser #define IRR3		0xA414000A
47819833afSPeter Tyser #define IRR4		0xA414000C
48819833afSPeter Tyser #define ICR1		0xA4140010
49819833afSPeter Tyser #define ICR2		0xA4140012
50819833afSPeter Tyser #define PINTER		0xA4140014
51819833afSPeter Tyser #define IPRC		0xA4140016
52819833afSPeter Tyser #define IPRD		0xA4140018
53819833afSPeter Tyser #define IPRE		0xA414001A
54819833afSPeter Tyser #define ICR0		0xA414FEE0
55819833afSPeter Tyser #define IPRA		0xA414FEE2
56819833afSPeter Tyser #define IPRB		0xA414FEE4
57819833afSPeter Tyser 
58819833afSPeter Tyser /*	BSC	*/
59819833afSPeter Tyser #define BSC_BASE	0xA4FD0000
60819833afSPeter Tyser #define CMNCR		(BSC_BASE + 0x00)
61819833afSPeter Tyser #define CS0BCR		(BSC_BASE + 0x04)
62819833afSPeter Tyser #define CS2BCR		(BSC_BASE + 0x08)
63819833afSPeter Tyser #define CS3BCR		(BSC_BASE + 0x0C)
64819833afSPeter Tyser #define CS4BCR		(BSC_BASE + 0x10)
65819833afSPeter Tyser #define CS5ABCR		(BSC_BASE + 0x14)
66819833afSPeter Tyser #define CS5BBCR		(BSC_BASE + 0x18)
67819833afSPeter Tyser #define CS6ABCR		(BSC_BASE + 0x1C)
68819833afSPeter Tyser #define CS6BBCR		(BSC_BASE + 0x20)
69819833afSPeter Tyser #define CS0WCR		(BSC_BASE + 0x24)
70819833afSPeter Tyser #define CS2WCR		(BSC_BASE + 0x28)
71819833afSPeter Tyser #define CS3WCR		(BSC_BASE + 0x2C)
72819833afSPeter Tyser #define CS4WCR		(BSC_BASE + 0x30)
73819833afSPeter Tyser #define CS5AWCR		(BSC_BASE + 0x34)
74819833afSPeter Tyser #define CS5BWCR		(BSC_BASE + 0x38)
75819833afSPeter Tyser #define CS6AWCR		(BSC_BASE + 0x3C)
76819833afSPeter Tyser #define CS6BWCR		(BSC_BASE + 0x40)
77819833afSPeter Tyser #define SDCR		(BSC_BASE + 0x44)
78819833afSPeter Tyser #define RTCSR		(BSC_BASE + 0x48)
79819833afSPeter Tyser #define RTCNR		(BSC_BASE + 0x4C)
80819833afSPeter Tyser #define RTCOR		(BSC_BASE + 0x50)
81819833afSPeter Tyser #define SDMR2		(BSC_BASE + 0x4000)
82819833afSPeter Tyser #define SDMR3		(BSC_BASE + 0x5000)
83819833afSPeter Tyser 
84819833afSPeter Tyser /*	DMAC	*/
85819833afSPeter Tyser 
86819833afSPeter Tyser /*	CPG	*/
87819833afSPeter Tyser #define UCLKCR		0xA40A0008
88819833afSPeter Tyser #define FRQCR		0xA415FF80
89819833afSPeter Tyser 
90819833afSPeter Tyser /*	LOW POWER MODE	*/
91819833afSPeter Tyser 
92819833afSPeter Tyser /*	TMU	*/
93819833afSPeter Tyser #define TMU_BASE	0xA412FE90
94819833afSPeter Tyser 
95819833afSPeter Tyser /*	TPU	*/
96819833afSPeter Tyser #define TPU_BASE	0xA4480000
97819833afSPeter Tyser #define TPU_TSTR	(TPU_BASE + 0x00)
98819833afSPeter Tyser #define TPU_TCR0	(TPU_BASE + 0x10)
99819833afSPeter Tyser #define TPU_TMDR0	(TPU_BASE + 0x14)
100819833afSPeter Tyser #define TPU_TIOR0	(TPU_BASE + 0x18)
101819833afSPeter Tyser #define TPU_TIER0	(TPU_BASE + 0x1C)
102819833afSPeter Tyser #define TPU_TSR0	(TPU_BASE + 0x20)
103819833afSPeter Tyser #define TPU_TCNT0	(TPU_BASE + 0x24)
104819833afSPeter Tyser #define TPU_TGRA0	(TPU_BASE + 0x28)
105819833afSPeter Tyser #define TPU_TGRB0	(TPU_BASE + 0x2C)
106819833afSPeter Tyser #define TPU_TGRC0	(TPU_BASE + 0x30)
107819833afSPeter Tyser #define TPU_TGRD0	(TPU_BASE + 0x34)
108819833afSPeter Tyser #define TPU_TCR1	(TPU_BASE + 0x50)
109819833afSPeter Tyser #define TPU_TMDR1	(TPU_BASE + 0x54)
110819833afSPeter Tyser #define TPU_TIOR1	(TPU_BASE + 0x58)
111819833afSPeter Tyser #define TPU_TIER1	(TPU_BASE + 0x5C)
112819833afSPeter Tyser #define TPU_TSR1	(TPU_BASE + 0x60)
113819833afSPeter Tyser #define TPU_TCNT1	(TPU_BASE + 0x64)
114819833afSPeter Tyser #define TPU_TGRA1	(TPU_BASE + 0x68)
115819833afSPeter Tyser #define TPU_TGRB1	(TPU_BASE + 0x6C)
116819833afSPeter Tyser #define TPU_TGRC1	(TPU_BASE + 0x70)
117819833afSPeter Tyser #define TPU_TGRD1	(TPU_BASE + 0x74)
118819833afSPeter Tyser #define TPU_TCR2	(TPU_BASE + 0x90)
119819833afSPeter Tyser #define TPU_TMDR2	(TPU_BASE + 0x94)
120819833afSPeter Tyser #define TPU_TIOR2	(TPU_BASE + 0x98)
121819833afSPeter Tyser #define TPU_TIER2	(TPU_BASE + 0x9C)
122819833afSPeter Tyser #define TPU_TSR2	(TPU_BASE + 0xB0)
123819833afSPeter Tyser #define TPU_TCNT2	(TPU_BASE + 0xB4)
124819833afSPeter Tyser #define TPU_TGRA2	(TPU_BASE + 0xB8)
125819833afSPeter Tyser #define TPU_TGRB2	(TPU_BASE + 0xBC)
126819833afSPeter Tyser #define TPU_TGRC2	(TPU_BASE + 0xC0)
127819833afSPeter Tyser #define TPU_TGRD2	(TPU_BASE + 0xC4)
128819833afSPeter Tyser #define TPU_TCR3	(TPU_BASE + 0xD0)
129819833afSPeter Tyser #define TPU_TMDR3	(TPU_BASE + 0xD4)
130819833afSPeter Tyser #define TPU_TIOR3	(TPU_BASE + 0xD8)
131819833afSPeter Tyser #define TPU_TIER3	(TPU_BASE + 0xDC)
132819833afSPeter Tyser #define TPU_TSR3	(TPU_BASE + 0xE0)
133819833afSPeter Tyser #define TPU_TCNT3	(TPU_BASE + 0xE4)
134819833afSPeter Tyser #define TPU_TGRA3	(TPU_BASE + 0xE8)
135819833afSPeter Tyser #define TPU_TGRB3	(TPU_BASE + 0xEC)
136819833afSPeter Tyser #define TPU_TGRC3	(TPU_BASE + 0xF0)
137819833afSPeter Tyser #define TPU_TGRD3	(TPU_BASE + 0xF4)
138819833afSPeter Tyser 
139819833afSPeter Tyser /*	CMT	*/
140819833afSPeter Tyser 
141819833afSPeter Tyser /*	SIOF	*/
142819833afSPeter Tyser 
143819833afSPeter Tyser /*	SCIF	*/
144819833afSPeter Tyser #define SCIF0_BASE	0xA4430000
145819833afSPeter Tyser 
146819833afSPeter Tyser /*	SIM	*/
147819833afSPeter Tyser 
148819833afSPeter Tyser /*	IrDA	*/
149819833afSPeter Tyser 
150819833afSPeter Tyser /*	IIC	*/
151819833afSPeter Tyser 
152819833afSPeter Tyser /*	LCDC	*/
153819833afSPeter Tyser 
154819833afSPeter Tyser /*	USBF	*/
155819833afSPeter Tyser 
156819833afSPeter Tyser /*	MMCIF	*/
157819833afSPeter Tyser 
158819833afSPeter Tyser /*	PFC	*/
159819833afSPeter Tyser #define PFC_BASE	0xA4050100
160819833afSPeter Tyser #define PACR		(PFC_BASE + 0x00)
161819833afSPeter Tyser #define PBCR		(PFC_BASE + 0x02)
162819833afSPeter Tyser #define PCCR		(PFC_BASE + 0x04)
163819833afSPeter Tyser #define PDCR		(PFC_BASE + 0x06)
164819833afSPeter Tyser #define PECR		(PFC_BASE + 0x08)
165819833afSPeter Tyser #define PFCR		(PFC_BASE + 0x0A)
166819833afSPeter Tyser #define PGCR		(PFC_BASE + 0x0C)
167819833afSPeter Tyser #define PHCR		(PFC_BASE + 0x0E)
168819833afSPeter Tyser #define PJCR		(PFC_BASE + 0x10)
169819833afSPeter Tyser #define PKCR		(PFC_BASE + 0x12)
170819833afSPeter Tyser #define PLCR		(PFC_BASE + 0x14)
171819833afSPeter Tyser #define PMCR		(PFC_BASE + 0x16)
172819833afSPeter Tyser #define PPCR		(PFC_BASE + 0x18)
173819833afSPeter Tyser #define PRCR		(PFC_BASE + 0x1A)
174819833afSPeter Tyser #define PSCR		(PFC_BASE + 0x1C)
175819833afSPeter Tyser #define PTCR		(PFC_BASE + 0x1E)
176819833afSPeter Tyser #define PUCR		(PFC_BASE + 0x20)
177819833afSPeter Tyser #define PVCR		(PFC_BASE + 0x22)
178819833afSPeter Tyser #define PSELA		(PFC_BASE + 0x24)
179819833afSPeter Tyser #define PSELB		(PFC_BASE + 0x26)
180819833afSPeter Tyser #define PSELC		(PFC_BASE + 0x28)
181819833afSPeter Tyser #define PSELD		(PFC_BASE + 0x2A)
182819833afSPeter Tyser 
183819833afSPeter Tyser /*	I/O Port	*/
184819833afSPeter Tyser #define PORT_BASE	0xA4050100
185819833afSPeter Tyser #define PADR		(PORT_BASE + 0x40)
186819833afSPeter Tyser #define PBDR		(PORT_BASE + 0x42)
187819833afSPeter Tyser #define PCDR		(PORT_BASE + 0x44)
188819833afSPeter Tyser #define PDDR		(PORT_BASE + 0x46)
189819833afSPeter Tyser #define PEDR		(PORT_BASE + 0x48)
190819833afSPeter Tyser #define PFDR		(PORT_BASE + 0x4A)
191819833afSPeter Tyser #define PGDR		(PORT_BASE + 0x4C)
192819833afSPeter Tyser #define PHDR		(PORT_BASE + 0x4E)
193819833afSPeter Tyser #define PJDR		(PORT_BASE + 0x50)
194819833afSPeter Tyser #define PKDR		(PORT_BASE + 0x52)
195819833afSPeter Tyser #define PLDR		(PORT_BASE + 0x54)
196819833afSPeter Tyser #define PMDR		(PORT_BASE + 0x56)
197819833afSPeter Tyser #define PPDR		(PORT_BASE + 0x58)
198819833afSPeter Tyser #define PRDR		(PORT_BASE + 0x5A)
199819833afSPeter Tyser #define PSDR		(PORT_BASE + 0x5C)
200819833afSPeter Tyser #define PTDR		(PORT_BASE + 0x5E)
201819833afSPeter Tyser #define PUDR		(PORT_BASE + 0x60)
202819833afSPeter Tyser #define PVDR		(PORT_BASE + 0x62)
203819833afSPeter Tyser 
204819833afSPeter Tyser /*	H-UDI	*/
205819833afSPeter Tyser 
206819833afSPeter Tyser #endif /* _ASM_CPU_SH7720_H_ */
207