Re: [PATCH v4 2/9] dt-bindings: i2c: add bindings for i2c analog and digital filter
From: Alexandre Belloni
Date: Mon Sep 02 2019 - 10:22:59 EST
On 02/09/2019 14:15:14+0000, Eugen.Hristev@xxxxxxxxxxxxx wrote:
> On 02.09.2019 13:49, Peter Rosin wrote:
> > On 2019-09-02 12:12, Eugen.Hristev@xxxxxxxxxxxxx wrote:
> >> From: Eugen Hristev <eugen.hristev@xxxxxxxxxxxxx>
> >> Some i2c controllers have a built-in digital or analog filter.
> >> This is specifically required depending on the hardware PCB/board.
> >> Some controllers also allow specifying the maximum width of the
> >> spikes that can be filtered. The width length can be specified in nanoseconds.
> >> Signed-off-by: Eugen Hristev <eugen.hristev@xxxxxxxxxxxxx>
> >> ---
> >> Documentation/devicetree/bindings/i2c/i2c.txt | 11 +++++++++++
> >> 1 file changed, 11 insertions(+)
> >> diff --git a/Documentation/devicetree/bindings/i2c/i2c.txt b/Documentation/devicetree/bindings/i2c/i2c.txt
> >> index 44efafd..8dbff67 100644
> >> --- a/Documentation/devicetree/bindings/i2c/i2c.txt
> >> +++ b/Documentation/devicetree/bindings/i2c/i2c.txt
> >> @@ -55,6 +55,17 @@ wants to support one of the below features, it should adapt the bindings below.
> >> Number of nanoseconds the SDA signal takes to fall; t(f) in the I2C
> >> specification.
> >> +- i2c-analog-filter
> >> + Enable analog filter for i2c lines.
> >> +
> >> +- i2c-digital-filter
> >> + Enable digital filter for i2c lines.
> >> +
> >> +- i2c-filter-width-ns
> >> + Width of spikes which can be filtered by either digital or analog
> >> + filters (i2c-analog-filtr or i2c-digital-filtr). This width is specified
> > filtr -> filter (two instances)
> > What if you want/need to have different bandwidth for the digital and analog
> > filters? After all, this is a generic binding...
> For our needs, this is enough: the purpose of the filters is to avoid
> noise on the lines, the noise is as big as it is for the digital and for
> the analog filters, since we use an absolute measurement for them. So I
> do not know how useful it would be to make a difference.
You are adding generic properties so they have to be generic and not
tied to your particular use case.
Alexandre Belloni, Bootlin
Embedded Linux and Kernel engineering