v2011.12 and later do not boot on dreamplug.
v2011.12 hangs on boot on my dreamplug with:
U-Boot 2011.12-dirty (Jan 08 2012 - 15:16:44)
Marvell-DreamPlug
SoC: Kirkwood 88F6281_A1
DRAM: 512 MiB
WARNING: Caches not enabledI bisected it down to:
commit ca4b55800ed74207c35271bf7335a092d4955416
Author: Heiko Schocher <[email protected]>
Date: Wed Nov 9 20:06:23 2011 +0000
arm, arm926ejs: always do cpu critical inits
always do the cpu critical inits in cpu_init_crit, and only jump to lowlevel_init, if CONFIG_SKIP_LOWLEVEL_INIT is not defined.
and in particular the line
orr r0, r0, #0x00000002 /* set bit 2 (A) Align */
Commenting out just that one line causes things to work. Is the error setting this bit or is it that there is a bug somewhere else which prevents us setting this bit?
A different approach to the original patch was suggested in
http://lists.denx.de/pipermail/u-boot/2011-December/112353.html and I suppose that combined with s/CONFIG_SKIP_LOWLEVEL_INIT/CONFIG_SKIP_CPU_INIT_CRIT/g in the relevant config files (at least include/configs/dreamplug.h, but perhaps everywhere except whichever platform caused this change?) would fix things.
Thanks,
Ian.
Signature · 6 lines
Ian Campbell Q: How do you play religious roulette? A: You stand around in a circle and blaspheme and see who gets struck by lightning first.
Resending without typo in Heiko's email address. Cheers, Ian.
Quoted 44 lines · Ian Campbell
v2011.12 hangs on boot on my dreamplug with:
U-Boot 2011.12-dirty (Jan 08 2012 - 15:16:44) Marvell-DreamPlug SoC: Kirkwood 88F6281_A1 DRAM: 512 MiB WARNING: Caches not enabledI bisected it down to:
commitca4b55800ed74207c35271bf7335a092d4955416
Author: Heiko Schocher <[email protected]>
Date: Wed Nov 9 20:06:23 2011 +0000arm, arm926ejs: always do cpu critical inits
always do the cpu critical inits in
cpu_init_crit, and only jump tolowlevel_init, ifCONFIG_SKIP_LOWLEVEL_INITis not defined.Signed-off-by Heiko Schocher <[email protected]>Cc Albert ARIBAUD <[email protected]>Cc Wolfgang Denk <[email protected]>Cc Sandeep Paulraj <[email protected]>Cc Tom Rini <[email protected]>Cc Christian Riesch <[email protected]>and in particular the line
orr r0, r0, #0x00000002 /* set bit 2 (A) Align */Commenting out just that one line causes things to work. Is the error setting this bit or is it that there is a bug somewhere else which prevents us setting this bit?
A different approach to the original patch was suggested in
http://lists.denx.de/pipermail/u-boot/2011-December/112353.html and I suppose that combined with s/CONFIG_SKIP_LOWLEVEL_INIT/CONFIG_SKIP_CPU_INIT_CRIT/g in the relevant config files (at leastinclude/configs/dreamplug.h, but perhaps everywhere except whichever platform caused this change?) would fix things.Thanks,
Ian.
Signature · 4 lines
Ian Campbell Famous last words:
Quoted 27 lines · Ian Campbell
v2011.12 hangs on boot on my dreamplug with:
U-Boot 2011.12-dirty (Jan 08 2012 - 15:16:44) Marvell-DreamPlug SoC: Kirkwood 88F6281_A1 DRAM: 512 MiB WARNING: Caches not enabledI bisected it down to:
commitca4b55800ed74207c35271bf7335a092d4955416
Author: Heiko Schocher <[email protected]>
Date: Wed Nov 9 20:06:23 2011 +0000arm, arm926ejs: always do cpu critical inits
always do the cpu critical inits in
cpu_init_crit, and only jump tolowlevel_init, ifCONFIG_SKIP_LOWLEVEL_INITis not defined.Signed-off-by Heiko Schocher <[email protected]>Cc Albert ARIBAUD <[email protected]>Cc Wolfgang Denk <[email protected]>Cc Sandeep Paulraj <[email protected]>Cc Tom Rini <[email protected]>Cc Christian Riesch <[email protected]>
Quoted 6 lines
and in particular the line
orr r0, r0, #0x00000002 /* set bit 2 (A) Align */Commenting out just that one line causes things to work. Is the error setting this bit or is it that there is a bug somewhere else which prevents us setting this bit?
Seem that the latter is the case. The following fixes it for me.
(BTW, my mails to u-boot@ seem to be getting moderated, even though I am subscribed, is that normal?)
8<-------------------------------------------------------------
Jason
Acked-byQuoted 71 lines · Ian Campbell
Quoted 27 lines · Ian Campbell
v2011.12 hangs on boot on my dreamplug with:
U-Boot 2011.12-dirty (Jan 08 2012 - 15:16:44) Marvell-DreamPlug SoC: Kirkwood 88F6281_A1 DRAM: 512 MiB WARNING: Caches not enabledI bisected it down to:
commitca4b55800ed74207c35271bf7335a092d4955416
Author: Heiko Schocher <[email protected]>
Date: Wed Nov 9 20:06:23 2011 +0000arm, arm926ejs: always do cpu critical inits
always do the cpu critical inits in
cpu_init_crit, and only jump tolowlevel_init, ifCONFIG_SKIP_LOWLEVEL_INITis not defined.Signed-off-by Heiko Schocher <[email protected]>Cc Albert ARIBAUD <[email protected]>Cc Wolfgang Denk <[email protected]>Cc Sandeep Paulraj <[email protected]>Cc Tom Rini <[email protected]>Cc Christian Riesch <[email protected]>Quoted 6 lines
and in particular the line
orr r0, r0, #0x00000002 /* set bit 2 (A) Align */Commenting out just that one line causes things to work. Is the error setting this bit or is it that there is a bug somewhere else which prevents us setting this bit?
Seem that the latter is the case. The following fixes it for me.
(BTW, my mails to u-boot@ seem to be getting moderated, even though I am subscribed, is that normal?)
8<-------------------------------------------------------------
From
d6bc6e1a4f49314577e0be9af3cd020078593fdbMon Sep 17 00:00:00 2001
From: Ian Campbell <[email protected]>
Date: Sun, 8 Jan 2012 19:44:38 +0000
Subject: [PATCH]kirkwood_spi: correct access toirq_maskregisterProblem appears to have been present since day one but masked because alignment aborts were not enabled.
ca4b55800ed7"arm, arm926ejs: always do cpu critical inits" turned on alignment aborts and uncovered this latent problem.Signed-off-by Ian Campbell <[email protected]>--- drivers/spi/kirkwood_spi.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)drivers/spi/kirkwood_spi.c +1
-1@@ -66,7 +66,7 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,debug ("data = 0x%08x \n" , data);writel (KWSPI_SMEMRDIRQ , &spireg->irq_cause); -writel (KWSPI_IRQMASK , spireg->irq_mask); +writel (KWSPI_IRQMASK , &spireg->irq_mask);/* program mpp registers to select SPI_CSn */ if (cs) {Signature · 1 line
1.7.5.4
Dammit. My apologies. I should've caught that. Thanks for the patch.
Jason.
Quoted 13 lines · Jason
Quoted 12 lines · Ian Campbell
On Sun, 2012-01-08 at 15:30 +0000, Ian Campbell wrote:
drivers/spi/kirkwood_spi.c +1
-1@@ -66,7 +66,7 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,debug ("data = 0x%08x \n" , data);writel (KWSPI_SMEMRDIRQ , &spireg->irq_cause); -writel (KWSPI_IRQMASK , spireg->irq_mask); +writel (KWSPI_IRQMASK , &spireg->irq_mask);
Quoted 8 lines
Quoted 4 lines
drivers/spi/kirkwood_spi.c +0
-0/* program mpp registers to select SPI_CSn */ if (cs) {Signature · 1 line
1.7.5.4Acked-by Jason Cooper <[email protected]>Dammit. My apologies. I should've caught that. Thanks for the patch.
No problem, was interesting to dig into u-boot for the first time!
Did I get the CC list right to cover whoever will eventually apply this patch?
You are also working on upstreaming dreamplug support into Linux, is that right? What is the current state of the art? I'm currently using a 3.1 kernel + patches from
http://people.debian.org/~zumbi/dreamplug/patches/ . (BTW feel free to reply off list or switch to e.g. linux-arm-kernel since I guess this is strict speaking off-topic here).
Thanks,
Ian.
Signature · 5 lines
Ian Campbell Revolution, n.: A form of government abroad.
Ian,
Quoted 21 lines · Ian Campbell
Quoted 20 lines · Jason
Quoted 16 lines · Ian Campbell
On Sun, 2012-01-08 at 15:30 +0000, Ian Campbell wrote:
drivers/spi/kirkwood_spi.c +1
-1@@ -66,7 +66,7 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,debug ("data = 0x%08x \n" , data);writel (KWSPI_SMEMRDIRQ , &spireg->irq_cause); -writel (KWSPI_IRQMASK , spireg->irq_mask); +writel (KWSPI_IRQMASK , &spireg->irq_mask);/* program mpp registers to select SPI_CSn */ if (cs) {Signature · 1 line
1.7.5.4Acked-by Jason Cooper <[email protected]>
Quoted 3 lines
Quoted 1 line
Dammit. My apologies. I should've caught that. Thanks for the patch.
No problem, was interesting to dig into u-boot for the first time!
Well, at least my mistake created another u-boot hacker. ;-)
Quoted 2 lines
Did I get the CC list right to cover whoever will eventually apply this patch?
Meh, I've been pondering this. The merge window is open right now, go ahead and resubmit according to [1]. Make sure to put the Message-Id:
of the original patch email you sent as an In-Reply-To:, and mention in the changelog that this 'v2' follows [1] for patch submissions.
Also, make sure Prafulla and Albert are in the CC if they aren't already.
I think the original will get lost in the shuffle because it doesn't have [PATCH 1/1] in the subject line.
Quoted 6 lines
You are also working on upstreaming dreamplug support into Linux, is that right? What is the current state of the art? I'm currently using a 3.1 kernel + patches from
http://people.debian.org/~zumbi/dreamplug/patches/ . (BTW feel free to reply off list or switch to e.g. linux-arm-kernel since I guess this is strict speaking off-topic here).
I use this [2] for 3.1, since it uses the same nor flash partitioning as u-boot does. This way, you could edit the u-boot config from userspace or upgrade u-boot from userspace.
hth,
Jason.
[1] http://www.denx.de/wiki/U-Boot/Patches
[2] http://permalink.gmane.org/gmane.linux.ports.arm.kernel/143116
Holger Brunck
Tested-by[U-Boot] Bug#655102: v2011.12 and later do not boot on dreamplug.
In reply to Ian CampbellQuoted 61 lines · Ian Campbell
Quoted 27 lines · Ian Campbell
v2011.12 hangs on boot on my dreamplug with:
U-Boot 2011.12-dirty (Jan 08 2012 - 15:16:44) Marvell-DreamPlug SoC: Kirkwood 88F6281_A1 DRAM: 512 MiB WARNING: Caches not enabledI bisected it down to:
commitca4b55800ed74207c35271bf7335a092d4955416
Author: Heiko Schocher <[email protected]>
Date: Wed Nov 9 20:06:23 2011 +0000arm, arm926ejs: always do cpu critical inits
always do the cpu critical inits in
cpu_init_crit, and only jump tolowlevel_init, ifCONFIG_SKIP_LOWLEVEL_INITis not defined.Signed-off-by Heiko Schocher <[email protected]>Cc Albert ARIBAUD <[email protected]>Cc Wolfgang Denk <[email protected]>Cc Sandeep Paulraj <[email protected]>Cc Tom Rini <[email protected]>Cc Christian Riesch <[email protected]>Quoted 6 lines
and in particular the line
orr r0, r0, #0x00000002 /* set bit 2 (A) Align */Commenting out just that one line causes things to work. Is the error setting this bit or is it that there is a bug somewhere else which prevents us setting this bit?
Seem that the latter is the case. The following fixes it for me.
(BTW, my mails to u-boot@ seem to be getting moderated, even though I am subscribed, is that normal?)
8<-------------------------------------------------------------
From
d6bc6e1a4f49314577e0be9af3cd020078593fdbMon Sep 17 00:00:00 2001
From: Ian Campbell <[email protected]>
Date: Sun, 8 Jan 2012 19:44:38 +0000
Subject: [PATCH]kirkwood_spi: correct access toirq_maskregisterProblem appears to have been present since day one but masked because alignment aborts were not enabled.
ca4b55800ed7"arm, arm926ejs: always do cpu critical inits" turned on alignment aborts and uncovered this latent problem.Signed-off-by Ian Campbell <[email protected]>--- drivers/spi/kirkwood_spi.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)drivers/spi/kirkwood_spi.c +0
-0
drivers/spi/kirkwood_spi.c struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs, · line 72
Quoted 8 lines
drivers/spi/kirkwood_spi.c +1
-1@@ -66,7 +66,7 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,debug ("data = 0x%08x \n" , data);writel (KWSPI_SMEMRDIRQ , &spireg->irq_cause); -writel (KWSPI_IRQMASK , spireg->irq_mask); +writel (KWSPI_IRQMASK , &spireg->irq_mask);/* program mpp registers to select SPI_CSn */ if (cs) {
we had also SPI problems on our km_kirkwood boards with u-boot v2011.12. This patch fixes it. Thanks! So:
Regards
Holger
PATCH 1/1 kirkwood_spi: correct access to irq_mask register
In reply to Ian CampbellProblem appears to have been present since day one but masked because alignment aborts were not enabled. ca4b55800ed7 "arm, arm926ejs: always do cpu critical inits" turned on alignment aborts and uncovered this latent problem.
---
v2: Resending per patch submission guidelines.
--- drivers/spi/kirkwood_spi.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)
drivers/spi/kirkwood_spi.c +1 -1
@@ -66,7 +66,7 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs,debug ("data = 0x%08x \n" , data);writel (KWSPI_SMEMRDIRQ , &spireg->irq_cause); -writel (KWSPI_IRQMASK , spireg->irq_mask); +writel (KWSPI_IRQMASK , &spireg->irq_mask);/* program mpp registers to select SPI_CSn */ if (cs) {
Signature · 1 line
1.7.5.4
PATCH 1/1 kirkwood_spi: correct access to irq_mask register
Quoted 39 lines
-----Original Message-----
From: Ian Campbell [mailto:ijc at hellion.org.uk]
Sent: 12 January 2012 21:40
To: u-boot at lists.denx.de
Cc: Ian Campbell; Prafulla Wadaskar; Albert ARIBAUD
Subject: [PATCH]kirkwood_spi: correct access toirq_maskregisterProblem appears to have been present since day one but masked because alignment
aborts were not enabled.ca4b55800ed7"arm, arm926ejs: always do cpu critical
inits" turned on alignment aborts and uncovered this latent problem.Signed-off-by Ian Campbell <[email protected]>Acked-by Jason Cooper <[email protected]>Tested-by Holger Brunck <[email protected]>Cc Prafulla Wadaskar <[email protected]>Cc Albert ARIBAUD <[email protected]>---
v2: Resending per patch submission guidelines.--- drivers/spi/kirkwood_spi.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)drivers/spi/kirkwood_spi.c +1
-1@@ -66,7 +66,7 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs, debug("data = 0x%08x \n", data);writel (KWSPI_SMEMRDIRQ , &spireg->irq_cause); -writel (KWSPI_IRQMASK , spireg->irq_mask); +writel (KWSPI_IRQMASK , &spireg->irq_mask);/* program mpp registers to select SPI_CSn */
Quoted 1 line
if (cs) {
Hi Ian
Thanks for the patch (resend :-) )
Actually it was in my pipeline.
I will pull this ASAP as well as other patches in my plate.
Regards..
Prafulla . ..
Quoted 2 lines
--
1.7.5.4
PATCH 1/1 kirkwood_spi: correct access to irq_mask register
Quoted 37 lines · Prafulla Wadaskar
Quoted 37 lines
-----Original Message-----
From: Ian Campbell [mailto:ijc at hellion.org.uk]
Sent: 12 January 2012 21:40
To: u-boot at lists.denx.de
Cc: Ian Campbell; Prafulla Wadaskar; Albert ARIBAUD
Subject: [PATCH]kirkwood_spi: correct access toirq_maskregisterProblem appears to have been present since day one but masked because alignment
aborts were not enabled.ca4b55800ed7"arm, arm926ejs: always do cpu critical
inits" turned on alignment aborts and uncovered this latent problem.Signed-off-by Ian Campbell <[email protected]>Acked-by Jason Cooper <[email protected]>Tested-by Holger Brunck <[email protected]>Cc Prafulla Wadaskar <[email protected]>Cc Albert ARIBAUD <[email protected]>---
v2: Resending per patch submission guidelines.--- drivers/spi/kirkwood_spi.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)drivers/spi/kirkwood_spi.c +1
-1@@ -66,7 +66,7 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs, debug("data = 0x%08x \n", data);writel (KWSPI_SMEMRDIRQ , &spireg->irq_cause); -writel (KWSPI_IRQMASK , spireg->irq_mask); +writel (KWSPI_IRQMASK , &spireg->irq_mask);
Quoted 7 lines
Quoted 2 lines
drivers/spi/kirkwood_spi.c +0
-0/* program mpp registers to select SPI_CSn */ if (cs) {
Hi Ian
Thanks for the patch (resend :-) )
Actually it was in my pipeline.
I will pull this ASAP as well as other patches in my plate.
Thanks!
Ian.
Quoted 8 lines
Regards..
Prafulla . ..Quoted 2 lines
--
1.7.5.4
Signature · 4 lines
Ian Campbell Current Noise: Monster Magnet - Cry A kid'll eat the middle of an Oreo, eventually.
PATCH 1/1 kirkwood_spi: correct access to irq_mask register
In reply to Prafulla WadaskarQuoted 37 lines · Prafulla Wadaskar
Quoted 37 lines
-----Original Message-----
From: Ian Campbell [mailto:ijc at hellion.org.uk]
Sent: 12 January 2012 21:40
To: u-boot at lists.denx.de
Cc: Ian Campbell; Prafulla Wadaskar; Albert ARIBAUD
Subject: [PATCH]kirkwood_spi: correct access toirq_maskregisterProblem appears to have been present since day one but masked because alignment
aborts were not enabled.ca4b55800ed7"arm, arm926ejs: always do cpu critical
inits" turned on alignment aborts and uncovered this latent problem.Signed-off-by Ian Campbell <[email protected]>Acked-by Jason Cooper <[email protected]>Tested-by Holger Brunck <[email protected]>Cc Prafulla Wadaskar <[email protected]>Cc Albert ARIBAUD <[email protected]>---
v2: Resending per patch submission guidelines.--- drivers/spi/kirkwood_spi.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)drivers/spi/kirkwood_spi.c +1
-1@@ -66,7 +66,7 @@ struct spi_slave *spi_setup_slave(unsigned int bus, unsigned int cs, debug("data = 0x%08x \n", data);writel (KWSPI_SMEMRDIRQ , &spireg->irq_cause); -writel (KWSPI_IRQMASK , spireg->irq_mask); +writel (KWSPI_IRQMASK , &spireg->irq_mask);
Quoted 7 lines
Quoted 2 lines
drivers/spi/kirkwood_spi.c +0
-0/* program mpp registers to select SPI_CSn */ if (cs) {
Hi Ian
Thanks for the patch (resend :-) )
Actually it was in my pipeline.
I will pull this ASAP as well as other patches in my plate.
Ping?
This patch doesn't seem to be in git yet.
Ian.
Signature · 5 lines
Ian Campbell Current Noise: Iron Monkey - 9 Joint Spiritual Whip "Were there no women, men might live like gods." -- Thomas Dekker
PATCH 1/1 kirkwood_spi: correct access to irq_mask register
Quoted 60 lines
-----Original Message-----
From: Ian Campbell [mailto:ijc at hellion.org.uk]
Sent: 27 January 2012 22:04
To: Prafulla Wadaskar
Cc: u-boot at lists.denx.de; Albert ARIBAUD
Subject: RE: [PATCH]kirkwood_spi: correct access toirq_maskregisterQuoted 9 lines · Prafulla Wadaskar
Quoted 9 lines
-----Original Message-----
From: Ian Campbell [mailto:ijc at hellion.org.uk]
Sent: 12 January 2012 21:40
To: u-boot at lists.denx.de
Cc: Ian Campbell; Prafulla Wadaskar; Albert ARIBAUD
Subject: [PATCH]kirkwood_spi: correct access toirq_maskregisterProblem appears to have been present since day one but masked
because
Quoted 2 lines
Quoted 2 lines
alignment
aborts were not enabled.ca4b55800ed7"arm, arm926ejs: always docpu
Quoted 2 lines
Quoted 2 lines
critical
inits" turned on alignment aborts and uncovered this latentproblem.
Quoted 12 lines
Quoted 12 lines
Signed-off-by Ian Campbell <[email protected]>Acked-by Jason Cooper <[email protected]>Tested-by Holger Brunck <[email protected]>Cc Prafulla Wadaskar <[email protected]>Cc Albert ARIBAUD <[email protected]>---
v2: Resending per patch submission guidelines.--- drivers/spi/kirkwood_spi.c | 2 +- 1 files changed, 1 insertions(+), 1 deletions(-)Quoted 1 line
Review
Quoted 1 line
(quoted diff) +0
-0
b/drivers/spi/kirkwood_spi.cQuoted 4 lines
drivers/spi/kirkwood_spi.c struct spi_slave *spi_setup_slave(unsigned int
Quoted 4 lines
index dfe542d..db8ba8b 100644
drivers/spi/kirkwood_spi.c +0
-0@@ -66,7 +66,7 @@ struct spi_slave *spi_setup_slave(unsigned intbus,
Quoted 7 lines
Quoted 7 lines
drivers/spi/kirkwood_spi.c +1
-1unsigned int cs, debug("data = 0x%08x \n", data);writel (KWSPI_SMEMRDIRQ , &spireg->irq_cause); -writel (KWSPI_IRQMASK , spireg->irq_mask); +writel (KWSPI_IRQMASK , &spireg->irq_mask);Quoted 7 lines
Quoted 2 lines
drivers/spi/kirkwood_spi.c +0
-0/* program mpp registers to select SPI_CSn */ if (cs) {
Hi Ian
Thanks for the patch (resend :-) )
Actually it was in my pipeline.
I will pull this ASAP as well as other patches in my plate.
Quoted 3 lines
Ping?
This patch doesn't seem to be in git yet.
Applied to u-boot-marvell.git master branch
Regards..
Prafulla . . .
PATCH 1/1 kirkwood_spi: correct access to irq_mask register
Quoted 4 lines · Prafulla Wadaskar
[...]
Quoted 1 line
Subject: RE: [PATCH]
kirkwood_spi: correct access toirq_maskregisterApplied to u-boot-marvell.git master branch
Many thanks!
Ian.
Signature · 4 lines
Ian Campbell Encyclopedia for sale by father. Son knows everything.