From fa307a7aef4e812bf08dc54e47d256a83c28c2ca Mon Sep 17 00:00:00 2001 From: SPRESENSE <41312067+SPRESENSE@users.noreply.github.com> Date: Thu, 28 Apr 2022 16:50:15 +0900 Subject: [PATCH] drivers/modem/alt1250: Temporary fix for ALT1250 power on sequence The shutdown pin may chatter in some cases, preventing the ALT1250 from powering on properly. This fix is a temporary set the shutdown pin to LOW before power on for avoiding the power-on does fail. --- boards/arm/cxd56xx/spresense/src/cxd56_alt1250_power.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/boards/arm/cxd56xx/spresense/src/cxd56_alt1250_power.c b/boards/arm/cxd56xx/spresense/src/cxd56_alt1250_power.c index 29b0e9fb598..4f19b269212 100644 --- a/boards/arm/cxd56xx/spresense/src/cxd56_alt1250_power.c +++ b/boards/arm/cxd56xx/spresense/src/cxd56_alt1250_power.c @@ -31,6 +31,7 @@ #include #include +#include #include #include #include @@ -43,6 +44,7 @@ ****************************************************************************/ #define RESET_INTERVAL_TIMEOUT MSEC2TICK(1) +#define POWERON_DELAY_USEC 10 * 1000 /**************************************************************************** * Private Data @@ -71,6 +73,12 @@ void board_alt1250_poweron(void) cxd56_gpio_write(ALT1250_LTE_POWER_BUTTON, false); cxd56_gpio_config(ALT1250_SHUTDOWN, false); + + /* Workaround: Shutdown pin set to low before power on */ + + cxd56_gpio_write(ALT1250_SHUTDOWN, false); + nxsig_usleep(POWERON_DELAY_USEC); + cxd56_gpio_write(ALT1250_SHUTDOWN, true); board_power_control(POWER_LTE, true);