提交 c175f306 编写于 作者: T Tom Rini
......@@ -13,6 +13,7 @@ SECTIONS
.text : {
*(.__text_start)
*(.__image_copy_start)
arch/arc/lib/start.o (.text*)
*(.text*)
}
......
......@@ -4,6 +4,8 @@
# SPDX-License-Identifier: GPL-2.0+
#
extra-y = start.o
head-y := start.o
obj-y += cache.o
obj-y += cpu.o
obj-y += interrupts.o
......@@ -18,7 +20,6 @@ obj-y += memcpy-700.o
obj-y += memset.o
obj-y += reset.o
obj-y += timer.o
obj-y += start.o
obj-y += ints_low.o
obj-y += init_helpers.o
......
......@@ -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;
}
/*
* 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 */
......@@ -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;
}
......@@ -33,6 +33,12 @@
#define CONFIG_SYS_BOOTM_LEN 0x2000000 /* 32 MB */
#define CONFIG_SYS_LOAD_ADDR 0x82000000
/*
* This board might be of different versions so handle it
*/
#define CONFIG_BOARD_TYPES
#define CONFIG_BOARD_EARLY_INIT_F
/*
* NAND Flash configuration
*/
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册