Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/arch/sh/boards/mach-kfr2r09/sdram.S
15126 views
1
/*
2
* KFR2R09 sdram self/auto-refresh setup code
3
*
4
* Copyright (C) 2009 Magnus Damm
5
*
6
* This file is subject to the terms and conditions of the GNU General Public
7
* License. See the file "COPYING" in the main directory of this archive
8
* for more details.
9
*/
10
11
#include <linux/sys.h>
12
#include <linux/errno.h>
13
#include <linux/linkage.h>
14
#include <asm/asm-offsets.h>
15
#include <asm/suspend.h>
16
#include <asm/romimage-macros.h>
17
18
/* code to enter and leave self-refresh. must be self-contained.
19
* this code will be copied to on-chip memory and executed from there.
20
*/
21
.balign 4
22
ENTRY(kfr2r09_sdram_enter_start)
23
24
/* DBSC: put memory in self-refresh mode */
25
26
ED 0xFD000010, 0x00000000 /* DBEN */
27
ED 0xFD000040, 0x00000000 /* DBRFPDN0 */
28
ED 0xFD000014, 0x00000002 /* DBCMDCNT (PALL) */
29
ED 0xFD000014, 0x00000004 /* DBCMDCNT (REF) */
30
ED 0xFD000040, 0x00000001 /* DBRFPDN0 */
31
32
rts
33
nop
34
35
ENTRY(kfr2r09_sdram_enter_end)
36
37
.balign 4
38
ENTRY(kfr2r09_sdram_leave_start)
39
40
/* DBSC: put memory in auto-refresh mode */
41
42
mov.l @(SH_SLEEP_MODE, r5), r0
43
tst #SUSP_SH_RSTANDBY, r0
44
bf resume_rstandby
45
46
ED 0xFD000040, 0x00000000 /* DBRFPDN0 */
47
WAIT 1
48
ED 0xFD000014, 0x00000002 /* DBCMDCNT (PALL) */
49
ED 0xFD000014, 0x00000004 /* DBCMDCNT (REF) */
50
ED 0xFD000010, 0x00000001 /* DBEN */
51
ED 0xFD000040, 0x00010000 /* DBRFPDN0 */
52
53
rts
54
nop
55
56
resume_rstandby:
57
58
/* DBSC: re-initialize and put in auto-refresh */
59
60
ED 0xFD000108, 0x40000301 /* DBPDCNT0 */
61
ED 0xFD000020, 0x011B0002 /* DBCONF */
62
ED 0xFD000030, 0x03060E02 /* DBTR0 */
63
ED 0xFD000034, 0x01020102 /* DBTR1 */
64
ED 0xFD000038, 0x01090406 /* DBTR2 */
65
ED 0xFD000008, 0x00000004 /* DBKIND */
66
ED 0xFD000040, 0x00000001 /* DBRFPDN0 */
67
ED 0xFD000040, 0x00000000 /* DBRFPDN0 */
68
ED 0xFD000018, 0x00000001 /* DBCKECNT */
69
WAIT 1
70
ED 0xFD000010, 0x00000001 /* DBEN */
71
ED 0xFD000044, 0x000004AF /* DBRFPDN1 */
72
ED 0xFD000048, 0x20CF0037 /* DBRFPDN2 */
73
ED 0xFD000014, 0x00000004 /* DBCMDCNT (REF) */
74
ED 0xFD000108, 0x40000300 /* DBPDCNT0 */
75
ED 0xFD000040, 0x00010000 /* DBRFPDN0 */
76
77
rts
78
nop
79
80
ENTRY(kfr2r09_sdram_leave_end)
81
82