Skip to content

Commit 4bec8b5

Browse files
committed
Merge branch 'fix/gpio_pull_enable_disable_strategy' into 'master'
fix(i2c,mcpwm): fix gpio pull strategy Closes IDFGH-15092 See merge request espressif/esp-idf!38417
2 parents 0f1fd5a + ae4e3ff commit 4bec8b5

File tree

4 files changed

+15
-1
lines changed

4 files changed

+15
-1
lines changed

components/esp_driver_i2c/i2c_common.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,7 @@ static esp_err_t s_hp_i2c_pins_config(i2c_bus_handle_t handle)
325325
} else {
326326
gpio_pullup_dis(handle->sda_num);
327327
}
328+
gpio_pulldown_dis(handle->sda_num);
328329
gpio_func_sel(handle->sda_num, PIN_FUNC_GPIO);
329330
esp_rom_gpio_connect_out_signal(handle->sda_num, i2c_periph_signal[port_id].sda_out_sig, 0, 0);
330331
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)
338339
} else {
339340
gpio_pullup_dis(handle->scl_num);
340341
}
342+
gpio_pulldown_dis(handle->scl_num);
341343
gpio_func_sel(handle->scl_num, PIN_FUNC_GPIO);
342344
esp_rom_gpio_connect_out_signal(handle->scl_num, i2c_periph_signal[port_id].scl_out_sig, 0, 0);
343345
esp_rom_gpio_connect_in_signal(handle->scl_num, i2c_periph_signal[port_id].scl_in_sig, 0);

components/esp_driver_mcpwm/src/mcpwm_cap.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -307,9 +307,13 @@ esp_err_t mcpwm_new_capture_channel(mcpwm_cap_timer_handle_t cap_timer, const mc
307307
esp_rom_gpio_connect_in_signal(config->gpio_num, mcpwm_periph_signals.groups[group->group_id].captures[cap_chan_id].cap_sig, 0);
308308
if (config->flags.pull_down) {
309309
gpio_pulldown_en(config->gpio_num);
310+
} else {
311+
gpio_pulldown_dis(config->gpio_num);
310312
}
311313
if (config->flags.pull_up) {
312314
gpio_pullup_en(config->gpio_num);
315+
} else {
316+
gpio_pullup_dis(config->gpio_num);
313317
}
314318

315319
// deprecated, to be removed in in esp-idf v6.0

components/esp_driver_mcpwm/src/mcpwm_fault.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -120,9 +120,13 @@ esp_err_t mcpwm_new_gpio_fault(const mcpwm_gpio_fault_config_t *config, mcpwm_fa
120120

121121
if (config->flags.pull_down) {
122122
gpio_pulldown_en(config->gpio_num);
123+
} else {
124+
gpio_pulldown_dis(config->gpio_num);
123125
}
124126
if (config->flags.pull_up) {
125127
gpio_pullup_en(config->gpio_num);
128+
} else {
129+
gpio_pullup_dis(config->gpio_num);
126130
}
127131

128132
// deprecated, to be removed in in esp-idf v6.0

components/esp_driver_mcpwm/src/mcpwm_sync.c

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* SPDX-FileCopyrightText: 2022-2024 Espressif Systems (Shanghai) CO LTD
2+
* SPDX-FileCopyrightText: 2022-2025 Espressif Systems (Shanghai) CO LTD
33
*
44
* SPDX-License-Identifier: Apache-2.0
55
*/
@@ -201,9 +201,13 @@ esp_err_t mcpwm_new_gpio_sync_src(const mcpwm_gpio_sync_src_config_t *config, mc
201201

202202
if (config->flags.pull_down) {
203203
gpio_pulldown_en(config->gpio_num);
204+
} else {
205+
gpio_pulldown_dis(config->gpio_num);
204206
}
205207
if (config->flags.pull_up) {
206208
gpio_pullup_en(config->gpio_num);
209+
} else {
210+
gpio_pullup_dis(config->gpio_num);
207211
}
208212

209213
// deprecated, to be removed in in esp-idf v6.0

0 commit comments

Comments
 (0)