
On Wed, 4 May 2011 11:44:44 +0200 Stefan Roese sr@denx.de wrote:
Patch 65a9db7b [nand_spl: Fix large page nand_command()] broke nand booting on canyonlands. "options" has to be initialized to 0. If not, boards might have the NAND_BUSWIDTH_16 bit set, resulting in wrong offset calculation.
Signed-off-by: Stefan Roese sr@denx.de Cc: Scott Wood scottwood@freescale.com Cc: Alex Waterman awaterman@dawning.com
nand_spl/nand_boot.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/nand_spl/nand_boot.c b/nand_spl/nand_boot.c index cefeb91..62303aa 100644 --- a/nand_spl/nand_boot.c +++ b/nand_spl/nand_boot.c @@ -232,6 +232,7 @@ void nand_boot(void) nand_info.priv = &nand_chip; nand_chip.IO_ADDR_R = nand_chip.IO_ADDR_W = (void __iomem *)CONFIG_SYS_NAND_BASE; nand_chip.dev_ready = NULL; /* preset to NULL */
nand_chip.options = 0; board_nand_init(&nand_chip);
if (nand_chip.select_chip)
Maybe nand_chip should be made static so it goes in the BSS? This would avoid any other such problems, without adding any extra code to zero things out.
-Scott