
Move sandbox over to use the reset uclass for reset, instead of a direct call to do_reset(). This allows us to add tests.
Signed-off-by: Simon Glass sjg@chromium.org ---
arch/sandbox/cpu/cpu.c | 9 +-------- arch/sandbox/dts/test.dts | 8 ++++++++ arch/sandbox/include/asm/u-boot-sandbox.h | 3 +++ configs/sandbox_defconfig | 1 + 4 files changed, 13 insertions(+), 8 deletions(-)
diff --git a/arch/sandbox/cpu/cpu.c b/arch/sandbox/cpu/cpu.c index e6ddb17..3a7f5a0 100644 --- a/arch/sandbox/cpu/cpu.c +++ b/arch/sandbox/cpu/cpu.c @@ -20,7 +20,7 @@ static struct udevice *map_dev; unsigned long map_len; #endif
-void reset_cpu(ulong ignored) +void sandbox_exit(void) { /* Do this here while it still has an effect */ os_fd_restore(); @@ -34,13 +34,6 @@ void reset_cpu(ulong ignored) os_exit(0); }
-int do_reset(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[]) -{ - reset_cpu(0); - - return 0; -} - /* delay x useconds */ void __udelay(unsigned long usec) { diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts index 7447f80..65bcf03 100644 --- a/arch/sandbox/dts/test.dts +++ b/arch/sandbox/dts/test.dts @@ -204,6 +204,14 @@ compatible = "sandbox,pinctrl"; };
+ reset@0 { + compatible = "sandbox,warm-reset"; + }; + + reset@1 { + compatible = "sandbox,reset"; + }; + spi@0 { #address-cells = <1>; #size-cells = <0>; diff --git a/arch/sandbox/include/asm/u-boot-sandbox.h b/arch/sandbox/include/asm/u-boot-sandbox.h index da87cc3..2f3c3f9 100644 --- a/arch/sandbox/include/asm/u-boot-sandbox.h +++ b/arch/sandbox/include/asm/u-boot-sandbox.h @@ -83,4 +83,7 @@ void sandbox_set_enable_pci_map(int enable); */ int sandbox_read_fdt_from_file(void);
+/* Exit sandbox (quit U-Boot) */ +void sandbox_exit(void); + #endif /* _U_BOOT_SANDBOX_H_ */ diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig index 6fd4fa2..feba8d9 100644 --- a/configs/sandbox_defconfig +++ b/configs/sandbox_defconfig @@ -45,3 +45,4 @@ CONFIG_UT_ENV=y CONFIG_SANDBOX_SERIAL=y CONFIG_CLK=y CONFIG_PINCTRL=y +CONFIG_RESET=y