Message ID | 1583139537-65602-5-git-send-email-ptchentw@gmail.com |
---|---|
State | New |
Headers | show |
Series | i2c: designware_i2c: Improvements for high speed mode | expand |
Hello Jun Chen, Am 02.03.2020 um 09:58 schrieb Jun Chen: > From: Jun Chen <jun.chen at vatics.com> > > Add support for high speed if scl_sda_cfg exist. > > Signed-off-by: Jun Chen <ptchentw at gmail.com> > Signed-off-by: Jun Chen <jun.chen at vatics.com> > --- > > drivers/i2c/designware_i2c.c | 3 +++ > drivers/i2c/designware_i2c.h | 4 ++++ > 2 files changed, 7 insertions(+) Applied to u-boot-i2c next, thanks! bye, Heiko
diff --git a/drivers/i2c/designware_i2c.c b/drivers/i2c/designware_i2c.c index 74aef77..088a6f3 100644 --- a/drivers/i2c/designware_i2c.c +++ b/drivers/i2c/designware_i2c.c @@ -240,6 +240,9 @@ static int calc_bus_speed(struct dw_i2c *priv, int speed, ulong bus_clk, if (i2c_spd == IC_SPEED_MODE_STANDARD) { config->scl_hcnt = scl_sda_cfg->ss_hcnt; config->scl_lcnt = scl_sda_cfg->ss_lcnt; + } else if (i2c_spd == IC_SPEED_MODE_HIGH) { + config->scl_hcnt = scl_sda_cfg->hs_hcnt; + config->scl_lcnt = scl_sda_cfg->hs_lcnt; } else { config->scl_hcnt = scl_sda_cfg->fs_hcnt; config->scl_lcnt = scl_sda_cfg->fs_lcnt; diff --git a/drivers/i2c/designware_i2c.h b/drivers/i2c/designware_i2c.h index 5a04ce5..7ee2361 100644 --- a/drivers/i2c/designware_i2c.h +++ b/drivers/i2c/designware_i2c.h @@ -146,15 +146,19 @@ struct i2c_regs { * * @ss_hcnt: Standard speed high time in ns * @fs_hcnt: Fast speed high time in ns + * @hs_hcnt: High speed high time in ns * @ss_lcnt: Standard speed low time in ns * @fs_lcnt: Fast speed low time in ns + * @hs_lcnt: High speed low time in ns * @sda_hold: SDA hold time */ struct dw_scl_sda_cfg { u32 ss_hcnt; u32 fs_hcnt; + u32 hs_hcnt; u32 ss_lcnt; u32 fs_lcnt; + u32 hs_lcnt; u32 sda_hold; };