|
@@ -217,12 +217,14 @@ static int dw_i2c_plat_probe(struct platform_device *pdev)
|
|
|
I2C_FUNC_SMBUS_BYTE_DATA |
|
|
|
I2C_FUNC_SMBUS_WORD_DATA |
|
|
|
I2C_FUNC_SMBUS_I2C_BLOCK;
|
|
|
+
|
|
|
+ dev->master_cfg = DW_IC_CON_MASTER | DW_IC_CON_SLAVE_DISABLE |
|
|
|
+ DW_IC_CON_RESTART_EN;
|
|
|
+
|
|
|
if (dev->clk_freq == 100000)
|
|
|
- dev->master_cfg = DW_IC_CON_MASTER | DW_IC_CON_SLAVE_DISABLE |
|
|
|
- DW_IC_CON_RESTART_EN | DW_IC_CON_SPEED_STD;
|
|
|
+ dev->master_cfg |= DW_IC_CON_SPEED_STD;
|
|
|
else
|
|
|
- dev->master_cfg = DW_IC_CON_MASTER | DW_IC_CON_SLAVE_DISABLE |
|
|
|
- DW_IC_CON_RESTART_EN | DW_IC_CON_SPEED_FAST;
|
|
|
+ dev->master_cfg |= DW_IC_CON_SPEED_FAST;
|
|
|
|
|
|
dev->clk = devm_clk_get(&pdev->dev, NULL);
|
|
|
if (!i2c_dw_plat_prepare_clk(dev, true)) {
|