diff options
author | Ryan Harkin <ryan.harkin@linaro.org> | 2015-05-08 18:07:52 +0100 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2015-05-27 13:35:54 -0400 |
commit | f19f389f341f5370e7cdec8f9f345993a3c070d6 (patch) | |
tree | 5f4dbb9e1d6d877ad43e60887d73f41d91f49ffd | |
parent | 2efef4041f969b633bd5cd3ea177666fa7a1b3e2 (diff) |
vexpress64: specify CONFIG_SYS_FLASH_CFI_WIDTH
Testing on the ARM Versatile Express Juno board showed intermittent CFI
flash detection problems.
Debug output in exception cases showed that the NOR flash was returning
incorrect values to a query command:
fwc addr 0000000008000000 cmd f0 f0f0f0f0 32bit x 8 bit
fwc addr 0000000008000000 cmd ff ffffffff 32bit x 8 bit
fwc addr 0000000008000154 cmd 98 98989898 32bit x 8 bit
is= cmd 51(Q) addr 0000000008000040 is= 00800051 51515151
fwc addr 0000000008001554 cmd 98 98989898 32bit x 8 bit
is= cmd 51(Q) addr 0000000008000040 is= 00800051 51515151
fwc addr 0000000008000000 cmd f0 00f000f0 32bit x 16 bit
fwc addr 0000000008000000 cmd ff 00ff00ff 32bit x 16 bit
fwc addr 0000000008000154 cmd 98 00980098 32bit x 16 bit
is= cmd 51(Q) addr 0000000008000040 is= 00800051 00510051
fwc addr 0000000008001554 cmd 98 00980098 32bit x 16 bit
is= cmd 51(Q) addr 0000000008000040 is= 00800051 00510051
Debugging showed that the problem could be solved by preventing u-boot
from scanning different flash widths by specifying
CONFIG_SYS_FLASH_CFI_WIDTH so that only using the 'correct' width was
used.
Signed-off-by: Ryan Harkin <ryan.harkin@linaro.org>
Reviewed-by: Linus Walleij <linus.walleij@linaro.org>
-rw-r--r-- | include/configs/vexpress_aemv8a.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/configs/vexpress_aemv8a.h b/include/configs/vexpress_aemv8a.h index 032010bb9e..18edd5d35b 100644 --- a/include/configs/vexpress_aemv8a.h +++ b/include/configs/vexpress_aemv8a.h @@ -264,6 +264,7 @@ #define CONFIG_CMD_ARMFLASH #define CONFIG_SYS_FLASH_CFI 1 #define CONFIG_FLASH_CFI_DRIVER 1 +#define CONFIG_SYS_FLASH_CFI_WIDTH FLASH_CFI_32BIT #define CONFIG_SYS_FLASH_BASE 0x08000000 #define CONFIG_SYS_FLASH_SIZE 0x04000000 /* 64 MiB */ #define CONFIG_SYS_MAX_FLASH_BANKS 2 |