xref: /rk3399_rockchip-uboot/board/alphaproject/ap_sh4a_4a/lowlevel_init.S (revision bfc93fb47d41c1aa0831469eabaf88afe7f99db1)
1*bfc93fb4SNobuhiro Iwamatsu/*
2*bfc93fb4SNobuhiro Iwamatsu * Copyright (C) 2011, 2012 Nobuhiro Iwamatsu <nobuhiro.iwamatsu.yj@renesas.com>
3*bfc93fb4SNobuhiro Iwamatsu * Copyright (C) 2011, 2012 Renesas Solutions Corp.
4*bfc93fb4SNobuhiro Iwamatsu *
5*bfc93fb4SNobuhiro Iwamatsu * This program is free software; you can redistribute it and/or
6*bfc93fb4SNobuhiro Iwamatsu * modify it under the terms of the GNU General Public License as
7*bfc93fb4SNobuhiro Iwamatsu * published by the Free Software Foundation; either version 2 of
8*bfc93fb4SNobuhiro Iwamatsu * the License, or (at your option) any later version.
9*bfc93fb4SNobuhiro Iwamatsu *
10*bfc93fb4SNobuhiro Iwamatsu * This program is distributed in the hope that it will be useful,
11*bfc93fb4SNobuhiro Iwamatsu * but WITHOUT ANY WARRANTY; without even the implied warranty of
12*bfc93fb4SNobuhiro Iwamatsu * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13*bfc93fb4SNobuhiro Iwamatsu * GNU General Public License for more details.
14*bfc93fb4SNobuhiro Iwamatsu *
15*bfc93fb4SNobuhiro Iwamatsu */
16*bfc93fb4SNobuhiro Iwamatsu#include <config.h>
17*bfc93fb4SNobuhiro Iwamatsu#include <version.h>
18*bfc93fb4SNobuhiro Iwamatsu#include <asm/processor.h>
19*bfc93fb4SNobuhiro Iwamatsu#include <asm/macro.h>
20*bfc93fb4SNobuhiro Iwamatsu
21*bfc93fb4SNobuhiro Iwamatsu#include <asm/processor.h>
22*bfc93fb4SNobuhiro Iwamatsu
23*bfc93fb4SNobuhiro Iwamatsu	.global	lowlevel_init
24*bfc93fb4SNobuhiro Iwamatsu
25*bfc93fb4SNobuhiro Iwamatsu	.text
26*bfc93fb4SNobuhiro Iwamatsu	.align	2
27*bfc93fb4SNobuhiro Iwamatsu
28*bfc93fb4SNobuhiro Iwamatsulowlevel_init:
29*bfc93fb4SNobuhiro Iwamatsu
30*bfc93fb4SNobuhiro Iwamatsu	/* WDT */
31*bfc93fb4SNobuhiro Iwamatsu	write32 WDTCSR_A, WDTCSR_D
32*bfc93fb4SNobuhiro Iwamatsu
33*bfc93fb4SNobuhiro Iwamatsu	/* MMU */
34*bfc93fb4SNobuhiro Iwamatsu	write32 MMUCR_A, MMUCR_D
35*bfc93fb4SNobuhiro Iwamatsu
36*bfc93fb4SNobuhiro Iwamatsu	write32 FRQCR2_A, FRQCR2_D
37*bfc93fb4SNobuhiro Iwamatsu	write32 FRQCR0_A, FRQCR0_D
38*bfc93fb4SNobuhiro Iwamatsu
39*bfc93fb4SNobuhiro Iwamatsu	write32 CS0CTRL_A, CS0CTRL_D
40*bfc93fb4SNobuhiro Iwamatsu	write32 CS1CTRL_A, CS1CTRL_D
41*bfc93fb4SNobuhiro Iwamatsu	write32 CS0CTRL2_A, CS0CTRL2_D
42*bfc93fb4SNobuhiro Iwamatsu
43*bfc93fb4SNobuhiro Iwamatsu	write32 CSPWCR0_A, CSPWCR0_D
44*bfc93fb4SNobuhiro Iwamatsu	write32 CSPWCR1_A, CSPWCR1_D
45*bfc93fb4SNobuhiro Iwamatsu	write32 CS1GDST_A, CS1GDST_D
46*bfc93fb4SNobuhiro Iwamatsu
47*bfc93fb4SNobuhiro Iwamatsu	# clock mode check
48*bfc93fb4SNobuhiro Iwamatsu	mov.l   MODEMR, r1
49*bfc93fb4SNobuhiro Iwamatsu	mov.l   @r1, r0
50*bfc93fb4SNobuhiro Iwamatsu	and		#6, r0 /* Check 1 and 2 bit.*/
51*bfc93fb4SNobuhiro Iwamatsu	cmp/eq  #2, r0 /* 0x02 is 533Mhz mode */
52*bfc93fb4SNobuhiro Iwamatsu	bt      init_lbsc_533
53*bfc93fb4SNobuhiro Iwamatsu
54*bfc93fb4SNobuhiro Iwamatsuinit_lbsc_400:
55*bfc93fb4SNobuhiro Iwamatsu
56*bfc93fb4SNobuhiro Iwamatsu	write32 CSWCR0_A, CSWCR0_D_400
57*bfc93fb4SNobuhiro Iwamatsu	write32 CSWCR1_A, CSWCR1_D
58*bfc93fb4SNobuhiro Iwamatsu
59*bfc93fb4SNobuhiro Iwamatsu	bra	init_dbsc3_400_pad
60*bfc93fb4SNobuhiro Iwamatsu	nop
61*bfc93fb4SNobuhiro Iwamatsu
62*bfc93fb4SNobuhiro Iwamatsu	.align 2
63*bfc93fb4SNobuhiro Iwamatsu
64*bfc93fb4SNobuhiro IwamatsuMODEMR:		.long	0xFFCC0020
65*bfc93fb4SNobuhiro IwamatsuWDTCSR_A:	.long	0xFFCC0004
66*bfc93fb4SNobuhiro IwamatsuWDTCSR_D:	.long	0xA5000000
67*bfc93fb4SNobuhiro IwamatsuMMUCR_A:	.long	0xFF000010
68*bfc93fb4SNobuhiro IwamatsuMMUCR_D:	.long	0x00000004
69*bfc93fb4SNobuhiro Iwamatsu
70*bfc93fb4SNobuhiro IwamatsuFRQCR2_A:	.long	0xFFC80008
71*bfc93fb4SNobuhiro IwamatsuFRQCR2_D:	.long	0x00000000
72*bfc93fb4SNobuhiro IwamatsuFRQCR0_A:	.long	0xFFC80000
73*bfc93fb4SNobuhiro IwamatsuFRQCR0_D:	.long	0xCF000001
74*bfc93fb4SNobuhiro Iwamatsu
75*bfc93fb4SNobuhiro IwamatsuCS0CTRL_A:	.long	0xFF800200
76*bfc93fb4SNobuhiro IwamatsuCS0CTRL_D:	.long	0x00000020
77*bfc93fb4SNobuhiro IwamatsuCS1CTRL_A:	.long	0xFF800204
78*bfc93fb4SNobuhiro IwamatsuCS1CTRL_D:	.long	0x00000020
79*bfc93fb4SNobuhiro Iwamatsu
80*bfc93fb4SNobuhiro IwamatsuCS0CTRL2_A:	.long	0xFF800220
81*bfc93fb4SNobuhiro IwamatsuCS0CTRL2_D:	.long	0x00004000
82*bfc93fb4SNobuhiro Iwamatsu
83*bfc93fb4SNobuhiro IwamatsuCSPWCR0_A:	.long	0xFF800280
84*bfc93fb4SNobuhiro IwamatsuCSPWCR0_D:	.long	0x00000000
85*bfc93fb4SNobuhiro IwamatsuCSPWCR1_A:	.long	0xFF800284
86*bfc93fb4SNobuhiro IwamatsuCSPWCR1_D:	.long	0x00000000
87*bfc93fb4SNobuhiro IwamatsuCS1GDST_A:	.long	0xFF8002C0
88*bfc93fb4SNobuhiro IwamatsuCS1GDST_D:	.long	0x00000011
89*bfc93fb4SNobuhiro Iwamatsu
90*bfc93fb4SNobuhiro Iwamatsuinit_lbsc_533:
91*bfc93fb4SNobuhiro Iwamatsu
92*bfc93fb4SNobuhiro Iwamatsu	write32 CSWCR0_A, CSWCR0_D_533
93*bfc93fb4SNobuhiro Iwamatsu	write32 CSWCR1_A, CSWCR1_D
94*bfc93fb4SNobuhiro Iwamatsu
95*bfc93fb4SNobuhiro Iwamatsu	bra	init_dbsc3_533_pad
96*bfc93fb4SNobuhiro Iwamatsu	nop
97*bfc93fb4SNobuhiro Iwamatsu
98*bfc93fb4SNobuhiro Iwamatsu	.align 2
99*bfc93fb4SNobuhiro Iwamatsu
100*bfc93fb4SNobuhiro IwamatsuCSWCR0_A:	.long	0xFF800230
101*bfc93fb4SNobuhiro IwamatsuCSWCR0_D_533:	.long	0x01120104
102*bfc93fb4SNobuhiro IwamatsuCSWCR0_D_400:	.long	0x02120114
103*bfc93fb4SNobuhiro IwamatsuCSWCR1_A:	.long	0xFF800234
104*bfc93fb4SNobuhiro IwamatsuCSWCR1_D:	.long	0x077F077F
105*bfc93fb4SNobuhiro Iwamatsu
106*bfc93fb4SNobuhiro Iwamatsuinit_dbsc3_400_pad:
107*bfc93fb4SNobuhiro Iwamatsu
108*bfc93fb4SNobuhiro Iwamatsu	write32	DBPDCNT3_A,	DBPDCNT3_D
109*bfc93fb4SNobuhiro Iwamatsu	wait_timer	WAIT_200US_400
110*bfc93fb4SNobuhiro Iwamatsu
111*bfc93fb4SNobuhiro Iwamatsu	write32 DBPDCNT0_A,	DBPDCNT0_D_400
112*bfc93fb4SNobuhiro Iwamatsu	write32 DBPDCNT3_A,	DBPDCNT3_D0
113*bfc93fb4SNobuhiro Iwamatsu	write32 DBPDCNT1_A,	DBPDCNT1_D
114*bfc93fb4SNobuhiro Iwamatsu
115*bfc93fb4SNobuhiro Iwamatsu	write32 DBPDCNT3_A,	DBPDCNT3_D1
116*bfc93fb4SNobuhiro Iwamatsu	wait_timer WAIT_32MCLK
117*bfc93fb4SNobuhiro Iwamatsu
118*bfc93fb4SNobuhiro Iwamatsu	write32	DBPDCNT3_A,	DBPDCNT3_D2
119*bfc93fb4SNobuhiro Iwamatsu	wait_timer WAIT_100US_400
120*bfc93fb4SNobuhiro Iwamatsu
121*bfc93fb4SNobuhiro Iwamatsu	write32	DBPDCNT3_A,	DBPDCNT3_D3
122*bfc93fb4SNobuhiro Iwamatsu	wait_timer WAIT_16MCLK
123*bfc93fb4SNobuhiro Iwamatsu
124*bfc93fb4SNobuhiro Iwamatsu	write32	DBPDCNT3_A,	DBPDCNT3_D4
125*bfc93fb4SNobuhiro Iwamatsu	wait_timer WAIT_200US_400
126*bfc93fb4SNobuhiro Iwamatsu
127*bfc93fb4SNobuhiro Iwamatsu	write32	DBPDCNT3_A,	DBPDCNT3_D5
128*bfc93fb4SNobuhiro Iwamatsu	wait_timer WAIT_1MCLK
129*bfc93fb4SNobuhiro Iwamatsu
130*bfc93fb4SNobuhiro Iwamatsu	write32	DBPDCNT3_A,	DBPDCNT3_D6
131*bfc93fb4SNobuhiro Iwamatsu	wait_timer WAIT_10KMCLK
132*bfc93fb4SNobuhiro Iwamatsu
133*bfc93fb4SNobuhiro Iwamatsu	bra init_dbsc3_ctrl_400
134*bfc93fb4SNobuhiro Iwamatsu	nop
135*bfc93fb4SNobuhiro Iwamatsu
136*bfc93fb4SNobuhiro Iwamatsu	.align 2
137*bfc93fb4SNobuhiro Iwamatsu
138*bfc93fb4SNobuhiro Iwamatsuinit_dbsc3_533_pad:
139*bfc93fb4SNobuhiro Iwamatsu
140*bfc93fb4SNobuhiro Iwamatsu	write32	DBPDCNT3_A,	DBPDCNT3_D
141*bfc93fb4SNobuhiro Iwamatsu	wait_timer	WAIT_200US_533
142*bfc93fb4SNobuhiro Iwamatsu
143*bfc93fb4SNobuhiro Iwamatsu	write32 DBPDCNT0_A,	DBPDCNT0_D_533
144*bfc93fb4SNobuhiro Iwamatsu	write32 DBPDCNT3_A,	DBPDCNT3_D0
145*bfc93fb4SNobuhiro Iwamatsu	write32 DBPDCNT1_A,	DBPDCNT1_D
146*bfc93fb4SNobuhiro Iwamatsu
147*bfc93fb4SNobuhiro Iwamatsu	write32 DBPDCNT3_A,	DBPDCNT3_D1
148*bfc93fb4SNobuhiro Iwamatsu	wait_timer WAIT_32MCLK
149*bfc93fb4SNobuhiro Iwamatsu
150*bfc93fb4SNobuhiro Iwamatsu	write32	DBPDCNT3_A,	DBPDCNT3_D2
151*bfc93fb4SNobuhiro Iwamatsu	wait_timer WAIT_100US_533
152*bfc93fb4SNobuhiro Iwamatsu
153*bfc93fb4SNobuhiro Iwamatsu	write32	DBPDCNT3_A,	DBPDCNT3_D3
154*bfc93fb4SNobuhiro Iwamatsu	wait_timer WAIT_16MCLK
155*bfc93fb4SNobuhiro Iwamatsu
156*bfc93fb4SNobuhiro Iwamatsu	write32	DBPDCNT3_A,	DBPDCNT3_D4
157*bfc93fb4SNobuhiro Iwamatsu	wait_timer WAIT_200US_533
158*bfc93fb4SNobuhiro Iwamatsu
159*bfc93fb4SNobuhiro Iwamatsu	write32	DBPDCNT3_A,	DBPDCNT3_D5
160*bfc93fb4SNobuhiro Iwamatsu	wait_timer WAIT_1MCLK
161*bfc93fb4SNobuhiro Iwamatsu
162*bfc93fb4SNobuhiro Iwamatsu	write32	DBPDCNT3_A,	DBPDCNT3_D6
163*bfc93fb4SNobuhiro Iwamatsu	wait_timer	WAIT_10KMCLK
164*bfc93fb4SNobuhiro Iwamatsu
165*bfc93fb4SNobuhiro Iwamatsu	bra init_dbsc3_ctrl_533
166*bfc93fb4SNobuhiro Iwamatsu	nop
167*bfc93fb4SNobuhiro Iwamatsu
168*bfc93fb4SNobuhiro Iwamatsu	.align 2
169*bfc93fb4SNobuhiro Iwamatsu
170*bfc93fb4SNobuhiro IwamatsuWAIT_200US_400:	.long	40000
171*bfc93fb4SNobuhiro IwamatsuWAIT_200US_533:	.long	53300
172*bfc93fb4SNobuhiro IwamatsuWAIT_100US_400:	.long	20000
173*bfc93fb4SNobuhiro IwamatsuWAIT_100US_533:	.long	26650
174*bfc93fb4SNobuhiro IwamatsuWAIT_32MCLK:	.long	32
175*bfc93fb4SNobuhiro IwamatsuWAIT_16MCLK:	.long	16
176*bfc93fb4SNobuhiro IwamatsuWAIT_1MCLK:		.long	1
177*bfc93fb4SNobuhiro IwamatsuWAIT_10KMCLK:	.long	10000
178*bfc93fb4SNobuhiro Iwamatsu
179*bfc93fb4SNobuhiro IwamatsuDBPDCNT0_A:		.long	0xFE800200
180*bfc93fb4SNobuhiro IwamatsuDBPDCNT0_D_533:	.long	0x00010245
181*bfc93fb4SNobuhiro IwamatsuDBPDCNT0_D_400:	.long	0x00010235
182*bfc93fb4SNobuhiro IwamatsuDBPDCNT1_A:		.long	0xFE800204
183*bfc93fb4SNobuhiro IwamatsuDBPDCNT1_D:		.long	0x00000014
184*bfc93fb4SNobuhiro IwamatsuDBPDCNT3_A:		.long	0xFE80020C
185*bfc93fb4SNobuhiro IwamatsuDBPDCNT3_D:		.long	0x80000000
186*bfc93fb4SNobuhiro IwamatsuDBPDCNT3_D0:	.long	0x800F0000
187*bfc93fb4SNobuhiro IwamatsuDBPDCNT3_D1:	.long	0x800F1000
188*bfc93fb4SNobuhiro IwamatsuDBPDCNT3_D2:	.long	0x820F1000
189*bfc93fb4SNobuhiro IwamatsuDBPDCNT3_D3:	.long	0x860F1000
190*bfc93fb4SNobuhiro IwamatsuDBPDCNT3_D4:	.long	0x870F1000
191*bfc93fb4SNobuhiro IwamatsuDBPDCNT3_D5:	.long	0x870F3000
192*bfc93fb4SNobuhiro IwamatsuDBPDCNT3_D6:	.long	0x870F7000
193*bfc93fb4SNobuhiro Iwamatsu
194*bfc93fb4SNobuhiro Iwamatsuinit_dbsc3_ctrl_400:
195*bfc93fb4SNobuhiro Iwamatsu
196*bfc93fb4SNobuhiro Iwamatsu	write32 DBKIND_A, DBKIND_D
197*bfc93fb4SNobuhiro Iwamatsu	write32 DBCONF_A, DBCONF_D
198*bfc93fb4SNobuhiro Iwamatsu
199*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR0_A,	DBTR0_D_400
200*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR1_A,	DBTR1_D_400
201*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR2_A,	DBTR2_D
202*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR3_A,	DBTR3_D_400
203*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR4_A,	DBTR4_D_400
204*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR5_A,	DBTR5_D_400
205*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR6_A,	DBTR6_D_400
206*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR7_A,	DBTR7_D
207*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR8_A,	DBTR8_D_400
208*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR9_A,	DBTR9_D
209*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR10_A,	DBTR10_D_400
210*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR11_A,	DBTR11_D
211*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR12_A,	DBTR12_D_400
212*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR13_A,	DBTR13_D_400
213*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR14_A,	DBTR14_D
214*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR15_A,	DBTR15_D
215*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR16_A,	DBTR16_D_400
216*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR17_A,	DBTR17_D_400
217*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR18_A,	DBTR18_D_400
218*bfc93fb4SNobuhiro Iwamatsu
219*bfc93fb4SNobuhiro Iwamatsu	write32	DBBL_A,	DBBL_D
220*bfc93fb4SNobuhiro Iwamatsu	write32	DBRNK0_A,	DBRNK0_D
221*bfc93fb4SNobuhiro Iwamatsu
222*bfc93fb4SNobuhiro Iwamatsu	write32 DBCMD_A,	DBCMD_D0_400
223*bfc93fb4SNobuhiro Iwamatsu	write32 DBCMD_A,	DBCMD_D1
224*bfc93fb4SNobuhiro Iwamatsu	write32 DBCMD_A,	DBCMD_D2
225*bfc93fb4SNobuhiro Iwamatsu	write32 DBCMD_A,	DBCMD_D3
226*bfc93fb4SNobuhiro Iwamatsu	write32 DBCMD_A,	DBCMD_D4
227*bfc93fb4SNobuhiro Iwamatsu	write32 DBCMD_A,	DBCMD_D5_400
228*bfc93fb4SNobuhiro Iwamatsu	write32 DBCMD_A,	DBCMD_D6
229*bfc93fb4SNobuhiro Iwamatsu	write32 DBCMD_A,	DBCMD_D7
230*bfc93fb4SNobuhiro Iwamatsu	write32 DBCMD_A,	DBCMD_D8
231*bfc93fb4SNobuhiro Iwamatsu	write32 DBCMD_A,	DBCMD_D9_400
232*bfc93fb4SNobuhiro Iwamatsu	write32 DBCMD_A,	DBCMD_D10
233*bfc93fb4SNobuhiro Iwamatsu	write32 DBCMD_A,	DBCMD_D11
234*bfc93fb4SNobuhiro Iwamatsu	write32 DBCMD_A,	DBCMD_D12
235*bfc93fb4SNobuhiro Iwamatsu
236*bfc93fb4SNobuhiro Iwamatsu	write32	DBRFCNF0_A,	DBRFCNF0_D
237*bfc93fb4SNobuhiro Iwamatsu	write32	DBRFCNF1_A,	DBRFCNF1_D_400
238*bfc93fb4SNobuhiro Iwamatsu	write32	DBRFCNF2_A,	DBRFCNF2_D
239*bfc93fb4SNobuhiro Iwamatsu	write32	DBRFEN_A,	DBRFEN_D
240*bfc93fb4SNobuhiro Iwamatsu	write32	DBACEN_A,	DBACEN_D
241*bfc93fb4SNobuhiro Iwamatsu	write32	DBACEN_A,	DBACEN_D
242*bfc93fb4SNobuhiro Iwamatsu
243*bfc93fb4SNobuhiro Iwamatsu	/* Dummy read */
244*bfc93fb4SNobuhiro Iwamatsu	mov.l DBWAIT_A, r1
245*bfc93fb4SNobuhiro Iwamatsu	synco
246*bfc93fb4SNobuhiro Iwamatsu	mov.l @r1, r0
247*bfc93fb4SNobuhiro Iwamatsu	synco
248*bfc93fb4SNobuhiro Iwamatsu
249*bfc93fb4SNobuhiro Iwamatsu	/* Dummy read */
250*bfc93fb4SNobuhiro Iwamatsu	mov.l SDRAM_A, r1
251*bfc93fb4SNobuhiro Iwamatsu	synco
252*bfc93fb4SNobuhiro Iwamatsu	mov.l @r1, r0
253*bfc93fb4SNobuhiro Iwamatsu	synco
254*bfc93fb4SNobuhiro Iwamatsu
255*bfc93fb4SNobuhiro Iwamatsu	/* need sleep 186A0 */
256*bfc93fb4SNobuhiro Iwamatsu
257*bfc93fb4SNobuhiro Iwamatsu	bra	finish_init_sh7734
258*bfc93fb4SNobuhiro Iwamatsu	nop
259*bfc93fb4SNobuhiro Iwamatsu
260*bfc93fb4SNobuhiro Iwamatsu	.align 2
261*bfc93fb4SNobuhiro Iwamatsu
262*bfc93fb4SNobuhiro Iwamatsuinit_dbsc3_ctrl_533:
263*bfc93fb4SNobuhiro Iwamatsu
264*bfc93fb4SNobuhiro Iwamatsu	write32 DBKIND_A, DBKIND_D
265*bfc93fb4SNobuhiro Iwamatsu	write32 DBCONF_A, DBCONF_D
266*bfc93fb4SNobuhiro Iwamatsu
267*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR0_A,	DBTR0_D_533
268*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR1_A,	DBTR1_D_533
269*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR2_A,	DBTR2_D
270*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR3_A,	DBTR3_D_533
271*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR4_A,	DBTR4_D_533
272*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR5_A,	DBTR5_D_533
273*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR6_A,	DBTR6_D_533
274*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR7_A,	DBTR7_D
275*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR8_A,	DBTR8_D_533
276*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR9_A,	DBTR9_D
277*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR10_A,	DBTR10_D_533
278*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR11_A,	DBTR11_D
279*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR12_A,	DBTR12_D_533
280*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR13_A,	DBTR13_D_533
281*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR14_A,	DBTR14_D
282*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR15_A,	DBTR15_D
283*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR16_A,	DBTR16_D_533
284*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR17_A,	DBTR17_D_533
285*bfc93fb4SNobuhiro Iwamatsu	write32 DBTR18_A,	DBTR18_D_533
286*bfc93fb4SNobuhiro Iwamatsu
287*bfc93fb4SNobuhiro Iwamatsu	write32	DBBL_A,	DBBL_D
288*bfc93fb4SNobuhiro Iwamatsu	write32	DBRNK0_A,	DBRNK0_D
289*bfc93fb4SNobuhiro Iwamatsu
290*bfc93fb4SNobuhiro Iwamatsu	write32 DBCMD_A,	DBCMD_D0_533
291*bfc93fb4SNobuhiro Iwamatsu	write32 DBCMD_A,	DBCMD_D1
292*bfc93fb4SNobuhiro Iwamatsu	write32 DBCMD_A,	DBCMD_D2
293*bfc93fb4SNobuhiro Iwamatsu	write32 DBCMD_A,	DBCMD_D3
294*bfc93fb4SNobuhiro Iwamatsu	write32 DBCMD_A,	DBCMD_D4
295*bfc93fb4SNobuhiro Iwamatsu	write32 DBCMD_A,	DBCMD_D5_533
296*bfc93fb4SNobuhiro Iwamatsu	write32 DBCMD_A,	DBCMD_D6
297*bfc93fb4SNobuhiro Iwamatsu	write32 DBCMD_A,	DBCMD_D7
298*bfc93fb4SNobuhiro Iwamatsu	write32 DBCMD_A,	DBCMD_D8
299*bfc93fb4SNobuhiro Iwamatsu	write32 DBCMD_A,	DBCMD_D9_533
300*bfc93fb4SNobuhiro Iwamatsu	write32 DBCMD_A,	DBCMD_D10
301*bfc93fb4SNobuhiro Iwamatsu	write32 DBCMD_A,	DBCMD_D11
302*bfc93fb4SNobuhiro Iwamatsu	write32 DBCMD_A,	DBCMD_D12
303*bfc93fb4SNobuhiro Iwamatsu
304*bfc93fb4SNobuhiro Iwamatsu	write32	DBRFCNF0_A,	DBRFCNF0_D
305*bfc93fb4SNobuhiro Iwamatsu	write32	DBRFCNF1_A,	DBRFCNF1_D_533
306*bfc93fb4SNobuhiro Iwamatsu	write32	DBRFCNF2_A,	DBRFCNF2_D
307*bfc93fb4SNobuhiro Iwamatsu	write32	DBRFEN_A,	DBRFEN_D
308*bfc93fb4SNobuhiro Iwamatsu	write32	DBACEN_A,	DBACEN_D
309*bfc93fb4SNobuhiro Iwamatsu	write32	DBACEN_A,	DBACEN_D
310*bfc93fb4SNobuhiro Iwamatsu
311*bfc93fb4SNobuhiro Iwamatsu	/* Dummy read */
312*bfc93fb4SNobuhiro Iwamatsu	mov.l DBWAIT_A, r1
313*bfc93fb4SNobuhiro Iwamatsu	synco
314*bfc93fb4SNobuhiro Iwamatsu	mov.l @r1, r0
315*bfc93fb4SNobuhiro Iwamatsu	synco
316*bfc93fb4SNobuhiro Iwamatsu
317*bfc93fb4SNobuhiro Iwamatsu	/* Dummy read */
318*bfc93fb4SNobuhiro Iwamatsu	mov.l SDRAM_A, r1
319*bfc93fb4SNobuhiro Iwamatsu	synco
320*bfc93fb4SNobuhiro Iwamatsu	mov.l @r1, r0
321*bfc93fb4SNobuhiro Iwamatsu	synco
322*bfc93fb4SNobuhiro Iwamatsu
323*bfc93fb4SNobuhiro Iwamatsu	/* need sleep 186A0 */
324*bfc93fb4SNobuhiro Iwamatsu
325*bfc93fb4SNobuhiro Iwamatsu	bra	finish_init_sh7734
326*bfc93fb4SNobuhiro Iwamatsu	nop
327*bfc93fb4SNobuhiro Iwamatsu
328*bfc93fb4SNobuhiro Iwamatsu	.align 2
329*bfc93fb4SNobuhiro Iwamatsu
330*bfc93fb4SNobuhiro IwamatsuDBKIND_A:	.long	0xFE800020
331*bfc93fb4SNobuhiro IwamatsuDBKIND_D:	.long	0x00000005
332*bfc93fb4SNobuhiro IwamatsuDBCONF_A:	.long	0xFE800024
333*bfc93fb4SNobuhiro IwamatsuDBCONF_D:	.long	0x0D020901
334*bfc93fb4SNobuhiro Iwamatsu
335*bfc93fb4SNobuhiro IwamatsuDBTR0_A:	.long	0xFE800040
336*bfc93fb4SNobuhiro IwamatsuDBTR0_D_533:.long	0x00000004
337*bfc93fb4SNobuhiro IwamatsuDBTR0_D_400:.long	0x00000003
338*bfc93fb4SNobuhiro IwamatsuDBTR1_A:	.long	0xFE800044
339*bfc93fb4SNobuhiro IwamatsuDBTR1_D_533:.long	0x00000003
340*bfc93fb4SNobuhiro IwamatsuDBTR1_D_400:.long	0x00000002
341*bfc93fb4SNobuhiro IwamatsuDBTR2_A:	.long	0xFE800048
342*bfc93fb4SNobuhiro IwamatsuDBTR2_D:	.long	0x00000000
343*bfc93fb4SNobuhiro IwamatsuDBTR3_A:	.long	0xFE800050
344*bfc93fb4SNobuhiro IwamatsuDBTR3_D_533:.long	0x00000004
345*bfc93fb4SNobuhiro IwamatsuDBTR3_D_400:.long	0x00000003
346*bfc93fb4SNobuhiro Iwamatsu
347*bfc93fb4SNobuhiro IwamatsuDBTR4_A:	.long	0xFE800054
348*bfc93fb4SNobuhiro IwamatsuDBTR4_D_533:.long	0x00050004
349*bfc93fb4SNobuhiro IwamatsuDBTR4_D_400:.long	0x00050003
350*bfc93fb4SNobuhiro Iwamatsu
351*bfc93fb4SNobuhiro IwamatsuDBTR5_A:	.long	0xFE800058
352*bfc93fb4SNobuhiro IwamatsuDBTR5_D_533:.long	0x0000000F
353*bfc93fb4SNobuhiro IwamatsuDBTR5_D_400:.long	0x0000000B
354*bfc93fb4SNobuhiro Iwamatsu
355*bfc93fb4SNobuhiro IwamatsuDBTR6_A:	.long	0xFE80005C
356*bfc93fb4SNobuhiro IwamatsuDBTR6_D_533:.long	0x0000000B
357*bfc93fb4SNobuhiro IwamatsuDBTR6_D_400:.long	0x00000008
358*bfc93fb4SNobuhiro Iwamatsu
359*bfc93fb4SNobuhiro IwamatsuDBTR7_A:	.long	0xFE800060
360*bfc93fb4SNobuhiro IwamatsuDBTR7_D:	.long	0x00000002
361*bfc93fb4SNobuhiro Iwamatsu
362*bfc93fb4SNobuhiro IwamatsuDBTR8_A:	.long	0xFE800064
363*bfc93fb4SNobuhiro IwamatsuDBTR8_D_533:.long	0x0000000D
364*bfc93fb4SNobuhiro IwamatsuDBTR8_D_400:.long	0x0000000A
365*bfc93fb4SNobuhiro Iwamatsu
366*bfc93fb4SNobuhiro IwamatsuDBTR9_A:	.long	0xFE800068
367*bfc93fb4SNobuhiro IwamatsuDBTR9_D:	.long	0x00000002
368*bfc93fb4SNobuhiro Iwamatsu
369*bfc93fb4SNobuhiro IwamatsuDBTR10_A:	.long	0xFE80006C
370*bfc93fb4SNobuhiro IwamatsuDBTR10_D_533:.long	0x00000004
371*bfc93fb4SNobuhiro IwamatsuDBTR10_D_400:.long	0x00000003
372*bfc93fb4SNobuhiro Iwamatsu
373*bfc93fb4SNobuhiro IwamatsuDBTR11_A:	.long	0xFE800070
374*bfc93fb4SNobuhiro IwamatsuDBTR11_D:	.long	0x00000008
375*bfc93fb4SNobuhiro Iwamatsu
376*bfc93fb4SNobuhiro IwamatsuDBTR12_A:	.long	0xFE800074
377*bfc93fb4SNobuhiro IwamatsuDBTR12_D_533:.long	0x00000009
378*bfc93fb4SNobuhiro IwamatsuDBTR12_D_400:.long	0x00000008
379*bfc93fb4SNobuhiro Iwamatsu
380*bfc93fb4SNobuhiro IwamatsuDBTR13_A:	.long	0xFE800078
381*bfc93fb4SNobuhiro IwamatsuDBTR13_D_533:.long	0x00000022
382*bfc93fb4SNobuhiro IwamatsuDBTR13_D_400:.long	0x0000001A
383*bfc93fb4SNobuhiro Iwamatsu
384*bfc93fb4SNobuhiro IwamatsuDBTR14_A:	.long	0xFE80007C
385*bfc93fb4SNobuhiro IwamatsuDBTR14_D:	.long	0x00070002
386*bfc93fb4SNobuhiro Iwamatsu
387*bfc93fb4SNobuhiro IwamatsuDBTR15_A:	.long	0xFE800080
388*bfc93fb4SNobuhiro IwamatsuDBTR15_D:	.long	0x00000003
389*bfc93fb4SNobuhiro Iwamatsu
390*bfc93fb4SNobuhiro IwamatsuDBTR16_A:	.long	0xFE800084
391*bfc93fb4SNobuhiro IwamatsuDBTR16_D_533:.long	0x120A1001
392*bfc93fb4SNobuhiro IwamatsuDBTR16_D_400:.long	0x12091001
393*bfc93fb4SNobuhiro Iwamatsu
394*bfc93fb4SNobuhiro IwamatsuDBTR17_A:	.long	0xFE800088
395*bfc93fb4SNobuhiro IwamatsuDBTR17_D_533:.long	0x00040000
396*bfc93fb4SNobuhiro IwamatsuDBTR17_D_400:.long	0x00030000
397*bfc93fb4SNobuhiro Iwamatsu
398*bfc93fb4SNobuhiro IwamatsuDBTR18_A:	.long	0xFE80008C
399*bfc93fb4SNobuhiro IwamatsuDBTR18_D_533:.long	0x02010200
400*bfc93fb4SNobuhiro IwamatsuDBTR18_D_400:.long	0x02000207
401*bfc93fb4SNobuhiro Iwamatsu
402*bfc93fb4SNobuhiro IwamatsuDBBL_A:	.long	0xFE8000B0
403*bfc93fb4SNobuhiro IwamatsuDBBL_D:	.long	0x00000000
404*bfc93fb4SNobuhiro Iwamatsu
405*bfc93fb4SNobuhiro IwamatsuDBRNK0_A:		.long	0xFE800100
406*bfc93fb4SNobuhiro IwamatsuDBRNK0_D:		.long	0x00000001
407*bfc93fb4SNobuhiro Iwamatsu
408*bfc93fb4SNobuhiro IwamatsuDBCMD_A:		.long	0xFE800018
409*bfc93fb4SNobuhiro IwamatsuDBCMD_D0_533:	.long	0x1100006B
410*bfc93fb4SNobuhiro IwamatsuDBCMD_D0_400:	.long	0x11000050
411*bfc93fb4SNobuhiro IwamatsuDBCMD_D1:		.long	0x0B000000
412*bfc93fb4SNobuhiro IwamatsuDBCMD_D2:		.long	0x2A004000
413*bfc93fb4SNobuhiro IwamatsuDBCMD_D3:		.long	0x2B006000
414*bfc93fb4SNobuhiro IwamatsuDBCMD_D4:		.long	0x29002044
415*bfc93fb4SNobuhiro IwamatsuDBCMD_D5_533:	.long	0x28000743
416*bfc93fb4SNobuhiro IwamatsuDBCMD_D5_400:	.long	0x28000533
417*bfc93fb4SNobuhiro IwamatsuDBCMD_D6:		.long	0x0B000000
418*bfc93fb4SNobuhiro IwamatsuDBCMD_D7:		.long	0x0C000000
419*bfc93fb4SNobuhiro IwamatsuDBCMD_D8:		.long	0x0C000000
420*bfc93fb4SNobuhiro IwamatsuDBCMD_D9_533:	.long	0x28000643
421*bfc93fb4SNobuhiro IwamatsuDBCMD_D9_400:	.long	0x28000433
422*bfc93fb4SNobuhiro IwamatsuDBCMD_D10:		.long	0x000000C8
423*bfc93fb4SNobuhiro IwamatsuDBCMD_D11:		.long	0x290023C4
424*bfc93fb4SNobuhiro IwamatsuDBCMD_D12:		.long	0x29002004
425*bfc93fb4SNobuhiro Iwamatsu
426*bfc93fb4SNobuhiro IwamatsuDBRFCNF0_A:		.long	0xFE8000E0
427*bfc93fb4SNobuhiro IwamatsuDBRFCNF0_D:		.long	0x000001FF
428*bfc93fb4SNobuhiro IwamatsuDBRFCNF1_A:		.long	0xFE8000E4
429*bfc93fb4SNobuhiro IwamatsuDBRFCNF1_D_533:	.long	0x00000805
430*bfc93fb4SNobuhiro IwamatsuDBRFCNF1_D_400:	.long	0x00000618
431*bfc93fb4SNobuhiro Iwamatsu
432*bfc93fb4SNobuhiro IwamatsuDBRFCNF2_A:		.long	0xFE8000E8
433*bfc93fb4SNobuhiro IwamatsuDBRFCNF2_D:		.long	0x00000000
434*bfc93fb4SNobuhiro Iwamatsu
435*bfc93fb4SNobuhiro IwamatsuDBRFEN_A:		.long	0xFE800014
436*bfc93fb4SNobuhiro IwamatsuDBRFEN_D:		.long	0x00000001
437*bfc93fb4SNobuhiro Iwamatsu
438*bfc93fb4SNobuhiro IwamatsuDBACEN_A:		.long	0xFE800010
439*bfc93fb4SNobuhiro IwamatsuDBACEN_D:		.long	0x00000001
440*bfc93fb4SNobuhiro Iwamatsu
441*bfc93fb4SNobuhiro IwamatsuDBWAIT_A:		.long	0xFE80001C
442*bfc93fb4SNobuhiro IwamatsuSDRAM_A:		.long	0x0C000000
443*bfc93fb4SNobuhiro Iwamatsu
444*bfc93fb4SNobuhiro Iwamatsufinish_init_sh7734:
445*bfc93fb4SNobuhiro Iwamatsu	write32 CCR_A,  CCR_D
446*bfc93fb4SNobuhiro Iwamatsu
447*bfc93fb4SNobuhiro Iwamatsu	stc sr, r0
448*bfc93fb4SNobuhiro Iwamatsu	mov.l  SR_MASK_D, r1
449*bfc93fb4SNobuhiro Iwamatsu	and r1, r0
450*bfc93fb4SNobuhiro Iwamatsu	ldc r0, sr
451*bfc93fb4SNobuhiro Iwamatsu
452*bfc93fb4SNobuhiro Iwamatsu	rts
453*bfc93fb4SNobuhiro Iwamatsu	nop
454*bfc93fb4SNobuhiro Iwamatsu
455*bfc93fb4SNobuhiro Iwamatsu	.align  2
456*bfc93fb4SNobuhiro Iwamatsu
457*bfc93fb4SNobuhiro IwamatsuCCR_A:	.long	0xFF00001C
458*bfc93fb4SNobuhiro IwamatsuCCR_D:	.long	0x0000090B
459*bfc93fb4SNobuhiro IwamatsuSR_MASK_D:	.long	0xEFFFFF0F
460