ARM: OMAP: PRCM fixes to ssi clock handling
authorJouni Högander <jouni.hogander@nokia.com>
Mon, 14 Apr 2008 13:06:11 +0000 (16:06 +0300)
committerTony Lindgren <tony@atomide.com>
Fri, 9 May 2008 17:25:04 +0000 (10:25 -0700)
ssi_l4_ick should have PARENT_CONTROLS_CLOCK flag.
ST_SSI_STDBY bit in idlest register cannot be used in  omap2_clk_wait_ready

Signed-off-by: Jouni Högander <jouni.hogander@nokia.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/clock.c
arch/arm/mach-omap2/clock34xx.h

index b57ffb5..ab9fc57 100644 (file)
@@ -205,7 +205,9 @@ static void omap2_clk_wait_ready(struct clk *clk)
        /* REVISIT: What are the appropriate exclusions for 34XX? */
        /* OMAP3: ignore DSS-mod clocks */
        if (cpu_is_omap34xx() &&
-           (((u32)reg & ~0xff) == (u32)OMAP_CM_REGADDR(OMAP3430_DSS_MOD, 0)))
+           (((u32)reg & ~0xff) == (u32)OMAP_CM_REGADDR(OMAP3430_DSS_MOD, 0) ||
+            ((((u32)reg & ~0xff) == (u32)OMAP_CM_REGADDR(CORE_MOD, 0)) &&
+            clk->enable_bit == OMAP3430_EN_SSI_SHIFT)))
                return;
 
        /* Check if both functional and interface clocks
index 3f133a0..f8bdcc1 100644 (file)
@@ -1837,7 +1837,8 @@ static struct clk omapctrl_ick = {
 static struct clk ssi_l4_ick = {
        .name           = "ssi_l4_ick",
        .parent         = &l4_ick,
-       .flags          = CLOCK_IN_OMAP343X | RATE_PROPAGATES,
+       .flags          = CLOCK_IN_OMAP343X | RATE_PROPAGATES |
+                               PARENT_CONTROLS_CLOCK,
        .recalc         = &followparent_recalc,
 };