summaryrefslogtreecommitdiff
path: root/plat/ti
diff options
context:
space:
mode:
authorAndrew F. Davis <afd@ti.com>2018-08-09 10:01:53 -0500
committerAndrew F. Davis <afd@ti.com>2018-08-31 09:23:21 -0500
commit34cae37f5893a7e6a95c8ee6d43decfe91de0168 (patch)
treea14da5242425a9abb15898ded39f1bacb5c8b58c /plat/ti
parent776ba05a4718389ef4a35ec3f6b837be3cc39f54 (diff)
ti: k3: common: Add basic PSCI core off support
Use TI-SCI messages to request core power down from system controller firmware. Signed-off-by: Andrew F. Davis <afd@ti.com>
Diffstat (limited to 'plat/ti')
-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)