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