From 4a54adb1c83a17e60c387ca6509a959505bdc14f Mon Sep 17 00:00:00 2001 From: Andre Przywara Date: Tue, 10 May 2016 00:06:30 +0100 Subject: PSCI: replace arisc call for PSCI_RESET with watchdog reset We cannot ask the arisc for help anymore, so let's program the watchdog to trigger a reset in the shortest possible time period to achieve a system reset if non-secure world requests it. Signed-off-by: Andre Przywara --- plat/sun50iw1p1/plat_pm.c | 12 +++--------- 1 file changed, 3 insertions(+), 9 deletions(-) (limited to 'plat/sun50iw1p1/plat_pm.c') diff --git a/plat/sun50iw1p1/plat_pm.c b/plat/sun50iw1p1/plat_pm.c index 667f703..9d9bc0f 100644 --- a/plat/sun50iw1p1/plat_pm.c +++ b/plat/sun50iw1p1/plat_pm.c @@ -40,7 +40,6 @@ #include #include "sunxi_def.h" #include "sunxi_private.h" -#include "scpi.h" #include "sunxi_cpu_ops.h" #include #include @@ -273,15 +272,10 @@ static void __dead2 sunxi_system_off(void) static void __dead2 sunxi_system_reset(void) { - uint32_t response; - - /* Send the system reset request to the SCP */ - response = arisc_system_op(scpi_system_reboot); + mmio_write_32(0x01c20cb4, 1); + mmio_write_32(0x01c20cb8, 1); + mmio_write_32(0x01c20cb0, (0xa57 << 1) | 0x01); - if (response != SCP_OK) { - ERROR("Sunxi System Reset: SCP error %u.\n", response); - panic(); - } wfi(); ERROR("Sunxi System Reset: operation not handled.\n"); panic(); -- cgit v1.2.3