diff mbox series

[U-Boot] dm: reset: have the reset-command perform a COLD reset

Message ID 1511545078-39589-1-git-send-email-philipp.tomsich@theobroma-systems.com
State Accepted
Commit b53f6992e9cb7f0d892ebc2b1620b55559f461be
Delegated to: Simon Glass
Headers show
Series [U-Boot] dm: reset: have the reset-command perform a COLD reset | expand

Commit Message

Philipp Tomsich Nov. 24, 2017, 5:37 p.m. UTC
The DM version of do_reset has been issuing a warm-reset, which (on
some platforms keeps GPIOs and other parts of the platform active).
This may cause unintended behaviour, as calling do_reset usually
indicates a desire to reset the board/platform and not just the CPU.

This changes do_reset to always request a COLD reset.
Note that programmatic uses can still invoke a WARM reset through
reset_cpu() or using sysreset_walk().

Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
---

 drivers/sysreset/sysreset-uclass.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Simon Glass Nov. 26, 2017, 11:39 a.m. UTC | #1
On 24 November 2017 at 10:37, Philipp Tomsich
<philipp.tomsich@theobroma-systems.com> wrote:
> The DM version of do_reset has been issuing a warm-reset, which (on
> some platforms keeps GPIOs and other parts of the platform active).
> This may cause unintended behaviour, as calling do_reset usually
> indicates a desire to reset the board/platform and not just the CPU.
>
> This changes do_reset to always request a COLD reset.
> Note that programmatic uses can still invoke a WARM reset through
> reset_cpu() or using sysreset_walk().
>
> Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
> ---
>
>  drivers/sysreset/sysreset-uclass.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Simon Glass <sjg@chromium.org>
Simon Glass Dec. 8, 2017, 5:11 p.m. UTC | #2
On 24 November 2017 at 10:37, Philipp Tomsich
<philipp.tomsich@theobroma-systems.com> wrote:
> The DM version of do_reset has been issuing a warm-reset, which (on
> some platforms keeps GPIOs and other parts of the platform active).
> This may cause unintended behaviour, as calling do_reset usually
> indicates a desire to reset the board/platform and not just the CPU.
>
> This changes do_reset to always request a COLD reset.
> Note that programmatic uses can still invoke a WARM reset through
> reset_cpu() or using sysreset_walk().
>
> Signed-off-by: Philipp Tomsich <philipp.tomsich@theobroma-systems.com>
> ---
>
>  drivers/sysreset/sysreset-uclass.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

Reviewed-by: Simon Glass <sjg@chromium.org>

Applied to u-boot-dm thanks!
diff mbox series

Patch

diff --git a/drivers/sysreset/sysreset-uclass.c b/drivers/sysreset/sysreset-uclass.c
index 3566d17..0747c52 100644
--- a/drivers/sysreset/sysreset-uclass.c
+++ b/drivers/sysreset/sysreset-uclass.c
@@ -70,7 +70,7 @@  void reset_cpu(ulong addr)
 
 int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])
 {
-	sysreset_walk_halt(SYSRESET_WARM);
+	sysreset_walk_halt(SYSRESET_COLD);
 
 	return 0;
 }