Re: [PATCH v5 3/9] i2c: add support for filters optional properties

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

 



On 2019-09-11 10:24, Eugen.Hristev@xxxxxxxxxxxxx wrote:
> From: Eugen Hristev <eugen.hristev@xxxxxxxxxxxxx>
> 
> 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.hristev@xxxxxxxxxxxxx>
> ---
>  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;
>  };
>  
>  /**
> 





[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux