Message ID | alpine.DEB.2.00.0904041630170.8305@utopia.booyaka.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
On Sun, 5 Apr 2009 00:33:25 +0200 ext Paul Walmsley <paul@pwsan.com> wrote: > Evidently the 24xx clock code/data was never actually tested. Does > this patch work for you? > Thanks Paul! Your patch makes N810 booting up to retu initialization (kernel BUG at drivers/cbus/retu.c:90!) but I don't think so this has anything to do with the clock changes. I noticed also that N810 hangs like Beagle in delay loop calibration when compiled with 2007q3-53. For <= ARM11 I still use good old 2005q3 :-) Jarkko -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, 6 Apr 2009, Jarkko Nikula wrote: > On Sun, 5 Apr 2009 00:33:25 +0200 > ext Paul Walmsley <paul@pwsan.com> wrote: > > > Evidently the 24xx clock code/data was never actually tested. Does > > this patch work for you? > > > Thanks Paul! Your patch makes N810 booting up to retu initialization > (kernel BUG at drivers/cbus/retu.c:90!) but I don't think so this has > anything to do with the clock changes. Cool, thanks for testing, Jarkko. Will queue cleaned-up versions of these fixes into the omap-clock-test branch. I test-booted them on the N800 here and didn't see the retu bug, but maybe N800 interacts with it differently? > I noticed also that N810 hangs like Beagle in delay loop calibration > when compiled with 2007q3-53. For <= ARM11 I still use good old > 2005q3 :-) Hehe. - Paul -- To unsubscribe from this list: send the line "unsubscribe linux-omap" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/arch/arm/mach-omap2/clock24xx.c b/arch/arm/mach-omap2/clock24xx.c index 1e839c5..7625d06 100644 --- a/arch/arm/mach-omap2/clock24xx.c +++ b/arch/arm/mach-omap2/clock24xx.c @@ -60,8 +60,8 @@ struct omap_clk { }, \ } -#define CK_243X (1 << 0) -#define CK_242X (1 << 1) +#define CK_243X RATE_IN_243X +#define CK_242X RATE_IN_242X static struct omap_clk omap24xx_clks[] = { /* external root sources */ @@ -711,7 +711,7 @@ int __init omap2_clk_init(void) { struct prcm_config *prcm; struct omap_clk *c; - u32 clkrate, cpu_mask; + u32 clkrate; if (cpu_is_omap242x()) cpu_mask = RATE_IN_242X; @@ -720,6 +720,8 @@ int __init omap2_clk_init(void) clk_init(&omap2_clk_functions); + clk_init_one(&osc_ck); + clk_init_one(&sys_ck); osc_ck.rate = omap2_osc_clk_recalc(&osc_ck); propagate_rate(&osc_ck); sys_ck.rate = omap2_sys_clk_recalc(&sys_ck); @@ -728,12 +730,6 @@ int __init omap2_clk_init(void) for (c = omap24xx_clks; c < omap24xx_clks + ARRAY_SIZE(omap24xx_clks); c++) clk_init_one(c->lk.clk); - cpu_mask = 0; - if (cpu_is_omap2420()) - cpu_mask |= CK_242X; - if (cpu_is_omap2430()) - cpu_mask |= CK_243X; - for (c = omap24xx_clks; c < omap24xx_clks + ARRAY_SIZE(omap24xx_clks); c++) if (c->cpu & cpu_mask) { clkdev_add(&c->lk);