All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v11 00/11] iio: adc: Add support for AVIA HX710B ADC
@ 2026-06-03 18:48 Piyush Patle
  2026-06-03 18:48 ` [PATCH v11 01/11] dt-bindings: iio: adc: hx711: clean up existing binding text Piyush Patle
                   ` (11 more replies)
  0 siblings, 12 replies; 18+ messages in thread
From: Piyush Patle @ 2026-06-03 18:48 UTC (permalink / raw)
  To: linux-iio, devicetree, linux-kernel
  Cc: jic23, ak, robh, krzk+dt, conor+dt, andy, nuno.sa, dlechner

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.

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(-)

-- 
2.43.0


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2026-06-14 21:04 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-06-03 18:48 [PATCH v11 00/11] iio: adc: Add support for AVIA HX710B ADC Piyush Patle
2026-06-03 18:48 ` [PATCH v11 01/11] dt-bindings: iio: adc: hx711: clean up existing binding text Piyush Patle
2026-06-03 18:48 ` [PATCH v11 02/11] dt-bindings: iio: adc: hx711: add VSUP and DVDD supply properties Piyush Patle
2026-06-03 18:48 ` [PATCH v11 03/11] dt-bindings: iio: adc: hx711: add RATE GPIO property Piyush Patle
2026-06-03 18:48 ` [PATCH v11 04/11] dt-bindings: iio: adc: hx711: add HX710B support Piyush Patle
2026-06-03 19:02   ` sashiko-bot
2026-06-04 17:03     ` Conor Dooley
2026-06-03 18:48 ` [PATCH v11 05/11] iio: adc: hx711: move scale computation to per-device storage Piyush Patle
2026-06-03 18:48 ` [PATCH v11 06/11] iio: adc: hx711: introduce hx711_chip_info structure Piyush Patle
2026-06-03 19:00   ` sashiko-bot
2026-06-03 18:48 ` [PATCH v11 07/11] iio: adc: hx711: pass trailing pulse count into hx711_read Piyush Patle
2026-06-03 18:48 ` [PATCH v11 08/11] iio: adc: hx711: split variable assignments in hx711_read and hx711_reset Piyush Patle
2026-06-03 18:48 ` [PATCH v11 09/11] iio: adc: hx711: localize loop iterators in hx711_read Piyush Patle
2026-06-03 18:48 ` [PATCH v11 10/11] iio: adc: hx711: pass iio_chan_spec to hx711_reset_read Piyush Patle
2026-06-03 18:48 ` [PATCH v11 11/11] iio: adc: hx711: add support for HX710B Piyush Patle
2026-06-03 19:06   ` sashiko-bot
2026-06-14 20:19   ` Jonathan Cameron
2026-06-14 21:04 ` [PATCH v11 00/11] iio: adc: Add support for AVIA HX710B ADC Jonathan Cameron

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.