From: Jonathan Cameron <jic23@kernel.org>
To: "Kurt Borja" <kuurtb@gmail.com>
Cc: "David Lechner" <dlechner@baylibre.com>,
"Nuno Sá" <nuno.sa@analog.com>,
"Andy Shevchenko" <andy@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Nguyen Minh Tien" <zizuzacker@gmail.com>,
linux-iio@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org
Subject: Re: [PATCH 0/4] iio: adc: new ti-ads112c14 driver
Date: Mon, 22 Jun 2026 11:02:23 +0100 [thread overview]
Message-ID: <20260622110223.7e854dde@jic23-huawei> (raw)
In-Reply-To: <DJF5LHOE6368.2QCY5LIPT8098@gmail.com>
On Sun, 21 Jun 2026 19:32:29 -0500
"Kurt Borja" <kuurtb@gmail.com> wrote:
> On Sun Jun 21, 2026 at 2:14 PM -05, Jonathan Cameron wrote:
> > On Tue, 16 Jun 2026 13:16:46 -0500
> > David Lechner <dlechner@baylibre.com> wrote:
> >
> >> On 6/16/26 12:26 PM, Kurt Borja wrote:
> >> > On Tue Jun 16, 2026 at 10:21 AM -05, David Lechner wrote:
> >> >> On 6/15/26 7:18 PM, Kurt Borja wrote:
> >> >>> On Mon Jun 15, 2026 at 4:59 PM -05, David Lechner (TI) wrote:
> >>
> >> ...
> >>
> >> >>>> All of these chips have in common that they are designed for use with
> >> >>>> RTDs and thermocouples and so they look very similar to each other in
> >> >>>> terms of wiring and feature set, even if the register maps are
> >> >>>> different. They are in the gray area where we could either keep them
> >> >>>> separate because they are just different enough, or we could do like
> >> >>>> we've done before with ad_sigma_delta and have a bit of an abstraction
> >> >>>> layer for the register differences and otherwise try to share as much
> >> >>>> code as possible. Normally, I would lean towards keeping them separate,
> >> >>>> but in this case, I'm considering trying to share code because the
> >> >>>> devicetree bindings for the inputs is complex and is going to be mostly
> >> >>>> the same across all of these chips.
> >> >>>
> >> >>> The channel configuration is indeed very similar for the three chips.
> >> >>> All three have IDAC, BOC and VREF configurations.
> >> >>
> >> >> Hmm... I forgot to include the burnout current in the DT bindings. Following
> >> >> the channel = "conditions for measurement" pattern that I have set out here
> >> >> I guess that would mean that we would need to have the same inputs twice
> >> >> when using the burnout. One "channel" would be the one used to do a "precision"
> >> >> measurement and the other would be the one to do open/short circuit detection.
> >> >>
> >> >>
> >> >> i2c {
> >> >> #address-cells = <1>;
> >> >> #size-cells = <0>;
> >> >>
> >> >> adc@40 {
> >> >> compatible = "ti,ads112c14";
> >> >> reg = <0x40>;
> >> >>
> >> >> avdd-supply = <&avdd>;
> >> >> dvdd-supply = <&dvdd>;
> >> >>
> >> >> refp-supply = <&avdd>;
> >> >>
> >> >> #address-cells = <1>;
> >> >> #size-cells = <0>;
> >> >>
> >> >> channel@0 {
> >> >> reg = <0>;
> >> >> diff-channels = <1>, <2>;
> >> >> excitation-channels = <0>, <3>;
> >> >> excitation-current-microamp = <500>;
> >> >> current-chopping;
> >> >> ti,vref-source = <ADS112C14_VREF_SOURCE_EXTERNAL>;
> >> >> label = "rtd-precision";
> >> >> };
> >> >>
> >> >> channel@1 {
> >> >> reg = <0>;
> >> >> diff-channels = <1>, <2>;
> >> >> excitation-channels = <0>, <3>;
> >> >> excitation-current-microamp = <500>;
> > Maybe use an example with more stuff changing? Do we want same excitation
> > for burn out? I've no idea.
> >
> >> >> burnout-current-nanoamp = <1000>;
> >> >> ti,vref-source = <ADS112C14_VREF_SOURCE_EXTERNAL>;
> >> >> label = "rtd-diagnostic";
> >> >> };
> >> >
> >> > This would mean we wouldn't be able to use iio_chan_spec .channel and
> >> > .channel2 to describe inputs because of duplicate sysfs attributes, no?
> >> >
> >>
> >> Yes, that is a bit unfortunate. At least there the labels to tell them
> >> apart. I guess we would just need to use consecutive channel and channel2
> >> when dynamically allocating the channels to avoid conflict.
> >
> > From a very initial look, maybe do something similar to the folk have
> > been looking at for the more complex DDS devices where we have lots
> > of channels that are on the same 'wires'. Basically add a numbering
> > scheme to keep them reasonably separate - channel numbers are cheap.
> > Maybe first channel is 10->1f, second 20-2f etc. They are differential
> > so it will get ugly. Perhaps have a play around and see if there is
> > a reasonable channel naming scheme for this 'same inputs, different thing
> > being measured case'
>
> May I also suggest having some sort of IIO_VOLTAGE_DIAGNOSTIC channel
> type? Would that be worth the trouble?
Nope. That would get messy fast as any channel type could have a diagnostic
variant. If we only ever want to poll it from sysfs we could use
an info_mask element so in_voltageX_burnoutraw or something like that.
>
> We could also maybe just drop burn-out current completely from
> dt-bindings and add IIO_CHAN_INFO_BURNOUT_CURRENT. Given that this
> feature is only used ocasionally for diagnostic purposes (I assume...).
I did wonder if we just push this either into debugfs, or into an
events type interface. So poll it every now and then or on demand.
>
prev parent reply other threads:[~2026-06-22 10:02 UTC|newest]
Thread overview: 39+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-06-15 21:59 [PATCH 0/4] iio: adc: new ti-ads112c14 driver David Lechner (TI)
2026-06-15 21:59 ` [PATCH 1/4] dt-bindings: iio: adc: add ti,ads122c14 David Lechner (TI)
2026-06-15 22:10 ` sashiko-bot
2026-06-16 0:26 ` Kurt Borja
2026-06-16 15:22 ` David Lechner
2026-06-16 17:31 ` Kurt Borja
2026-06-16 16:07 ` Conor Dooley
2026-06-16 19:54 ` David Lechner
2026-06-16 20:50 ` Conor Dooley
2026-06-16 21:04 ` David Lechner
2026-06-17 15:34 ` Conor Dooley
2026-06-21 18:41 ` Jonathan Cameron
2026-06-21 21:14 ` David Lechner
2026-06-22 9:55 ` Jonathan Cameron
2026-06-22 16:59 ` David Lechner
2026-06-15 22:00 ` [PATCH 2/4] iio: adc: add ti-ads112c14 driver David Lechner (TI)
2026-06-15 22:11 ` sashiko-bot
2026-06-16 7:32 ` Andy Shevchenko
2026-06-16 15:38 ` David Lechner
2026-06-17 10:07 ` Andy Shevchenko
2026-06-21 18:52 ` Jonathan Cameron
2026-06-15 22:00 ` [PATCH 3/4] iio: adc: ti-ads112c14: implement gain on internal short SYS_MON channel David Lechner (TI)
2026-06-15 22:14 ` sashiko-bot
2026-06-16 7:58 ` Andy Shevchenko
2026-06-16 10:03 ` Nuno Sá
2026-06-15 22:00 ` [PATCH 4/4] iio: adc: ti-ads112c14: add measurement channel support David Lechner (TI)
2026-06-15 22:13 ` sashiko-bot
2026-06-16 8:36 ` Andy Shevchenko
2026-06-16 15:55 ` David Lechner
2026-06-17 10:16 ` Andy Shevchenko
2026-06-16 15:30 ` David Lechner
2026-06-21 19:08 ` Jonathan Cameron
2026-06-16 0:18 ` [PATCH 0/4] iio: adc: new ti-ads112c14 driver Kurt Borja
2026-06-16 15:21 ` David Lechner
2026-06-16 17:26 ` Kurt Borja
2026-06-16 18:16 ` David Lechner
2026-06-21 19:14 ` Jonathan Cameron
2026-06-22 0:32 ` Kurt Borja
2026-06-22 10:02 ` Jonathan Cameron [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260622110223.7e854dde@jic23-huawei \
--to=jic23@kernel.org \
--cc=andy@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dlechner@baylibre.com \
--cc=krzk+dt@kernel.org \
--cc=kuurtb@gmail.com \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nuno.sa@analog.com \
--cc=robh@kernel.org \
--cc=zizuzacker@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.