aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/i2c/busses/i2c-designware-core.c7
-rw-r--r--drivers/i2c/busses/i2c-designware-platdrv.c9
2 files changed, 11 insertions, 5 deletions
diff --git a/drivers/i2c/busses/i2c-designware-core.c b/drivers/i2c/busses/i2c-designware-core.c
index c6922b806fb7..07edff7a62e3 100644
--- a/drivers/i2c/busses/i2c-designware-core.c
+++ b/drivers/i2c/busses/i2c-designware-core.c
@@ -347,8 +347,11 @@ int i2c_dw_init(struct dw_i2c_dev *dev)
347 dw_writel(dev, lcnt, DW_IC_SS_SCL_LCNT); 347 dw_writel(dev, lcnt, DW_IC_SS_SCL_LCNT);
348 dev_dbg(dev->dev, "Standard-mode HCNT:LCNT = %d:%d\n", hcnt, lcnt); 348 dev_dbg(dev->dev, "Standard-mode HCNT:LCNT = %d:%d\n", hcnt, lcnt);
349 349
350 /* Set SCL timing parameters for fast-mode */ 350 /* Set SCL timing parameters for fast-mode or fast-mode plus */
351 if (dev->fs_hcnt && dev->fs_lcnt) { 351 if ((dev->clk_freq == 1000000) && dev->fp_hcnt && dev->fp_lcnt) {
352 hcnt = dev->fp_hcnt;
353 lcnt = dev->fp_lcnt;
354 } else if (dev->fs_hcnt && dev->fs_lcnt) {
352 hcnt = dev->fs_hcnt; 355 hcnt = dev->fs_hcnt;
353 lcnt = dev->fs_lcnt; 356 lcnt = dev->fs_lcnt;
354 } else { 357 } else {
diff --git a/drivers/i2c/busses/i2c-designware-platdrv.c b/drivers/i2c/busses/i2c-designware-platdrv.c
index cbe4fb31cb4b..ea92e9f3fba1 100644
--- a/drivers/i2c/busses/i2c-designware-platdrv.c
+++ b/drivers/i2c/busses/i2c-designware-platdrv.c
@@ -196,10 +196,13 @@ static int dw_i2c_plat_probe(struct platform_device *pdev)
196 dw_i2c_acpi_configure(pdev); 196 dw_i2c_acpi_configure(pdev);
197 197
198 /* 198 /*
199 * Only standard mode at 100kHz and fast mode at 400kHz are supported. 199 * Only standard mode at 100kHz, fast mode at 400kHz,
200 * and fast mode plus at 1MHz are supported.
200 */ 201 */
201 if (dev->clk_freq != 100000 && dev->clk_freq != 400000) { 202 if (dev->clk_freq != 100000 && dev->clk_freq != 400000
202 dev_err(&pdev->dev, "Only 100kHz and 400kHz supported"); 203 && dev->clk_freq != 1000000) {
204 dev_err(&pdev->dev,
205 "Only 100kHz, 400kHz and 1MHz are supported");
203 return -EINVAL; 206 return -EINVAL;
204 } 207 }
205 208