From: Tony Lindgren <tony@atomide.com>
To: linux-kernel@vger.kernel.org
Cc: Juha Yrjola <juha.yrjola@solidboot.com>,
Tony Lindgren <tony@atomide.com>
Subject: [PATCH 1/90] ARM: OMAP: Place SMS and SDRC into smart idle mode
Date: Wed, 4 Apr 2007 13:46:28 -0400 [thread overview]
Message-ID: <11757088791107-git-send-email-tony@atomide.com> (raw)
In-Reply-To: <11757088774110-git-send-email-tony@atomide.com>
From: Juha Yrjola <juha.yrjola@solidboot.com>
Place SMS and SDRC into smart idle mode
Signed-off-by: Juha Yrjola <juha.yrjola@solidboot.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
---
arch/arm/mach-omap2/io.c | 2 +
arch/arm/mach-omap2/memory.c | 48 ++++++++++++++++++++++++++++++++++++++++++
2 files changed, 50 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-omap2/io.c b/arch/arm/mach-omap2/io.c
index a0728c3..748920f 100644
--- a/arch/arm/mach-omap2/io.c
+++ b/arch/arm/mach-omap2/io.c
@@ -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);
/*
@@ -67,5 +68,6 @@ void __init omap2_init_common_hw(void)
{
omap2_mux_init();
omap2_clk_init();
+ omap2_init_memory();
gpmc_init();
}
diff --git a/arch/arm/mach-omap2/memory.c b/arch/arm/mach-omap2/memory.c
index 85cbc2a..f173aa8 100644
--- a/arch/arm/mach-omap2/memory.c
+++ b/arch/arm/mach-omap2/memory.c
@@ -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);
+
+}
--
1.4.4.2
next prev parent reply other threads:[~2007-04-04 17:56 UTC|newest]
Thread overview: 21+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-04-04 17:46 [PATCH 0/90] Post 2.6.21 OMAP update Tony Lindgren
2007-04-04 17:46 ` Tony Lindgren [this message]
2007-04-04 17:46 ` [PATCH 2/90] ARM: OMAP: Force APLLs always active Tony Lindgren
2007-04-04 17:46 ` [PATCH 3/90] ARM: OMAP: Add DMA IRQ sanity checks Tony Lindgren
2007-04-04 17:46 ` [PATCH 4/90] ARM: OMAP: Enable 24xx GPIO autoidling Tony Lindgren
2007-04-04 17:46 ` [PATCH 5/90] ARM: OMAP: Add function to print clock usecounts Tony Lindgren
2007-04-04 17:46 ` [PATCH 6/90] ARM: OMAP: Enable serial idling and wakeup features Tony Lindgren
2007-04-04 17:46 ` [PATCH 7/90] ARM: OMAP: Optimize INTC register accesses and enable autoidling Tony Lindgren
2007-04-04 17:46 ` [PATCH 8/90] ARM: OMAP: FB: add controller platform data Tony Lindgren
2007-04-04 18:27 ` [PATCH 0/90] Post 2.6.21 OMAP update Tony Lindgren
2007-04-04 18:39 ` Randy Dunlap
2007-04-04 18:44 ` Tony Lindgren
2007-04-04 21:44 ` Alan Cox
2007-04-05 13:21 ` Tony Lindgren
2007-04-05 16:31 ` Roland Dreier
2007-04-05 18:03 ` Tony Lindgren
2007-04-05 18:29 ` Roland Dreier
2007-04-09 21:45 ` Tony Lindgren
2007-04-05 20:27 ` Alan Cox
2007-04-06 7:18 ` Russell King
2007-04-09 21:49 ` Tony Lindgren
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=11757088791107-git-send-email-tony@atomide.com \
--to=tony@atomide.com \
--cc=juha.yrjola@solidboot.com \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.