From 541aa001987972310b9d5078a4a51d3faecfff6f Mon Sep 17 00:00:00 2001 From: Aren Moynihan Date: Mon, 21 Oct 2024 15:22:32 -0400 Subject: [PATCH] gpio: disable airplane mode when starting the modem I'm not sure why this was being done when disabling the modem, move it to the powerup sequence for more consistency. --- src/gpio.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/gpio.c b/src/gpio.c index 994d228..d3bf329 100644 --- a/src/gpio.c +++ b/src/gpio.c @@ -74,6 +74,10 @@ int gpio_line_set_value(struct EG25Manager *manager, int line, enum gpiod_line_v int gpio_sequence_poweron(struct EG25Manager *manager) { + /* Disable airplane mode in case it was enabled by other software. The + * W_DISABLE pin is active-low, so we set it to high here. */ + gpio_line_set_value(manager, GPIO_OUT_DISABLE, GPIOD_LINE_VALUE_ACTIVE); + /* * Force the modem to poweroff using the RESET_N pin before attempting to * boot in case the it got into a bad state. @@ -110,8 +114,6 @@ int gpio_sequence_poweron(struct EG25Manager *manager) int gpio_sequence_shutdown(struct EG25Manager *manager) { - gpio_line_set_value(manager, GPIO_OUT_DISABLE, GPIOD_LINE_VALUE_ACTIVE); - gpio_line_set_value(manager, GPIO_OUT_PWRKEY, GPIOD_LINE_VALUE_ACTIVE); sleep(1); gpio_line_set_value(manager, GPIO_OUT_PWRKEY, GPIOD_LINE_VALUE_INACTIVE);