#include <linux/sys.h>
#include <linux/errno.h>
#include <linux/linkage.h>
#include <asm/asm-offsets.h>
#include <asm/suspend.h>
#include <asm/romimage-macros.h>
.balign 4
ENTRY(ecovec24_sdram_enter_start)
ED 0xFD000010, 0x00000000
ED 0xFD000040, 0x00000000
ED 0xFD000014, 0x00000002
ED 0xFD000014, 0x00000004
ED 0xFD000040, 0x00000001
rts
nop
ENTRY(ecovec24_sdram_enter_end)
.balign 4
ENTRY(ecovec24_sdram_leave_start)
mov.l @(SH_SLEEP_MODE, r5), r0
tst #SUSP_SH_RSTANDBY, r0
bf resume_rstandby
ED 0xFD000040, 0x00000000
WAIT 1
ED 0xFD000014, 0x00000002
ED 0xFD000014, 0x00000004
ED 0xFD000010, 0x00000001
ED 0xFD000040, 0x00010000
rts
nop
resume_rstandby:
ED 0xFD000108, 0x00000181
ED 0xFD000020, 0x015B0002
ED 0xFD000030, 0x03071502
ED 0xFD000034, 0x02020102
ED 0xFD000038, 0x01090405
ED 0xFD00003C, 0x00000002
ED 0xFD000008, 0x00000005
ED 0xFD000040, 0x00000001
ED 0xFD000040, 0x00000000
ED 0xFD000018, 0x00000001
mov #100,r0
WAIT_400NS:
dt r0
bf WAIT_400NS
ED 0xFD000014, 0x00000002
ED 0xFD000060, 0x00020000
ED 0xFD000060, 0x00030000
ED 0xFD000060, 0x00010004
ED 0xFD000060, 0x00000532
ED 0xFD000014, 0x00000002
ED 0xFD000014, 0x00000004
ED 0xFD000014, 0x00000004
ED 0xFD000060, 0x00000432
ED 0xFD000060, 0x000103c0
ED 0xFD000060, 0x00010040
mov #100,r0
WAIT_400NS_2:
dt r0
bf WAIT_400NS_2
ED 0xFD000010, 0x00000001
ED 0xFD000044, 0x0000050f
ED 0xFD000048, 0x236800e6
mov.l DUMMY,r0
mov.l @r0, r1
ED 0xFD000014, 0x00000002
ED 0xFD000014, 0x00000004
ED 0xFD000108, 0x00000080
ED 0xFD000040, 0x00010000
rts
nop
.balign 4
DUMMY: .long 0xac400000
ENTRY(ecovec24_sdram_leave_end)