summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--plat/ti/k3/common/k3_psci.c11
1 files changed, 10 insertions, 1 deletions
diff --git a/plat/ti/k3/common/k3_psci.c b/plat/ti/k3/common/k3_psci.c
index 4c501f57..e75ebac8 100644
--- a/plat/ti/k3/common/k3_psci.c
+++ b/plat/ti/k3/common/k3_psci.c
@@ -76,10 +76,19 @@ static int k3_pwr_domain_on(u_register_t mpidr)
void k3_pwr_domain_off(const psci_power_state_t *target_state)
{
+ int core_id, device, ret;
+
/* Prevent interrupts from spuriously waking up this cpu */
k3_gic_cpuif_disable();
- /* TODO: Indicate to System firmware about powering down */
+ core_id = plat_my_core_pos();
+ device = PLAT_PROC_DEVICE_START_ID + core_id;
+
+ ret = ti_sci_device_put(device);
+ if (ret) {
+ ERROR("Request to stop core failed: %d\n", ret);
+ return;
+ }
}
void k3_pwr_domain_on_finish(const psci_power_state_t *target_state)