riscv: Add a reset_cpu() function

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>
This commit is contained in:
Simon Glass
2023-12-15 20:14:09 -07:00
committed by Tom Rini
parent 6557eb73d6
commit c35bfd07ec
2 changed files with 15 additions and 5 deletions

View 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

View 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;
}