On Sun, 2012-01-08 at 15:30 +0000, Ian Campbell wrote:
> 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 enabled
> 
> I bisected it down to:
>         commit ca4b55800ed74207c35271bf7335a092d4955416
>         Author: Heiko Schocher <h...@denx.de>
>         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.
>             
>             Signed-off-by: Heiko Schocher <h...@denx.de>
>             Cc: Albert ARIBAUD <albert.u.b...@aribaud.net>
>             Cc: Wolfgang Denk <h...@denx.de>
>             Cc: Sandeep Paulraj <s-paul...@ti.com>
>             Cc: Tom Rini <tom.r...@gmail.com>
>             Cc: Christian Riesch <christian.rie...@omicron.at>
> 
> 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 d6bc6e1a4f49314577e0be9af3cd020078593fdb Mon Sep 17 00:00:00 2001
From: Ian Campbell <i...@hellion.org.uk>
Date: Sun, 8 Jan 2012 19:44:38 +0000
Subject: [PATCH] kirkwood_spi: correct access to irq_mask register

Problem 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 <i...@hellion.org.uk>
---
 drivers/spi/kirkwood_spi.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/drivers/spi/kirkwood_spi.c b/drivers/spi/kirkwood_spi.c
index dfe542d..db8ba8b 100644
--- a/drivers/spi/kirkwood_spi.c
+++ b/drivers/spi/kirkwood_spi.c
@@ -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) {
-- 
1.7.5.4


-- 
Ian Campbell


We've upped our standards, so up yours!

Attachment: signature.asc
Description: This is a digitally signed message part

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to