From f47237771c7035b05d436da160688afe6ea78c14 Mon Sep 17 00:00:00 2001 From: Rene Straub Date: Tue, 20 Feb 2024 14:06:34 +0100 Subject: [PATCH] hw21/26: remove pulldown from timepulse input TIMEPULSE is internally connected with SAFEBOOT_N in the GNSS modem. The pulldown pulls the signal so low, that in some cases the modem starts in bootloader mode. Also remove pull ups from UART to avoid cross currents at powerup. --- board/nm/nmhw21/mux.c | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/board/nm/nmhw21/mux.c b/board/nm/nmhw21/mux.c index 9a8b101dc9..38fced9a5f 100644 --- a/board/nm/nmhw21/mux.c +++ b/board/nm/nmhw21/mux.c @@ -38,7 +38,7 @@ static struct module_pin_mux gpio_pin_mux[] = { * (T16) GPIO1_26: WLAN_EN * (V17) GPIO1_27: WLAN_IRQ * - * (U3) GPIO2_16: TIMEPULSE (HW26) + * (U3) GPIO2_16: TIMEPULSE (HW26), see note [1] * (R6) GPIO2_25: RST_ETH~ * * (J17) GPIO3_4: GNSS_EXTINT @@ -46,6 +46,9 @@ static struct module_pin_mux gpio_pin_mux[] = { * (L18) GPIO3_10: CTRL.RST * (C12) GPIO3_17: UI_RST~ * (A14) GPIO3_21: RST_HUB~ (USB) + * + * [1] No PU/PD allowed as TIMEPULSE is internally connected with SAFEBOOT_N. + * SAFEBOOT_N must be left open/floating. */ /* Bank 0 */ @@ -65,7 +68,7 @@ static struct module_pin_mux gpio_pin_mux[] = { {OFFSET(gpmc_a11), (MODE(7) | PULLUDDIS | RXACTIVE)}, /* (V17) gpio1_27: WLAN_IRQ */ /* Bank 2 */ - {OFFSET(lcd_data10), (MODE(7) | PULLUDEN | PULLDOWN_EN | RXACTIVE)}, /* (U3) GPIO2_16: TIMEPULSE input */ + {OFFSET(lcd_data10), (MODE(7) | PULLUDDIS | RXACTIVE)}, /* (U3) GPIO2_16: TIMEPULSE */ {OFFSET(lcd_ac_bias_en), (MODE(7) | PULLUDDIS)}, /* (R6) GPIO2_25: RST_ETH~ */ /* Bank 3 */ @@ -215,8 +218,8 @@ static struct module_pin_mux uart2_pin_mux[] = { /* UART3: GNSS */ static struct module_pin_mux uart3_pin_mux[] = { - {OFFSET(mii1_rxd3), (MODE(1) | PULLUDEN | PULLUP_EN | RXACTIVE)}, /* (L17) UART3_RXD */ - {OFFSET(mii1_rxd2), (MODE(1) | PULLUDEN | PULLUP_EN | SLEWCTRL)}, /* (L16) UART3_TXD */ + {OFFSET(mii1_rxd3), (MODE(1) | PULLUDDIS | RXACTIVE)}, /* (L17) UART3_RXD */ + {OFFSET(mii1_rxd2), (MODE(1) | PULLUDDIS | SLEWCTRL)}, /* (L16) UART3_TXD */ {-1} };