diff options
Diffstat (limited to 'power/skylake.c')
-rw-r--r-- | power/skylake.c | 22 |
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 |