Enable all dpll autoidle for OMAP4 and OMAP3 (OMAP3 already had dpll autoidle turned on, but was done using low level cm accessor apis). On OMAP3, replace the cm accessor apis doing this with the now available support for doing this in clock framework, using omap_clk_enable_autoidle(). Signed-off-by: Rajendra Nayak <rnayak@xxxxxx> --- arch/arm/mach-omap2/pm34xx.c | 18 ++++-------------- arch/arm/mach-omap2/pm44xx.c | 4 ++++ 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/arch/arm/mach-omap2/pm34xx.c b/arch/arm/mach-omap2/pm34xx.c index 2f864e4..5a101fa 100644 --- a/arch/arm/mach-omap2/pm34xx.c +++ b/arch/arm/mach-omap2/pm34xx.c @@ -38,6 +38,7 @@ #include <plat/prcm.h> #include <plat/gpmc.h> #include <plat/dma.h> +#include <plat/clock.h> #include <asm/tlbflush.h> @@ -814,21 +815,10 @@ static void __init prcm_setup_regs(void) omap_ctrl_writel(OMAP3430_AUTOIDLE_MASK, OMAP2_CONTROL_SYSCONFIG); /* - * Set all plls to autoidle. This is needed until autoidle is - * enabled by clockfw + * Set all plls to autoidle. + * TODO: Add all the iclk autoidles in here as well. */ - omap2_cm_write_mod_reg(1 << OMAP3430_AUTO_IVA2_DPLL_SHIFT, - OMAP3430_IVA2_MOD, CM_AUTOIDLE2); - omap2_cm_write_mod_reg(1 << OMAP3430_AUTO_MPU_DPLL_SHIFT, - MPU_MOD, - CM_AUTOIDLE2); - omap2_cm_write_mod_reg((1 << OMAP3430_AUTO_PERIPH_DPLL_SHIFT) | - (1 << OMAP3430_AUTO_CORE_DPLL_SHIFT), - PLL_MOD, - CM_AUTOIDLE); - omap2_cm_write_mod_reg(1 << OMAP3430ES2_AUTO_PERIPH2_DPLL_SHIFT, - PLL_MOD, - CM_AUTOIDLE2); + omap_clk_enable_autoidle(); /* * Enable control of expternal oscillator through diff --git a/arch/arm/mach-omap2/pm44xx.c b/arch/arm/mach-omap2/pm44xx.c index 76cfff2..8431d41 100644 --- a/arch/arm/mach-omap2/pm44xx.c +++ b/arch/arm/mach-omap2/pm44xx.c @@ -15,6 +15,7 @@ #include <linux/list.h> #include <linux/err.h> #include <linux/slab.h> +#include <plat/clock.h> #include "powerdomain.h" #include <mach/omap4-common.h> @@ -111,6 +112,9 @@ static int __init omap4_pm_init(void) pr_err("Failed to setup powerdomains\n"); goto err2; } + + /* Enable autoidle for all clks which support it*/ + omap_clk_enable_autoidle(); #endif #ifdef CONFIG_SUSPEND -- 1.7.0.4 -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html