]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
riscv: Add a reset_cpu() function
authorSimon Glass <sjg@chromium.org>
Sat, 16 Dec 2023 03:14:09 +0000 (20:14 -0700)
committerTom Rini <trini@konsulko.com>
Thu, 21 Dec 2023 21:07:52 +0000 (16:07 -0500)
The current do_reset() is called from a command context. Add a function
which can be used from anywhere, as is done on ARM. Adjust do_reset()
to call it.

Note that reset_cpu() is normally provided by SYSRESET so make this
declaration conditional on that being disabled.

Signed-off-by: Simon Glass <sjg@chromium.org>
Reviewed-by: Chanho Park <chanho61.park@samsung.com>
Tested-by: Chanho Park <chanho61.park@samsung.com>
arch/riscv/cpu/cpu.c
arch/riscv/lib/reset.c

index ebd39cb41a60a11113a95c0b9ba1a731df5c957d..8445c5823e178cc61e786373434c29d807ee88ca 100644 (file)
@@ -3,10 +3,13 @@
  * Copyright (C) 2018, Bin Meng <bmeng.cn@gmail.com>
  */
 
+#include <command.h>
 #include <cpu.h>
+#include <cpu_func.h>
 #include <dm.h>
 #include <dm/lists.h>
 #include <event.h>
+#include <hang.h>
 #include <init.h>
 #include <log.h>
 #include <asm/encoding.h>
@@ -162,3 +165,13 @@ int arch_early_init_r(void)
 __weak void harts_early_init(void)
 {
 }
+
+#if !CONFIG_IS_ENABLED(SYSRESET)
+void reset_cpu(void)
+{
+       printf("resetting ...\n");
+
+       printf("reset not supported yet\n");
+       hang();
+}
+#endif
index 712e1bdb8e1d9496502e2f9341c26fd049eb2f8c..c4153c9e6e0219fb6875f0b77ab2e651ff90604e 100644 (file)
@@ -4,14 +4,11 @@
  */
 
 #include <command.h>
-#include <hang.h>
+#include <cpu_func.h>
 
 int do_reset(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
 {
-       printf("resetting ...\n");
-
-       printf("reset not supported yet\n");
-       hang();
+       reset_cpu();
 
        return 0;
 }