Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
torvalds
GitHub Repository: torvalds/linux
Path: blob/master/arch/sh/boards/mach-ap325rxa/sdram.S
26481 views
1
/* SPDX-License-Identifier: GPL-2.0
2
*
3
* AP325RXA sdram self/auto-refresh setup code
4
*
5
* Copyright (C) 2009 Magnus Damm
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
/* code to enter and leave self-refresh. must be self-contained.
16
* this code will be copied to on-chip memory and executed from there.
17
*/
18
.balign 4
19
ENTRY(ap325rxa_sdram_enter_start)
20
21
/* SBSC: disable power down and put in self-refresh mode */
22
mov.l 1f, r4
23
mov.l 2f, r1
24
mov.l @r4, r2
25
or r1, r2
26
mov.l 3f, r3
27
and r3, r2
28
mov.l r2, @r4
29
30
rts
31
nop
32
33
.balign 4
34
1: .long 0xfe400008 /* SDCR0 */
35
2: .long 0x00000400
36
3: .long 0xffff7fff
37
ENTRY(ap325rxa_sdram_enter_end)
38
39
.balign 4
40
ENTRY(ap325rxa_sdram_leave_start)
41
42
/* SBSC: set auto-refresh mode */
43
mov.l 1f, r4
44
mov.l @r4, r0
45
mov.l 4f, r1
46
and r1, r0
47
mov.l r0, @r4
48
mov.l 6f, r4
49
mov.l 8f, r0
50
mov.l @r4, r1
51
mov #-1, r4
52
add r4, r1
53
or r1, r0
54
mov.l 7f, r1
55
mov.l r0, @r1
56
57
rts
58
nop
59
60
.balign 4
61
1: .long 0xfe400008 /* SDCR0 */
62
4: .long 0xfffffbff
63
6: .long 0xfe40001c /* RTCOR */
64
7: .long 0xfe400018 /* RTCNT */
65
8: .long 0xa55a0000
66
ENTRY(ap325rxa_sdram_leave_end)
67
68