[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d7172480-0ba3-3412-aebf-353bfe8d6f66@axentia.se>
Date: Mon, 21 Oct 2019 15:20:44 +0000
From: Peter Rosin <peda@...ntia.se>
To: "Eugen.Hristev@...rochip.com" <Eugen.Hristev@...rochip.com>,
"wsa@...-dreams.de" <wsa@...-dreams.de>,
"mark.rutland@....com" <mark.rutland@....com>,
"Ludovic.Desroches@...rochip.com" <Ludovic.Desroches@...rochip.com>,
"linux-i2c@...r.kernel.org" <linux-i2c@...r.kernel.org>,
"devicetree@...r.kernel.org" <devicetree@...r.kernel.org>,
"linux-arm-kernel@...ts.infradead.org"
<linux-arm-kernel@...ts.infradead.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"alexandre.belloni@...tlin.com" <alexandre.belloni@...tlin.com>,
"robh+dt@...nel.org" <robh+dt@...nel.org>
CC: "Nicolas.Ferre@...rochip.com" <Nicolas.Ferre@...rochip.com>
Subject: Re: [PATCH v5 3/9] i2c: add support for filters optional properties
On 2019-09-11 10:24, Eugen.Hristev@...rochip.com wrote:
> From: Eugen Hristev <eugen.hristev@...rochip.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.hristev@...rochip.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;
> };
>
> /**
>
Powered by blists - more mailing lists