diff --git a/arch/xtensa/src/esp32/esp32_gpio.c b/arch/xtensa/src/esp32/esp32_gpio.c index 14b7454b893..cb994cc2efb 100644 --- a/arch/xtensa/src/esp32/esp32_gpio.c +++ b/arch/xtensa/src/esp32/esp32_gpio.c @@ -172,10 +172,6 @@ int esp32_configgpio(int pin, gpio_pinattr_t attr) if ((attr & INPUT) != 0) { - /* Enable input mode in the IO_MUX. */ - - func |= FUN_IE; - if (pin < 32) { putreg32((1ul << pin), GPIO_ENABLE_W1TC_REG); @@ -213,6 +209,10 @@ int esp32_configgpio(int pin, gpio_pinattr_t attr) func |= (uint32_t)(2ul << FUN_DRV_S); + /* Input enable... Required for output as well? */ + + func |= FUN_IE; + pinmode = (attr & PINMODE_MASK); if (pinmode == INPUT || pinmode == OUTPUT) {