diff options
author | Alexey Brodkin <abrodkin@synopsys.com> | 2015-04-09 19:50:58 +0300 |
---|---|---|
committer | Alexey Brodkin <abrodkin@synopsys.com> | 2015-04-09 20:00:46 +0300 |
commit | 0241c3131dd4c19a1116c863d622358eb2680462 (patch) | |
tree | 3add3601f080dc79ec279e644c8b831ed5da83e0 /board/synopsys/axs101/axs101.c | |
parent | 385a08a60f042061b004642d6b9bb6cfb794ad5a (diff) |
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/axs101.c')
-rw-r--r-- | board/synopsys/axs101/axs101.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/board/synopsys/axs101/axs101.c b/board/synopsys/axs101/axs101.c index 774204976e..8c16410944 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; +} |