summaryrefslogtreecommitdiffstats
path: root/board/synopsys/axs101/nand.c
diff options
context:
space:
mode:
authorAlexey Brodkin <abrodkin@synopsys.com>2015-04-09 19:50:58 +0300
committerAlexey Brodkin <abrodkin@synopsys.com>2015-04-09 20:00:46 +0300
commit0241c3131dd4c19a1116c863d622358eb2680462 (patch)
tree3add3601f080dc79ec279e644c8b831ed5da83e0 /board/synopsys/axs101/nand.c
parent385a08a60f042061b004642d6b9bb6cfb794ad5a (diff)
downloadblackbird-obmc-uboot-0241c3131dd4c19a1116c863d622358eb2680462.tar.gz
blackbird-obmc-uboot-0241c3131dd4c19a1116c863d622358eb2680462.zip
board: axs10x - support v3 mother-board
There're 2 versions of motherboards that could be used in ARC SDP. The only important difference for U-Boot is different NAND IC in use: [1] v2 board (we used to support up until now) sports MT29F4G08ABADAWP while [2] v3 board sports MT29F4G16ABADAWP They are almost the same except data bus width 8-bit in [1] and 16-bit in [2]. And for proper support of 16-bit data bus we have to pass NAND_BUSWIDTH_16 option to NAND driver core - which we do now knowing board type we're running on. Signed-off-by: Alexey Brodkin <abrodkin@synopsys.com>
Diffstat (limited to 'board/synopsys/axs101/nand.c')
-rw-r--r--board/synopsys/axs101/nand.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/board/synopsys/axs101/nand.c b/board/synopsys/axs101/nand.c
index ff35286c6e..4be52e22c0 100644
--- a/board/synopsys/axs101/nand.c
+++ b/board/synopsys/axs101/nand.c
@@ -9,6 +9,9 @@
#include <malloc.h>
#include <nand.h>
#include <asm/io.h>
+#include "axs10x.h"
+
+DECLARE_GLOBAL_DATA_PTR;
#define BUS_WIDTH 8 /* AXI data bus width in bytes */
@@ -232,5 +235,9 @@ int board_nand_init(struct nand_chip *nand)
nand->write_buf = axs101_nand_write_buf;
nand->read_buf = axs101_nand_read_buf;
+ /* MBv3 has NAND IC with 16-bit data bus */
+ if (gd->board_type == AXS_MB_V3)
+ nand->options |= NAND_BUSWIDTH_16;
+
return 0;
}
OpenPOWER on IntegriCloud