All of lore.kernel.org
 help / color / mirror / Atom feed
From: Chia-Wei, Wang <chiawei_wang@aspeedtech.com>
To: u-boot@lists.denx.de
Subject: [PATCH 6/7] aspeed: Add AST2600 platform support
Date: Mon, 14 Dec 2020 13:54:28 +0800	[thread overview]
Message-ID: <20201214055429.32690-7-chiawei_wang@aspeedtech.com> (raw)
In-Reply-To: <20201214055429.32690-1-chiawei_wang@aspeedtech.com>

Add low level platform initialization for the AST2600 SoC.
The 2-stage booting with U-Boot SPL are leveraged to support
different booting mode.

However, currently the patch supports only the booting from
memory-mapped SPI flash.

Signed-off-by: Chia-Wei, Wang <chiawei_wang@aspeedtech.com>
---
 arch/arm/include/asm/arch-aspeed/boot0.h     |  23 ++
 arch/arm/include/asm/arch-aspeed/platform.h  |   5 +
 arch/arm/mach-aspeed/Kconfig                 |  20 ++
 arch/arm/mach-aspeed/Makefile                |   1 +
 arch/arm/mach-aspeed/ast2600/Kconfig         |  17 ++
 arch/arm/mach-aspeed/ast2600/Makefile        |   2 +
 arch/arm/mach-aspeed/ast2600/board_common.c  | 105 +++++++++
 arch/arm/mach-aspeed/ast2600/lowlevel_init.S | 233 +++++++++++++++++++
 arch/arm/mach-aspeed/ast2600/spl.c           |  55 +++++
 board/aspeed/evb_ast2600/Kconfig             |  12 +
 board/aspeed/evb_ast2600/Makefile            |   1 +
 board/aspeed/evb_ast2600/evb_ast2600.c       |   5 +
 drivers/sysreset/sysreset_ast.c              |   5 +
 include/configs/evb_ast2600.h                |  16 ++
 14 files changed, 500 insertions(+)
 create mode 100644 arch/arm/include/asm/arch-aspeed/boot0.h
 create mode 100644 arch/arm/mach-aspeed/ast2600/Kconfig
 create mode 100644 arch/arm/mach-aspeed/ast2600/Makefile
 create mode 100644 arch/arm/mach-aspeed/ast2600/board_common.c
 create mode 100644 arch/arm/mach-aspeed/ast2600/lowlevel_init.S
 create mode 100644 arch/arm/mach-aspeed/ast2600/spl.c
 create mode 100644 board/aspeed/evb_ast2600/Kconfig
 create mode 100644 board/aspeed/evb_ast2600/Makefile
 create mode 100644 board/aspeed/evb_ast2600/evb_ast2600.c
 create mode 100644 include/configs/evb_ast2600.h

diff --git a/arch/arm/include/asm/arch-aspeed/boot0.h b/arch/arm/include/asm/arch-aspeed/boot0.h
new file mode 100644
index 0000000000..368becc87a
--- /dev/null
+++ b/arch/arm/include/asm/arch-aspeed/boot0.h
@@ -0,0 +1,23 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright (c) Aspeed Technology Inc.
+ */
+
+#ifndef _ASM_ARCH_BOOT0_H
+#define _ASM_ARCH_BOOT0_H
+
+_start:
+	ARM_VECTORS
+
+	.word	0x0	/* key location */
+	.word	0x0	/* start address of image */
+	.word	0xfc00  /* maximum image size: 63KB */
+	.word	0x0	/* signature address */
+	.word	0x0	/* header revision ID low */
+	.word	0x0	/* header revision ID high */
+	.word	0x0	/* reserved */
+	.word	0x0	/* checksum */
+	.word	0x0	/* BL2 secure header */
+	.word	0x0	/* public key or digest offset for BL2 */
+
+#endif
diff --git a/arch/arm/include/asm/arch-aspeed/platform.h b/arch/arm/include/asm/arch-aspeed/platform.h
index 6cee036f54..d50ec5f8a9 100644
--- a/arch/arm/include/asm/arch-aspeed/platform.h
+++ b/arch/arm/include/asm/arch-aspeed/platform.h
@@ -13,6 +13,11 @@
 #define ASPEED_DRAM_BASE	0x80000000
 #define ASPEED_SRAM_BASE	0x1e720000
 #define ASPEED_SRAM_SIZE	0x9000
