From c2f6144daa20eeb3d3d84c31fd0f22e20d74799b Mon Sep 17 00:00:00 2001 From: "C.S.M" Date: Wed, 4 Sep 2024 14:02:31 +0800 Subject: [PATCH] fix(i2c): Fix the i2c sda/scl force out register value on some esp chips --- components/hal/esp32c5/include/hal/i2c_ll.h | 8 ++++---- components/hal/esp32c6/include/hal/i2c_ll.h | 8 ++++---- components/hal/esp32c61/include/hal/i2c_ll.h | 8 ++++---- components/hal/esp32h2/include/hal/i2c_ll.h | 8 ++++---- components/hal/esp32p4/include/hal/i2c_ll.h | 8 ++++---- 5 files changed, 20 insertions(+), 20 deletions(-) diff --git a/components/hal/esp32c5/include/hal/i2c_ll.h b/components/hal/esp32c5/include/hal/i2c_ll.h index 3045bfada5..ba2dd6610c 100644 --- a/components/hal/esp32c5/include/hal/i2c_ll.h +++ b/components/hal/esp32c5/include/hal/i2c_ll.h @@ -891,8 +891,8 @@ static inline void i2c_ll_master_init(i2c_dev_t *hw) typeof(hw->ctr) ctrl_reg; ctrl_reg.val = 0; ctrl_reg.ms_mode = 1; - ctrl_reg.sda_force_out = 1; - ctrl_reg.scl_force_out = 1; + ctrl_reg.sda_force_out = 0; + ctrl_reg.scl_force_out = 0; hw->ctr.val = ctrl_reg.val; } @@ -907,8 +907,8 @@ static inline void i2c_ll_slave_init(i2c_dev_t *hw) { typeof(hw->ctr) ctrl_reg; ctrl_reg.val = 0; - ctrl_reg.sda_force_out = 1; - ctrl_reg.scl_force_out = 1; + ctrl_reg.sda_force_out = 0; + ctrl_reg.scl_force_out = 0; hw->ctr.val = ctrl_reg.val; hw->fifo_conf.fifo_addr_cfg_en = 0; } diff --git a/components/hal/esp32c6/include/hal/i2c_ll.h b/components/hal/esp32c6/include/hal/i2c_ll.h index 2f16fe9eb5..e8aaa77828 100644 --- a/components/hal/esp32c6/include/hal/i2c_ll.h +++ b/components/hal/esp32c6/include/hal/i2c_ll.h @@ -896,8 +896,8 @@ static inline void i2c_ll_master_init(i2c_dev_t *hw) typeof(hw->ctr) ctrl_reg; ctrl_reg.val = 0; ctrl_reg.ms_mode = 1; - ctrl_reg.sda_force_out = 1; - ctrl_reg.scl_force_out = 1; + ctrl_reg.sda_force_out = 0; + ctrl_reg.scl_force_out = 0; hw->ctr.val = ctrl_reg.val; } @@ -912,8 +912,8 @@ static inline void i2c_ll_slave_init(i2c_dev_t *hw) { typeof(hw->ctr) ctrl_reg; ctrl_reg.val = 0; - ctrl_reg.sda_force_out = 1; - ctrl_reg.scl_force_out = 1; + ctrl_reg.sda_force_out = 0; + ctrl_reg.scl_force_out = 0; hw->ctr.val = ctrl_reg.val; hw->fifo_conf.fifo_addr_cfg_en = 0; } diff --git a/components/hal/esp32c61/include/hal/i2c_ll.h b/components/hal/esp32c61/include/hal/i2c_ll.h index 5c74a7e565..c5dc44348d 100644 --- a/components/hal/esp32c61/include/hal/i2c_ll.h +++ b/components/hal/esp32c61/include/hal/i2c_ll.h @@ -817,8 +817,8 @@ static inline void i2c_ll_master_init(i2c_dev_t *hw) typeof(hw->ctr) ctrl_reg; ctrl_reg.val = 0; ctrl_reg.ms_mode = 1; - ctrl_reg.sda_force_out = 1; - ctrl_reg.scl_force_out = 1; + ctrl_reg.sda_force_out = 0; + ctrl_reg.scl_force_out = 0; hw->ctr.val = ctrl_reg.val; } @@ -833,8 +833,8 @@ static inline void i2c_ll_slave_init(i2c_dev_t *hw) { typeof(hw->ctr) ctrl_reg; ctrl_reg.val = 0; - ctrl_reg.sda_force_out = 1; - ctrl_reg.scl_force_out = 1; + ctrl_reg.sda_force_out = 0; + ctrl_reg.scl_force_out = 0; hw->ctr.val = ctrl_reg.val; hw->fifo_conf.fifo_addr_cfg_en = 0; } diff --git a/components/hal/esp32h2/include/hal/i2c_ll.h b/components/hal/esp32h2/include/hal/i2c_ll.h index 255a2696d1..d636cc0c71 100644 --- a/components/hal/esp32h2/include/hal/i2c_ll.h +++ b/components/hal/esp32h2/include/hal/i2c_ll.h @@ -803,8 +803,8 @@ static inline void i2c_ll_master_init(i2c_dev_t *hw) typeof(hw->ctr) ctrl_reg; ctrl_reg.val = 0; ctrl_reg.ms_mode = 1; - ctrl_reg.sda_force_out = 1; - ctrl_reg.scl_force_out = 1; + ctrl_reg.sda_force_out = 0; + ctrl_reg.scl_force_out = 0; hw->ctr.val = ctrl_reg.val; } @@ -819,8 +819,8 @@ static inline void i2c_ll_slave_init(i2c_dev_t *hw) { typeof(hw->ctr) ctrl_reg; ctrl_reg.val = 0; - ctrl_reg.sda_force_out = 1; - ctrl_reg.scl_force_out = 1; + ctrl_reg.sda_force_out = 0; + ctrl_reg.scl_force_out = 0; hw->ctr.val = ctrl_reg.val; hw->fifo_conf.fifo_addr_cfg_en = 0; } diff --git a/components/hal/esp32p4/include/hal/i2c_ll.h b/components/hal/esp32p4/include/hal/i2c_ll.h index 2f6ebbd0bb..7471583274 100644 --- a/components/hal/esp32p4/include/hal/i2c_ll.h +++ b/components/hal/esp32p4/include/hal/i2c_ll.h @@ -900,8 +900,8 @@ static inline void i2c_ll_master_init(i2c_dev_t *hw) typeof(hw->ctr) ctrl_reg; ctrl_reg.val = 0; ctrl_reg.ms_mode = 1; - ctrl_reg.sda_force_out = 1; - ctrl_reg.scl_force_out = 1; + ctrl_reg.sda_force_out = 0; + ctrl_reg.scl_force_out = 0; hw->ctr.val = ctrl_reg.val; } @@ -916,8 +916,8 @@ static inline void i2c_ll_slave_init(i2c_dev_t *hw) { typeof(hw->ctr) ctrl_reg; ctrl_reg.val = 0; - ctrl_reg.sda_force_out = 1; - ctrl_reg.scl_force_out = 1; + ctrl_reg.sda_force_out = 0; + ctrl_reg.scl_force_out = 0; hw->ctr.val = ctrl_reg.val; hw->fifo_conf.fifo_addr_cfg_en = 0; }