From 7dcef5ebbbb969ebf6397b640c0b81dc6dc2ef75 Mon Sep 17 00:00:00 2001 From: Haojian Zhuang Date: Mon, 26 Mar 2018 13:18:13 +0800 Subject: [PATCH] hikey960: add delay before reset If system is still accessing storage device, reboot operation may cause data broken. So add the flush and delay operation before system reset. Signed-off-by: Haojian Zhuang --- plat/hisilicon/hikey960/hikey960_pm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/plat/hisilicon/hikey960/hikey960_pm.c b/plat/hisilicon/hikey960/hikey960_pm.c index 22963c4f52..ffe7fcf87f 100644 --- a/plat/hisilicon/hikey960/hikey960_pm.c +++ b/plat/hisilicon/hikey960/hikey960_pm.c @@ -9,6 +9,7 @@ #include #include #include +#include #include #include #include @@ -114,6 +115,9 @@ void hikey960_pwr_domain_off(const psci_power_state_t *target_state) static void __dead2 hikey960_system_reset(void) { + dsb(); + isb(); + mdelay(2000); mmio_write_32(SCTRL_SCPEREN1_REG, SCPEREN1_WAIT_DDR_SELFREFRESH_DONE_BYPASS); mmio_write_32(SCTRL_SCSYSSTAT_REG, 0xdeadbeef);