xref: /rk3399_rockchip-uboot/board/ms7720se/lowlevel_init.S (revision b2b5e2bb78a1ef4ae8504f5a26bfdc3293ea74ae)
1*b2b5e2bbSYoshihiro Shimoda/*
2*b2b5e2bbSYoshihiro Shimoda * (C) Copyright 2007
3*b2b5e2bbSYoshihiro Shimoda * Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
4*b2b5e2bbSYoshihiro Shimoda *
5*b2b5e2bbSYoshihiro Shimoda * This program is free software; you can redistribute it and/or
6*b2b5e2bbSYoshihiro Shimoda * modify it under the terms of the GNU General Public License as
7*b2b5e2bbSYoshihiro Shimoda * published by the Free Software Foundation; either version 2 of
8*b2b5e2bbSYoshihiro Shimoda * the License, or (at your option) any later version.
9*b2b5e2bbSYoshihiro Shimoda *
10*b2b5e2bbSYoshihiro Shimoda * This program is distributed in the hope that it will be useful,
11*b2b5e2bbSYoshihiro Shimoda * but WITHOUT ANY WARRANTY; without even the implied warranty of
12*b2b5e2bbSYoshihiro Shimoda * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13*b2b5e2bbSYoshihiro Shimoda * GNU General Public License for more details.
14*b2b5e2bbSYoshihiro Shimoda *
15*b2b5e2bbSYoshihiro Shimoda * You should have received a copy of the GNU General Public License
16*b2b5e2bbSYoshihiro Shimoda * along with this program; if not, write to the Free Software
17*b2b5e2bbSYoshihiro Shimoda * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
18*b2b5e2bbSYoshihiro Shimoda * MA 02111-1307 USA
19*b2b5e2bbSYoshihiro Shimoda */
20*b2b5e2bbSYoshihiro Shimoda
21*b2b5e2bbSYoshihiro Shimoda	.global	lowlevel_init
22*b2b5e2bbSYoshihiro Shimoda
23*b2b5e2bbSYoshihiro Shimoda	.text
24*b2b5e2bbSYoshihiro Shimoda	.align	2
25*b2b5e2bbSYoshihiro Shimoda
26*b2b5e2bbSYoshihiro Shimodalowlevel_init:
27*b2b5e2bbSYoshihiro Shimoda
28*b2b5e2bbSYoshihiro Shimoda	mov.l	WTCSR_A,r1
29*b2b5e2bbSYoshihiro Shimoda	mov.l	WTCSR_D,r0
30*b2b5e2bbSYoshihiro Shimoda	mov.w	r0,@r1
31*b2b5e2bbSYoshihiro Shimoda
32*b2b5e2bbSYoshihiro Shimoda	mov.l	WTCNT_A,r1
33*b2b5e2bbSYoshihiro Shimoda	mov.l	WTCNT_D,r0
34*b2b5e2bbSYoshihiro Shimoda	mov.w	r0,@r1
35*b2b5e2bbSYoshihiro Shimoda
36*b2b5e2bbSYoshihiro Shimoda	mov.l	FRQCR_A,r1
37*b2b5e2bbSYoshihiro Shimoda	mov.l	FRQCR_D,r0
38*b2b5e2bbSYoshihiro Shimoda	mov.w	r0,@r1
39*b2b5e2bbSYoshihiro Shimoda
40*b2b5e2bbSYoshihiro Shimoda	mov.l	UCLKCR_A,r1
41*b2b5e2bbSYoshihiro Shimoda	mov.l	UCLKCR_D,r0
42*b2b5e2bbSYoshihiro Shimoda	mov.w	r0,@r1
43*b2b5e2bbSYoshihiro Shimoda
44*b2b5e2bbSYoshihiro Shimoda	mov.l	CMNCR_A, r1
45*b2b5e2bbSYoshihiro Shimoda	mov.l	CMNCR_D, r0
46*b2b5e2bbSYoshihiro Shimoda	mov.l	r0, @r1
47*b2b5e2bbSYoshihiro Shimoda
48*b2b5e2bbSYoshihiro Shimoda	mov.l	CS0BCR_A, r1
49*b2b5e2bbSYoshihiro Shimoda	mov.l	CS0BCR_D, r0
50*b2b5e2bbSYoshihiro Shimoda	mov.l	r0, @r1
51*b2b5e2bbSYoshihiro Shimoda
52*b2b5e2bbSYoshihiro Shimoda	mov.l	CS2BCR_A, r1
53*b2b5e2bbSYoshihiro Shimoda	mov.l	CS2BCR_D, r0
54*b2b5e2bbSYoshihiro Shimoda	mov.l	r0, @r1
55*b2b5e2bbSYoshihiro Shimoda
56*b2b5e2bbSYoshihiro Shimoda	mov.l	CS3BCR_A, r1
57*b2b5e2bbSYoshihiro Shimoda	mov.l	CS3BCR_D, r0
58*b2b5e2bbSYoshihiro Shimoda	mov.l	r0, @r1
59*b2b5e2bbSYoshihiro Shimoda
60*b2b5e2bbSYoshihiro Shimoda	mov.l	CS4BCR_A, r1
61*b2b5e2bbSYoshihiro Shimoda	mov.l	CS4BCR_D, r0
62*b2b5e2bbSYoshihiro Shimoda	mov.l	r0, @r1
63*b2b5e2bbSYoshihiro Shimoda
64*b2b5e2bbSYoshihiro Shimoda	mov.l	CS5ABCR_A, r1
65*b2b5e2bbSYoshihiro Shimoda	mov.l	CS5ABCR_D, r0
66*b2b5e2bbSYoshihiro Shimoda	mov.l	r0, @r1
67*b2b5e2bbSYoshihiro Shimoda
68*b2b5e2bbSYoshihiro Shimoda	mov.l	CS5BBCR_A, r1
69*b2b5e2bbSYoshihiro Shimoda	mov.l	CS5BBCR_D, r0
70*b2b5e2bbSYoshihiro Shimoda	mov.l	r0, @r1
71*b2b5e2bbSYoshihiro Shimoda
72*b2b5e2bbSYoshihiro Shimoda	mov.l	CS6ABCR_A, r1
73*b2b5e2bbSYoshihiro Shimoda	mov.l	CS6ABCR_D, r0
74*b2b5e2bbSYoshihiro Shimoda	mov.l	r0, @r1
75*b2b5e2bbSYoshihiro Shimoda
76*b2b5e2bbSYoshihiro Shimoda	mov.l	CS6BBCR_A, r1
77*b2b5e2bbSYoshihiro Shimoda	mov.l	CS6BBCR_D, r0
78*b2b5e2bbSYoshihiro Shimoda	mov.l	r0, @r1
79*b2b5e2bbSYoshihiro Shimoda
80*b2b5e2bbSYoshihiro Shimoda	mov.l	CS0WCR_A, r1
81*b2b5e2bbSYoshihiro Shimoda	mov.l	CS0WCR_D, r0
82*b2b5e2bbSYoshihiro Shimoda	mov.l	r0, @r1
83*b2b5e2bbSYoshihiro Shimoda
84*b2b5e2bbSYoshihiro Shimoda	mov.l	CS2WCR_A, r1
85*b2b5e2bbSYoshihiro Shimoda	mov.l	CS2WCR_D, r0
86*b2b5e2bbSYoshihiro Shimoda	mov.l	r0, @r1
87*b2b5e2bbSYoshihiro Shimoda
88*b2b5e2bbSYoshihiro Shimoda	mov.l	CS3WCR_A, r1
89*b2b5e2bbSYoshihiro Shimoda	mov.l	CS3WCR_D, r0
90*b2b5e2bbSYoshihiro Shimoda	mov.l	r0, @r1
91*b2b5e2bbSYoshihiro Shimoda
92*b2b5e2bbSYoshihiro Shimoda	mov.l	CS4WCR_A, r1
93*b2b5e2bbSYoshihiro Shimoda	mov.l	CS4WCR_D, r0
94*b2b5e2bbSYoshihiro Shimoda	mov.l	r0, @r1
95*b2b5e2bbSYoshihiro Shimoda
96*b2b5e2bbSYoshihiro Shimoda	mov.l	CS5AWCR_A, r1
97*b2b5e2bbSYoshihiro Shimoda	mov.l	CS5AWCR_D, r0
98*b2b5e2bbSYoshihiro Shimoda	mov.l	r0, @r1
99*b2b5e2bbSYoshihiro Shimoda
100*b2b5e2bbSYoshihiro Shimoda	mov.l	CS5BWCR_A, r1
101*b2b5e2bbSYoshihiro Shimoda	mov.l	CS5BWCR_D, r0
102*b2b5e2bbSYoshihiro Shimoda	mov.l	r0, @r1
103*b2b5e2bbSYoshihiro Shimoda
104*b2b5e2bbSYoshihiro Shimoda	mov.l	CS6AWCR_A, r1
105*b2b5e2bbSYoshihiro Shimoda	mov.l	CS6AWCR_D, r0
106*b2b5e2bbSYoshihiro Shimoda	mov.l	r0, @r1
107*b2b5e2bbSYoshihiro Shimoda
108*b2b5e2bbSYoshihiro Shimoda	mov.l	CS6BWCR_A, r1
109*b2b5e2bbSYoshihiro Shimoda	mov.l	CS6BWCR_D, r0
110*b2b5e2bbSYoshihiro Shimoda	mov.l	r0, @r1
111*b2b5e2bbSYoshihiro Shimoda
112*b2b5e2bbSYoshihiro Shimoda	mov.l	SDCR_A, r1
113*b2b5e2bbSYoshihiro Shimoda	mov.l	SDCR_D1, r0
114*b2b5e2bbSYoshihiro Shimoda	mov.l	r0, @r1
115*b2b5e2bbSYoshihiro Shimoda
116*b2b5e2bbSYoshihiro Shimoda	mov.l	RTCSR_A, r1
117*b2b5e2bbSYoshihiro Shimoda	mov.l	RTCSR_D, r0
118*b2b5e2bbSYoshihiro Shimoda	mov.l	r0, @r1
119*b2b5e2bbSYoshihiro Shimoda
120*b2b5e2bbSYoshihiro Shimoda	mov.l	RTCNT_A, r1
121*b2b5e2bbSYoshihiro Shimoda	mov.l	RTCNT_D, r0
122*b2b5e2bbSYoshihiro Shimoda	mov.l	r0, @r1
123*b2b5e2bbSYoshihiro Shimoda
124*b2b5e2bbSYoshihiro Shimoda	mov.l	RTCOR_A, r1
125*b2b5e2bbSYoshihiro Shimoda	mov.l	RTCOR_D, r0
126*b2b5e2bbSYoshihiro Shimoda	mov.l	r0, @r1
127*b2b5e2bbSYoshihiro Shimoda
128*b2b5e2bbSYoshihiro Shimoda	mov.l	SDCR_A, r1
129*b2b5e2bbSYoshihiro Shimoda	mov.l	SDCR_D2, r0
130*b2b5e2bbSYoshihiro Shimoda	mov.l	r0, @r1
131*b2b5e2bbSYoshihiro Shimoda
132*b2b5e2bbSYoshihiro Shimoda	mov.l	SDMR3_A, r1
133*b2b5e2bbSYoshihiro Shimoda	mov.l	SDMR3_D, r0
134*b2b5e2bbSYoshihiro Shimoda	mov.w	r0, @r1
135*b2b5e2bbSYoshihiro Shimoda
136*b2b5e2bbSYoshihiro Shimoda	mov.l	PCCR_A, r1
137*b2b5e2bbSYoshihiro Shimoda	mov.l	PCCR_D, r0
138*b2b5e2bbSYoshihiro Shimoda	mov.w	r0, @r1
139*b2b5e2bbSYoshihiro Shimoda
140*b2b5e2bbSYoshihiro Shimoda	mov.l	PDCR_A, r1
141*b2b5e2bbSYoshihiro Shimoda	mov.l	PDCR_D, r0
142*b2b5e2bbSYoshihiro Shimoda	mov.w	r0, @r1
143*b2b5e2bbSYoshihiro Shimoda
144*b2b5e2bbSYoshihiro Shimoda	mov.l	PECR_A, r1
145*b2b5e2bbSYoshihiro Shimoda	mov.l	PECR_D, r0
146*b2b5e2bbSYoshihiro Shimoda	mov.w	r0, @r1
147*b2b5e2bbSYoshihiro Shimoda
148*b2b5e2bbSYoshihiro Shimoda	mov.l	PGCR_A, r1
149*b2b5e2bbSYoshihiro Shimoda	mov.l	PGCR_D, r0
150*b2b5e2bbSYoshihiro Shimoda	mov.w	r0, @r1
151*b2b5e2bbSYoshihiro Shimoda
152*b2b5e2bbSYoshihiro Shimoda	mov.l	PHCR_A, r1
153*b2b5e2bbSYoshihiro Shimoda	mov.l	PHCR_D, r0
154*b2b5e2bbSYoshihiro Shimoda	mov.w	r0, @r1
155*b2b5e2bbSYoshihiro Shimoda
156*b2b5e2bbSYoshihiro Shimoda	mov.l	PPCR_A, r1
157*b2b5e2bbSYoshihiro Shimoda	mov.l	PPCR_D, r0
158*b2b5e2bbSYoshihiro Shimoda	mov.w	r0, @r1
159*b2b5e2bbSYoshihiro Shimoda
160*b2b5e2bbSYoshihiro Shimoda	mov.l	PTCR_A, r1
161*b2b5e2bbSYoshihiro Shimoda	mov.l	PTCR_D, r0
162*b2b5e2bbSYoshihiro Shimoda	mov.w	r0, @r1
163*b2b5e2bbSYoshihiro Shimoda
164*b2b5e2bbSYoshihiro Shimoda	mov.l	PVCR_A, r1
165*b2b5e2bbSYoshihiro Shimoda	mov.l	PVCR_D, r0
166*b2b5e2bbSYoshihiro Shimoda	mov.w	r0, @r1
167*b2b5e2bbSYoshihiro Shimoda
168*b2b5e2bbSYoshihiro Shimoda	mov.l	PSELA_A, r1
169*b2b5e2bbSYoshihiro Shimoda	mov.l	PSELA_D, r0
170*b2b5e2bbSYoshihiro Shimoda	mov.w	r0, @r1
171*b2b5e2bbSYoshihiro Shimoda
172*b2b5e2bbSYoshihiro Shimoda	mov.l	CCR_A, r1
173*b2b5e2bbSYoshihiro Shimoda	mov.l	CCR_D, r0
174*b2b5e2bbSYoshihiro Shimoda	mov.l	r0, @r1
175*b2b5e2bbSYoshihiro Shimoda
176*b2b5e2bbSYoshihiro Shimoda	mov.l	LED_A, r1
177*b2b5e2bbSYoshihiro Shimoda	mov.l	LED_D, r0
178*b2b5e2bbSYoshihiro Shimoda	mov.b	r0, @r1
179*b2b5e2bbSYoshihiro Shimoda
180*b2b5e2bbSYoshihiro Shimoda	rts
181*b2b5e2bbSYoshihiro Shimoda	 nop
182*b2b5e2bbSYoshihiro Shimoda
183*b2b5e2bbSYoshihiro Shimoda	.align 4
184*b2b5e2bbSYoshihiro Shimoda
185*b2b5e2bbSYoshihiro ShimodaFRQCR_A:	.long	0xA415FF80	/* FRQCR Address */
186*b2b5e2bbSYoshihiro ShimodaWTCNT_A:	.long	0xA415FF84
187*b2b5e2bbSYoshihiro ShimodaWTCSR_A:	.long	0xA415FF86
188*b2b5e2bbSYoshihiro ShimodaUCLKCR_A:	.long	0xA40A0008
189*b2b5e2bbSYoshihiro ShimodaFRQCR_D:	.long	0x1103		/* I:B:P=8:4:2 */
190*b2b5e2bbSYoshihiro ShimodaWTCNT_D:	.long	0x5A00
191*b2b5e2bbSYoshihiro ShimodaWTCSR_D:	.long	0xA506
192*b2b5e2bbSYoshihiro ShimodaUCLKCR_D:	.long	0xA5C0
193*b2b5e2bbSYoshihiro Shimoda
194*b2b5e2bbSYoshihiro Shimoda#define BSC_BASE	0xA4FD0000
195*b2b5e2bbSYoshihiro ShimodaCMNCR_A:	.long	BSC_BASE
196*b2b5e2bbSYoshihiro ShimodaCS0BCR_A:	.long	BSC_BASE + 0x04
197*b2b5e2bbSYoshihiro ShimodaCS2BCR_A:	.long	BSC_BASE + 0x08
198*b2b5e2bbSYoshihiro ShimodaCS3BCR_A:	.long	BSC_BASE + 0x0C
199*b2b5e2bbSYoshihiro ShimodaCS4BCR_A:	.long	BSC_BASE + 0x10
200*b2b5e2bbSYoshihiro ShimodaCS5ABCR_A:	.long	BSC_BASE + 0x14
201*b2b5e2bbSYoshihiro ShimodaCS5BBCR_A:	.long	BSC_BASE + 0x18
202*b2b5e2bbSYoshihiro ShimodaCS6ABCR_A:	.long	BSC_BASE + 0x1C
203*b2b5e2bbSYoshihiro ShimodaCS6BBCR_A:	.long	BSC_BASE + 0x20
204*b2b5e2bbSYoshihiro ShimodaCS0WCR_A:	.long	BSC_BASE + 0x24
205*b2b5e2bbSYoshihiro ShimodaCS2WCR_A:	.long	BSC_BASE + 0x28
206*b2b5e2bbSYoshihiro ShimodaCS3WCR_A:	.long	BSC_BASE + 0x2C
207*b2b5e2bbSYoshihiro ShimodaCS4WCR_A:	.long	BSC_BASE + 0x30
208*b2b5e2bbSYoshihiro ShimodaCS5AWCR_A:	.long	BSC_BASE + 0x34
209*b2b5e2bbSYoshihiro ShimodaCS5BWCR_A:	.long	BSC_BASE + 0x38
210*b2b5e2bbSYoshihiro ShimodaCS6AWCR_A:	.long	BSC_BASE + 0x3C
211*b2b5e2bbSYoshihiro ShimodaCS6BWCR_A:	.long	BSC_BASE + 0x40
212*b2b5e2bbSYoshihiro ShimodaSDCR_A:		.long	BSC_BASE + 0x44
213*b2b5e2bbSYoshihiro ShimodaRTCSR_A:	.long	BSC_BASE + 0x48
214*b2b5e2bbSYoshihiro ShimodaRTCNT_A:	.long	BSC_BASE + 0x4C
215*b2b5e2bbSYoshihiro ShimodaRTCOR_A:	.long	BSC_BASE + 0x50
216*b2b5e2bbSYoshihiro ShimodaSDMR3_A:	.long	BSC_BASE + 0x58C0
217*b2b5e2bbSYoshihiro Shimoda
218*b2b5e2bbSYoshihiro ShimodaCMNCR_D:	.long	0x00000010
219*b2b5e2bbSYoshihiro ShimodaCS0BCR_D:	.long	0x36DB0400
220*b2b5e2bbSYoshihiro ShimodaCS2BCR_D:	.long	0x36DB0400
221*b2b5e2bbSYoshihiro ShimodaCS3BCR_D:	.long	0x36DB4600
222*b2b5e2bbSYoshihiro ShimodaCS4BCR_D:	.long	0x36DB0400
223*b2b5e2bbSYoshihiro ShimodaCS5ABCR_D:	.long	0x36DB0400
224*b2b5e2bbSYoshihiro ShimodaCS5BBCR_D:	.long	0x36DB0200
225*b2b5e2bbSYoshihiro ShimodaCS6ABCR_D:	.long	0x36DB0400
226*b2b5e2bbSYoshihiro ShimodaCS6BBCR_D:	.long	0x36DB0400
227*b2b5e2bbSYoshihiro ShimodaCS0WCR_D:	.long	0x00000B01
228*b2b5e2bbSYoshihiro ShimodaCS2WCR_D:	.long	0x00000500
229*b2b5e2bbSYoshihiro ShimodaCS3WCR_D:	.long	0x00006D1B
230*b2b5e2bbSYoshihiro ShimodaCS4WCR_D:	.long	0x00000500
231*b2b5e2bbSYoshihiro ShimodaCS5AWCR_D:	.long	0x00000500
232*b2b5e2bbSYoshihiro ShimodaCS5BWCR_D:	.long	0x00000500
233*b2b5e2bbSYoshihiro ShimodaCS6AWCR_D:	.long	0x00000500
234*b2b5e2bbSYoshihiro ShimodaCS6BWCR_D:	.long	0x00000500
235*b2b5e2bbSYoshihiro ShimodaSDCR_D1:	.long	0x00000011
236*b2b5e2bbSYoshihiro ShimodaRTCSR_D:	.long	0xA55A0010
237*b2b5e2bbSYoshihiro ShimodaRTCNT_D:	.long	0xA55A001F
238*b2b5e2bbSYoshihiro ShimodaRTCOR_D:	.long	0xA55A001F
239*b2b5e2bbSYoshihiro ShimodaSDMR3_D:	.long	0x0000
240*b2b5e2bbSYoshihiro ShimodaSDCR_D2:	.long	0x00000811
241*b2b5e2bbSYoshihiro Shimoda
242*b2b5e2bbSYoshihiro Shimoda#define PFC_BASE	0xA4050100
243*b2b5e2bbSYoshihiro ShimodaPCCR_A:		.long	PFC_BASE + 0x04
244*b2b5e2bbSYoshihiro ShimodaPDCR_A:		.long	PFC_BASE + 0x06
245*b2b5e2bbSYoshihiro ShimodaPECR_A:		.long	PFC_BASE + 0x08
246*b2b5e2bbSYoshihiro ShimodaPGCR_A:		.long	PFC_BASE + 0x0C
247*b2b5e2bbSYoshihiro ShimodaPHCR_A:		.long	PFC_BASE + 0x0E
248*b2b5e2bbSYoshihiro ShimodaPPCR_A:		.long	PFC_BASE + 0x18
249*b2b5e2bbSYoshihiro ShimodaPTCR_A:		.long	PFC_BASE + 0x1E
250*b2b5e2bbSYoshihiro ShimodaPVCR_A:		.long	PFC_BASE + 0x22
251*b2b5e2bbSYoshihiro ShimodaPSELA_A:	.long	PFC_BASE + 0x24
252*b2b5e2bbSYoshihiro Shimoda
253*b2b5e2bbSYoshihiro ShimodaPCCR_D:		.long	0x0000
254*b2b5e2bbSYoshihiro ShimodaPDCR_D:		.long	0x0000
255*b2b5e2bbSYoshihiro ShimodaPECR_D:		.long	0x0000
256*b2b5e2bbSYoshihiro ShimodaPGCR_D:		.long	0x0000
257*b2b5e2bbSYoshihiro ShimodaPHCR_D:		.long	0x0000
258*b2b5e2bbSYoshihiro ShimodaPPCR_D:		.long	0x00AA
259*b2b5e2bbSYoshihiro ShimodaPTCR_D:		.long	0x0280
260*b2b5e2bbSYoshihiro ShimodaPVCR_D:		.long	0x0000
261*b2b5e2bbSYoshihiro ShimodaPSELA_D:	.long	0x0000
262*b2b5e2bbSYoshihiro Shimoda
263*b2b5e2bbSYoshihiro ShimodaCCR_A:		.long	0xFFFFFFEC
264*b2b5e2bbSYoshihiro Shimoda!CCR_D:		.long	0x0000000D
265*b2b5e2bbSYoshihiro ShimodaCCR_D:		.long	0x0000000B
266*b2b5e2bbSYoshihiro Shimoda
267*b2b5e2bbSYoshihiro ShimodaLED_A:		.long	0xB6800000
268*b2b5e2bbSYoshihiro ShimodaLED_D:		.long	0xFF
269