]> git.karo-electronics.de Git - karo-tx-uboot.git/blob - board/ms7720se/lowlevel_init.S
Merge branch 'master' of git://www.denx.de/git/u-boot-net
[karo-tx-uboot.git] / board / ms7720se / lowlevel_init.S
1 /*
2  * (C) Copyright 2007
3  * Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU General Public License as
7  * published by the Free Software Foundation; either version 2 of
8  * the License, or (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
18  * MA 02111-1307 USA
19  */
20
21         .global lowlevel_init
22
23         .text
24         .align  2
25
26 lowlevel_init:
27
28         mov.l   WTCSR_A,r1
29         mov.l   WTCSR_D,r0
30         mov.w   r0,@r1
31
32         mov.l   WTCNT_A,r1
33         mov.l   WTCNT_D,r0
34         mov.w   r0,@r1
35
36         mov.l   FRQCR_A,r1
37         mov.l   FRQCR_D,r0
38         mov.w   r0,@r1
39
40         mov.l   UCLKCR_A,r1
41         mov.l   UCLKCR_D,r0
42         mov.w   r0,@r1
43
44         mov.l   CMNCR_A, r1
45         mov.l   CMNCR_D, r0
46         mov.l   r0, @r1
47
48         mov.l   CS0BCR_A, r1
49         mov.l   CS0BCR_D, r0
50         mov.l   r0, @r1
51
52         mov.l   CS2BCR_A, r1
53         mov.l   CS2BCR_D, r0
54         mov.l   r0, @r1
55
56         mov.l   CS3BCR_A, r1
57         mov.l   CS3BCR_D, r0
58         mov.l   r0, @r1
59
60         mov.l   CS4BCR_A, r1
61         mov.l   CS4BCR_D, r0
62         mov.l   r0, @r1
63
64         mov.l   CS5ABCR_A, r1
65         mov.l   CS5ABCR_D, r0
66         mov.l   r0, @r1
67
68         mov.l   CS5BBCR_A, r1
69         mov.l   CS5BBCR_D, r0
70         mov.l   r0, @r1
71
72         mov.l   CS6ABCR_A, r1
73         mov.l   CS6ABCR_D, r0
74         mov.l   r0, @r1
75
76         mov.l   CS6BBCR_A, r1
77         mov.l   CS6BBCR_D, r0
78         mov.l   r0, @r1
79
80         mov.l   CS0WCR_A, r1
81         mov.l   CS0WCR_D, r0
82         mov.l   r0, @r1
83
84         mov.l   CS2WCR_A, r1
85         mov.l   CS2WCR_D, r0
86         mov.l   r0, @r1
87
88         mov.l   CS3WCR_A, r1
89         mov.l   CS3WCR_D, r0
90         mov.l   r0, @r1
91
92         mov.l   CS4WCR_A, r1
93         mov.l   CS4WCR_D, r0
94         mov.l   r0, @r1
95
96         mov.l   CS5AWCR_A, r1
97         mov.l   CS5AWCR_D, r0
98         mov.l   r0, @r1
99
100         mov.l   CS5BWCR_A, r1
101         mov.l   CS5BWCR_D, r0
102         mov.l   r0, @r1
103
104         mov.l   CS6AWCR_A, r1
105         mov.l   CS6AWCR_D, r0
106         mov.l   r0, @r1
107
108         mov.l   CS6BWCR_A, r1
109         mov.l   CS6BWCR_D, r0
110         mov.l   r0, @r1
111
112         mov.l   SDCR_A, r1
113         mov.l   SDCR_D1, r0
114         mov.l   r0, @r1
115
116         mov.l   RTCSR_A, r1
117         mov.l   RTCSR_D, r0
118         mov.l   r0, @r1
119
120         mov.l   RTCNT_A, r1
121         mov.l   RTCNT_D, r0
122         mov.l   r0, @r1
123
124         mov.l   RTCOR_A, r1
125         mov.l   RTCOR_D, r0
126         mov.l   r0, @r1
127
128         mov.l   SDCR_A, r1
129         mov.l   SDCR_D2, r0
130         mov.l   r0, @r1
131
132         mov.l   SDMR3_A, r1
133         mov.l   SDMR3_D, r0
134         mov.w   r0, @r1
135
136         mov.l   PCCR_A, r1
137         mov.l   PCCR_D, r0
138         mov.w   r0, @r1
139
140         mov.l   PDCR_A, r1
141         mov.l   PDCR_D, r0
142         mov.w   r0, @r1
143
144         mov.l   PECR_A, r1
145         mov.l   PECR_D, r0
146         mov.w   r0, @r1
147
148         mov.l   PGCR_A, r1
149         mov.l   PGCR_D, r0
150         mov.w   r0, @r1
151
152         mov.l   PHCR_A, r1
153         mov.l   PHCR_D, r0
154         mov.w   r0, @r1
155
156         mov.l   PPCR_A, r1
157         mov.l   PPCR_D, r0
158         mov.w   r0, @r1
159
160         mov.l   PTCR_A, r1
161         mov.l   PTCR_D, r0
162         mov.w   r0, @r1
163
164         mov.l   PVCR_A, r1
165         mov.l   PVCR_D, r0
166         mov.w   r0, @r1
167
168         mov.l   PSELA_A, r1
169         mov.l   PSELA_D, r0
170         mov.w   r0, @r1
171
172         mov.l   CCR_A, r1
173         mov.l   CCR_D, r0
174         mov.l   r0, @r1
175
176         mov.l   LED_A, r1
177         mov.l   LED_D, r0
178         mov.b   r0, @r1
179
180         rts
181          nop
182
183         .align 4
184
185 FRQCR_A:        .long   0xA415FF80      /* FRQCR Address */
186 WTCNT_A:        .long   0xA415FF84
187 WTCSR_A:        .long   0xA415FF86
188 UCLKCR_A:       .long   0xA40A0008
189 FRQCR_D:        .long   0x1103          /* I:B:P=8:4:2 */
190 WTCNT_D:        .long   0x5A00
191 WTCSR_D:        .long   0xA506
192 UCLKCR_D:       .long   0xA5C0
193
194 #define BSC_BASE        0xA4FD0000
195 CMNCR_A:        .long   BSC_BASE
196 CS0BCR_A:       .long   BSC_BASE + 0x04
197 CS2BCR_A:       .long   BSC_BASE + 0x08
198 CS3BCR_A:       .long   BSC_BASE + 0x0C
199 CS4BCR_A:       .long   BSC_BASE + 0x10
200 CS5ABCR_A:      .long   BSC_BASE + 0x14
201 CS5BBCR_A:      .long   BSC_BASE + 0x18
202 CS6ABCR_A:      .long   BSC_BASE + 0x1C
203 CS6BBCR_A:      .long   BSC_BASE + 0x20
204 CS0WCR_A:       .long   BSC_BASE + 0x24
205 CS2WCR_A:       .long   BSC_BASE + 0x28
206 CS3WCR_A:       .long   BSC_BASE + 0x2C
207 CS4WCR_A:       .long   BSC_BASE + 0x30
208 CS5AWCR_A:      .long   BSC_BASE + 0x34
209 CS5BWCR_A:      .long   BSC_BASE + 0x38
210 CS6AWCR_A:      .long   BSC_BASE + 0x3C
211 CS6BWCR_A:      .long   BSC_BASE + 0x40
212 SDCR_A:         .long   BSC_BASE + 0x44
213 RTCSR_A:        .long   BSC_BASE + 0x48
214 RTCNT_A:        .long   BSC_BASE + 0x4C
215 RTCOR_A:        .long   BSC_BASE + 0x50
216 SDMR3_A:        .long   BSC_BASE + 0x58C0
217
218 CMNCR_D:        .long   0x00000010
219 CS0BCR_D:       .long   0x36DB0400
220 CS2BCR_D:       .long   0x36DB0400
221 CS3BCR_D:       .long   0x36DB4600
222 CS4BCR_D:       .long   0x36DB0400
223 CS5ABCR_D:      .long   0x36DB0400
224 CS5BBCR_D:      .long   0x36DB0200
225 CS6ABCR_D:      .long   0x36DB0400
226 CS6BBCR_D:      .long   0x36DB0400
227 CS0WCR_D:       .long   0x00000B01
228 CS2WCR_D:       .long   0x00000500
229 CS3WCR_D:       .long   0x00006D1B
230 CS4WCR_D:       .long   0x00000500
231 CS5AWCR_D:      .long   0x00000500
232 CS5BWCR_D:      .long   0x00000500
233 CS6AWCR_D:      .long   0x00000500
234 CS6BWCR_D:      .long   0x00000500
235 SDCR_D1:        .long   0x00000011
236 RTCSR_D:        .long   0xA55A0010
237 RTCNT_D:        .long   0xA55A001F
238 RTCOR_D:        .long   0xA55A001F
239 SDMR3_D:        .long   0x0000
240 SDCR_D2:        .long   0x00000811
241
242 #define PFC_BASE        0xA4050100
243 PCCR_A:         .long   PFC_BASE + 0x04
244 PDCR_A:         .long   PFC_BASE + 0x06
245 PECR_A:         .long   PFC_BASE + 0x08
246 PGCR_A:         .long   PFC_BASE + 0x0C
247 PHCR_A:         .long   PFC_BASE + 0x0E
248 PPCR_A:         .long   PFC_BASE + 0x18
249 PTCR_A:         .long   PFC_BASE + 0x1E
250 PVCR_A:         .long   PFC_BASE + 0x22
251 PSELA_A:        .long   PFC_BASE + 0x24
252
253 PCCR_D:         .long   0x0000
254 PDCR_D:         .long   0x0000
255 PECR_D:         .long   0x0000
256 PGCR_D:         .long   0x0000
257 PHCR_D:         .long   0x0000
258 PPCR_D:         .long   0x00AA
259 PTCR_D:         .long   0x0280
260 PVCR_D:         .long   0x0000
261 PSELA_D:        .long   0x0000
262
263 CCR_A:          .long   0xFFFFFFEC
264 !CCR_D:         .long   0x0000000D
265 CCR_D:          .long   0x0000000B
266
267 LED_A:          .long   0xB6800000
268 LED_D:          .long   0xFF