summaryrefslogtreecommitdiff
path: root/board
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2015-04-10 12:39:13 -0400
committerTom Rini <trini@konsulko.com>2015-04-10 12:39:13 -0400
commitc175f306b3f8885965f63ff6c71df5c0f899b4c9 (patch)
tree99a0fc3ea90f7da2db7363d499e02d94912f61d5 /board
parenta7b00a7bf6d92648827d94f4f1dcdb0b5336fe0e (diff)
parenta811492e4f386f79b122b210ac8e66915c27f767 (diff)
downloadu-boot-imx-c175f306b3f8885965f63ff6c71df5c0f899b4c9.zip
u-boot-imx-c175f306b3f8885965f63ff6c71df5c0f899b4c9.tar.gz
u-boot-imx-c175f306b3f8885965f63ff6c71df5c0f899b4c9.tar.bz2
Merge git://git.denx.de/u-boot-arc
Diffstat (limited to 'board')
-rw-r--r--board/synopsys/axs101/axs101.c14
-rw-r--r--board/synopsys/axs101/axs10x.h16
-rw-r--r--board/synopsys/axs101/nand.c7
3 files changed, 37 insertions, 0 deletions
diff --git a/board/synopsys/axs101/axs101.c b/board/synopsys/axs101/axs101.c
index 7742049..8c16410 100644
--- a/board/synopsys/axs101/axs101.c
+++ b/board/synopsys/axs101/axs101.c
@@ -9,6 +9,7 @@
#include <malloc.h>
#include <netdev.h>
#include <phy.h>
+#include "axs10x.h"
DECLARE_GLOBAL_DATA_PTR;
@@ -42,3 +43,16 @@ int board_eth_init(bd_t *bis)
return 0;
}
+
+
+#define AXS_MB_CREG 0xE0011000
+
+int board_early_init_f(void)
+{
+ if (readl((void __iomem *)AXS_MB_CREG + 0x234) & (1 << 28))
+ gd->board_type = AXS_MB_V3;
+ else
+ gd->board_type = AXS_MB_V2;
+
+ return 0;
+}
diff --git a/board/synopsys/axs101/axs10x.h b/board/synopsys/axs101/axs10x.h
new file mode 100644
index 0000000..8e8c41f
--- /dev/null
+++ b/board/synopsys/axs101/axs10x.h
@@ -0,0 +1,16 @@
+/*
+ * Copyright (C) 2015 Synopsys, Inc. All rights reserved.
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ */
+
+#ifndef _BOARD_SYNOPSYS_AXS10X_H
+#define _BOARD_SYNOPSYS_AXS10X_H
+
+enum {
+ AXS_MB_V2,
+ AXS_MB_V3
+};
+
+#endif /* _BOARD_SYNOPSYS_AXS10X_H */
+
diff --git a/board/synopsys/axs101/nand.c b/board/synopsys/axs101/nand.c
index ff35286..4be52e2 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;
}