summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBin Meng <[email protected]>2018-09-26 06:55:22 -0700
committerAndes <[email protected]>2018-10-03 17:48:43 +0800
commitb984ddc2dd332117ef1345255a99dc248c826b74 (patch)
tree9bf0672db4110fb98a81b3450b5deab784ed5a51
parent510e379c49ba8e0d90960d8cbc2ffb91091e229a (diff)
riscv: Move do_reset() to a common place
We don't have a reset method on any RISC-V board yet. Instead of adding the same 'unsupported' message for each CPU variant it might make more sense to add a generic do_reset function for all CPU variants to lib/, similar to the one for ARM (arch/arm/lib/reset.c). Suggested-by: Lukas Auer <[email protected]> Signed-off-by: Bin Meng <[email protected]> Reviewed-by: Lukas Auer <[email protected]>
-rw-r--r--arch/riscv/cpu/ax25/cpu.c9
-rw-r--r--arch/riscv/cpu/qemu/cpu.c8
-rw-r--r--arch/riscv/lib/Makefile1
-rw-r--r--arch/riscv/lib/reset.c17
4 files changed, 18 insertions, 17 deletions
diff --git a/arch/riscv/cpu/ax25/cpu.c b/arch/riscv/cpu/ax25/cpu.c
index ab05b57d4fb..fddcc156c3d 100644
--- a/arch/riscv/cpu/ax25/cpu.c
+++ b/arch/riscv/cpu/ax25/cpu.c
@@ -6,9 +6,6 @@
/* CPU specific code */
#include <common.h>
-#include <command.h>
-#include <watchdog.h>
-#include <asm/cache.h>
/*
* cleanup_before_linux() is called just before we call linux
@@ -24,9 +21,3 @@ int cleanup_before_linux(void)
return 0;
}
-
-int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
-{
- disable_interrupts();
- panic("ax25-ae350 wdt not support yet.\n");
-}
diff --git a/arch/riscv/cpu/qemu/cpu.c b/arch/riscv/cpu/qemu/cpu.c
index a0646393733..6c7a32755a6 100644
--- a/arch/riscv/cpu/qemu/cpu.c
+++ b/arch/riscv/cpu/qemu/cpu.c
@@ -4,7 +4,6 @@
*/
#include <common.h>
-#include <command.h>
/*
* cleanup_before_linux() is called just before we call linux
@@ -20,10 +19,3 @@ int cleanup_before_linux(void)
return 0;
}
-
-int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
-{
- printf("reset unsupported yet\n");
-
- return 0;
-}
diff --git a/arch/riscv/lib/Makefile b/arch/riscv/lib/Makefile
index cc562f935a7..b58db897522 100644
--- a/arch/riscv/lib/Makefile
+++ b/arch/riscv/lib/Makefile
@@ -10,6 +10,7 @@ obj-$(CONFIG_CMD_BOOTM) += bootm.o
obj-$(CONFIG_CMD_GO) += boot.o
obj-y += cache.o
obj-y += interrupts.o
+obj-y += reset.o
obj-y += setjmp.o
# For building EFI apps
diff --git a/arch/riscv/lib/reset.c b/arch/riscv/lib/reset.c
new file mode 100644
index 00000000000..a6aa8e25943
--- /dev/null
+++ b/arch/riscv/lib/reset.c
@@ -0,0 +1,17 @@
+// SPDX-License-Identifier: GPL-2.0+
+/*
+ * Copyright (C) 2018, Bin Meng <[email protected]>
+ */
+
+#include <common.h>
+#include <command.h>
+
+int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
+{
+ printf("resetting ...\n");
+
+ printf("reset unsupported yet\n");
+ hang();
+
+ return 0;
+}