mirror of
https://github.com/espressif/esp-idf.git
synced 2025-08-06 06:04:33 +02:00
Merge branch 'feature/i2c_use_input_only_pin_in_slave_mode' into 'master'
i2c: support using input-only pin as SCL in slave mode Closes IDFGH-6682 See merge request espressif/esp-idf!17137
This commit is contained in:
@@ -871,10 +871,15 @@ esp_err_t i2c_set_pin(i2c_port_t i2c_num, int sda_io_num, int scl_io_num, bool s
|
||||
esp_rom_gpio_connect_in_signal(sda_io_num, sda_in_sig, 0);
|
||||
}
|
||||
if (scl_io_num >= 0) {
|
||||
gpio_set_level(scl_io_num, I2C_IO_INIT_LEVEL);
|
||||
gpio_hal_iomux_func_sel(GPIO_PIN_MUX_REG[scl_io_num], PIN_FUNC_GPIO);
|
||||
gpio_set_direction(scl_io_num, GPIO_MODE_INPUT_OUTPUT_OD);
|
||||
esp_rom_gpio_connect_out_signal(scl_io_num, scl_out_sig, 0, 0);
|
||||
if (mode == I2C_MODE_MASTER) {
|
||||
gpio_set_level(scl_io_num, I2C_IO_INIT_LEVEL);
|
||||
gpio_hal_iomux_func_sel(GPIO_PIN_MUX_REG[scl_io_num], PIN_FUNC_GPIO);
|
||||
gpio_set_direction(scl_io_num, GPIO_MODE_INPUT_OUTPUT_OD);
|
||||
esp_rom_gpio_connect_out_signal(scl_io_num, scl_out_sig, 0, 0);
|
||||
} else {
|
||||
gpio_hal_iomux_func_sel(GPIO_PIN_MUX_REG[scl_io_num], PIN_FUNC_GPIO);
|
||||
gpio_set_direction(scl_io_num, GPIO_MODE_INPUT);
|
||||
}
|
||||
esp_rom_gpio_connect_in_signal(scl_io_num, scl_in_sig, 0);
|
||||
if (scl_pullup_en == GPIO_PULLUP_ENABLE) {
|
||||
gpio_set_pull_mode(scl_io_num, GPIO_PULLUP_ONLY);
|
||||
|
Reference in New Issue
Block a user