+#elif defined(CONFIG_ASPEED_AST2600)
+#define ASPEED_MAC_COUNT	4
+#define ASPEED_DRAM_BASE	0x80000000
+#define ASPEED_SRAM_BASE	0x10000000
+#define ASPEED_SRAM_SIZE	0x10000
 #else
 #err "Unrecognized Aspeed platform."
 #endif
diff --git a/arch/arm/mach-aspeed/Kconfig b/arch/arm/mach-aspeed/Kconfig
index 4f021baa06..9a725f195a 100644
--- a/arch/arm/mach-aspeed/Kconfig
+++ b/arch/arm/mach-aspeed/Kconfig
@@ -9,6 +9,11 @@ config SYS_SOC
 config SYS_TEXT_BASE
 	default 0x00000000
 
+choice
+	prompt "Aspeed SoC select"
+	depends on ARCH_ASPEED
+	default ASPEED_AST2500
+
 config ASPEED_AST2500
 	bool "Support Aspeed AST2500 SoC"
 	depends on DM_RESET
@@ -18,6 +23,21 @@ config ASPEED_AST2500
 	  It is used as Board Management Controller on many server boards,
 	  which is enabled by support of LPC and eSPI peripherals.
 
+config ASPEED_AST2600
+	bool "Support Aspeed AST2600 SoC"
+	select CPU_V7A
+	select CPU_V7_HAS_NONSEC
+	select SYS_ARCH_TIMER
+	select SUPPORT_SPL
+	select ENABLE_ARM_SOC_BOOT0_HOOK
+	help
+	  The Aspeed AST2600 is a ARM-based SoC with Cortex-A7 CPU.
+	  It is used as Board Management Controller on many server boards,
+	  which is enabled by support of LPC and eSPI peripherals.
+
+endchoice
+
 source "arch/arm/mach-aspeed/ast2500/Kconfig"
+source "arch/arm/mach-aspeed/ast2600/Kconfig"
 
 endif
diff --git a/arch/arm/mach-aspeed/Makefile b/arch/arm/mach-aspeed/Makefile
index 33f65b50b2..42599c125b 100644
--- a/arch/arm/mach-aspeed/Makefile
+++ b/arch/arm/mach-aspeed/Makefile
@@ -4,3 +4,4 @@
 
 obj-$(CONFIG_ARCH_ASPEED) += ast_wdt.o
 obj-$(CONFIG_ASPEED_AST2500) += ast2500/
