From: Nishanth Menon <nm@ti.com>
To: linux-omap <linux-omap@vger.kernel.org>
Cc: Jean <jean.pihet@newoldbits.com>, Tony <tony@atomide.com>,
Kevin <khilman@deeprootsystems.com>,
Vishwa <vishwanath.bs@ti.com>
Subject: [PATCH 5/5] OMAP3630: PM: Erratum i583: disable coreoff if < ES1.2
Date: Mon, 29 Nov 2010 14:19:53 -0600 [thread overview]
Message-ID: <1291061993-4740-6-git-send-email-nm@ti.com> (raw)
In-Reply-To: <1291061993-4740-1-git-send-email-nm@ti.com>
From: Eduardo Valentin <eduardo.valentin@nokia.com>
Limitation i583: Self_Refresh Exit issue after OFF mode
Issue:
When device is waking up from OFF mode, then SDRC state machine sends
inappropriate sequence violating JEDEC standards.
Impact:
OMAP3630 < ES1.2 is impacted as follows depending on the platform:
CS0: for 38.4MHz as internal sysclk, DDR content seen to be stable, while
for all other sysclk frequencies, varied levels of instability
seen based on varied parameters.
CS1: impacted
This patch takes option #3 as recommended by the Silicon erratum:
Avoid core power domain transitioning to OFF mode. Power consumption
impact is expected in this case.
To do this, we route OFF requests to RET request on the impacted revisions
of silicon.
[nm@ti.com: rebased the code to 2.6.37-rc2- short circuit code changed a bit]
Signed-off-by: Nishanth Menon <nm@ti.com>
Signed-off-by: Eduardo Valentin <eduardo.valentin@nokia.com>
---
v2: rebased to this patch series instead of depending on hs changes
fix typo for macro definition
v1: http://marc.info/?l=linux-omap&m=129013173425266&w=2
arch/arm/mach-omap2/pm34xx.c | 14 ++++++++++++++
1 files changed, 14 insertions(+), 0 deletions(-)
diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c
index e0ade5f..6f33631 100644
--- a/arch/arm/mach-omap2/pm34xx.c
+++ b/arch/arm/mach-omap2/pm34xx.c
@@ -55,6 +55,7 @@
#define OMAP343X_CONTROL_REG_VALUE_OFFSET 0xc8
#define RTA_ERRATUM_i608 (1 << 0)
+#define SDRC_WAKEUP_ERRATUM_i583 (1 << 1)
static u16 pm34xx_errata;
#define IS_PM34XX_ERRATUM(id) (pm34xx_errata & (id))
@@ -399,6 +400,17 @@ void omap_sram_idle(void)
}
/* CORE */
+ /*
+ * Erratum i583: implementation for ES rev < Es1.2 on 3630
+ * We cannot enable OFF mode in a stable form for previous
+ * revisions, transition instead to RET
+ */
+ if (IS_PM34XX_ERRATUM(SDRC_WAKEUP_ERRATUM_i583) &&
+ (core_next_state == PWRDM_POWER_OFF)) {
+ pwrdm_set_next_pwrst(core_pwrdm, PWRDM_POWER_RET);
+ core_next_state = PWRDM_POWER_RET;
+ }
+
if (core_next_state < PWRDM_POWER_ON) {
omap_uart_prepare_idle(0);
omap_uart_prepare_idle(1);
@@ -991,6 +1003,8 @@ static void pm_errata_configure(void)
/* Enable the l2 cache toggling in sleep logic */
if (cpu_is_omap3630())
enable_omap3630_toggle_l2_on_restore();
+ if (cpu_is_omap3630() && (omap_rev() < OMAP3630_REV_ES1_2))
+ pm34xx_errata |= SDRC_WAKEUP_ERRATUM_i583;
}
}
--
1.6.3.3
prev parent reply other threads:[~2010-11-29 20:19 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2010-11-29 20:19 [PATCH 0/5 v2] OMAP: idle path errata fixes Nishanth Menon
2010-11-29 20:19 ` [PATCH 1/5 v2] OMAP3: PM: Update clean_l2 to use v7_flush_dcache_all Nishanth Menon
2010-11-29 20:19 ` [PATCH 2/5 v2] OMAP3: PM: Erratum i581 support: dll kick strategy Nishanth Menon
2010-11-29 20:19 ` [PATCH 3/5] OMAP3630: PM: Erratum i608: disable RTA Nishanth Menon
2010-11-30 6:07 ` Varadarajan, Charulatha
2010-11-30 14:15 ` Nishanth Menon
2010-11-29 20:19 ` [PATCH 4/5 v2] OMAP3630: PM: Disable L2 cache while invalidating L2 cache Nishanth Menon
2010-11-30 6:03 ` TAO HU
2010-11-30 14:18 ` Nishanth Menon
2010-12-01 8:56 ` TAO HU
2010-12-01 14:38 ` Nishanth Menon
2010-12-02 5:05 ` Santosh Shilimkar
2010-11-30 6:12 ` Varadarajan, Charulatha
2010-11-30 14:18 ` Nishanth Menon
2010-11-29 20:19 ` Nishanth Menon [this message]
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=1291061993-4740-6-git-send-email-nm@ti.com \
--to=nm@ti.com \
--cc=jean.pihet@newoldbits.com \
--cc=khilman@deeprootsystems.com \
--cc=linux-omap@vger.kernel.org \
--cc=tony@atomide.com \
--cc=vishwanath.bs@ti.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox