mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2026-01-12 19:04:59 +00:00
Tegra: implement pwr_domain_pwr_down_wfi() handler
This patch adds the pwr_domain_power_down_wfi() handler for Tegra platforms which in turn executes the soc specific `power_down_wfi` handler. Change-Id: I5deecc09959db3c3d73f928f5c871966331cfd95 Signed-off-by: Varun Wadekar <vwadekar@nvidia.com>
This commit is contained in:
@@ -54,6 +54,7 @@ extern uint64_t tegra_sec_entry_point;
|
||||
#pragma weak tegra_soc_pwr_domain_on
|
||||
#pragma weak tegra_soc_pwr_domain_off
|
||||
#pragma weak tegra_soc_pwr_domain_on_finish
|
||||
#pragma weak tegra_soc_pwr_domain_power_down_wfi
|
||||
#pragma weak tegra_soc_prepare_system_reset
|
||||
#pragma weak tegra_soc_prepare_system_off
|
||||
|
||||
@@ -77,6 +78,11 @@ int tegra_soc_pwr_domain_on_finish(const psci_power_state_t *target_state)
|
||||
return PSCI_E_SUCCESS;
|
||||
}
|
||||
|
||||
int tegra_soc_pwr_domain_power_down_wfi(const psci_power_state_t *target_state)
|
||||
{
|
||||
return PSCI_E_SUCCESS;
|
||||
}
|
||||
|
||||
int tegra_soc_prepare_system_reset(void)
|
||||
{
|
||||
return PSCI_E_SUCCESS;
|
||||
@@ -136,7 +142,7 @@ void tegra_pwr_domain_off(const psci_power_state_t *target_state)
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
* Handler called when called when a power domain is about to be suspended. The
|
||||
* Handler called when a power domain is about to be suspended. The
|
||||
* target_state encodes the power state that each level should transition to.
|
||||
******************************************************************************/
|
||||
void tegra_pwr_domain_suspend(const psci_power_state_t *target_state)
|
||||
@@ -147,6 +153,24 @@ void tegra_pwr_domain_suspend(const psci_power_state_t *target_state)
|
||||
tegra_gic_cpuif_deactivate();
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
* Handler called at the end of the power domain suspend sequence. The
|
||||
* target_state encodes the power state that each level should transition to.
|
||||
******************************************************************************/
|
||||
__dead2 void tegra_pwr_domain_power_down_wfi(const psci_power_state_t
|
||||
*target_state)
|
||||
{
|
||||
/* call the chip's power down handler */
|
||||
tegra_soc_pwr_domain_power_down_wfi(target_state);
|
||||
|
||||
/* enter power down state */
|
||||
wfi();
|
||||
|
||||
/* we can never reach here */
|
||||
ERROR("%s: operation not handled.\n", __func__);
|
||||
panic();
|
||||
}
|
||||
|
||||
/*******************************************************************************
|
||||
* Handler called when a power domain has just been powered on after
|
||||
* being turned off earlier. The target_state encodes the low power state that
|
||||
@@ -259,6 +283,7 @@ static const plat_psci_ops_t tegra_plat_psci_ops = {
|
||||
.pwr_domain_suspend = tegra_pwr_domain_suspend,
|
||||
.pwr_domain_on_finish = tegra_pwr_domain_on_finish,
|
||||
.pwr_domain_suspend_finish = tegra_pwr_domain_suspend_finish,
|
||||
.pwr_domain_pwr_down_wfi = tegra_pwr_domain_power_down_wfi,
|
||||
.system_off = tegra_system_off,
|
||||
.system_reset = tegra_system_reset,
|
||||
.validate_power_state = tegra_validate_power_state,
|
||||
|
||||
Reference in New Issue
Block a user