Commit 3e3eec39de8fe0ae62e6e4d4e3fa4442ee9ed6b1

Authored by Nobuhiro Iwamatsu
Committed by Nobuhiro Iwamatsu
1 parent 3c92217732

sh: use write{8,16,32} in ms7720se lowlevel_init

Signed-off-by: Nobuhiro Iwamatsu <iwamatsu.nobuhiro@renesas.com>
Signed-off-by: Nobuhiro Iwamatsu <iwamatsu@nigauri.org>

Showing 1 changed file with 42 additions and 114 deletions Inline Diff

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