Re: [PATCH v3 2/2] dt-bindings: iio: Add bindings for TI TLA202x ADCs

From: Jonathan Cameron
Date: Sat Mar 30 2019 - 11:58:51 EST


+CC Stefan for a possible issue in ad7124

On Thu, 28 Mar 2019 13:38:42 -0500
Rob Herring <robh@xxxxxxxxxx> wrote:

> On Tue, Mar 26, 2019 at 02:56:20PM +0100, Ibtsam Ul-Haq wrote:
> > This adds devicetree bindings for TI TLA202x ADCs.
> >
> > Signed-off-by: Ibtsam Ul-Haq <ibtsam.haq.0x01@xxxxxxxxx>
> > ---
> > .../devicetree/bindings/iio/adc/ti-tla2024.txt | 45 ++++++++++++++++++++++
> > 1 file changed, 45 insertions(+)
> > create mode 100644 Documentation/devicetree/bindings/iio/adc/ti-tla2024.txt
> >
> > diff --git a/Documentation/devicetree/bindings/iio/adc/ti-tla2024.txt b/Documentation/devicetree/bindings/iio/adc/ti-tla2024.txt
> > new file mode 100644
> > index 0000000..a4934df
> > --- /dev/null
> > +++ b/Documentation/devicetree/bindings/iio/adc/ti-tla2024.txt
> > @@ -0,0 +1,45 @@
> > +Texas Instruments' TLA2021/TLA2022/TLA2024 12-bit ADC driver
> > +
> > +Required properties:
> > +
> > +- compatible: should be one of:
> > + "ti,tla2024"
> > + "ti,tla2022"
> > + "ti,tla2021"
> > +
> > +- reg: should contain the I2C Address of the device
> > +
> > +Required subnodes:
> > +
> > +The ADC channels are configured as subnodes of the ADC.
> > +The channels can be single-ended or differential, the input pins are
> > +also set in the subnode.
> > +
> > +Possible channels in TLA2024:
> > + single: <0>, <1>, <2>, <3>
> > + differential: <0 1>, <0 3>, <1 3>, <2 3>
> > +
> > +In TLA2021/TLA2022 only the differential channel <0 1> is allowed.
> > +
> > +Example:
> > +
> > +tla2024_0: adc0@49 {
>
> adc@49
>
> > + compatible = "ti,tla2024";
> > + reg = <0x49>;
> > +
> > + v0@0 {
>
> Unit-address without 'reg' is not valid.
>
> > + single-channel = <0>;
>
> Look at the common adc binding or adi,ad7124.txt for how to do
> multi-channel with differential channels.
Hi Rob.

Only difference from the standard doc
Documentation/devicetree/bindings/adc/adc.txt
which should be fixed is that channels are
channel@0, channel@1 etc

Non differential channels aren't in that doc yet but what we have
here works for me (other than the naming).

Note however, we didn't require reg in that binding so probably
have something to fix there. The adi driver you reference does
have reg in the bindings, though so we should probably just add
that to the generic doc.

One side note though for Stefan, What happens if someone provides
a non contiguous set of reg values or one greater than 3 for the ad7124?
e should probably harden the driver against that (or am I missing something).

Jonathan
>
> > + };
> > +
> > + v1@1 {
> > + single-channel = <1>;
> > + };
> > +
> > + v23@2 {
> > + diff-channels = <2 3>;
> > + };
> > +
> > + v01@3 {
> > + diff-channels = <0 1>;
> > + };
> > +};
> > --
> > 2.7.4
> >