1
2
3
4
5
6
7
8 #include <linux/sys.h>
9 #include <linux/errno.h>
10 #include <linux/linkage.h>
11 #include <asm/asm-offsets.h>
12 #include <asm/suspend.h>
13 #include <asm/romimage-macros.h>
14
15
16
17
18 .balign 4
19 ENTRY(ecovec24_sdram_enter_start)
20
21
22
23 ED 0xFD000010, 0x00000000
24 ED 0xFD000040, 0x00000000
25 ED 0xFD000014, 0x00000002
26 ED 0xFD000014, 0x00000004
27 ED 0xFD000040, 0x00000001
28
29 rts
30 nop
31
32 ENTRY(ecovec24_sdram_enter_end)
33
34 .balign 4
35 ENTRY(ecovec24_sdram_leave_start)
36
37 mov.l @(SH_SLEEP_MODE, r5), r0
38 tst #SUSP_SH_RSTANDBY, r0
39 bf resume_rstandby
40
41
42
43 ED 0xFD000040, 0x00000000
44 WAIT 1
45 ED 0xFD000014, 0x00000002
46 ED 0xFD000014, 0x00000004
47 ED 0xFD000010, 0x00000001
48 ED 0xFD000040, 0x00010000
49
50 rts
51 nop
52
53 resume_rstandby:
54
55
56
57 ED 0xFD000108, 0x00000181
58 ED 0xFD000020, 0x015B0002
59 ED 0xFD000030, 0x03071502
60 ED 0xFD000034, 0x02020102
61 ED 0xFD000038, 0x01090405
62 ED 0xFD00003C, 0x00000002
63 ED 0xFD000008, 0x00000005
64 ED 0xFD000040, 0x00000001
65 ED 0xFD000040, 0x00000000
66 ED 0xFD000018, 0x00000001
67
68 mov #100,r0
69 WAIT_400NS:
70 dt r0
71 bf WAIT_400NS
72
73 ED 0xFD000014, 0x00000002
74 ED 0xFD000060, 0x00020000
75 ED 0xFD000060, 0x00030000
76 ED 0xFD000060, 0x00010004
77 ED 0xFD000060, 0x00000532
78 ED 0xFD000014, 0x00000002
79 ED 0xFD000014, 0x00000004
80 ED 0xFD000014, 0x00000004
81 ED 0xFD000060, 0x00000432
82 ED 0xFD000060, 0x000103c0
83 ED 0xFD000060, 0x00010040
84
85 mov #100,r0
86 WAIT_400NS_2:
87 dt r0
88 bf WAIT_400NS_2
89
90 ED 0xFD000010, 0x00000001
91 ED 0xFD000044, 0x0000050f
92 ED 0xFD000048, 0x236800e6
93
94 mov.l DUMMY,r0
95 mov.l @r0, r1
96
97 ED 0xFD000014, 0x00000002
98 ED 0xFD000014, 0x00000004
99 ED 0xFD000108, 0x00000080
100 ED 0xFD000040, 0x00010000
101
102 rts
103 nop
104
105 .balign 4
106 DUMMY: .long 0xac400000
107
108 ENTRY(ecovec24_sdram_leave_end)