Merge branch 'fix/i2c_disable_od_in_delete_v5.4' into 'release/v5.4'

fix(i2c): disable open drain mode on deinit (v5.4)

See merge request espressif/esp-idf!42725
This commit is contained in:
morris
2025-10-26 22:29:32 +08:00
+4 -2
View File
@@ -445,10 +445,12 @@ esp_err_t i2c_common_deinit_pins(i2c_bus_handle_t handle)
esp_gpio_revoke(BIT64(handle->scl_num));
if (handle->is_lp_i2c == false) {
ESP_RETURN_ON_ERROR(gpio_output_disable(handle->sda_num), TAG, "disable i2c pins failed");
gpio_od_disable(handle->sda_num);
gpio_output_disable(handle->sda_num);
esp_rom_gpio_connect_in_signal(GPIO_MATRIX_CONST_ZERO_INPUT, i2c_periph_signal[port_id].sda_in_sig, 0);
ESP_RETURN_ON_ERROR(gpio_output_disable(handle->scl_num), TAG, "disable i2c pins failed");
gpio_od_disable(handle->scl_num);
gpio_output_disable(handle->scl_num);
esp_rom_gpio_connect_in_signal(GPIO_MATRIX_CONST_ZERO_INPUT, i2c_periph_signal[port_id].scl_in_sig, 0);
}
#if SOC_LP_I2C_SUPPORTED