fix(i2c,mcpwm): fix gpio pull strategy

This commit is contained in:
Chen Jichang
2025-04-18 15:56:25 +08:00
parent 57fd051374
commit ae4e3ffb5a
4 changed files with 15 additions and 1 deletions

View File

@@ -325,6 +325,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);
@@ -338,6 +339,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