xref: /OK3568_Linux_fs/u-boot/board/ms7720se/lowlevel_init.S (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun/*
2*4882a593Smuzhiyun * (C) Copyright 2007
3*4882a593Smuzhiyun * Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
4*4882a593Smuzhiyun *
5*4882a593Smuzhiyun * SPDX-License-Identifier:	GPL-2.0+
6*4882a593Smuzhiyun */
7*4882a593Smuzhiyun
8*4882a593Smuzhiyun#include <asm/macro.h>
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun	.global	lowlevel_init
11*4882a593Smuzhiyun
12*4882a593Smuzhiyun	.text
13*4882a593Smuzhiyun	.align	2
14*4882a593Smuzhiyun
15*4882a593Smuzhiyunlowlevel_init:
16*4882a593Smuzhiyun
17*4882a593Smuzhiyun	write16	WTCSR_A, WTCSR_D
18*4882a593Smuzhiyun
19*4882a593Smuzhiyun	write16	WTCNT_A, WTCNT_D
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun	write16	FRQCR_A, FRQCR_D
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun	write16	UCLKCR_A, UCLKCR_D
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun	write32	CMNCR_A, CMNCR_D
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun	write32	CMNCR_A, CMNCR_D
28*4882a593Smuzhiyun
29*4882a593Smuzhiyun	write32	CS0BCR_A, CS0BCR_D
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun	write32	CS2BCR_A, CS2BCR_D
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun	write32	CS3BCR_A, CS3BCR_D
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun	write32	CS4BCR_A, CS4BCR_D
36*4882a593Smuzhiyun
37*4882a593Smuzhiyun	write32	CS5ABCR_A, CS5ABCR_D
38*4882a593Smuzhiyun
39*4882a593Smuzhiyun	write32	CS5BBCR_A, CS5BBCR_D
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun	write32	CS6ABCR_A, CS6ABCR_D
42*4882a593Smuzhiyun
43*4882a593Smuzhiyun	write32	CS6BBCR_A, CS6BBCR_D
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun	write32	CS0WCR_A, CS0WCR_D
46*4882a593Smuzhiyun
47*4882a593Smuzhiyun	write32	CS2WCR_A, CS2WCR_D
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun	write32	CS3WCR_A, CS3WCR_D
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun	write32	CS4WCR_A, CS4WCR_D
52*4882a593Smuzhiyun
53*4882a593Smuzhiyun	write32	CS5AWCR_A, CS5AWCR_D
54*4882a593Smuzhiyun
55*4882a593Smuzhiyun	write32	CS5BWCR_A, CS5BWCR_D
56*4882a593Smuzhiyun
57*4882a593Smuzhiyun	write32	CS6AWCR_A, CS6AWCR_D
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun	write32	CS6BWCR_A, CS6BWCR_D
60*4882a593Smuzhiyun
61*4882a593Smuzhiyun	write32	SDCR_A, SDCR_D1
62*4882a593Smuzhiyun
63*4882a593Smuzhiyun	write32	RTCSR_A, RTCSR_D
64*4882a593Smuzhiyun
65*4882a593Smuzhiyun	write32	RTCNT_A RTCNT_D
66*4882a593Smuzhiyun
67*4882a593Smuzhiyun	write32	RTCOR_A, RTCOR_D
68*4882a593Smuzhiyun
69*4882a593Smuzhiyun	write32	SDCR_A, SDCR_D2
70*4882a593Smuzhiyun
71*4882a593Smuzhiyun	write16	SDMR3_A, SDMR3_D
72*4882a593Smuzhiyun
73*4882a593Smuzhiyun	write16	PCCR_A, PCCR_D
74*4882a593Smuzhiyun
75*4882a593Smuzhiyun	write16	PDCR_A, PDCR_D
76*4882a593Smuzhiyun
77*4882a593Smuzhiyun	write16	PECR_A, PECR_D
78*4882a593Smuzhiyun
79*4882a593Smuzhiyun	write16	PGCR_A, PGCR_D
80*4882a593Smuzhiyun
81*4882a593Smuzhiyun	write16	PHCR_A, PHCR_D
82*4882a593Smuzhiyun
83*4882a593Smuzhiyun	write16	PPCR_A, PPCR_D
84*4882a593Smuzhiyun
85*4882a593Smuzhiyun	write16	PTCR_A, PTCR_D
86*4882a593Smuzhiyun
87*4882a593Smuzhiyun	write16	PVCR_A, PVCR_D
88*4882a593Smuzhiyun
89*4882a593Smuzhiyun	write16	PSELA_A, PSELA_D
90*4882a593Smuzhiyun
91*4882a593Smuzhiyun	write32	CCR_A, CCR_D
92*4882a593Smuzhiyun
93*4882a593Smuzhiyun	write8	LED_A, LED_D
94*4882a593Smuzhiyun
95*4882a593Smuzhiyun	rts
96*4882a593Smuzhiyun	 nop
97*4882a593Smuzhiyun
98*4882a593Smuzhiyun	.align 4
99*4882a593Smuzhiyun
100*4882a593SmuzhiyunFRQCR_A:	.long	0xA415FF80	/* FRQCR Address */
101*4882a593SmuzhiyunWTCNT_A:	.long	0xA415FF84
102*4882a593SmuzhiyunWTCSR_A:	.long	0xA415FF86
103*4882a593SmuzhiyunUCLKCR_A:	.long	0xA40A0008
104*4882a593SmuzhiyunFRQCR_D:	.word	0x1103		/* I:B:P=8:4:2 */
105*4882a593SmuzhiyunWTCNT_D:	.word	0x5A00
106*4882a593SmuzhiyunWTCSR_D:	.word	0xA506
107*4882a593SmuzhiyunUCLKCR_D:	.word	0xA5C0
108*4882a593Smuzhiyun
109*4882a593Smuzhiyun#define BSC_BASE	0xA4FD0000
110*4882a593SmuzhiyunCMNCR_A:	.long	BSC_BASE
111*4882a593SmuzhiyunCS0BCR_A:	.long	BSC_BASE + 0x04
112*4882a593SmuzhiyunCS2BCR_A:	.long	BSC_BASE + 0x08
113*4882a593SmuzhiyunCS3BCR_A:	.long	BSC_BASE + 0x0C
114*4882a593SmuzhiyunCS4BCR_A:	.long	BSC_BASE + 0x10
115*4882a593SmuzhiyunCS5ABCR_A:	.long	BSC_BASE + 0x14
116*4882a593SmuzhiyunCS5BBCR_A:	.long	BSC_BASE + 0x18
117*4882a593SmuzhiyunCS6ABCR_A:	.long	BSC_BASE + 0x1C
118*4882a593SmuzhiyunCS6BBCR_A:	.long	BSC_BASE + 0x20
119*4882a593SmuzhiyunCS0WCR_A:	.long	BSC_BASE + 0x24
120*4882a593SmuzhiyunCS2WCR_A:	.long	BSC_BASE + 0x28
121*4882a593SmuzhiyunCS3WCR_A:	.long	BSC_BASE + 0x2C
122*4882a593SmuzhiyunCS4WCR_A:	.long	BSC_BASE + 0x30
123*4882a593SmuzhiyunCS5AWCR_A:	.long	BSC_BASE + 0x34
124*4882a593SmuzhiyunCS5BWCR_A:	.long	BSC_BASE + 0x38
125*4882a593SmuzhiyunCS6AWCR_A:	.long	BSC_BASE + 0x3C
126*4882a593SmuzhiyunCS6BWCR_A:	.long	BSC_BASE + 0x40
127*4882a593SmuzhiyunSDCR_A:		.long	BSC_BASE + 0x44
128*4882a593SmuzhiyunRTCSR_A:	.long	BSC_BASE + 0x48
129*4882a593SmuzhiyunRTCNT_A:	.long	BSC_BASE + 0x4C
130*4882a593SmuzhiyunRTCOR_A:	.long	BSC_BASE + 0x50
131*4882a593SmuzhiyunSDMR3_A:	.long	BSC_BASE + 0x58C0
132*4882a593Smuzhiyun
133*4882a593SmuzhiyunCMNCR_D:	.long	0x00000010
134*4882a593SmuzhiyunCS0BCR_D:	.long	0x36DB0400
135*4882a593SmuzhiyunCS2BCR_D:	.long	0x36DB0400
136*4882a593SmuzhiyunCS3BCR_D:	.long	0x36DB4600
137*4882a593SmuzhiyunCS4BCR_D:	.long	0x36DB0400
138*4882a593SmuzhiyunCS5ABCR_D:	.long	0x36DB0400
139*4882a593SmuzhiyunCS5BBCR_D:	.long	0x36DB0200
140*4882a593SmuzhiyunCS6ABCR_D:	.long	0x36DB0400
141*4882a593SmuzhiyunCS6BBCR_D:	.long	0x36DB0400
142*4882a593SmuzhiyunCS0WCR_D:	.long	0x00000B01
143*4882a593SmuzhiyunCS2WCR_D:	.long	0x00000500
144*4882a593SmuzhiyunCS3WCR_D:	.long	0x00006D1B
145*4882a593SmuzhiyunCS4WCR_D:	.long	0x00000500
146*4882a593SmuzhiyunCS5AWCR_D:	.long	0x00000500
147*4882a593SmuzhiyunCS5BWCR_D:	.long	0x00000500
148*4882a593SmuzhiyunCS6AWCR_D:	.long	0x00000500
149*4882a593SmuzhiyunCS6BWCR_D:	.long	0x00000500
150*4882a593SmuzhiyunSDCR_D1:	.long	0x00000011
151*4882a593SmuzhiyunRTCSR_D:	.long	0xA55A0010
152*4882a593SmuzhiyunRTCNT_D:	.long	0xA55A001F
153*4882a593SmuzhiyunRTCOR_D:	.long	0xA55A001F
154*4882a593SmuzhiyunSDMR3_D:	.word	0x0000
155*4882a593Smuzhiyun.align 2
156*4882a593SmuzhiyunSDCR_D2:	.long	0x00000811
157*4882a593Smuzhiyun
158*4882a593Smuzhiyun#define PFC_BASE	0xA4050100
159*4882a593SmuzhiyunPCCR_A:		.long	PFC_BASE + 0x04
160*4882a593SmuzhiyunPDCR_A:		.long	PFC_BASE + 0x06
161*4882a593SmuzhiyunPECR_A:		.long	PFC_BASE + 0x08
162*4882a593SmuzhiyunPGCR_A:		.long	PFC_BASE + 0x0C
163*4882a593SmuzhiyunPHCR_A:		.long	PFC_BASE + 0x0E
164*4882a593SmuzhiyunPPCR_A:		.long	PFC_BASE + 0x18
165*4882a593SmuzhiyunPTCR_A:		.long	PFC_BASE + 0x1E
166*4882a593SmuzhiyunPVCR_A:		.long	PFC_BASE + 0x22
167*4882a593SmuzhiyunPSELA_A:	.long	PFC_BASE + 0x24
168*4882a593Smuzhiyun
169*4882a593SmuzhiyunPCCR_D:		.word	0x0000
170*4882a593SmuzhiyunPDCR_D:		.word	0x0000
171*4882a593SmuzhiyunPECR_D:		.word	0x0000
172*4882a593SmuzhiyunPGCR_D:		.word	0x0000
173*4882a593SmuzhiyunPHCR_D:		.word	0x0000
174*4882a593SmuzhiyunPPCR_D:		.word	0x00AA
175*4882a593SmuzhiyunPTCR_D:		.word	0x0280
176*4882a593SmuzhiyunPVCR_D:		.word	0x0000
177*4882a593SmuzhiyunPSELA_D:	.word	0x0000
178*4882a593Smuzhiyun.align 2
179*4882a593Smuzhiyun
180*4882a593SmuzhiyunCCR_A:		.long	0xFFFFFFEC
181*4882a593Smuzhiyun!CCR_D:		.long	0x0000000D
182*4882a593SmuzhiyunCCR_D:		.long	0x0000000B
183*4882a593Smuzhiyun
184*4882a593SmuzhiyunLED_A:		.long	0xB6800000
185*4882a593SmuzhiyunLED_D:		.long	0xFF
186