[PATCH v7 00/11] iio: adc: hx711: add HX710B support
From: Piyush Patle
Date: Sun May 10 2026 - 15:50:07 EST
Add support for the AVIA HX710B ADC, a HX711-compatible converter with
the same GPIO interface but a different channel-selection model and a
fixed gain of 128.
Compared to v6, this series folds in the remaining review feedback:
- patch 02: drop the incorrect "No functional change" and the forward
reference to HX710B from the VSUP commit message (Krzysztof Kozlowski)
- patch 03: drop the incorrect "No functional change" from the RATE GPIO
commit message (Krzysztof Kozlowski)
- patch 05: remove trailing inner commas from the struct initializers
(Andy Shevchenko); do not carry the stray trailing-newline removal
- patch 06: add Reviewed-by from Andy Shevchenko
- patch 08: remove the extra blank lines added between the split
declarations and their first use in hx711_read() and hx711_reset()
(Andy Shevchenko, Jonathan Cameron)
- patch 09: move HX711_DATA_BITS above the "gain to pulse and scale
conversion" comment so the constant is not semantically grouped with
the gain-to-pulse machinery (Andy Shevchenko)
- patch 10: add a blank line before the bare return 0 at the end of
hx711_set_hx711_channel() (Jonathan Cameron)
- patch 11: remove the explicit u32 pad member from the triggered-buffer
struct; aligned_s64 provides the necessary alignment on its own
(Jonathan Cameron); add a comment explaining why the layout change does
not break the existing HX711 ABI (Andy Shevchenko)
The DT binding and driver structure are unchanged from v6.
Tested on PocketBeagle2 with an HX710B breakout module. The device
probed successfully, all three channels returned stable raw readings,
and alternating reads confirmed channel switching between the
differential input and the DVDD-AVDD supply monitor path.
Build-tested with:
- make -s W=1 drivers/iio/adc/hx711.o
- make -s dt_binding_check \
DT_SCHEMA_FILES=Documentation/devicetree/bindings/iio/adc/avia-hx711.yaml
- pahole -C hx711_chip_info drivers/iio/adc/hx711.o
Note: patch 08 produces a checkpatch warning ("Missing a blank line after
declarations") for the hx711_reset() change. This is intentional as both
Andy Shevchenko and Jonathan Cameron explicitly requested the blank line
be removed so the split declaration and its initializing assignment are
treated as a unit.
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 | 77 ++++-
drivers/iio/adc/Kconfig | 8 +-
drivers/iio/adc/hx711.c | 304 ++++++++++++++----
3 files changed, 314 insertions(+), 75 deletions(-)
--
2.43.0