summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--baseboard/dragonegg/baseboard.h1
-rw-r--r--power/icelake.c14
2 files changed, 15 insertions, 0 deletions
diff --git a/baseboard/dragonegg/baseboard.h b/baseboard/dragonegg/baseboard.h
index c467697560..10f037e48d 100644
--- a/baseboard/dragonegg/baseboard.h
+++ b/baseboard/dragonegg/baseboard.h
@@ -20,6 +20,7 @@
#define CONFIG_MKBP_USE_HOST_EVENT
#define CONFIG_POWER_BUTTON
#define CONFIG_POWER_BUTTON_X86
+#define CONFIG_POWER_PP5000_CONTROL
/* TODO(b/111155507): Don't enable SOiX for now */
/* #define CONFIG_POWER_S0IX */
/* #define CONFIG_POWER_TRACK_HOST_SLEEP_STATE */
diff --git a/power/icelake.c b/power/icelake.c
index 04b734c213..86f0f7e459 100644
--- a/power/icelake.c
+++ b/power/icelake.c
@@ -39,6 +39,13 @@ void chipset_force_shutdown(enum chipset_shutdown_reason reason)
/* Turn off DSW load switch. */
gpio_set_level(GPIO_EN_PP3300_A, 0);
+ /* Turn off PP5000 rail */
+#ifdef CONFIG_POWER_PP5000_CONTROL
+ power_5v_enable(task_get_current(), 0);
+#else
+ gpio_set_level(GPIO_EN_PP5000, 0);
+#endif
+
/*
* TODO(b/111810925): Replace this wait with
* power_wait_signals_timeout()
@@ -98,6 +105,13 @@ enum power_state power_handle_state(enum power_state state)
switch (state) {
case POWER_G3S5:
+ /* Turn on PP5000 rail */
+#ifdef CONFIG_POWER_PP5000_CONTROL
+ power_5v_enable(task_get_current(), 1);
+#else
+ gpio_set_level(GPIO_EN_PP5000, 1);
+#endif
+
/*
* TODO(b/111121615): Should modify this to wait until the
* common power state machine indicates that it's ok to try an