diff --git a/plat/allwinner/common/include/sunxi_private.h b/plat/allwinner/common/include/sunxi_private.h index 1f41055..dcf3dc9 100644 --- a/plat/allwinner/common/include/sunxi_private.h +++ b/plat/allwinner/common/include/sunxi_private.h @@ -12,7 +12,7 @@ void sunxi_cpu_on(u_register_t mpidr); void sunxi_cpu_off(u_register_t mpidr); void sunxi_disable_secondary_cpus(u_register_t primary_mpidr); -void __dead2 sunxi_power_down(void); +void sunxi_power_down(void); int sunxi_pmic_setup(uint16_t socid, const void *fdt); void sunxi_security_setup(void); diff --git a/plat/allwinner/common/sunxi_pm.c b/plat/allwinner/common/sunxi_pm.c index 13e1353..9b074d2 100644 --- a/plat/allwinner/common/sunxi_pm.c +++ b/plat/allwinner/common/sunxi_pm.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2017-2018, ARM Limited and Contributors. All rights reserved. + * Copyright (c) 2017-2019, ARM Limited and Contributors. All rights reserved. * * SPDX-License-Identifier: BSD-3-Clause */ @@ -65,6 +65,11 @@ sunxi_disable_secondary_cpus(read_mpidr()); sunxi_power_down(); + + udelay(1000); + ERROR("PSCI: Cannot turn off system, halting\n"); + wfi(); + panic(); } static void __dead2 sunxi_system_reset(void) diff --git a/plat/allwinner/sun50i_a64/sunxi_power.c b/plat/allwinner/sun50i_a64/sunxi_power.c index b0d0427..b6437ea 100644 --- a/plat/allwinner/sun50i_a64/sunxi_power.c +++ b/plat/allwinner/sun50i_a64/sunxi_power.c @@ -322,7 +322,7 @@ return 0; } -void __dead2 sunxi_power_down(void) +void sunxi_power_down(void) { switch (pmic) { case GENERIC_H5: @@ -368,8 +368,4 @@ break; } - udelay(1000); - ERROR("PSCI: Cannot turn off system, halting.\n"); - wfi(); - panic(); } diff --git a/plat/allwinner/sun50i_h6/sunxi_power.c b/plat/allwinner/sun50i_h6/sunxi_power.c index 08c74f8..7bb266b 100644 --- a/plat/allwinner/sun50i_h6/sunxi_power.c +++ b/plat/allwinner/sun50i_h6/sunxi_power.c @@ -95,7 +95,7 @@ return 0; } -void __dead2 sunxi_power_down(void) +void sunxi_power_down(void) { uint8_t val; @@ -111,9 +111,4 @@ default: break; } - - udelay(1000); - ERROR("PSCI: Cannot communicate with PMIC, halting\n"); - wfi(); - panic(); }