+obj-$(CONFIG_ASPEED_AST2600) += ast2600/
diff --git a/arch/arm/mach-aspeed/ast2600/Kconfig b/arch/arm/mach-aspeed/ast2600/Kconfig
new file mode 100644
index 0000000000..f3a53387a1
--- /dev/null
+++ b/arch/arm/mach-aspeed/ast2600/Kconfig
@@ -0,0 +1,17 @@
+if ASPEED_AST2600
+
+config SYS_CPU
+	default "armv7"
+
+config TARGET_EVB_AST2600
+	bool "EVB-AST2600"
+	depends on ASPEED_AST2600
+	help
+	  EVB-AST2600 is Aspeed evaluation board for AST2600A0 chip.
+	  It has 512M of RAM, 32M of SPI flash, two Ethernet ports,
+	  4 Serial ports, 4 USB ports, VGA port, PCIe, SD card slot,
+	  20 pin JTAG, pinouts for 14 I2Cs, 3 SPIs and eSPI, 8 PWMs.
+
+source "board/aspeed/evb_ast2600/Kconfig"
+
+endif
diff --git a/arch/arm/mach-aspeed/ast2600/Makefile b/arch/arm/mach-aspeed/ast2600/Makefile
new file mode 100644
index 0000000000..448d3201af
--- /dev/null
+++ b/arch/arm/mach-aspeed/ast2600/Makefile
@@ -0,0 +1,2 @@
+obj-y   += lowlevel_init.o board_common.o
+obj-$(CONFIG_SPL_BUILD) += spl.o
diff --git a/arch/arm/mach-aspeed/ast2600/board_common.c b/arch/arm/mach-aspeed/ast2600/board_common.c
new file mode 100644
index 0000000000..642ea48d8e
--- /dev/null
+++ b/arch/arm/mach-aspeed/ast2600/board_common.c
@@ -0,0 +1,105 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (c) Aspeed Technology Inc.
+ */
+#include <common.h>
+#include <dm.h>
+#include <ram.h>
+#include <timer.h>
+#include <asm/io.h>
+#include <asm/arch/timer.h>
+#include <linux/bitops.h>
+#include <linux/err.h>
+#include <dm/uclass.h>
+#include <asm/arch/scu_ast2600.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+/* Memory Control registers */
+#define MCR_BASE			0x1e6e0000
+#define MCR_CONF			(MCR_BASE + 0x004)
+
+/* bit fields of MCR_CONF */
+#define MCR_CONF_ECC_EN			BIT(7)
+#define MCR_CONF_VGA_MEMSZ_MASK		GENMASK(3, 2)
+#define MCR_CONF_VGA_MEMSZ_SHIFT	2
+#define MCR_CONF_MEMSZ_MASK		GENMASK(1, 0)
+#define MCR_CONF_MEMSZ_SHIFT		0
+
+int dram_init(void)
+{
+	int ret;
+	struct udevice *dev;
+	struct ram_info ram;
+
+	ret = uclass_get_device(UCLASS_RAM, 0, &dev);
+	if (ret) {
+		debug("cannot get DRAM driver\n");
+		return ret;
+	}
+
+	ret = ram_get_info(dev, &ram);
+	if (ret) {
+		debug("cannot get DRAM information\n");
+		return ret;
+	}
+
+	gd->ram_size = ram.size;
+	return 0;
+}
+
+int board_init(void)
+{
+	int i = 0, rc;
+	struct udevice *dev;
+
+	gd->bd->bi_boot_params = CONFIG_SYS_SDRAM_BASE + 0x100;
+
+	while (1) {
+		rc = uclass_get_device(UCLASS_MISC, i++, &dev);
+		if (rc)
+			break;
+	}
+
+	return 0;
+}
+
+void board_add_ram_info(int use_default)
+{
+	int rc;
+	uint32_t conf;
+	uint32_t ecc, act_size, vga_rsvd;
+	struct udevice *scu_dev;
+	struct ast2600_scu *scu;
+
+	rc = uclass_get_device_by_driver(UCLASS_CLK,
+					 DM_GET_DRIVER(aspeed_ast2600_scu), &scu_dev);
+	if (rc) {
+		debug("%s: cannot find SCU device, rc=%d\n", __func__, rc);
+		return;
+	}
+
+	scu = devfdt_get_addr_ptr(scu_dev);
+	if (IS_ERR_OR_NULL(scu)) {
+		debug("%s: cannot get SCU address pointer\n", __func__);
+		return;
+	}
+
+	conf = readl(MCR_CONF);
+
+	ecc = conf & MCR_CONF_ECC_EN;
+	act_size = 0x100 << ((conf & MCR_CONF_MEMSZ_MASK) >> MCR_CONF_MEMSZ_SHIFT);
+	vga_rsvd = 0x8 << ((conf & MCR_CONF_VGA_MEMSZ_MASK) >> MCR_CONF_VGA_MEMSZ_SHIFT);
+
+	/* no VGA reservation if efuse VGA disable bit is set */
+	if (readl(scu->efuse) & SCU_EFUSE_DIS_VGA)
+		vga_rsvd = 0;
+
+	printf(" (capacity:%d MiB, VGA:%d MiB), ECC %s", act_size,
+	       vga_rsvd, (ecc) ? "on" : "off");
+}
+
+void enable_caches(void)
+{
+	/* get rid of the warning message */
+}
diff --git a/arch/arm/mach-aspeed/ast2600/lowlevel_init.S b/arch/arm/mach-aspeed/ast2600/lowlevel_init.S
new file mode 100644
index 0000000000..594963d039
--- /dev/null
+++ b/arch/arm/mach-aspeed/ast2600/lowlevel_init.S
@@ -0,0 +1,233 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+/*
+ * Copyright (c) ASPEED Technology Inc.
+ */
+#include <config.h>
+#include <asm/armv7.h>
+#include <linux/linkage.h>
+#include <asm/arch/scu_ast2600.h>
+
+/* SCU register offsets */
+#define SCU_BASE		0x1e6e2000
+#define SCU_PROT_KEY1		(SCU_BASE + 0x000)
+#define SCU_PROT_KEY2		(SCU_BASE + 0x010)
+#define SCU_SMP_BOOT		(SCU_BASE + 0x180)
+#define SCU_HWSTRAP1		(SCU_BASE + 0x510)
+#define SCU_CA7_PARITY_CHK	(SCU_BASE + 0x820)
+#define SCU_CA7_PARITY_CLR	(SCU_BASE + 0x824)
+#define SCU_MMIO_DEC		(SCU_BASE + 0xc24)
+
+/* FMC SPI register offsets */
+#define FMC_BASE		0x1e620000
+#define FMC_CE0_CTRL		(FMC_BASE + 0x010)
+#define FMC_SW_RST_CTRL		(FMC_BASE + 0x050)
+#define FMC_WDT1_CTRL_MODE	(FMC_BASE + 0x060)
+#define FMC_WDT2_CTRL_MODE	(FMC_BASE + 0x064)
+
+/*
+ * The SMP mailbox provides a space with few instructions in it
+ * for secondary cores to execute on and wait for the signal of
+ * SMP core bring up.
+ *
+ *       SMP mailbox
+ * +----------------------+
+ * |                      |
+ * | mailbox insn. for    |
+ * | cpuN polling SMP go  |
+ * |                      |
+ * +----------------------+ 0xC
+ * | mailbox ready signal |
+ * +----------------------+ 0x8
+ * | cpuN GO signal       |
+ * +----------------------+ 0x4
+ * | cpuN entrypoint      |
+ * +----------------------+ SMP_MAILBOX_BASE
+ */
+#define SMP_MBOX_BASE		(SCU_SMP_BOOT)
+#define SMP_MBOX_FIELD_ENTRY	(SMP_MBOX_BASE + 0x0)
+#define SMP_MBOX_FIELD_GOSIGN	(SMP_MBOX_BASE + 0x4)
+#define SMP_MBOX_FIELD_READY	(SMP_MBOX_BASE + 0x8)
+#define SMP_MBOX_FIELD_POLLINSN	(SMP_MBOX_BASE + 0xc)
+
+.macro scu_unlock
+	movw	r0, #(SCU_UNLOCK_KEY & 0xffff)
+	movt	r0, #(SCU_UNLOCK_KEY >> 16)
+
+	ldr	r1, =SCU_PROT_KEY1
+	str	r0, [r1]
+	ldr	r1, =SCU_PROT_KEY2
+	str	r0, [r1]
+.endm
+
+.macro timer_init
+	ldr	r1, =SCU_HWSTRAP1
+	ldr	r1, [r1]
+	and	r1, #0x700
+	lsr	r1, #0x8
+
+	/* 1.2GHz */
+	cmp	r1, #0x0
+	movweq	r0, #0x8c00
+	movteq	r0, #0x4786
+
+	/* 1.6GHz */
+	cmp	r1, #0x1
+	movweq	r0, #0x1000
+	movteq	r0, #0x5f5e
+
+	/* 1.2GHz */
+	cmp	r1, #0x2
+	movweq	r0, #0x8c00
+	movteq	r0, #0x4786
+
+	/* 1.6GHz */
+	cmp	r1, #0x3
+	movweq	r0, #0x1000
+	movteq	r0, #0x5f5e
+
+	/* 800MHz */
+	cmp	r1, #0x4
+	movwge	r0, #0x0800
+	movtge	r0, #0x2faf
+
+	mcr	p15, 0, r0, c14, c0, 0	@; update CNTFRQ
+.endm
+
+
+.globl lowlevel_init
+
+lowlevel_init:
+#if defined(CONFIG_SPL) && !defined(CONFIG_SPL_BUILD)
+	mov	pc, lr
+#else
+	/* setup ARM arch timer frequency */
+	timer_init
+
+	/* reset SMP mailbox as early as possible */
+	mov	r0, #0x0
+	ldr	r1, =SMP_MBOX_FIELD_READY
+	str	r0, [r1]
+
+	/* set ACTLR.SMP to enable cache use */
+	mrc	p15, 0, r0, c1, c0, 1
+	orr	r0, #0x40
+	mcr	p15, 0, r0, c1, c0, 1
+
+	/*
+	 * we treat cpu0 as the primary core and
+	 * put secondary core (cpuN) to sleep
+	 */
+	mrc   p15, 0, r0, c0, c0, 5	@; Read CPU ID register
+	ands  r0, #0xff			@; Mask off, leaving the CPU ID field
+	movw  r2, #0xab00
+	movt  r2, #0xabba
+	orr   r2, r0
+
+	beq   do_primary_core_setup
+
+	/* hold cpuN until mailbox is ready */
+poll_mailbox_ready:
+	wfe
+	ldr	r0, =SMP_MBOX_FIELD_READY
+	ldr	r0, [r0]
+	movw	r1, #0xcafe
+	movt	r1, #0xbabe
+	cmp	r1, r0
+	bne	poll_mailbox_ready
+
+	/* parameters for relocated SMP go polling insn. */
+	ldr	r0, =SMP_MBOX_FIELD_GOSIGN
+	ldr	r1, =SMP_MBOX_FIELD_ENTRY
+
+	/* no return */
+	ldr	pc, =SMP_MBOX_FIELD_POLLINSN
+
+do_primary_core_setup:
+	scu_unlock
+
+	/* MMIO decode setting */
+	ldr	r0, =SCU_MMIO_DEC
+	mov	r1, #0x2000
+	str	r1, [r0]
+
+	/* enable CA7 cache parity check */
+	mov	r0, #0
+	ldr	r1, =SCU_CA7_PARITY_CLR
+	str	r0, [r1]
+
+	mov	r0, #0x1
+	ldr	r1, =SCU_CA7_PARITY_CHK
+	str	r0, [r1]
+
+	/* do not fill FMC50[1] if boot from eMMC */
+	ldr	r0, =SCU_HWSTRAP1
+	ldr	r1, [r0]
+	ands	r1, #0x04
+	bne	skip_fill_wip_bit
+
+	/* fill FMC50[1] for waiting WIP idle */
+	mov	r0, #0x02
+	ldr	r1, =FMC_SW_RST_CTRL
+	str	r0, [r1]
+
+skip_fill_wip_bit:
+	/* disable FMC WDT for SPI address mode detection */
+	mov	r0, #0
+	ldr	r1, =FMC_WDT1_CTRL_MODE
+	str	r0, [r1]
+
+	/* relocate mailbox insn. for cpuN polling SMP go signal */
+	adrl	r0, mailbox_insn
+	adrl	r1, mailbox_insn_end
+
+	ldr	r2, =#SMP_MBOX_FIELD_POLLINSN
+
+relocate_mailbox_insn:
+	ldr	r3, [r0], #0x4
+	str	r3, [r2], #0x4
+	cmp	r0, r1
+	bne	relocate_mailbox_insn
+
+	/* reset SMP go sign */
+	mov	r0, #0
+	ldr	r1, =SMP_MBOX_FIELD_GOSIGN
+	str	r0, [r1]
+
+	/* notify cpuN mailbox is ready */
+	movw	r0, #0xCAFE
+	movt	r0, #0xBABE
+	ldr	r1, =SMP_MBOX_FIELD_READY
+	str	r0, [r1]
+	sev
+
+	/* back to arch calling code */
+	mov	pc, lr
+
+/*
+ * insn. inside mailbox to poll SMP go signal.
+ *
+ * Note that as this code will be relocated, any
+ * pc-relative assembly should NOT be used.
+ */
+mailbox_insn:
+	/*
+	 * r0 ~ r3 are parameters:
+	 *  r0 = SMP_MBOX_FIELD_GOSIGN
+	 *  r1 = SMP_MBOX_FIELD_ENTRY
+	 *  r2 = per-cpu go sign value
+	 *  r3 = no used now
+	 */
+poll_mailbox_smp_go:
+	wfe
+	ldr	r4, [r0]
+	cmp	r2, r4
+	bne	poll_mailbox_smp_go
+
+	/* SMP GO signal confirmed, release cpuN */
+	ldr	pc, [r1]
+
+mailbox_insn_end:
+	/* should never reach */
+	b	.
+
+#endif
diff --git a/arch/arm/mach-aspeed/ast2600/spl.c b/arch/arm/mach-aspeed/ast2600/spl.c
new file mode 100644
index 0000000000..9201d4a4d4
--- /dev/null
+++ b/arch/arm/mach-aspeed/ast2600/spl.c
@@ -0,0 +1,55 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (c) Aspeed Technology Inc.
+ */
+#include <common.h>
+#include <debug_uart.h>
+#include <dm.h>
+#include <spl.h>
+#include <init.h>
+#include <asm/io.h>
+#include <asm/arch/scu_ast2600.h>
+
+DECLARE_GLOBAL_DATA_PTR;
+
+void board_init_f(ulong dummy)
+{
+	spl_early_init();
+	preloader_console_init();
+	timer_init();
+	dram_init();
+}
+
+u32 spl_boot_device(void)
+{
+	return BOOT_DEVICE_RAM;
+}
+
+struct image_header *spl_get_load_buffer(ssize_t offset, size_t size)
+{
+	/*
+	 * When boot from SPI, AST2600 already remap 0x00000000 ~ 0x0fffffff
+	 * to BMC SPI memory space 0x20000000 ~ 0x2fffffff. The next stage BL
+	 * has been located in SPI for XIP. In this case, the load buffer for
+	 * SPL image loading will be set to the remapped address of the next
+	 * BL instead of the DRAM space CONFIG_SYS_LOAD_ADDR
+	 */
+	return (struct image_header *)(CONFIG_SYS_TEXT_BASE);
+}
+
+#ifdef CONFIG_SPL_OS_BOOT
+int spl_start_uboot(void)
+{
+	/* boot linux */
+	return 0;
+}
+#endif
+
+#ifdef CONFIG_SPL_LOAD_FIT
+int board_fit_config_name_match(const char *name)
+{
+	/* just empty function now - can't decide what to choose */
+	debug("%s: %s\n", __func__, name);
+	return 0;
+}
+#endif
diff --git a/board/aspeed/evb_ast2600/Kconfig b/board/aspeed/evb_ast2600/Kconfig
new file mode 100644
index 0000000000..42008cd033
--- /dev/null
+++ b/board/aspeed/evb_ast2600/Kconfig
@@ -0,0 +1,12 @@
+if TARGET_EVB_AST2600
+
+config SYS_BOARD
+	default "evb_ast2600"
+
+config SYS_VENDOR
+	default "aspeed"
+
+config SYS_CONFIG_NAME
+	default "evb_ast2600"
+
+endif
diff --git a/board/aspeed/evb_ast2600/Makefile b/board/aspeed/evb_ast2600/Makefile
new file mode 100644
index 0000000000..9291db6ee1
--- /dev/null
+++ b/board/aspeed/evb_ast2600/Makefile
@@ -0,0 +1 @@
+obj-y += evb_ast2600.o
diff --git a/board/aspeed/evb_ast2600/evb_ast2600.c b/board/aspeed/evb_ast2600/evb_ast2600.c
new file mode 100644
index 0000000000..e6dc8c7952
--- /dev/null
+++ b/board/aspeed/evb_ast2600/evb_ast2600.c
@@ -0,0 +1,5 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (c) Aspeed Technology Inc.
+ */
+#include <common.h>
diff --git a/drivers/sysreset/sysreset_ast.c b/drivers/sysreset/sysreset_ast.c
index ee941c7770..d747ed00a7 100644
--- a/drivers/sysreset/sysreset_ast.c
+++ b/drivers/sysreset/sysreset_ast.c
@@ -12,6 +12,7 @@
 #include <asm/io.h>
 #include <asm/arch/wdt.h>
 #include <linux/err.h>
