>From 93a84ae25376cef31a4f9c93a91c81c147f2c4a2 Mon Sep 17 00:00:00 2001 From: Tero Kristo Date: Fri, 24 Feb 2012 12:05:45 +0200 Subject: [PATCH] arm: omap3: prevent dpll4 manual enable / disable + prevent core clkdm idle DPLL4 (PER DPLL) disable can cause issues on omap3, thus prevent disable / enable by setting the clkops as core_dpll_ops. Also, prevent l3 / l4 core clkdomain manual transitions as these can cause issues also. Signed-off-by: Tero Kristo --- arch/arm/mach-omap2/clock3xxx_data.c | 2 +- arch/arm/mach-omap2/clockdomains3xxx_data.c | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/arch/arm/mach-omap2/clock3xxx_data.c b/arch/arm/mach-omap2/clock3xxx_data.c index f3ee983..6e997e4 100644 --- a/arch/arm/mach-omap2/clock3xxx_data.c +++ b/arch/arm/mach-omap2/clock3xxx_data.c @@ -609,7 +609,7 @@ static struct dpll_data dpll4_dd_3630 __initdata = { static struct clk dpll4_ck = { .name = "dpll4_ck", - .ops = &clkops_omap3_noncore_dpll_ops, + .ops = &clkops_omap3_core_dpll_ops, .parent = &sys_ck, .dpll_data = &dpll4_dd, .round_rate = &omap2_dpll_round_rate, diff --git a/arch/arm/mach-omap2/clockdomains3xxx_data.c b/arch/arm/mach-omap2/clockdomains3xxx_data.c index db31bbf..026bad2 100644 --- a/arch/arm/mach-omap2/clockdomains3xxx_data.c +++ b/arch/arm/mach-omap2/clockdomains3xxx_data.c @@ -232,7 +232,7 @@ static struct clockdomain d2d_clkdm = { static struct clockdomain core_l3_3xxx_clkdm = { .name = "core_l3_clkdm", .pwrdm = { .name = "core_pwrdm" }, - .flags = CLKDM_CAN_HWSUP, + .flags = CLKDM_CAN_HWSUP | CLKDM_NO_MANUAL_TRANS, .dep_bit = OMAP3430_EN_CORE_SHIFT, .clktrctrl_mask = OMAP3430_CLKTRCTRL_L3_MASK, }; @@ -245,7 +245,7 @@ static struct clockdomain core_l3_3xxx_clkdm = { static struct clockdomain core_l4_3xxx_clkdm = { .name = "core_l4_clkdm", .pwrdm = { .name = "core_pwrdm" }, - .flags = CLKDM_CAN_HWSUP, + .flags = CLKDM_CAN_HWSUP | CLKDM_NO_MANUAL_TRANS, .dep_bit = OMAP3430_EN_CORE_SHIFT, .clktrctrl_mask = OMAP3430_CLKTRCTRL_L4_MASK, }; -- 1.7.4.1