Re: [PATCH v11 00/11] iio: adc: Add support for AVIA HX710B ADC
Jonathan Cameron <[email protected]>
| Newsgroups | org.kernel.vger.linux-iio,org.kernel.vger.linux-devicetree,org.kernel.vger.linux-kernel |
|---|---|
| Message-ID | <20260724223205.25184e92@jic23-huawei> |
On Fri, 24 Jul 2026 05:51:25 +0530 Piyush Patle <[email protected]> wrote: > On Mon, Jun 15, 2026 at 2:34 AM Jonathan Cameron <[email protected]> wrote: > > > > On Thu, 4 Jun 2026 00:18:48 +0530 > > Piyush Patle <[email protected]> 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. Exactly that - assuming nothing odd happens they should go into mainline in the next merge window. > > 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. Go for the togreg branch (it's a little behind but should have all your work on it) and make sure to have a Based-on entry in the cover letter. I'm not sure if Sashiko will find the right thing test on but worth a go. > > 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. Not that I know of, but we'll see on v11 :) Jonathan > > 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(-) > > > > >