Re: [PATCH v10 00/11] iio: adc: Add support for AVIA HX710B ADC

From: Jonathan Cameron

Date: Wed May 27 2026 - 13:35:51 EST


On Mon, 25 May 2026 16:21:16 +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.
>
> Patches 01/11, 02/11, 03/11, and 05/11 have already been applied to
> the iio.git testing branch. They are re-included here so the series
> applies cleanly as a unit.

Given the version I had of patch 2 was rather different from current
I've rebased my tree to drop it and patch 3.
Thankfully that didn't result in an sha hashes changing for the few
fixes I have queued up. Hopefully not too painful for anyone
based on my togreg tree. Briefly that will be out of sync with testing
as I have other stuff being tested on there.

>
> Changes from v9:
> - 02/11: Added dvdd-supply alongside vsup-supply. Per the v8
> discussion, DVDD is a board-supplied digital rail on the HX711
> (figure 1 of the datasheet shows it as a separate input supply,
> not merely a bypass capacitor point). It was missing from the
> original binding. Moved its declaration from 04/11 to this earlier
> shared-supply patch.
> - 04/11: Removed dvdd-supply declaration (now in 02/11). Updated
> commit message to reflect the patch now adds only vref-supply and
> the allOf constraint.
> - 06/11: No code change. Removed inaccurate below-the-line note
> about __counted_by_ptr() commit reference.
> - 08/11: Remove blank line between val = hx711_wait_for_ready() and
> if (val) check in hx711_reset().
> - 11/11: Revert IIO_DECLARE_BUFFER_WITH_TS() to explicit named
> struct (both variants have exactly 2 channels). Add
> iio_device_claim_direct_mode() in hx710b_write_raw() to prevent
> concurrent hardware changes during triggered buffer capture; drop
> channel_set = 0 reset (hx711_set_hx710b_channel() re-programs the
> chip automatically on the next read). MODULE_DESCRIPTION: change
> 'compatible' to 'similar'.
>
> Piyush Patle (11):
> dt-bindings: iio: adc: hx711: clean up existing binding text
> dt-bindings: iio: adc: hx711: add VSUP supply property
> 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 | 79 +++-
> drivers/iio/adc/Kconfig | 8 +-
> drivers/iio/adc/hx711.c | 351 +++++++++++++++---
> 3 files changed, 363 insertions(+), 75 deletions(-)
>