+#include <hang.h>
 
 static int ast_sysreset_request(struct udevice *dev, enum sysreset_t type)
 {
@@ -33,11 +34,15 @@ static int ast_sysreset_request(struct udevice *dev, enum sysreset_t type)
 		return -EPROTONOSUPPORT;
 	}
 
+#if !defined(CONFIG_SPL_BUILD)
 	ret = wdt_expire_now(wdt, reset_mode);
 	if (ret) {
 		debug("Sysreset failed: %d", ret);
 		return ret;
 	}
+#else
+	hang();
+#endif
 
 	return -EINPROGRESS;
 }
diff --git a/include/configs/evb_ast2600.h b/include/configs/evb_ast2600.h
new file mode 100644
index 0000000000..e7975bf66d
--- /dev/null
+++ b/include/configs/evb_ast2600.h
@@ -0,0 +1,16 @@
+/* SPDX-License-Identifier: GPL-2.0+ */
+/*
+ * Copyright (c) Aspeed Technology Inc.
+ */
+
+#ifndef __CONFIG_H
+#define __CONFIG_H
+
+#include <configs/aspeed-common.h>
+
+#define CONFIG_SYS_UBOOT_BASE		CONFIG_SYS_TEXT_BASE
+
+/* Memory Info */
+#define CONFIG_SYS_LOAD_ADDR		0x83000000
+
+#endif	/* __CONFIG_H */
-- 
2.17.1

  parent reply	other threads:[~2020-12-14  5:54 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-12-14  5:54 [PATCH 0/7] Add Aspeed AST2600 support Chia-Wei, Wang
2020-12-14  5:54 ` [PATCH 1/7] clk: aspeed: Add AST2600 clock support Chia-Wei, Wang
2021-01-19 13:04   ` Tom Rini
2020-12-14  5:54 ` [PATCH 2/7] ram: aspeed: Add AST2600 DRAM control support Chia-Wei, Wang
2021-01-12  3:00   ` Ryan Chen
2021-01-19 13:04   ` Tom Rini
2020-12-14  5:54 ` [PATCH 3/7] wdt: aspeed: Add AST2600 watchdog support Chia-Wei, Wang
2021-01-12  3:00   ` Ryan Chen
2021-01-19 13:04   ` Tom Rini
2020-12-14  5:54 ` [PATCH 4/7] reset: aspeed: Add AST2600 reset support Chia-Wei, Wang
2021-01-12  3:01   ` Ryan Chen
2021-01-19 13:04   ` Tom Rini
2020-12-14  5:54 ` [PATCH 5/7] ARM: dts: aspeed: Add AST2600 SoC support Chia-Wei, Wang
2021-01-12  3:01   ` Ryan Chen
2021-01-19 13:04   ` Tom Rini
2020-12-14  5:54 ` Chia-Wei, Wang [this message]
2021-01-12  3:01   ` [PATCH 6/7] aspeed: Add AST2600 platform support Ryan Chen
2021-01-19 13:04   ` Tom Rini
2020-12-14  5:54 ` [PATCH 7/7] configs: aspeed: Add defconfig for AST2600 EVB Chia-Wei, Wang
2021-01-12  3:02   ` Ryan Chen
2021-01-19 13:04   ` Tom Rini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20201214055429.32690-7-chiawei_wang@aspeedtech.com \
    --to=chiawei_wang@aspeedtech.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.