diff options
author | Andrew F. Davis <afd@ti.com> | 2018-08-09 10:01:53 -0500 |
---|---|---|
committer | Andrew F. Davis <afd@ti.com> | 2018-08-31 09:23:21 -0500 |
commit | 34cae37f5893a7e6a95c8ee6d43decfe91de0168 (patch) | |
tree | a14da5242425a9abb15898ded39f1bacb5c8b58c /plat/ti | |
parent | 776ba05a4718389ef4a35ec3f6b837be3cc39f54 (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.c | 11 |
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) |