i2c: designware_i2c: add 'hs_hcnt' and 'hs_lcnt' for high speed
Add support for high speed if scl_sda_cfg exist. Signed-off-by: Jun Chen <ptchentw@gmail.com> Signed-off-by: Jun Chen <jun.chen@vatics.com>
This commit is contained in:
parent
be26342314
commit
27d483bfa3
@ -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;
|
||||
|
@ -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;
|
||||
};
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user