[PATCH 1/1] ARM: ux500: Fix u9540 booting issues

Subsystems: arm port, arm/nomadik/ux500 architectures, the rest

STALE4937d

4 messages, 3 authors, 2013-01-24 · open the first message on its own page

[PATCH 1/1] ARM: ux500: Fix u9540 booting issues

From: Lee Jones <hidden>
Date: 2012-11-27 09:34:58

The u9540 stopped booting after the v3.7 merge window due to
a lack of common clk support and early PRCMU initialisation.
In this patch we rectify these issues, placing the u9540
development board back into a successfully booting state.

Signed-off-by: Lee Jones <redacted>
---
 arch/arm/mach-ux500/cpu.c |    6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/arch/arm/mach-ux500/cpu.c b/arch/arm/mach-ux500/cpu.c
index 721e7b4..d4dcec5 100644
--- a/arch/arm/mach-ux500/cpu.c
+++ b/arch/arm/mach-ux500/cpu.c
@@ -71,13 +71,11 @@ void __init ux500_init_irq(void)
 	 * Init clocks here so that they are available for system timer
 	 * initialization.
 	 */
-	if (cpu_is_u8500_family())
+	if (cpu_is_u8500_family() || cpu_is_u9540())
 		db8500_prcmu_early_init();
 
-	if (cpu_is_u8500_family())
+	if (cpu_is_u8500_family() || cpu_is_u9540())
 		u8500_clk_init();
-	else if (cpu_is_u9540())
-		u9540_clk_init();
 	else if (cpu_is_u8540())
 		u8540_clk_init();
 }
-- 
1.7.9.5

Re: [PATCH 1/1] ARM: ux500: Fix u9540 booting issues

From: Arnd Bergmann <arnd@arndb.de>
Date: 2012-11-27 12:36:13

On Tuesday 27 November 2012, Lee Jones wrote:
The u9540 stopped booting after the v3.7 merge window due to
a lack of common clk support and early PRCMU initialisation.
In this patch we rectify these issues, placing the u9540
development board back into a successfully booting state.
-       if (cpu_is_u8500_family())
+       if (cpu_is_u8500_family() || cpu_is_u9540())
                u8500_clk_init();
-       else if (cpu_is_u9540())
-               u9540_clk_init();
        else if (cpu_is_u8540())
                u8540_clk_init();
It certainly doesn't /look/ right, even if it works.  Can you explain why
u8540_clk_init works and u9540_clk_init doesn't?

	Arnd

Re: [PATCH 1/1] ARM: ux500: Fix u9540 booting issues

From: Lee Jones <hidden>
Date: 2012-11-27 13:03:17

On Tue, 27 Nov 2012, Arnd Bergmann wrote:
On Tuesday 27 November 2012, Lee Jones wrote:
quoted
The u9540 stopped booting after the v3.7 merge window due to
a lack of common clk support and early PRCMU initialisation.
In this patch we rectify these issues, placing the u9540
development board back into a successfully booting state.
quoted
-       if (cpu_is_u8500_family())
+       if (cpu_is_u8500_family() || cpu_is_u9540())
                u8500_clk_init();
-       else if (cpu_is_u9540())
-               u9540_clk_init();
        else if (cpu_is_u8540())
                u8540_clk_init();
It certainly doesn't /look/ right, even if it works.  Can you explain why
u8540_clk_init works and u9540_clk_init doesn't?
Because it's empty. :)

Common clk doesn't support the u9540 yet, and even when it does,
most (all?) of the clocks will be identical to the u9540 in any
case.

I believe Linus wants to apply this with a TODO, to ensure the
board is at least bootable. This whole section is in the wrong
place anyway IMHO, and needs moving out to somewhere less hacky,
rather than initialising clocks and the PRCMU from .init_irq.

-- 
Lee Jones
Linaro ST-Ericsson Landing Team Lead
Linaro.org ? Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog

Re: [PATCH 1/1] ARM: ux500: Fix u9540 booting issues

From: Linus Walleij <hidden>
Date: 2013-01-24 16:06:11

On Tue, Nov 27, 2012 at 10:34 AM, Lee Jones [off-list ref] wrote:
The u9540 stopped booting after the v3.7 merge window due to
a lack of common clk support and early PRCMU initialisation.
In this patch we rectify these issues, placing the u9540
development board back into a successfully booting state.

Signed-off-by: Lee Jones <redacted>
Applied to my ux500-fixes branch, will go into ARM SoC
pull request RealSoonNow.

Yours,
Linus Walleij
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help