ARM: OMAP3: fix iva mmu programming issues
authorSuman Anna <s-anna@ti.com>
Thu, 6 Mar 2014 00:24:11 +0000 (18:24 -0600)
committerTony Lindgren <tony@atomide.com>
Wed, 12 Mar 2014 16:48:26 +0000 (09:48 -0700)
The IVA MMU is not functional when used through the hwmod and
omap_device layers. Add fixes to clockdomain and hwmod data
to have it functional. The hwmod changes are needed to enable
the clock, and the SWSUP change is needed to wakeup the domain
because the power domain is programmed to be in RET, and there
is no automatic power domain switching to ON.

Signed-off-by: Suman Anna <s-anna@ti.com>
Acked-by: Paul Walmsley <paul@pwsan.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
arch/arm/mach-omap2/clockdomains3xxx_data.c
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c

index e6b91e552d3d9427bbfd5287e6762bbff5aaae54..f03dc97921ad934923ea78ffa7fad8204586cace 100644 (file)
@@ -247,7 +247,7 @@ static struct clockdomain neon_clkdm = {
 static struct clockdomain iva2_clkdm = {
        .name           = "iva2_clkdm",
        .pwrdm          = { .name = "iva2_pwrdm" },
-       .flags          = CLKDM_CAN_HWSUP_SWSUP,
+       .flags          = CLKDM_CAN_SWSUP,
        .dep_bit        = OMAP3430_PM_WKDEP_MPU_EN_IVA2_SHIFT,
        .wkdep_srcs     = iva2_wkdeps,
        .clktrctrl_mask = OMAP3430_CLKTRCTRL_IVA2_MASK,
index 81dd071dc2178cc4098303fc004a1d23c8f81463..9c7e23aa0e7f8bdf5d4d8b2f1a8d1f71ca2997fd 100644 (file)
@@ -3068,12 +3068,16 @@ static struct omap_hwmod omap3xxx_mmu_iva_hwmod = {
        .name           = "mmu_iva",
        .class          = &omap3xxx_mmu_hwmod_class,
        .mpu_irqs       = omap3xxx_mmu_iva_irqs,
+       .clkdm_name     = "iva2_clkdm",
        .rst_lines      = omap3xxx_mmu_iva_resets,
        .rst_lines_cnt  = ARRAY_SIZE(omap3xxx_mmu_iva_resets),
        .main_clk       = "iva2_ck",
        .prcm = {
                .omap2 = {
                        .module_offs = OMAP3430_IVA2_MOD,
+                       .module_bit = OMAP3430_CM_FCLKEN_IVA2_EN_IVA2_SHIFT,
+                       .idlest_reg_id = 1,
+                       .idlest_idle_bit = OMAP3430_ST_IVA2_SHIFT,
                },
        },
        .dev_attr       = &mmu_iva_dev_attr,