[U-Boot] [PATCH] ARM SOCFPGA: add resetmgr command so reset can be deasserted in bootcmd (for example on peripheral dma interfaces after fpga has been programmed).

Dinh Nguyen dinguyen at kernel.org
Fri Dec 15 19:17:14 UTC 2017


Hi Frank,

Thanks for the patch. Just a few notes:

Please reformat your patch to a commit header and commit message. For
example, this patch should be like this:

arm: socfpga: add resetmgr command

Add resetmgr command so reset can be deasserted in bootcmd (for example
on peripheral dma interfaces after fpga has been programmed).

Now on to the patch itself. I don't think this patch is needed and is
probably not the approach you want. It should be up to each driver to
de-assert the resets that it needs. Do it manually is probably not the
approach you want.

Dinh

On 12/14/2017 03:49 PM, Frank Mori Hess wrote:
> ---
>  arch/arm/mach-socfpga/reset_manager_gen5.c | 31 +++++++++++++++++++++++++++++
> +
>  1 file changed, 31 insertions(+)
> 
> diff --git a/arch/arm/mach-socfpga/reset_manager_gen5.c b/arch/arm/mach-
> socfpga/reset_manager_gen5.c
> index aa88adb414..6ad5d2a362 100644
> --- a/arch/arm/mach-socfpga/reset_manager_gen5.c
> +++ b/arch/arm/mach-socfpga/reset_manager_gen5.c
> @@ -114,3 +114,34 @@ void socfpga_bridges_reset(int enable)
>  	return;
>  }
>  #endif
> +
> +int resetmgr_cmd(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
> +{
> +	unsigned long bank;
> +	unsigned long offset;
> +	unsigned long assert;
> +
> +	if (argc != 4)
> +		return CMD_RET_USAGE;
> +
> +	bank = simple_strtoul(argv[1], NULL, 0);
> +	offset = simple_strtoul(argv[2], NULL, 0);
> +	assert = simple_strtoul(argv[3], NULL, 0);
> +	socfpga_per_reset(RSTMGR_DEFINE(bank, offset), assert);
> +	return 0;
> +}
> +
> +U_BOOT_CMD(
> +	resetmgr, 4, 1, resetmgr_cmd,
> +	"SoCFPGA HPS reset manager control",
> +	"resetmgr bank offset assert\n"
> +	"    bank - Bank of reset to assert/deassert.\n"
> +	"        0 ... mpumodrst\n"
> +	"        1 ... permodrst\n"
> +	"        2 ... per2modrst\n"
> +	"        3 ... brgmodrst\n"
> +	"        4 ... miscmodrst\n"
> +	"    offset - Offset of reset to assert/deassert.\n"
> +	"    assert - 1 to assert reset, 0 to deassert.\n"
> +	""
> +);
> 


More information about the U-Boot mailing list