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