Re: [PATCH v1 1/6] i2c: core: Parse SDA hold time from firmware

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 25/07/2018 17:39:25+0300, Andy Shevchenko wrote:
> There are two drivers already using the SDA hold time setting.
> It might be more in the future, thus, make I2C core to parse the setting
> for us if provided by firmware.
> 
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@xxxxxxxxxxxxxxx>
Reviewed-by: Alexandre Belloni <alexandre.belloni@xxxxxxxxxxx>

> ---
>  drivers/i2c/i2c-core-base.c | 2 ++
>  include/linux/i2c.h         | 2 ++
>  2 files changed, 4 insertions(+)
> 
> diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c
> index 02d6f27b19e4..667e32aa96a9 100644
> --- a/drivers/i2c/i2c-core-base.c
> +++ b/drivers/i2c/i2c-core-base.c
> @@ -1576,6 +1576,8 @@ void i2c_parse_fw_timings(struct device *dev, struct i2c_timings *t, bool use_de
>  	ret = device_property_read_u32(dev, "i2c-sda-falling-time-ns", &t->sda_fall_ns);
>  	if (ret && use_defaults)
>  		t->sda_fall_ns = t->scl_fall_ns;
> +
> +	device_property_read_u32(dev, "i2c-sda-hold-time-ns", &t->sda_hold_ns);
>  }
>  EXPORT_SYMBOL_GPL(i2c_parse_fw_timings);
>  
> diff --git a/include/linux/i2c.h b/include/linux/i2c.h
> index bc8d42f8544f..8c44be056f28 100644
> --- a/include/linux/i2c.h
> +++ b/include/linux/i2c.h
> @@ -564,6 +564,7 @@ struct i2c_lock_operations {
>   * @scl_fall_ns: time SCL signal takes to fall in ns; t(f) in the I2C specification
>   * @scl_int_delay_ns: time IP core additionally needs to setup SCL in ns
>   * @sda_fall_ns: time SDA signal takes to fall in ns; t(f) in the I2C specification
> + * @sda_hold_ns: time IP core additionally needs to hold SDA in ns
>   */
>  struct i2c_timings {
>  	u32 bus_freq_hz;
> @@ -571,6 +572,7 @@ struct i2c_timings {
>  	u32 scl_fall_ns;
>  	u32 scl_int_delay_ns;
>  	u32 sda_fall_ns;
> +	u32 sda_hold_ns;
>  };
>  
>  /**
> -- 
> 2.18.0
> 

-- 
Alexandre Belloni, Bootlin (formerly Free Electrons)
Embedded Linux and Kernel engineering
https://bootlin.com



[Index of Archives]     [Linux GPIO]     [Linux SPI]     [Linux Hardward Monitoring]     [LM Sensors]     [Linux USB Devel]     [Linux Media]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux