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; |     typeof(hw->ctr) ctrl_reg; | ||||||
|     ctrl_reg.val = 0; |     ctrl_reg.val = 0; | ||||||
|     ctrl_reg.ms_mode = 1; |     ctrl_reg.ms_mode = 1; | ||||||
|     ctrl_reg.sda_force_out = 1; |     ctrl_reg.sda_force_out = 0; | ||||||
|     ctrl_reg.scl_force_out = 1; |     ctrl_reg.scl_force_out = 0; | ||||||
|     hw->ctr.val = ctrl_reg.val; |     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; |     typeof(hw->ctr) ctrl_reg; | ||||||
|     ctrl_reg.val = 0; |     ctrl_reg.val = 0; | ||||||
|     ctrl_reg.sda_force_out = 1; |     ctrl_reg.sda_force_out = 0; | ||||||
|     ctrl_reg.scl_force_out = 1; |     ctrl_reg.scl_force_out = 0; | ||||||
|     hw->ctr.val = ctrl_reg.val; |     hw->ctr.val = ctrl_reg.val; | ||||||
|     hw->fifo_conf.fifo_addr_cfg_en = 0; |     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; |     typeof(hw->ctr) ctrl_reg; | ||||||
|     ctrl_reg.val = 0; |     ctrl_reg.val = 0; | ||||||
|     ctrl_reg.ms_mode = 1; |     ctrl_reg.ms_mode = 1; | ||||||
|     ctrl_reg.sda_force_out = 1; |     ctrl_reg.sda_force_out = 0; | ||||||
|     ctrl_reg.scl_force_out = 1; |     ctrl_reg.scl_force_out = 0; | ||||||
|     hw->ctr.val = ctrl_reg.val; |     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; |     typeof(hw->ctr) ctrl_reg; | ||||||
|     ctrl_reg.val = 0; |     ctrl_reg.val = 0; | ||||||
|     ctrl_reg.sda_force_out = 1; |     ctrl_reg.sda_force_out = 0; | ||||||
|     ctrl_reg.scl_force_out = 1; |     ctrl_reg.scl_force_out = 0; | ||||||
|     hw->ctr.val = ctrl_reg.val; |     hw->ctr.val = ctrl_reg.val; | ||||||
|     hw->fifo_conf.fifo_addr_cfg_en = 0; |     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; |     typeof(hw->ctr) ctrl_reg; | ||||||
|     ctrl_reg.val = 0; |     ctrl_reg.val = 0; | ||||||
|     ctrl_reg.ms_mode = 1; |     ctrl_reg.ms_mode = 1; | ||||||
|     ctrl_reg.sda_force_out = 1; |     ctrl_reg.sda_force_out = 0; | ||||||
|     ctrl_reg.scl_force_out = 1; |     ctrl_reg.scl_force_out = 0; | ||||||
|     hw->ctr.val = ctrl_reg.val; |     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; |     typeof(hw->ctr) ctrl_reg; | ||||||
|     ctrl_reg.val = 0; |     ctrl_reg.val = 0; | ||||||
|     ctrl_reg.sda_force_out = 1; |     ctrl_reg.sda_force_out = 0; | ||||||
|     ctrl_reg.scl_force_out = 1; |     ctrl_reg.scl_force_out = 0; | ||||||
|     hw->ctr.val = ctrl_reg.val; |     hw->ctr.val = ctrl_reg.val; | ||||||
|     hw->fifo_conf.fifo_addr_cfg_en = 0; |     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; |     typeof(hw->ctr) ctrl_reg; | ||||||
|     ctrl_reg.val = 0; |     ctrl_reg.val = 0; | ||||||
|     ctrl_reg.ms_mode = 1; |     ctrl_reg.ms_mode = 1; | ||||||
|     ctrl_reg.sda_force_out = 1; |     ctrl_reg.sda_force_out = 0; | ||||||
|     ctrl_reg.scl_force_out = 1; |     ctrl_reg.scl_force_out = 0; | ||||||
|     hw->ctr.val = ctrl_reg.val; |     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; |     typeof(hw->ctr) ctrl_reg; | ||||||
|     ctrl_reg.val = 0; |     ctrl_reg.val = 0; | ||||||
|     ctrl_reg.sda_force_out = 1; |     ctrl_reg.sda_force_out = 0; | ||||||
|     ctrl_reg.scl_force_out = 1; |     ctrl_reg.scl_force_out = 0; | ||||||
|     hw->ctr.val = ctrl_reg.val; |     hw->ctr.val = ctrl_reg.val; | ||||||
|     hw->fifo_conf.fifo_addr_cfg_en = 0; |     hw->fifo_conf.fifo_addr_cfg_en = 0; | ||||||
| } | } | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 C.S.M
					C.S.M