mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-10-31 13:09:38 +00:00 
			
		
		
		
	fix(i2c): Fix the i2c sda/scl force out register value on some esp chips
This commit is contained in:
		| @@ -801,8 +801,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; | ||||
| } | ||||
|  | ||||
| @@ -817,8 +817,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; | ||||
| } | ||||
|   | ||||
| @@ -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; | ||||
| } | ||||
|   | ||||
| @@ -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; | ||||
| } | ||||
|   | ||||
| @@ -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; | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 C.S.M
					C.S.M