Hi, On Wed, 19 May 2010, Santosh Shilimkar wrote: > This patch uses "ENABLE_ON_INIT" flag on the emif clock nodes > to avoid the emif clk getting cut as part of reset un-used clock > routine which prevents boot. > > Since omap4 "omap2_clk_init()" calls "clk_enable_init_clocks()" > which increases the usecount on all ENABLE_ON_INIT clocks, it > prevents "omap2_clk_disable_unused()" from disabling the clock. > > The real fix is to have driver for EMIF and do clock get/enable > as part of it. The EMIF driver is planned to be done HWMOD way > so till that available to keep omap3_defconfig booting on OMAP4430, > this patch is necessary. > (Will updated the auto-gen script for 44xx accordingly) > > The fix was suggested by Paul Walmsley > > Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> > Cc: Paul Walmsley <paul@xxxxxxxxx> Thanks, I've added Nishanth's Tested-by: and fixed the patch changelog; the following patch is now queued for 2.6.35-rc, unless there are any further comments. - Paul >From 3f3de7c0419784153564c63b4a2d3c3c95808e3e Mon Sep 17 00:00:00 2001 From: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Date: Wed, 19 May 2010 22:08:07 +0530 Subject: [PATCH] OMAP4: clock: Fix multi-omap boot with reset un-used clocks This patch uses "ENABLE_ON_INIT" flag on the emif clock nodes to avoid the emif clk getting cut as part of reset un-used clock routine which prevents boot. Since "omap4xxx_clk_init()" calls "clk_enable_init_clocks()" which increases the usecount on all ENABLE_ON_INIT clocks, it prevents "omap2_clk_disable_unused()" from disabling the clock. The real fix is to have driver for EMIF and do clock get/enable as part of it. The EMIF driver is planned to be done HWMOD way so till that available to keep omap3_defconfig booting on OMAP4430, this patch is necessary. (Will updated the auto-gen script for 44xx accordingly) The fix was suggested by Paul Walmsley Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> Tested-by: Nishanth Menon <nm@xxxxxx> Signed-off-by: Paul Walmsley <paul@xxxxxxxxx> --- arch/arm/mach-omap2/clock44xx_data.c | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/arch/arm/mach-omap2/clock44xx_data.c b/arch/arm/mach-omap2/clock44xx_data.c index a5c0c9c..a1b4cae 100644 --- a/arch/arm/mach-omap2/clock44xx_data.c +++ b/arch/arm/mach-omap2/clock44xx_data.c @@ -1369,6 +1369,7 @@ static struct clk emif1_ick = { .ops = &clkops_omap2_dflt, .enable_reg = OMAP4430_CM_MEMIF_EMIF_1_CLKCTRL, .enable_bit = OMAP4430_MODULEMODE_HWCTRL, + .flags = ENABLE_ON_INIT, .clkdm_name = "l3_emif_clkdm", .parent = &ddrphy_ck, .recalc = &followparent_recalc, @@ -1379,6 +1380,7 @@ static struct clk emif2_ick = { .ops = &clkops_omap2_dflt, .enable_reg = OMAP4430_CM_MEMIF_EMIF_2_CLKCTRL, .enable_bit = OMAP4430_MODULEMODE_HWCTRL, + .flags = ENABLE_ON_INIT, .clkdm_name = "l3_emif_clkdm", .parent = &ddrphy_ck, .recalc = &followparent_recalc, -- 1.7.1.rc2 -- 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