fix(i2c,mcpwm): fix gpio pull strategy

Closes https://github.com/espressif/esp-idf/issues/15774
This commit is contained in:
Chen Jichang
2025-04-18 15:56:25 +08:00
parent 438b6cf3e6
commit cbc6382b26
4 changed files with 15 additions and 1 deletions

View File

@ -324,6 +324,7 @@ static esp_err_t s_hp_i2c_pins_config(i2c_bus_handle_t handle)
} else {
gpio_pullup_dis(handle->sda_num);
}
gpio_pulldown_dis(handle->sda_num);
gpio_func_sel(handle->sda_num, PIN_FUNC_GPIO);
esp_rom_gpio_connect_out_signal(handle->sda_num, i2c_periph_signal[port_id].sda_out_sig, 0, 0);
esp_rom_gpio_connect_in_signal(handle->sda_num, i2c_periph_signal[port_id].sda_in_sig, 0);
@ -337,6 +338,7 @@ static esp_err_t s_hp_i2c_pins_config(i2c_bus_handle_t handle)
} else {
gpio_pullup_dis(handle->scl_num);
}
gpio_pulldown_dis(handle->scl_num);
gpio_func_sel(handle->scl_num, PIN_FUNC_GPIO);
esp_rom_gpio_connect_out_signal(handle->scl_num, i2c_periph_signal[port_id].scl_out_sig, 0, 0);
esp_rom_gpio_connect_in_signal(handle->scl_num, i2c_periph_signal[port_id].scl_in_sig, 0);

View File

@ -307,9 +307,13 @@ esp_err_t mcpwm_new_capture_channel(mcpwm_cap_timer_handle_t cap_timer, const mc
esp_rom_gpio_connect_in_signal(config->gpio_num, mcpwm_periph_signals.groups[group->group_id].captures[cap_chan_id].cap_sig, 0);
if (config->flags.pull_down) {
gpio_pulldown_en(config->gpio_num);
} else {
gpio_pulldown_dis(config->gpio_num);
}
if (config->flags.pull_up) {
gpio_pullup_en(config->gpio_num);
} else {
gpio_pullup_dis(config->gpio_num);
}
// deprecated, to be removed in in esp-idf v6.0

View File

@ -120,9 +120,13 @@ esp_err_t mcpwm_new_gpio_fault(const mcpwm_gpio_fault_config_t *config, mcpwm_fa
if (config->flags.pull_down) {
gpio_pulldown_en(config->gpio_num);
} else {
gpio_pulldown_dis(config->gpio_num);
}
if (config->flags.pull_up) {
gpio_pullup_en(config->gpio_num);
} else {
gpio_pullup_dis(config->gpio_num);
}
// deprecated, to be removed in in esp-idf v6.0

View File

@ -1,5 +1,5 @@
/*
* SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
* SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD
*
* SPDX-License-Identifier: Apache-2.0
*/
@ -201,9 +201,13 @@ esp_err_t mcpwm_new_gpio_sync_src(const mcpwm_gpio_sync_src_config_t *config, mc
if (config->flags.pull_down) {
gpio_pulldown_en(config->gpio_num);
} else {
gpio_pulldown_dis(config->gpio_num);
}
if (config->flags.pull_up) {
gpio_pullup_en(config->gpio_num);
} else {
gpio_pullup_dis(config->gpio_num);
}
// deprecated, to be removed in in esp-idf v6.0