[PATCH v2 05/21] riscv: Add a reset_cpu() function

Chanho Park chanho61.park at samsung.com
Fri Dec 15 07:38:38 CET 2023


> -----Original Message-----
> From: Simon Glass <sjg at chromium.org>
> Sent: Friday, December 15, 2023 1:50 AM
> To: U-Boot Mailing List <u-boot at lists.denx.de>
> Cc: Tom Rini <trini at konsulko.com>; Simon Glass <sjg at chromium.org>; Chanho
> Park <chanho61.park at samsung.com>; Heinrich Schuchardt
<xypron.glpk at gmx.de>;
> Leo <ycliang at andestech.com>; Nikita Shubin <n.shubin at yadro.com>; Rick Chen
> <rick at andestech.com>
> Subject: [PATCH v2 05/21] 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 at chromium.org>

Reviewed-by: Chanho Park <chanho61.park at samsung.com>
Tested-by: Chanho Park <chanho61.park at samsung.com>


> ---
> 
> (no changes since v1)
> 
>  arch/riscv/cpu/cpu.c   | 13 +++++++++++++
>  arch/riscv/lib/reset.c |  7 ++-----
>  2 files changed, 15 insertions(+), 5 deletions(-)
> 
> diff --git a/arch/riscv/cpu/cpu.c b/arch/riscv/cpu/cpu.c
> index ebd39cb41a60..8445c5823e17 100644
> --- a/arch/riscv/cpu/cpu.c
> +++ b/arch/riscv/cpu/cpu.c
> @@ -3,10 +3,13 @@
>   * Copyright (C) 2018, Bin Meng <bmeng.cn at 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
> diff --git a/arch/riscv/lib/reset.c b/arch/riscv/lib/reset.c
> index 712e1bdb8e1d..c4153c9e6e02 100644
> --- a/arch/riscv/lib/reset.c
> +++ b/arch/riscv/lib/reset.c
> @@ -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;
>  }
> --
> 2.43.0.472.g3155946c3a-goog




More information about the U-Boot mailing list