diff mbox

Git tree updated, clocks and PM code reset to mainline

Message ID alpine.DEB.2.00.0904041630170.8305@utopia.booyaka.com (mailing list archive)
State Superseded, archived
Headers show

Commit Message

Paul Walmsley April 4, 2009, 10:33 p.m. UTC
Hello Kalle, Jarkko,

On Sat, 4 Apr 2009, Kalle Valo wrote:

> Jarkko Nikula <jarkko.nikula@nokia.com> writes:
> 
> > Just a test report. N810 is not booting anymore due an oops and Beagle
> > hangs when calibrating the delay loop.
> >
> > Both using their defconfigs + CONFIG_DEBUG_LL=y. N810 boot log below.
> 
> I see the same with N800, same configs as Jarkko had:

Evidently the 24xx clock code/data was never actually tested.  Does this 
patch work for you?


regards,

- Paul


From: Paul Walmsley <paul@pwsan.com>
Date: Sat, 4 Apr 2009 16:26:39 -0600

OMAP2 clock fixes rollup: test

This test patch includes three fixes to the OMAP2 clock code and data to 
get N8x0 booting again.

---
 arch/arm/mach-omap2/clock24xx.c |   14 +++++---------
 1 files changed, 5 insertions(+), 9 deletions(-)

Comments

Jarkko Nikula April 6, 2009, 6:29 a.m. UTC | #1
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
Paul Walmsley April 6, 2009, 10:49 a.m. UTC | #2
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 mbox

Patch

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);