diff options
Diffstat (limited to 'plat/arm/board/n1sdp/n1sdp_pm.c')
-rw-r--r-- | plat/arm/board/n1sdp/n1sdp_pm.c | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/plat/arm/board/n1sdp/n1sdp_pm.c b/plat/arm/board/n1sdp/n1sdp_pm.c new file mode 100644 index 000000000..e43832a23 --- /dev/null +++ b/plat/arm/board/n1sdp/n1sdp_pm.c @@ -0,0 +1,29 @@ +/* + * Copyright (c) 2023, Arm Limited. All rights reserved. + * + * SPDX-License-Identifier: BSD-3-Clause + */ + +#include <lib/psci/psci.h> +#include <plat/arm/common/plat_arm.h> +#include <plat/arm/css/common/css_pm.h> + +#include "n1sdp_private.h" + +/******************************************************************************* + * N1SDP specific functions called when turning off or suspending a power + * domain. Both additionally disable the GIC redistributor interface as cores + * are disabled to let cluster-PPU state transition to completion when a + * cluster is powered down. + ******************************************************************************/ +void n1sdp_pwr_domain_off(const psci_power_state_t *target_state) +{ + css_pwr_domain_off(target_state); + plat_arm_gic_redistif_off(); +} + +void n1sdp_pwr_domain_suspend(const psci_power_state_t *target_state) +{ + css_pwr_domain_suspend(target_state); + plat_arm_gic_redistif_off(); +} |