1
2
3
4
5
6
7#include <config.h>
8#include <version.h>
9
10#include <asm/processor.h>
11#include <asm/macro.h>
12
13 .global lowlevel_init
14 .text
15 .align 2
16
17lowlevel_init:
18
19 write32 CCR_A, CCR_D_D
20
21 write32 MMUCR_A, MMUCR_D
22
23 write32 BCR1_A, BCR1_D
24
25 write16 BCR2_A, BCR2_D
26
27 write16 BCR3_A, BCR3_D
28
29 write32 BCR4_A, BCR4_D
30
31 write32 WCR1_A, WCR1_D
32
33 write32 WCR2_A, WCR2_D
34
35 write32 WCR3_A, WCR3_D
36
37 write16 PCR_A, PCR_D
38
39 write16 LED_A, LED_D
40
41 write32 MCR_A, MCR_D1
42
43 write16 RTCNT_A, RTCNT_D
44
45 write16 RTCOR_A, RTCOR_D
46
47 write16 RFCR_A, RFCR_D
48
49 write16 RTCSR_A, RTCSR_D
50
51 write8 SDMR3_A, SDMR3_D0
52
53
54 mov.l RFCR_A, r1
55 mov
561:
57 mov.w @r1, r0
58 extu.w r0, r2
59 cmp/hi r3, r2
60 bf 1b
61
62 write32 MCR_A, MCR_D2
63
64 write8 SDMR3_A, SDMR3_D1
65
66 write32 IRLMASK_A, IRLMASK_D
67
68 write32 CCR_A, CCR_D_E
69
70 rts
71 nop
72
73 .align 2
74CCR_A: .long CCR
75CCR_D_D: .long 0x0808
76CCR_D_E: .long 0x8000090B
77
78FRQCR_A: .long FRQCR
79FRQCR_D: .long 0x00000e0a
80BCR1_A: .long BCR1
81BCR1_D: .long 0x00180008
82BCR2_A: .long BCR2
83BCR2_D: .long 0xabe8
84BCR3_A: .long BCR3
85BCR3_D: .long 0x0000
86BCR4_A: .long BCR4
87BCR4_D: .long 0x00000010
88WCR1_A: .long WCR1
89WCR1_D: .long 0x33343333
90WCR2_A: .long WCR2
91WCR2_D: .long 0xcff86fbf
92WCR3_A: .long WCR3
93WCR3_D: .long 0x07777707
94LED_A: .long 0x04000036
95LED_D: .long 0xFF
96RTCNT_A: .long RTCNT
97RTCNT_D: .word 0xA500
98.align 2
99RTCOR_A: .long RTCOR
100RTCOR_D: .word 0xA534
101.align 2
102RTCSR_A: .long RTCSR
103RTCSR_D: .word 0xA510
104.align 2
105SDMR3_A: .long 0xFF9400CC
106SDMR3_D0: .long 0x55
107SDMR3_D1: .long 0x00
108MCR_A: .long MCR
109MCR_D1: .long 0x081901F4
110MCR_D2: .long 0x481901F4
111RFCR_A: .long RFCR
112RFCR_D: .long 0xA400
113PCR_A: .long PCR
114PCR_D: .long 0x0000
115MMUCR_A: .long MMUCR
116MMUCR_D: .long 0x00000000
117IRLMASK_A: .long 0xA4000000
118IRLMASK_D: .long 0x00000000
119