aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-omap2/pm44xx.c
diff options
context:
space:
mode:
authorSantosh Shilimkar <santosh.shilimkar@ti.com>2013-02-16 07:25:08 -0500
committerSantosh Shilimkar <santosh.shilimkar@ti.com>2013-03-28 03:25:59 -0400
commit6cf38956c9838414b2678c7e661001313d200d8c (patch)
tree156524286066eceaf0b23196c437ddb0f4e7bdba /arch/arm/mach-omap2/pm44xx.c
parentb699ddd19bf3542d43ffe293c6148161e160b1bc (diff)
ARM: OMAP4: PM: Remove L4 wakeup depedency with MPU since errata fix exist now
With commit bfd6d021 {ARM: OMAP3+: Implement timer workaround for errata i103 and i767}, the sync and gptimer synchronization errata got fixed. Hence the l4_wakeup static dependency with MPU can can be removed now. Static dependency was one of the proposed workaround but from power savings perspective, it isn't an ideal workaround. Acked-by: Kevin Hilman <khilman@deeprootsystems.com> Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Diffstat (limited to 'arch/arm/mach-omap2/pm44xx.c')
-rw-r--r--arch/arm/mach-omap2/pm44xx.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/arch/arm/mach-omap2/pm44xx.c b/arch/arm/mach-omap2/pm44xx.c
index 9e9095c65129..3b5a5a832824 100644
--- a/arch/arm/mach-omap2/pm44xx.c
+++ b/arch/arm/mach-omap2/pm44xx.c
@@ -143,7 +143,7 @@ static void omap_default_idle(void)
143int __init omap4_pm_init(void) 143int __init omap4_pm_init(void)
144{ 144{
145 int ret; 145 int ret;
146 struct clockdomain *emif_clkdm, *mpuss_clkdm, *l3_1_clkdm, *l4wkup; 146 struct clockdomain *emif_clkdm, *mpuss_clkdm, *l3_1_clkdm;
147 struct clockdomain *ducati_clkdm, *l3_2_clkdm, *l4_per_clkdm; 147 struct clockdomain *ducati_clkdm, *l3_2_clkdm, *l4_per_clkdm;
148 148
149 if (omap_rev() == OMAP4430_REV_ES1_0) { 149 if (omap_rev() == OMAP4430_REV_ES1_0) {
@@ -171,19 +171,14 @@ int __init omap4_pm_init(void)
171 * MPUSS -> L4_PER/L3_* and DUCATI -> L3_* doesn't work as 171 * MPUSS -> L4_PER/L3_* and DUCATI -> L3_* doesn't work as
172 * expected. The hardware recommendation is to enable static 172 * expected. The hardware recommendation is to enable static
173 * dependencies for these to avoid system lock ups or random crashes. 173 * dependencies for these to avoid system lock ups or random crashes.
174 * The L4 wakeup depedency is added to workaround the OCP sync hardware
175 * BUG with 32K synctimer which lead to incorrect timer value read
176 * from the 32K counter. The BUG applies for GPTIMER1 and WDT2 which
177 * are part of L4 wakeup clockdomain.
178 */ 174 */
179 mpuss_clkdm = clkdm_lookup("mpuss_clkdm"); 175 mpuss_clkdm = clkdm_lookup("mpuss_clkdm");
180 emif_clkdm = clkdm_lookup("l3_emif_clkdm"); 176 emif_clkdm = clkdm_lookup("l3_emif_clkdm");
181 l3_1_clkdm = clkdm_lookup("l3_1_clkdm"); 177 l3_1_clkdm = clkdm_lookup("l3_1_clkdm");
182 l3_2_clkdm = clkdm_lookup("l3_2_clkdm"); 178 l3_2_clkdm = clkdm_lookup("l3_2_clkdm");
183 l4_per_clkdm = clkdm_lookup("l4_per_clkdm"); 179 l4_per_clkdm = clkdm_lookup("l4_per_clkdm");
184 l4wkup = clkdm_lookup("l4_wkup_clkdm");
185 ducati_clkdm = clkdm_lookup("ducati_clkdm"); 180 ducati_clkdm = clkdm_lookup("ducati_clkdm");
186 if ((!mpuss_clkdm) || (!emif_clkdm) || (!l3_1_clkdm) || (!l4wkup) || 181 if ((!mpuss_clkdm) || (!emif_clkdm) || (!l3_1_clkdm) ||
187 (!l3_2_clkdm) || (!ducati_clkdm) || (!l4_per_clkdm)) 182 (!l3_2_clkdm) || (!ducati_clkdm) || (!l4_per_clkdm))
188 goto err2; 183 goto err2;
189 184
@@ -191,7 +186,6 @@ int __init omap4_pm_init(void)
191 ret |= clkdm_add_wkdep(mpuss_clkdm, l3_1_clkdm); 186 ret |= clkdm_add_wkdep(mpuss_clkdm, l3_1_clkdm);
192 ret |= clkdm_add_wkdep(mpuss_clkdm, l3_2_clkdm); 187 ret |= clkdm_add_wkdep(mpuss_clkdm, l3_2_clkdm);
193 ret |= clkdm_add_wkdep(mpuss_clkdm, l4_per_clkdm); 188 ret |= clkdm_add_wkdep(mpuss_clkdm, l4_per_clkdm);
194 ret |= clkdm_add_wkdep(mpuss_clkdm, l4wkup);
195 ret |= clkdm_add_wkdep(ducati_clkdm, l3_1_clkdm); 189 ret |= clkdm_add_wkdep(ducati_clkdm, l3_1_clkdm);
196 ret |= clkdm_add_wkdep(ducati_clkdm, l3_2_clkdm); 190 ret |= clkdm_add_wkdep(ducati_clkdm, l3_2_clkdm);
197 if (ret) { 191 if (ret) {