Skip to content

Commit 7f7d43b

Browse files
authored
suspend keyboard on s0ix entry and exit (#868)
Signed-off-by: Kieran Levin <[email protected]>
1 parent 5d4a264 commit 7f7d43b

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

zephyr/program/lotus/lotus/src/power_sequence.c

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,20 @@ const struct power_signal_info power_signal_list[] = {
6464
};
6565
BUILD_ASSERT(ARRAY_SIZE(power_signal_list) == POWER_SIGNAL_COUNT);
6666

67+
68+
static void inputdeck_resume(void)
69+
{
70+
gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_sleep_l), 1);
71+
}
72+
DECLARE_HOOK(HOOK_CHIPSET_RESUME, inputdeck_resume, HOOK_PRIO_DEFAULT);
73+
74+
75+
static void inputdeck_suspend(void)
76+
{
77+
gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_sleep_l), 0);
78+
}
79+
DECLARE_HOOK(HOOK_CHIPSET_SUSPEND, inputdeck_suspend, HOOK_PRIO_DEFAULT);
80+
6781
static void peripheral_power_startup(void)
6882
{
6983
gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_wlan_en), 1);
@@ -79,7 +93,6 @@ static void peripheral_power_resume(void)
7993
{
8094
gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_ec_mute_l), 1);
8195
gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_en_invpwr), 1);
82-
gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_sleep_l), 1);
8396
}
8497

8598
static void peripheral_power_shutdown(void)
@@ -97,7 +110,6 @@ static void peripheral_power_suspend(void)
97110
{
98111
gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_ec_mute_l), 0);
99112
gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_en_invpwr), 0);
100-
gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_sleep_l), 0);
101113
gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_ssd2_pwr_en), 0);
102114
set_gpu_gpio(GPIO_FUNC_SSD1_POWER, 0);
103115
set_gpu_gpio(GPIO_FUNC_SSD2_POWER, 0);
@@ -271,6 +283,7 @@ void chipset_reset(enum chipset_shutdown_reason reason)
271283

272284
static void chipset_force_g3(void)
273285
{
286+
gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_sleep_l), 0);
274287
gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_hub_b_pwr_en), 0);
275288
gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_sys_pwrgd_ec), 0);
276289
gpio_pin_set_dt(GPIO_DT_FROM_NODELABEL(gpio_vr_on), 0);

0 commit comments

Comments
 (0)