Commit 58ee987e authored by Magnus Damm's avatar Magnus Damm Committed by Paul Mundt

sh: Add KFR2R09 specific memory pre/post R-standby code

Add R-standby support to the KFR2R09 sdram code.
Signed-off-by: default avatarMagnus Damm <damm@opensource.se>
Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
parent bb3e0eed
...@@ -39,6 +39,10 @@ ENTRY(kfr2r09_sdram_leave_start) ...@@ -39,6 +39,10 @@ ENTRY(kfr2r09_sdram_leave_start)
/* DBSC: put memory in auto-refresh mode */ /* DBSC: put memory in auto-refresh mode */
mov.l @(SH_SLEEP_MODE, r5), r0
tst #SUSP_SH_RSTANDBY, r0
bf resume_rstandby
ED 0xFD000040, 0x00000000 /* DBRFPDN0 */ ED 0xFD000040, 0x00000000 /* DBRFPDN0 */
WAIT 1 WAIT 1
ED 0xFD000014, 0x00000002 /* DBCMDCNT (PALL) */ ED 0xFD000014, 0x00000002 /* DBCMDCNT (PALL) */
...@@ -49,4 +53,28 @@ ENTRY(kfr2r09_sdram_leave_start) ...@@ -49,4 +53,28 @@ ENTRY(kfr2r09_sdram_leave_start)
rts rts
nop nop
resume_rstandby:
/* DBSC: re-initialize and put in auto-refresh */
ED 0xFD000108, 0x40000301 /* DBPDCNT0 */
ED 0xFD000020, 0x011B0002 /* DBCONF */
ED 0xFD000030, 0x03060E02 /* DBTR0 */
ED 0xFD000034, 0x01020102 /* DBTR1 */
ED 0xFD000038, 0x01090406 /* DBTR2 */
ED 0xFD000008, 0x00000004 /* DBKIND */
ED 0xFD000040, 0x00000001 /* DBRFPDN0 */
ED 0xFD000040, 0x00000000 /* DBRFPDN0 */
ED 0xFD000018, 0x00000001 /* DBCKECNT */
WAIT 1
ED 0xFD000010, 0x00000001 /* DBEN */
ED 0xFD000044, 0x000004AF /* DBRFPDN1 */
ED 0xFD000048, 0x20CF0037 /* DBRFPDN2 */
ED 0xFD000014, 0x00000004 /* DBCMDCNT (REF) */
ED 0xFD000108, 0x40000300 /* DBPDCNT0 */
ED 0xFD000040, 0x00010000 /* DBRFPDN0 */
rts
nop
ENTRY(kfr2r09_sdram_leave_end) ENTRY(kfr2r09_sdram_leave_end)
...@@ -453,7 +453,8 @@ extern char kfr2r09_sdram_leave_end; ...@@ -453,7 +453,8 @@ extern char kfr2r09_sdram_leave_end;
static int __init kfr2r09_devices_setup(void) static int __init kfr2r09_devices_setup(void)
{ {
/* register board specific self-refresh code */ /* register board specific self-refresh code */
sh_mobile_register_self_refresh(SUSP_SH_STANDBY | SUSP_SH_SF, sh_mobile_register_self_refresh(SUSP_SH_STANDBY | SUSP_SH_SF |
SUSP_SH_RSTANDBY,
&kfr2r09_sdram_enter_start, &kfr2r09_sdram_enter_start,
&kfr2r09_sdram_enter_end, &kfr2r09_sdram_enter_end,
&kfr2r09_sdram_leave_start, &kfr2r09_sdram_leave_start,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment