Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
fadd95d0
Commit
fadd95d0
authored
Sep 26, 2006
by
Juha Yrjola
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
ARM: OMAP2: Place SMS and SDRC into smart idle mode
Signed-off-by:
Juha Yrjola
<
juha.yrjola@solidboot.com
>
parent
19a5eed6
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
50 additions
and
0 deletions
+50
-0
arch/arm/mach-omap2/io.c
arch/arm/mach-omap2/io.c
+2
-0
arch/arm/mach-omap2/memory.c
arch/arm/mach-omap2/memory.c
+48
-0
No files found.
arch/arm/mach-omap2/io.c
View file @
fadd95d0
...
...
@@ -26,6 +26,7 @@
extern
void
omap_sram_init
(
void
);
extern
int
omap2_clk_init
(
void
);
extern
void
omap2_check_revision
(
void
);
extern
void
omap2_init_memory
(
void
);
extern
void
gpmc_init
(
void
);
/*
...
...
@@ -85,5 +86,6 @@ void __init omap2_init_common_hw(void)
{
omap2_mux_init
();
omap2_clk_init
();
omap2_init_memory
();
gpmc_init
();
}
arch/arm/mach-omap2/memory.c
View file @
fadd95d0
...
...
@@ -30,6 +30,38 @@
#include "prcm-regs.h"
#include "memory.h"
#define SMS_BASE 0x68008000
#define SMS_SYSCONFIG 0x010
#define SDRC_BASE 0x68009000
#define SDRC_SYSCONFIG 0x010
#define SDRC_SYSSTATUS 0x014
static
const
u32
sms_base
=
IO_ADDRESS
(
SMS_BASE
);
static
const
u32
sdrc_base
=
IO_ADDRESS
(
SDRC_BASE
);
static
inline
void
sms_write_reg
(
int
idx
,
u32
val
)
{
__raw_writel
(
val
,
sms_base
+
idx
);
}
static
inline
u32
sms_read_reg
(
int
idx
)
{
return
__raw_readl
(
sms_base
+
idx
);
}
static
inline
void
sdrc_write_reg
(
int
idx
,
u32
val
)
{
__raw_writel
(
val
,
sdrc_base
+
idx
);
}
static
inline
u32
sdrc_read_reg
(
int
idx
)
{
return
__raw_readl
(
sdrc_base
+
idx
);
}
static
struct
memory_timings
mem_timings
;
u32
omap2_memory_get_slow_dll_ctrl
(
void
)
...
...
@@ -99,3 +131,19 @@ void omap2_init_memory_params(u32 force_lock_to_unlock_mode)
/* 90 degree phase for anything below 133Mhz + disable DLL filter */
mem_timings
.
slow_dll_ctrl
|=
((
1
<<
1
)
|
(
3
<<
8
));
}
void
__init
omap2_init_memory
(
void
)
{
u32
l
;
l
=
sms_read_reg
(
SMS_SYSCONFIG
);
l
&=
~
(
0x3
<<
3
);
l
|=
(
0x2
<<
3
);
sms_write_reg
(
SMS_SYSCONFIG
,
l
);
l
=
sdrc_read_reg
(
SDRC_SYSCONFIG
);
l
&=
~
(
0x3
<<
3
);
l
|=
(
0x2
<<
3
);
sdrc_write_reg
(
SDRC_SYSCONFIG
,
l
);
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment