From: "Kurt Borja" <kuurtb@gmail.com>
To: "Jonathan Cameron" <jic23@kernel.org>,
"David Lechner" <dlechner@baylibre.com>
Cc: "Kurt Borja" <kuurtb@gmail.com>, "Rob Herring" <robh@kernel.org>,
"Krzysztof Kozlowski" <krzk+dt@kernel.org>,
"Conor Dooley" <conor+dt@kernel.org>,
"Tobias Sperling" <tobias.sperling@softing.com>,
"Nuno Sá" <nuno.sa@analog.com>,
"Andy Shevchenko" <andy@kernel.org>,
linux-iio@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
"Jonathan Cameron" <Jonathan.Cameron@huawei.com>
Subject: Re: [PATCH v6 2/2] iio: adc: Add ti-ads1018 driver
Date: Sun, 07 Dec 2025 23:06:16 -0500 [thread overview]
Message-ID: <DESJEELPCGK3.3H15VL3YAC0RT@gmail.com> (raw)
In-Reply-To: <20251207195613.0e222b3a@jic23-huawei>
On Sun Dec 7, 2025 at 2:56 PM -05, Jonathan Cameron wrote:
> On Sun, 7 Dec 2025 11:12:51 -0600
> David Lechner <dlechner@baylibre.com> wrote:
>
>> On 12/7/25 10:02 AM, Kurt Borja wrote:
>> > On Sat Dec 6, 2025 at 3:07 PM -05, Jonathan Cameron wrote:
>> >> On Thu, 04 Dec 2025 13:01:28 -0500
>> >> Kurt Borja <kuurtb@gmail.com> wrote:
>> >>
>> >>> Add ti-ads1018 driver for Texas Instruments ADS1018 and ADS1118 SPI
>> >>> analog-to-digital converters.
>> >>>
>> >>> These chips' MOSI pin is shared with a data-ready interrupt. Defining
>> >>> this interrupt in devicetree is optional, therefore we only create an
>> >>> IIO trigger if one is found.
>> >>>
>> >>> Handling this interrupt requires some considerations. When enabling the
>> >>> trigger the CS line is tied low (active), thus we need to hold
>> >>> spi_bus_lock() too, to avoid state corruption. This is done inside the
>> >>> set_trigger_state() callback, to let users use other triggers without
>> >>> wasting a bus lock.
>> >>>
>> >>> Signed-off-by: Kurt Borja <kuurtb@gmail.com>
>> >
>> > ...
>> >
>> >>> +#define ADS1018_VOLT_CHAN(_index, _chan, _realbits) { \
>> >>> + .type = IIO_VOLTAGE, \
>> >>> + .channel = _chan, \
>> >>> + .scan_index = _index, \
>> >>> + .scan_type = { \
>> >>> + .sign = 's', \
>> >>> + .realbits = _realbits, \
>> >>> + .storagebits = 16, \
>> >>> + .shift = 16 - _realbits, \
>> >>> + .endianness = IIO_BE, \
>> >>> + }, \
>> >>> + .info_mask_separate = BIT(IIO_CHAN_INFO_RAW) | \
>> >>> + BIT(IIO_CHAN_INFO_SCALE) | \
>> >>> + BIT(IIO_CHAN_INFO_SAMP_FREQ), \
>> >>
>> >> What motivates per channel sampling frequency?
>> >>
>> >> Given you have to write it each time you configure I guess it doesn't matter much
>> >> either way.
>> >
>> > I guess making it shared by all is simpler too, so I'll go with that.
>> >
>> Just keep in mind that if there is ever some use case we don't know
>> about that would require a different rate per channel, we can't change
>> it without breaking usespace. Once the decision is made, we are
>> locked in. Keeping it per-channel seems more future-proof to me.
>
> Only way I can think of that might cause that to matter would be
> if the complex dance to avoid the onehot buffer restriction is added.
> Given you gave this response I went looking and that might make
> sense as an enhancement as the SPI protocol would allow a crafted message
> sequence to do this efficiently. Extension of figure 15 where first message
> sets config and after that they read out channel and set config for next one.
This is possible, yes. But would the timestamp even make sense in this
case? Even in the fastest sampling rate, we would have to wait at least
1 ms for each channel and the timestamp would become stale.
That was my reasoning for using the onehot restriction.
Is that acceptable? Or maybe we would need to disallow the timestamp
channel if more than one channel is selected?
>
> Given that is sane, I agree with you that we should probably keep these separate.
> I doubt anyone will use different sampling frequencies even if possible but you
> never know.
I'll leave it as is then.
>
> Jonathan
>
>>
--
~ Kurt
next prev parent reply other threads:[~2025-12-08 4:06 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-04 18:01 [PATCH v6 0/2] iio: Add support for TI ADS1X18 ADCs Kurt Borja
2025-12-04 18:01 ` [PATCH v6 1/2] dt-bindings: iio: adc: Add TI ADS1018/ADS1118 Kurt Borja
2025-12-06 19:33 ` Jonathan Cameron
2025-12-04 18:01 ` [PATCH v6 2/2] iio: adc: Add ti-ads1018 driver Kurt Borja
2025-12-06 20:07 ` Jonathan Cameron
2025-12-07 16:02 ` Kurt Borja
2025-12-07 17:12 ` David Lechner
2025-12-07 19:56 ` Jonathan Cameron
2025-12-08 4:06 ` Kurt Borja [this message]
2025-12-08 16:00 ` David Lechner
2025-12-10 4:08 ` Kurt Borja
2025-12-13 16:16 ` Jonathan Cameron
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=DESJEELPCGK3.3H15VL3YAC0RT@gmail.com \
--to=kuurtb@gmail.com \
--cc=Jonathan.Cameron@huawei.com \
--cc=andy@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dlechner@baylibre.com \
--cc=jic23@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=nuno.sa@analog.com \
--cc=robh@kernel.org \
--cc=tobias.sperling@softing.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).