xref: /rk3399_rockchip-uboot/board/renesas/rsk7203/lowlevel_init.S (revision 7682a99826a624d3764656b5bb31f88e2f8b235b)
151b572a8SNobuhiro Iwamatsu/*
251b572a8SNobuhiro Iwamatsu * Copyright (C) 2008 Nobuhiro Iwamatsu
351b572a8SNobuhiro Iwamatsu * Copyright (C) 2008 Renesas Solutions Corp.
451b572a8SNobuhiro Iwamatsu *
5*1a459660SWolfgang Denk * SPDX-License-Identifier:	GPL-2.0+
651b572a8SNobuhiro Iwamatsu */
751b572a8SNobuhiro Iwamatsu#include <config.h>
851b572a8SNobuhiro Iwamatsu
951b572a8SNobuhiro Iwamatsu#include <asm/processor.h>
10f7e78f3bSJean-Christophe PLAGNIOL-VILLARD#include <asm/macro.h>
1151b572a8SNobuhiro Iwamatsu
1251b572a8SNobuhiro Iwamatsu	.global	lowlevel_init
1351b572a8SNobuhiro Iwamatsu
1451b572a8SNobuhiro Iwamatsu	.text
1551b572a8SNobuhiro Iwamatsu	.align	2
1651b572a8SNobuhiro Iwamatsu
1751b572a8SNobuhiro Iwamatsulowlevel_init:
1851b572a8SNobuhiro Iwamatsu	/* Cache setting */
19f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write32	CCR1_A ,CCR1_D
2051b572a8SNobuhiro Iwamatsu
2151b572a8SNobuhiro Iwamatsu	/* ConfigurePortPins */
22f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write16	PECRL3_A, PECRL3_D
2351b572a8SNobuhiro Iwamatsu
24f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write16	PCCRL4_A, PCCRL4_D0
2551b572a8SNobuhiro Iwamatsu
26f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write16	PECRL4_A, PECRL4_D0
2751b572a8SNobuhiro Iwamatsu
28f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write16	PEIORL_A, PEIORL_D0
2951b572a8SNobuhiro Iwamatsu
30f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write16	PCIORL_A, PCIORL_D
3151b572a8SNobuhiro Iwamatsu
32f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write16	PFCRH2_A, PFCRH2_D
3351b572a8SNobuhiro Iwamatsu
34f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write16	PFCRH3_A, PFCRH3_D
3551b572a8SNobuhiro Iwamatsu
36f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write16	PFCRH1_A, PFCRH1_D
3751b572a8SNobuhiro Iwamatsu
38f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write16	PFIORH_A, PFIORH_D
3951b572a8SNobuhiro Iwamatsu
40f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write16	PECRL1_A, PECRL1_D0
4151b572a8SNobuhiro Iwamatsu
42f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write16	PEIORL_A, PEIORL_D1
4351b572a8SNobuhiro Iwamatsu
4451b572a8SNobuhiro Iwamatsu	/* Configure Operating Frequency */
45f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write16	WTCSR_A, WTCSR_D0
4651b572a8SNobuhiro Iwamatsu
47f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write16	WTCSR_A, WTCSR_D1
4851b572a8SNobuhiro Iwamatsu
49f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write16	WTCNT_A, WTCNT_D
5051b572a8SNobuhiro Iwamatsu
5151b572a8SNobuhiro Iwamatsu	/* Set clock mode*/
52f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write16	FRQCR_A, FRQCR_D
5351b572a8SNobuhiro Iwamatsu
5451b572a8SNobuhiro Iwamatsu	/* Configure Bus And Memory */
5551b572a8SNobuhiro Iwamatsuinit_bsc_cs0:
56f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write16	PCCRL4_A, PCCRL4_D1
5751b572a8SNobuhiro Iwamatsu
58f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write16	PECRL1_A, PECRL1_D1
5951b572a8SNobuhiro Iwamatsu
60f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write32	CMNCR_A, CMNCR_D
6151b572a8SNobuhiro Iwamatsu
62ed56fb1dSNobuhiro Iwamatsu	write32	CS0BCR_A, CS0BCR_D
6351b572a8SNobuhiro Iwamatsu
64f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write32	CS0WCR_A, CS0WCR_D
6551b572a8SNobuhiro Iwamatsu
6651b572a8SNobuhiro Iwamatsuinit_bsc_cs1:
67f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write16	PECRL4_A, PECRL4_D1
6851b572a8SNobuhiro Iwamatsu
69f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write32	CS1WCR_A, CS1WCR_D
7051b572a8SNobuhiro Iwamatsu
7151b572a8SNobuhiro Iwamatsuinit_sdram:
72f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write16	PCCRL2_A, PCCRL2_D
7351b572a8SNobuhiro Iwamatsu
74f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write16	PCCRL4_A, PCCRL4_D2
7551b572a8SNobuhiro Iwamatsu
76f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write16	PCCRL1_A, PCCRL1_D
7751b572a8SNobuhiro Iwamatsu
78f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write16	PCCRL3_A, PCCRL3_D
7951b572a8SNobuhiro Iwamatsu
80f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write32	CS3BCR_A, CS3BCR_D
8151b572a8SNobuhiro Iwamatsu
82f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write32	CS3WCR_A, CS3WCR_D
8351b572a8SNobuhiro Iwamatsu
84f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write32	SDCR_A, SDCR_D
8551b572a8SNobuhiro Iwamatsu
86f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write32	RTCOR_A, RTCOR_D
8751b572a8SNobuhiro Iwamatsu
88f7e78f3bSJean-Christophe PLAGNIOL-VILLARD	write32	RTCSR_A, RTCSR_D
8951b572a8SNobuhiro Iwamatsu
9051b572a8SNobuhiro Iwamatsu	/* wait 200us */
9151b572a8SNobuhiro Iwamatsu	mov.l	REPEAT_D, r3
9251b572a8SNobuhiro Iwamatsu	mov	#0, r2
9351b572a8SNobuhiro Iwamatsurepeat0:
9451b572a8SNobuhiro Iwamatsu	add	#1, r2
9551b572a8SNobuhiro Iwamatsu	cmp/hs	r3, r2
9651b572a8SNobuhiro Iwamatsu	bf	repeat0
9751b572a8SNobuhiro Iwamatsu	nop
9851b572a8SNobuhiro Iwamatsu
9951b572a8SNobuhiro Iwamatsu	mov.l	SDRAM_MODE, r1
10051b572a8SNobuhiro Iwamatsu	mov	#0, r0
10151b572a8SNobuhiro Iwamatsu	mov.l	r0, @r1
10251b572a8SNobuhiro Iwamatsu
10351b572a8SNobuhiro Iwamatsu	nop
10451b572a8SNobuhiro Iwamatsu	rts
10551b572a8SNobuhiro Iwamatsu
10651b572a8SNobuhiro Iwamatsu	.align 4
10751b572a8SNobuhiro Iwamatsu
10851b572a8SNobuhiro IwamatsuCCR1_A:		.long CCR1
10951b572a8SNobuhiro IwamatsuCCR1_D:		.long 0x0000090B
11051b572a8SNobuhiro IwamatsuPCCRL4_A:	.long 0xFFFE3910
111ed56fb1dSNobuhiro IwamatsuPCCRL4_D0:	.word 0x0000
112ed56fb1dSNobuhiro Iwamatsu.align 2
11351b572a8SNobuhiro IwamatsuPECRL4_A:	.long 0xFFFE3A10
114ed56fb1dSNobuhiro IwamatsuPECRL4_D0:	.word 0x0000
115ed56fb1dSNobuhiro Iwamatsu.align 2
11651b572a8SNobuhiro IwamatsuPECRL3_A:	.long 0xFFFE3A12
117ed56fb1dSNobuhiro IwamatsuPECRL3_D:	.word 0x0000
118ed56fb1dSNobuhiro Iwamatsu.align 2
11951b572a8SNobuhiro IwamatsuPEIORL_A:	.long 0xFFFE3A06
120ed56fb1dSNobuhiro IwamatsuPEIORL_D0:	.word 0x1C00
121ed56fb1dSNobuhiro IwamatsuPEIORL_D1:	.word 0x1C02
12251b572a8SNobuhiro IwamatsuPCIORL_A:	.long 0xFFFE3906
123ed56fb1dSNobuhiro IwamatsuPCIORL_D:	.word 0x4000
124ed56fb1dSNobuhiro Iwamatsu.align 2
12551b572a8SNobuhiro IwamatsuPFCRH2_A:	.long 0xFFFE3A8C
126ed56fb1dSNobuhiro IwamatsuPFCRH2_D:	.word 0x0000
127ed56fb1dSNobuhiro Iwamatsu.align 2
12851b572a8SNobuhiro IwamatsuPFCRH3_A:	.long 0xFFFE3A8A
129ed56fb1dSNobuhiro IwamatsuPFCRH3_D:	.word 0x0000
130ed56fb1dSNobuhiro Iwamatsu.align 2
13151b572a8SNobuhiro IwamatsuPFCRH1_A:	.long 0xFFFE3A8E
132ed56fb1dSNobuhiro IwamatsuPFCRH1_D:	.word 0x0000
133ed56fb1dSNobuhiro Iwamatsu.align 2
13451b572a8SNobuhiro IwamatsuPFIORH_A:	.long 0xFFFE3A84
135ed56fb1dSNobuhiro IwamatsuPFIORH_D:	.word 0x0729
136ed56fb1dSNobuhiro Iwamatsu.align 2
13751b572a8SNobuhiro IwamatsuPECRL1_A:	.long 0xFFFE3A16
138ed56fb1dSNobuhiro IwamatsuPECRL1_D0:	.word 0x0033
139ed56fb1dSNobuhiro Iwamatsu.align 2
14051b572a8SNobuhiro Iwamatsu
14151b572a8SNobuhiro Iwamatsu
14251b572a8SNobuhiro IwamatsuWTCSR_A:	.long 0xFFFE0000
143ed56fb1dSNobuhiro IwamatsuWTCSR_D0:	.word 0xA518
144ed56fb1dSNobuhiro IwamatsuWTCSR_D1:	.word 0xA51D
14551b572a8SNobuhiro IwamatsuWTCNT_A:	.long 0xFFFE0002
146ed56fb1dSNobuhiro IwamatsuWTCNT_D:	.word 0x5A84
147ed56fb1dSNobuhiro Iwamatsu.align 2
14851b572a8SNobuhiro IwamatsuFRQCR_A:	.long 0xFFFE0010
149ed56fb1dSNobuhiro IwamatsuFRQCR_D:	.word 0x0104
150ed56fb1dSNobuhiro Iwamatsu.align 2
15151b572a8SNobuhiro Iwamatsu
152ed56fb1dSNobuhiro IwamatsuPCCRL4_D1:	.word 0x0010
153ed56fb1dSNobuhiro IwamatsuPECRL1_D1:	.word 0x0133
15451b572a8SNobuhiro Iwamatsu
15551b572a8SNobuhiro IwamatsuCMNCR_A:	.long 0xFFFC0000
15651b572a8SNobuhiro IwamatsuCMNCR_D:	.long 0x00001810
157ed56fb1dSNobuhiro IwamatsuCS0BCR_A:	.long 0xFFFC0004
158ed56fb1dSNobuhiro IwamatsuCS0BCR_D:	.long 0x10000400
15951b572a8SNobuhiro IwamatsuCS0WCR_A:	.long 0xFFFC0028
16051b572a8SNobuhiro IwamatsuCS0WCR_D:	.long 0x00000B41
161ed56fb1dSNobuhiro IwamatsuPECRL4_D1:	.word 0x0100
162ed56fb1dSNobuhiro Iwamatsu.align 2
16351b572a8SNobuhiro IwamatsuCS1WCR_A:	.long 0xFFFC002C
16451b572a8SNobuhiro IwamatsuCS1WCR_D:	.long 0x00000B01
165ed56fb1dSNobuhiro IwamatsuPCCRL4_D2:	.word 0x0011
166ed56fb1dSNobuhiro Iwamatsu.align 2
16751b572a8SNobuhiro IwamatsuPCCRL3_A:	.long 0xFFFE3912
168ed56fb1dSNobuhiro IwamatsuPCCRL3_D:	.word 0x0011
169ed56fb1dSNobuhiro Iwamatsu.align 2
17051b572a8SNobuhiro IwamatsuPCCRL2_A:	.long 0xFFFE3914
171ed56fb1dSNobuhiro IwamatsuPCCRL2_D:	.word 0x1111
172ed56fb1dSNobuhiro Iwamatsu.align 2
17351b572a8SNobuhiro IwamatsuPCCRL1_A:	.long 0xFFFE3916
174ed56fb1dSNobuhiro IwamatsuPCCRL1_D:	.word 0x1010
175c4f07be2SPhil Edworthy.align 2
17651b572a8SNobuhiro IwamatsuPDCRL4_A:	.long 0xFFFE3990
177ed56fb1dSNobuhiro IwamatsuPDCRL4_D:	.word 0x0011
178ed56fb1dSNobuhiro Iwamatsu.align 2
17951b572a8SNobuhiro IwamatsuPDCRL3_A:	.long 0xFFFE3992
180ed56fb1dSNobuhiro IwamatsuPDCRL3_D:	.word 0x00011
181ed56fb1dSNobuhiro Iwamatsu.align 2
18251b572a8SNobuhiro IwamatsuPDCRL2_A:	.long 0xFFFE3994
183ed56fb1dSNobuhiro IwamatsuPDCRL2_D:	.word 0x1111
184ed56fb1dSNobuhiro Iwamatsu.align 2
18551b572a8SNobuhiro IwamatsuPDCRL1_A:	.long 0xFFFE3996
186ed56fb1dSNobuhiro IwamatsuPDCRL1_D:	.word 0x1000
187ed56fb1dSNobuhiro Iwamatsu.align 2
18851b572a8SNobuhiro IwamatsuCS3BCR_A:	.long 0xFFFC0010
18951b572a8SNobuhiro IwamatsuCS3BCR_D:	.long 0x00004400
19051b572a8SNobuhiro IwamatsuCS3WCR_A:	.long 0xFFFC0034
19151b572a8SNobuhiro IwamatsuCS3WCR_D:	.long 0x00002892
19251b572a8SNobuhiro IwamatsuSDCR_A:		.long 0xFFFC004C
19351b572a8SNobuhiro IwamatsuSDCR_D:		.long 0x00000809
19451b572a8SNobuhiro IwamatsuRTCOR_A:	.long 0xFFFC0058
19551b572a8SNobuhiro IwamatsuRTCOR_D:	.long 0xA55A0041
19651b572a8SNobuhiro IwamatsuRTCSR_A:	.long 0xFFFC0050
19751b572a8SNobuhiro IwamatsuRTCSR_D:	.long 0xa55a0010
19851b572a8SNobuhiro Iwamatsu
19951b572a8SNobuhiro IwamatsuSDRAM_MODE:	.long 0xFFFC5040
20051b572a8SNobuhiro IwamatsuREPEAT_D:	.long 0x00009C40
201