sandbox: Use the reset driver to handle reset

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>
master
Simon Glass 9 years ago
parent b9d33fa06c
commit 5010d98f02
  1. 9
      arch/sandbox/cpu/cpu.c
  2. 8
      arch/sandbox/dts/test.dts
  3. 3
      arch/sandbox/include/asm/u-boot-sandbox.h
  4. 1
      configs/sandbox_defconfig
  5. 2
      drivers/misc/reset_sandbox.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)
{

@ -196,6 +196,14 @@
};
};
reset@0 {
compatible = "sandbox,warm-reset";
};
reset@1 {
compatible = "sandbox,reset";
};
spi@0 {
#address-cells = <1>;
#size-cells = <0>;

@ -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_ */

@ -46,3 +46,4 @@ CONFIG_UT_TIME=y
CONFIG_UT_DM=y
CONFIG_UT_ENV=y
CONFIG_CLK=y
CONFIG_RESET=y

@ -51,7 +51,7 @@ static int sandbox_reset_request(struct udevice *dev, enum reset_t type)
state->last_reset = type;
if (!state->reset_allowed[type])
return -EACCES;
/* TODO: sandbox_exit(); */
sandbox_exit();
break;
default:
return -ENOSYS;

Loading…
Cancel
Save