diff mbox

i2c: designware: Fix standard mode speed when configuring the slave mode

Message ID 20170809122444.13461-1-jarkko.nikula@linux.intel.com
State Accepted
Headers show

Commit Message

Jarkko Nikula Aug. 9, 2017, 12:24 p.m. UTC
Code sets bit DW_IC_CON_SPEED_FAST (0x4) always when configuring the slave
mode. This results incorrect register value DW_IC_CON_SPEED_HIGH (0x6)
when OR'ed together with DW_IC_CON_SPEED_STD (0x2).

Remove this and let the code set the speed mode bits according to clock
frequency or default to fast mode.

Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
---
 drivers/i2c/busses/i2c-designware-platdrv.c | 3 +--
 1 file changed, 1 insertion(+), 2 deletions(-)

Comments

Wolfram Sang Aug. 14, 2017, 7:13 p.m. UTC | #1
On Wed, Aug 09, 2017 at 03:24:44PM +0300, Jarkko Nikula wrote:
> Code sets bit DW_IC_CON_SPEED_FAST (0x4) always when configuring the slave
> mode. This results incorrect register value DW_IC_CON_SPEED_HIGH (0x6)
> when OR'ed together with DW_IC_CON_SPEED_STD (0x2).
> 
> Remove this and let the code set the speed mode bits according to clock
> frequency or default to fast mode.
> 
> Signed-off-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>

Applied to for-current, thanks!
diff mbox

Patch

diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c
index efb7191c6a6c..f55f2cdbbae3 100644
--- a/drivers/i2c/busses/i2c-designware-platdrv.c
+++ b/drivers/i2c/busses/i2c-designware-platdrv.c
@@ -198,8 +198,7 @@  static void i2c_dw_configure_slave(struct dw_i2c_dev *dev)
 	dev->functionality = I2C_FUNC_SLAVE | DW_IC_DEFAULT_FUNCTIONALITY;
 
 	dev->slave_cfg = DW_IC_CON_RX_FIFO_FULL_HLD_CTRL |
-			 DW_IC_CON_RESTART_EN | DW_IC_CON_STOP_DET_IFADDRESSED |
-			 DW_IC_CON_SPEED_FAST;
+			 DW_IC_CON_RESTART_EN | DW_IC_CON_STOP_DET_IFADDRESSED;
 
 	dev->mode = DW_IC_SLAVE;