summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--power/tegra.c19
1 files changed, 16 insertions, 3 deletions
diff --git a/power/tegra.c b/power/tegra.c
index b263980662..fe549f41db 100644
--- a/power/tegra.c
+++ b/power/tegra.c
@@ -111,6 +111,11 @@ enum power_request_t {
static enum power_request_t power_request;
+
+/* Forward declaration */
+static void chipset_turn_off_power_rails(void);
+
+
/**
* Set the AP RESET signal.
*
@@ -232,7 +237,7 @@ enum power_state power_chipset_init(void)
*/
if (!(system_get_reset_flags() & RESET_FLAG_SYSJUMP)) {
CPRINTF("[%T not sysjump; forcing AP shutdown]\n");
- chipset_force_shutdown();
+ chipset_turn_off_power_rails();
/*
* The warm reset triggers AP into the Tegra recovery mode (
@@ -254,7 +259,7 @@ enum power_state power_chipset_init(void)
/*****************************************************************************/
/* Chipset interface */
-void chipset_force_shutdown(void)
+static void chipset_turn_off_power_rails(void)
{
/* Release the power button, if it was asserted */
set_pmic_pwron(0);
@@ -268,6 +273,14 @@ void chipset_force_shutdown(void)
set_ap_reset(1);
}
+void chipset_force_shutdown(void)
+{
+ chipset_turn_off_power_rails();
+
+ /* clean-up internal variable */
+ power_request = POWER_REQ_NONE;
+}
+
/*****************************************************************************/
/**
@@ -403,7 +416,7 @@ static void power_off(void)
/* Call hooks before we drop power rails */
hook_notify(HOOK_CHIPSET_SHUTDOWN);
/* switch off all rails */
- chipset_force_shutdown();
+ chipset_turn_off_power_rails();
/* Change SUSPEND_L pin to high-Z to reduce power draw. */
gpio_set_flags(GPIO_SUSPEND_L, GPIO_INPUT);