From 2e61229aed75f8db4d3f7e4d36f483e0ed70318b Mon Sep 17 00:00:00 2001 From: Jonathan Swoboda <154711427+swoboda1337@users.noreply.github.com> Date: Tue, 4 Feb 2025 18:09:37 -0500 Subject: [PATCH] [i2c] Workaround for i2c on s2 (#8188) --- esphome/components/i2c/i2c_bus_esp_idf.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/esphome/components/i2c/i2c_bus_esp_idf.cpp b/esphome/components/i2c/i2c_bus_esp_idf.cpp index ac3a754024..c7bba70582 100644 --- a/esphome/components/i2c/i2c_bus_esp_idf.cpp +++ b/esphome/components/i2c/i2c_bus_esp_idf.cpp @@ -39,6 +39,10 @@ void IDFI2CBus::setup() { conf.scl_io_num = scl_pin_; conf.scl_pullup_en = scl_pullup_enabled_; conf.master.clk_speed = frequency_; +#ifdef USE_ESP32_VARIANT_ESP32S2 + // workaround for https://github.com/esphome/issues/issues/6718 + conf.clk_flags = I2C_SCLK_SRC_FLAG_AWARE_DFS; +#endif esp_err_t err = i2c_param_config(port_, &conf); if (err != ESP_OK) { ESP_LOGW(TAG, "i2c_param_config failed: %s", esp_err_to_name(err));