> -----Original Message----- > From: Paul Walmsley [mailto:paul@xxxxxxxxx] > Sent: Wednesday, May 19, 2010 8:21 PM > To: Shilimkar, Santosh > Cc: linux-omap@xxxxxxxxxxxxxxx > Subject: Re: [PATCH] omap4: Fix multi-omap boot with reset un-used clocks > > Santosh, > > a comment. > > On Wed, 19 May 2010, Santosh Shilimkar wrote: > > > As part of the "CONFIG_OMAP_RESET_CLOCKS" routine, all the clock > > are cut which are not acquired/enabled during the boot. > > > > Because of this on OMAP4, memory controller clocks (emif) getting > > disabled which prevents further boot > > > > This patch uses "ENABLE_ON_INIT" flag on the emif clock nodes > > and adds a check in the reset un-used clock routine to skip > > such clock nodes. Will updated the auto-gen script for 44xx > > accordingly > > > > The real fix is to have driver for EMIF and do clock get/enable > > part of it. The EMIF driver is planned to be done HWMOD way so > > till that point to keep omap3_defconfig booting on OMAP4430, > > this patch is necessary. Also the cpu_is_44xx() check is added > > to avoid any impact on the other OMAPs using "ENABLE_ON_INIT" flag > > > > The flag usage was suggested by Paul Walmsley > > > > Signed-off-by: Santosh Shilimkar <santosh.shilimkar@xxxxxx> > > Cc: Paul Walmsley <paul@xxxxxxxxx> > > --- > > With this patch and Tony's below sram fix, omap3_defconfig > > boots on OMAP4430 as it is. Tested with 2.6.34 maniline kernel > > http://www.mail-archive.com/linux-omap@xxxxxxxxxxxxxxx/msg27363.html > > > > arch/arm/mach-omap2/clock.c | 4 ++++ > > arch/arm/mach-omap2/clock44xx_data.c | 2 ++ > > 2 files changed, 6 insertions(+), 0 deletions(-) > > > > diff --git a/arch/arm/mach-omap2/clock.c b/arch/arm/mach-omap2/clock.c > > index a6d0b34..67b531b 100644 > > --- a/arch/arm/mach-omap2/clock.c > > +++ b/arch/arm/mach-omap2/clock.c > > @@ -380,6 +380,10 @@ void omap2_clk_disable_unused(struct clk *clk) > > { > > u32 regval32, v; > > > > + /* FIXME: Remove this when EMIF driver is ready */ > > + if (cpu_is_omap44xx() && (clk->flags & ENABLE_ON_INIT)) > > + return; > > + > > Why is this needed? omap4xxx_clk_init() should call > clk_enable_init_clocks() which should increase the usecount on all > ENABLE_ON_INIT clocks. That should prevent omap2_clk_disable_unused() > from disabling the clock. > Thanks Paul. Will fix this accordingly. Regards, Santosh -- 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