summaryrefslogtreecommitdiff
path: root/power/skylake.c
diff options
context:
space:
mode:
Diffstat (limited to 'power/skylake.c')
-rw-r--r--power/skylake.c22
1 files changed, 19 insertions, 3 deletions
diff --git a/power/skylake.c b/power/skylake.c
index 343d230297..a766901e67 100644
--- a/power/skylake.c
+++ b/power/skylake.c
@@ -279,9 +279,6 @@ static enum power_state _power_handle_state(enum power_state state)
return POWER_S5;
case POWER_S5G3:
-#ifdef CONFIG_G3_SLEEP
- gpio_set_level(GPIO_G3_SLEEP_EN, 1);
-#endif
chipset_force_g3();
return POWER_G3;
@@ -340,3 +337,22 @@ enum power_state power_handle_state(enum power_state state)
return new_state;
}
+
+#ifdef CONFIG_LOW_POWER_PSEUDO_G3
+void enter_pseudo_g3(void)
+{
+ CPRINTS("Enter Psuedo G3");
+
+ /*
+ * Clean up the UART buffer and prevent any unwanted garbage characters
+ * before power off and also ensure above debug message is printed.
+ */
+ cflush();
+
+ gpio_set_level(GPIO_G3_SLEEP_EN, 1);
+
+ /* Power to EC should shut down now */
+ while (1)
+ ;
+}
+#endif