-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
sh: Add migor specific memory pre/post sleep code
Add self-refresh handling code for the Migo-R board. Signed-off-by: Magnus Damm <damm@opensource.se> Signed-off-by: Paul Mundt <lethal@linux-sh.org>
- Loading branch information
Magnus Damm
authored and
Paul Mundt
committed
Oct 30, 2009
1 parent
3b9f295
commit 13fa551
Showing
3 changed files
with
82 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,2 @@ | ||
obj-y := setup.o | ||
obj-y := setup.o sdram.o | ||
obj-$(CONFIG_SH_MIGOR_QVGA) += lcd_qvga.o |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,69 @@ | ||
/* | ||
* Migo-R sdram self/auto-refresh setup code | ||
* | ||
* Copyright (C) 2009 Magnus Damm | ||
* | ||
* This file is subject to the terms and conditions of the GNU General Public | ||
* License. See the file "COPYING" in the main directory of this archive | ||
* for more details. | ||
*/ | ||
|
||
#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> | ||
|
||
/* code to enter and leave self-refresh. must be self-contained. | ||
* this code will be copied to on-chip memory and executed from there. | ||
*/ | ||
.balign 4 | ||
ENTRY(migor_sdram_enter_start) | ||
|
||
/* SBSC: disable power down and put in self-refresh mode */ | ||
mov.l 1f, r4 | ||
mov.l 2f, r1 | ||
mov.l @r4, r2 | ||
or r1, r2 | ||
mov.l 3f, r3 | ||
and r3, r2 | ||
mov.l r2, @r4 | ||
|
||
rts | ||
nop | ||
|
||
.balign 4 | ||
1: .long 0xfe400008 /* SDCR0 */ | ||
2: .long 0x00000400 | ||
3: .long 0xffff7fff | ||
ENTRY(migor_sdram_enter_end) | ||
|
||
.balign 4 | ||
ENTRY(migor_sdram_leave_start) | ||
|
||
/* SBSC: set auto-refresh mode */ | ||
mov.l 1f, r4 | ||
mov.l @r4, r0 | ||
mov.l 4f, r1 | ||
and r1, r0 | ||
mov.l r0, @r4 | ||
mov.l 6f, r4 | ||
mov.l 8f, r0 | ||
mov.l @r4, r1 | ||
mov #-1, r4 | ||
add r4, r1 | ||
or r1, r0 | ||
mov.l 7f, r1 | ||
mov.l r0, @r1 | ||
|
||
rts | ||
nop | ||
|
||
.balign 4 | ||
1: .long 0xfe400008 /* SDCR0 */ | ||
4: .long 0xfffffbff | ||
6: .long 0xfe40001c /* RTCOR */ | ||
7: .long 0xfe400018 /* RTCNT */ | ||
8: .long 0xa55a0000 | ||
ENTRY(migor_sdram_leave_end) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters