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