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