Re: [PATCH v11 00/11] iio: adc: Add support for AVIA HX710B ADC
From: Piyush Patle
Date: Thu Jul 23 2026 - 20:22:17 EST
On Mon, Jun 15, 2026 at 2:34 AM Jonathan Cameron <jic23@xxxxxxxxxx> wrote:
>
> On Thu, 4 Jun 2026 00:18:48 +0530
> Piyush Patle <piyushpatle228@xxxxxxxxx> wrote:
>
> > The HX710B is a 24-bit ADC from AVIA Semiconductor, related to the
> > HX711 already supported in this driver. Unlike the HX711 (which has
> > selectable gain and two input channels), the HX710B has a fixed gain
> > of 128 and two operating modes selected by the trailing PD_SCK pulse
> > count after each conversion:
> >
> > 25 pulses (1 trailing): differential input at 10 SPS
> > 26 pulses (2 trailing): DVDD-AVDD supply monitor at 40 SPS
> > 27 pulses (3 trailing): differential input at 40 SPS
> >
> > This series first extends the existing HX711 binding and driver with
> > preparatory refactoring, then adds HX710B support on top.
> >
> > The differential input is exposed as a single IIO channel with
> > IIO_CHAN_INFO_SAMP_FREQ, allowing userspace to select 10 or 40 SPS
> > without needing two separate channels for the same physical input.
> > The supply monitor is a second channel at fixed 40 SPS.
> >
> > This revision is rebased onto current mainline. Note that
> > iio_device_claim_direct_mode() / iio_device_release_direct_mode() were
> > removed from the IIO core since v10, so 11/11 now uses the replacement
> > iio_device_claim_direct() / iio_device_release_direct() API.
> >
> > Tested on a PocketBeagle2 (TI AM625): the avia,hx710b node probes and
> > the driver registers its two IIO channels.
> >
> > Changes from v10:
> > - 02/11: Retitled to "add VSUP and DVDD supply properties"; the
> > commit message now documents both supplies (the patch already
> > added both; only the title/text were out of sync). [Jonathan]
> > - 04/11: Reworded commit message so DVDD is no longer described as
> > HX710B-specific (it is added for both parts in 02/11). The
> > compatible match now uses "contains: const: avia,hx710b" so the
> > constraints still apply if the compatible is later used as a
> > fallback. dvdd-supply is now required for HX710B (in the HX710B
> > branch only, so existing HX711 device trees are unaffected) and
> > added to the HX710B example. [Jonathan, Conor, Sashiko]
> > - 11/11: Kconfig title and file header use "similar" instead of
> > "compatible". Simplified the tail of hx711_set_hx710b_channel()
> > to "return hx711_wait_for_ready()". Dropped an unrelated
> > reindentation of the iio_push_to_buffers_with_timestamp() call.
> > Converted hx710b_write_raw() to the new
> > iio_device_claim_direct() API (see above). [Jonathan]
> >
> > The Reviewed-by (Andy Shevchenko) and Acked-by (Conor Dooley) tags on
> > 02/11 and 04/11 are carried over although those patches changed; please
> > re-confirm if you disagree with the reworked constraints.
> As the only comments I had (well mostly sashiko) were on the 710b patch
> at the end and some patches were queued from previous patches, I now have
> patches 1-3 and 5-10 applied to the testing branch of iio.git.
Thanks a lot for picking those up, and for the reviews through the
series.
Two questions, mostly to make sure I do the right thing next:
Looking at mainline I currently only see 01/11 ("dt-bindings: iio: adc:
hx711: clean up existing binding text") and 05/11 ("iio: adc: hx711:
move scale computation to per-device storage") under my name. I assume
the rest are still sitting in testing/togreg and will flow in at the
next merge window rather than anything having gone missing, is that
right? Just checking I'm reading the tree correctly, no rush from my
side.
For the two that weren't applied, 04/11 (dt-bindings HX710B) and 11/11
(driver HX710B support): would you prefer I resend just those two as a
standalone v12 based on the testing branch, once I've worked through
the remaining comments from you and Sashiko? That seemed cleaner than
reposting all eleven, but happy to send the full series again if you'd
rather have it that way.
If there is anything still outstanding on 04/11 or 11/11 beyond what
was raised on v11, please do point me at it and I'll fold it in.
Thanks,
Piyush
>
> Thanks,
>
> Jonathan
>
> >
> > Patches 01/11, 03/11, and 05/11 are unchanged from v10.
> >
> > Piyush Patle (11):
> > dt-bindings: iio: adc: hx711: clean up existing binding text
> > dt-bindings: iio: adc: hx711: add VSUP and DVDD supply properties
> > dt-bindings: iio: adc: hx711: add RATE GPIO property
> > dt-bindings: iio: adc: hx711: add HX710B support
> > iio: adc: hx711: move scale computation to per-device storage
> > iio: adc: hx711: introduce hx711_chip_info structure
> > iio: adc: hx711: pass trailing pulse count into hx711_read
> > iio: adc: hx711: split variable assignments in hx711_read and
> > hx711_reset
> > iio: adc: hx711: localize loop iterators in hx711_read
> > iio: adc: hx711: pass iio_chan_spec to hx711_reset_read
> > iio: adc: hx711: add support for HX710B
> >
> > .../bindings/iio/adc/avia-hx711.yaml | 82 ++++-
> > drivers/iio/adc/Kconfig | 8 +-
> > drivers/iio/adc/hx711.c | 343 +++++++++++++++---
> > 3 files changed, 359 insertions(+), 74 deletions(-)
> >
>