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:
@@ -3,10 +3,13 @@
|
|||||||
* Copyright (C) 2018, Bin Meng <bmeng.cn@gmail.com>
|
* Copyright (C) 2018, Bin Meng <bmeng.cn@gmail.com>
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
#include <command.h>
|
||||||
#include <cpu.h>
|
#include <cpu.h>
|
||||||
|
#include <cpu_func.h>
|
||||||
#include <dm.h>
|
#include <dm.h>
|
||||||
#include <dm/lists.h>
|
#include <dm/lists.h>
|
||||||
#include <event.h>
|
#include <event.h>
|
||||||
|
#include <hang.h>
|
||||||
#include <init.h>
|
#include <init.h>
|
||||||
#include <log.h>
|
#include <log.h>
|
||||||
#include <asm/encoding.h>
|
#include <asm/encoding.h>
|
||||||
@@ -162,3 +165,13 @@ int arch_early_init_r(void)
|
|||||||
__weak void harts_early_init(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
|
||||||
|
@@ -4,14 +4,11 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include <command.h>
|
#include <command.h>
|
||||||
#include <hang.h>
|
#include <cpu_func.h>
|
||||||
|
|
||||||
int do_reset(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
|
int do_reset(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[])
|
||||||
{
|
{
|
||||||
printf("resetting ...\n");
|
reset_cpu();
|
||||||
|
|
||||||
printf("reset not supported yet\n");
|
|
||||||
hang();
|
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user