Browse Source

Merge "fix(morello): add platform-specific power domain functions" into integration

pull/1982/merge
Manish Pandey 2 years ago
committed by TrustedFirmware Code Review
parent
commit
5bfdb73270
  1. 3
      plat/arm/board/morello/morello_bl31_setup.c
  2. 29
      plat/arm/board/morello/morello_pm.c
  3. 15
      plat/arm/board/morello/morello_private.h
  4. 1
      plat/arm/board/morello/platform.mk

3
plat/arm/board/morello/morello_bl31_setup.c

@ -12,6 +12,7 @@
#include <services/arm_arch_svc.h>
#include "morello_def.h"
#include "morello_private.h"
#include <platform_def.h>
#ifdef TARGET_PLATFORM_SOC
@ -33,6 +34,8 @@ scmi_channel_plat_info_t *plat_css_get_scmi_info(unsigned int channel_id)
const plat_psci_ops_t *plat_arm_psci_override_pm_ops(plat_psci_ops_t *ops)
{
ops->pwr_domain_off = morello_pwr_domain_off;
ops->pwr_domain_suspend = morello_pwr_domain_suspend;
return css_scmi_override_pm_ops(ops);
}

29
plat/arm/board/morello/morello_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 "morello_private.h"
/*******************************************************************************
* Morello 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 morello_pwr_domain_off(const psci_power_state_t *target_state)
{
css_pwr_domain_off(target_state);
plat_arm_gic_redistif_off();
}
void morello_pwr_domain_suspend(const psci_power_state_t *target_state)
{
css_pwr_domain_suspend(target_state);
plat_arm_gic_redistif_off();
}

15
plat/arm/board/morello/morello_private.h

@ -0,0 +1,15 @@
/*
* Copyright (c) 2023, Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#ifndef MORELLO_PRIVATE_H
#define MORELLO_PRIVATE_H
#include <lib/psci/psci.h>
void morello_pwr_domain_off(const psci_power_state_t *target_state);
void morello_pwr_domain_suspend(const psci_power_state_t *target_state);
#endif /* MORELLO_PRIVATE_H */

1
plat/arm/board/morello/platform.mk

@ -49,6 +49,7 @@ BL31_SOURCES := ${MORELLO_CPU_SOURCES} \
${INTERCONNECT_SOURCES} \
${MORELLO_GIC_SOURCES} \
${MORELLO_BASE}/morello_bl31_setup.c \
${MORELLO_BASE}/morello_pm.c \
${MORELLO_BASE}/morello_topology.c \
${MORELLO_BASE}/morello_security.c \
drivers/arm/css/sds/sds.c

Loading…
Cancel
Save