On 2019-09-11 10:24, eugen.hris...@microchip.com wrote:
> From: Eugen Hristev <eugen.hris...@microchip.com>
> 
> i2c-digital-filter-width-ns:
> This optional timing property specifies the width of the spikes on the i2c
> lines (in ns) that can be filtered out by built-in digital filters which are
> embedded in some i2c controllers.
> i2c-analog-filter-cutoff-frequency:
> This optional timing property specifies the cutoff frequency of a low-pass
> analog filter built-in i2c controllers. This low pass filter is used to filter
> out high frequency noise on the i2c lines. Specified in Hz.
> Include these properties in the timings structure and read them as integers.
> 
> Signed-off-by: Eugen Hristev <eugen.hris...@microchip.com>
> ---
>  drivers/i2c/i2c-core-base.c | 6 ++++++
>  include/linux/i2c.h         | 6 ++++++
>  2 files changed, 12 insertions(+)
> 
> diff --git a/drivers/i2c/i2c-core-base.c b/drivers/i2c/i2c-core-base.c
> index 9c440fa..c9fcb16 100644
> --- a/drivers/i2c/i2c-core-base.c
> +++ b/drivers/i2c/i2c-core-base.c
> @@ -1658,6 +1658,12 @@ void i2c_parse_fw_timings(struct device *dev, struct 
> i2c_timings *t, bool use_de
>               t->sda_fall_ns = t->scl_fall_ns;
>  
>       device_property_read_u32(dev, "i2c-sda-hold-time-ns", &t->sda_hold_ns);
> +
> +     device_property_read_u32(dev, "i2c-digital-filter-width-ns",
> +                              &t->digital_filter_width_ns);
> +
> +     device_property_read_u32(dev, "i2c-analog-filter-cutoff-frequency",
> +                              &t->analog_filter_cutoff_freq_hz);
>  }
>  EXPORT_SYMBOL_GPL(i2c_parse_fw_timings);
>  
> diff --git a/include/linux/i2c.h b/include/linux/i2c.h
> index fa5552c..26ce143 100644
> --- a/include/linux/i2c.h
> +++ b/include/linux/i2c.h
> @@ -575,6 +575,10 @@ struct i2c_lock_operations {
>   * @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
> + * @digital_filter_width_ns: width in ns of spikes on i2c lines that the IP 
> core
> + *                        digital filter can filter out
> + * @analog_filter_cutoff_freq_hz: threshold frequency for the low pass IP 
> core
> +                           analog filter

The indentation is a little bit excessive and also off. Other comments in the
file just uses a single tab after the asterisk in this scenario. Also, the last
of the new lines is missing that leading asterisk.

Cheers,
Peter

>   */
>  struct i2c_timings {
>       u32 bus_freq_hz;
> @@ -583,6 +587,8 @@ struct i2c_timings {
>       u32 scl_int_delay_ns;
>       u32 sda_fall_ns;
>       u32 sda_hold_ns;
> +     u32 digital_filter_width_ns;
> +     u32 analog_filter_cutoff_freq_hz;
>  };
>  
>  /**
> 

Reply via email to