fix(gpio): fix esp_rom_gpio_connect_out_signal for gpio num over 31 on esp32/s2

Closes https://github.com/espressif/esp-idf/issues/15209
This commit is contained in:
Song Ruo Jing 2025-02-05 22:03:03 +08:00
parent 79bf6acddb
commit dfa95bfe6e

View File

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2024-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -23,6 +23,10 @@ IRAM_ATTR void esp_rom_gpio_connect_out_signal(uint32_t gpio_num, uint32_t signa
}
REG_WRITE(GPIO_FUNC0_OUT_SEL_CFG_REG + (gpio_num * 4), value);
REG_WRITE(GPIO_ENABLE_W1TS_REG, (1 << gpio_num));
if (gpio_num < 32) {
REG_WRITE(GPIO_ENABLE_W1TS_REG, (1 << gpio_num));
} else {
REG_WRITE(GPIO_ENABLE1_W1TS_REG, (1 << (gpio_num - 32)));
}
}
#endif