* [PATCH v1 1/2] dt-bindings: iio: adc: avia-hx711: add avia,hx710b compatible
@ 2026-04-18 17:05 Piyush Patle
2026-04-18 21:46 ` David Lechner
0 siblings, 1 reply; 4+ messages in thread
From: Piyush Patle @ 2026-04-18 17:05 UTC (permalink / raw)
To: jic23, ak, robh, krzk+dt, conor+dt
Cc: dlechner, nuno.sa, andy, linux-iio, devicetree, linux-kernel
Add the HX710B compatible to the binding and describe the variant-specific
channel and gain model.
Also add an example node for HX710B so the schema covers both supported
parts.
Signed-off-by: Piyush Patle <piyushpatle228@gmail.com>
---
.../bindings/iio/adc/avia-hx711.yaml | 36 +++++++++++++++----
1 file changed, 30 insertions(+), 6 deletions(-)
diff --git a/Documentation/devicetree/bindings/iio/adc/avia-hx711.yaml b/Documentation/devicetree/bindings/iio/adc/avia-hx711.yaml
index 9c57eb13f892..19318c4dd994 100644
--- a/Documentation/devicetree/bindings/iio/adc/avia-hx711.yaml
+++ b/Documentation/devicetree/bindings/iio/adc/avia-hx711.yaml
@@ -4,7 +4,7 @@
$id: http://devicetree.org/schemas/iio/adc/avia-hx711.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
-title: AVIA HX711 ADC chip for weight cells
+title: AVIA HX711 and HX710B ADCs
maintainers:
- Andreas Klinger <ak@it-klinger.de>
@@ -12,9 +12,19 @@ maintainers:
description: |
Bit-banging driver using two GPIOs:
- sck-gpio gives a clock to the sensor with 24 cycles for data retrieval
- and up to 3 cycles for selection of the input channel and gain for the
- next measurement
- - dout-gpio is the sensor data the sensor responds to the clock
+ and 1 to 3 additional cycles for selection of the input channel and gain
+ for the next measurement
+ - dout-gpio is the sensor data output the sensor drives in response to
+ the clock
+
+ HX711: 24-bit ADC with selectable gain (32/64/128) and two differential
+ input channels. Channel A supports gain 64 and 128; channel B supports
+ gain 32.
+
+ HX710B: 24-bit ADC with fixed gain of 128. Channel 0 is the differential
+ input and channel 1 measures the DVDD-AVDD supply voltage difference.
+ Channel selection for the next conversion is controlled by the number of
+ trailing PD_SCK pulses.
Specifications about the driver can be found at:
http://www.aviaic.com/ENProducts.aspx
@@ -23,11 +33,12 @@ properties:
compatible:
enum:
- avia,hx711
+ - avia,hx710b
sck-gpios:
description:
Definition of the GPIO for the clock (output). In the datasheet it is
- named PD_SCK
+ named PD_SCK.
maxItems: 1
dout-gpios:
@@ -43,6 +54,9 @@ properties:
Definition of the regulator used as analog supply
clock-frequency:
+ description:
+ Bit-bang clock frequency on PD_SCK. Keep the PD_SCK high time below
+ the chip power-down threshold.
minimum: 20000
maximum: 2500000
default: 400000
@@ -58,10 +72,20 @@ additionalProperties: false
examples:
- |
#include <dt-bindings/gpio/gpio.h>
- weight {
+ /* HX711 example */
+ weight0 {
compatible = "avia,hx711";
sck-gpios = <&gpio3 10 GPIO_ACTIVE_HIGH>;
dout-gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
avdd-supply = <&avdd>;
clock-frequency = <100000>;
};
+ - |
+ #include <dt-bindings/gpio/gpio.h>
+ /* HX710B example */
+ weight1 {
+ compatible = "avia,hx710b";
+ sck-gpios = <&gpio3 11 GPIO_ACTIVE_HIGH>;
+ dout-gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>;
+ avdd-supply = <&avdd>;
+ };
--
2.43.0
^ permalink raw reply related [flat|nested] 4+ messages in thread* Re: [PATCH v1 1/2] dt-bindings: iio: adc: avia-hx711: add avia,hx710b compatible
2026-04-18 17:05 [PATCH v1 1/2] dt-bindings: iio: adc: avia-hx711: add avia,hx710b compatible Piyush Patle
@ 2026-04-18 21:46 ` David Lechner
2026-04-19 5:17 ` Andreas Klinger
0 siblings, 1 reply; 4+ messages in thread
From: David Lechner @ 2026-04-18 21:46 UTC (permalink / raw)
To: Piyush Patle, jic23, ak, robh, krzk+dt, conor+dt
Cc: nuno.sa, andy, linux-iio, devicetree, linux-kernel
On 4/18/26 12:05 PM, Piyush Patle wrote:
> Add the HX710B compatible to the binding and describe the variant-specific
> channel and gain model.
>
> Also add an example node for HX710B so the schema covers both supported
> parts.
>
> Signed-off-by: Piyush Patle <piyushpatle228@gmail.com>
> ---
> .../bindings/iio/adc/avia-hx711.yaml | 36 +++++++++++++++----
> 1 file changed, 30 insertions(+), 6 deletions(-)
>
> diff --git a/Documentation/devicetree/bindings/iio/adc/avia-hx711.yaml b/Documentation/devicetree/bindings/iio/adc/avia-hx711.yaml
> index 9c57eb13f892..19318c4dd994 100644
> --- a/Documentation/devicetree/bindings/iio/adc/avia-hx711.yaml
> +++ b/Documentation/devicetree/bindings/iio/adc/avia-hx711.yaml
> @@ -4,7 +4,7 @@
> $id: http://devicetree.org/schemas/iio/adc/avia-hx711.yaml#
> $schema: http://devicetree.org/meta-schemas/core.yaml#
>
> -title: AVIA HX711 ADC chip for weight cells
> +title: AVIA HX711 and HX710B ADCs
>
> maintainers:
> - Andreas Klinger <ak@it-klinger.de>
> @@ -12,9 +12,19 @@ maintainers:
> description: |
> Bit-banging driver using two GPIOs:
> - sck-gpio gives a clock to the sensor with 24 cycles for data retrieval
> - and up to 3 cycles for selection of the input channel and gain for the
> - next measurement
> - - dout-gpio is the sensor data the sensor responds to the clock
> + and 1 to 3 additional cycles for selection of the input channel and gain
> + for the next measurement
> + - dout-gpio is the sensor data output the sensor drives in response to
> + the clock
> +
> + HX711: 24-bit ADC with selectable gain (32/64/128) and two differential
> + input channels. Channel A supports gain 64 and 128; channel B supports
> + gain 32.
> +
> + HX710B: 24-bit ADC with fixed gain of 128. Channel 0 is the differential
> + input and channel 1 measures the DVDD-AVDD supply voltage difference.
> + Channel selection for the next conversion is controlled by the number of
> + trailing PD_SCK pulses.
The bits about "bit-banging" and "channel selection" sound like driver
implementation details that don't belong in the DT bindings.
>
> Specifications about the driver can be found at:
> http://www.aviaic.com/ENProducts.aspx
> @@ -23,11 +33,12 @@ properties:
> compatible:
> enum:
> - avia,hx711
> + - avia,hx710b
>
> sck-gpios:
> description:
> Definition of the GPIO for the clock (output). In the datasheet it is
> - named PD_SCK
> + named PD_SCK.
Save the cleanups for a separate patch to keep the adding HX710B changes clear.
I'm guessing the existing binding for HX711 is quite old because it is quite
incomplete.
It has avdd-supply, but is missing vsup-supply and dvdd-supply.
It should probably also have a way to describe how the rate pin is wired.
And it should have a clocks property instead of clock-frequency.
It would make sense to have two clocks, on for XI/XO and one for PD_SCK.
The second one being optional because of sck-gpios.
HX710B has many fewer pins, so we will need an:
allOf:
- if:
properties:
compatible:
const: avia,hx710b
section that sets anything for pins that chip doesn't have to false, like
vsup-supply.
HX710B also has a vref-supply that HX711 doesn't have. (Unless these are the
same thing by a different name?)
> maxItems: 1
>
> dout-gpios:
> @@ -43,6 +54,9 @@ properties:
> Definition of the regulator used as analog supply
>
> clock-frequency:
> + description:
> + Bit-bang clock frequency on PD_SCK. Keep the PD_SCK high time below
> + the chip power-down threshold.
I suspect that this was meant to be the crystal frequency (XI/XO), not PD_SCK
since sck-gpios already exists for PD_SCK
> minimum: 20000
> maximum: 2500000
> default: 400000
> @@ -58,10 +72,20 @@ additionalProperties: false
> examples:
> - |
> #include <dt-bindings/gpio/gpio.h>
> - weight {
> + /* HX711 example */
The compatible string already has the part number, so this comment
doesn't really and any new info.
> + weight0 {
> compatible = "avia,hx711";
> sck-gpios = <&gpio3 10 GPIO_ACTIVE_HIGH>;
> dout-gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
> avdd-supply = <&avdd>;
> clock-frequency = <100000>;
> };
> + - |
> + #include <dt-bindings/gpio/gpio.h>
> + /* HX710B example */
> + weight1 {
> + compatible = "avia,hx710b";
> + sck-gpios = <&gpio3 11 GPIO_ACTIVE_HIGH>;
> + dout-gpios = <&gpio0 8 GPIO_ACTIVE_HIGH>;
> + avdd-supply = <&avdd>;
> + };
There is nothing significantly different about this example, so it
isn't particularly useful.
^ permalink raw reply [flat|nested] 4+ messages in thread* Re: [PATCH v1 1/2] dt-bindings: iio: adc: avia-hx711: add avia,hx710b compatible
2026-04-18 21:46 ` David Lechner
@ 2026-04-19 5:17 ` Andreas Klinger
2026-04-19 11:47 ` Jonathan Cameron
0 siblings, 1 reply; 4+ messages in thread
From: Andreas Klinger @ 2026-04-19 5:17 UTC (permalink / raw)
To: David Lechner
Cc: Piyush Patle, jic23, robh, krzk+dt, conor+dt, nuno.sa, andy,
linux-iio, devicetree, linux-kernel
Hi,
David Lechner <dlechner@baylibre.com> schrieb am Sa, 18. Apr 16:46:
> On 4/18/26 12:05 PM, Piyush Patle wrote:
[...]
> >
> > Specifications about the driver can be found at:
> > http://www.aviaic.com/ENProducts.aspx
> > @@ -23,11 +33,12 @@ properties:
> > compatible:
> > enum:
> > - avia,hx711
> > + - avia,hx710b
> >
> > sck-gpios:
> > description:
> > Definition of the GPIO for the clock (output). In the datasheet it is
> > - named PD_SCK
> > + named PD_SCK.
>
> Save the cleanups for a separate patch to keep the adding HX710B changes clear.
>
> I'm guessing the existing binding for HX711 is quite old because it is quite
> incomplete.
>
> It has avdd-supply, but is missing vsup-supply and dvdd-supply.
>
> It should probably also have a way to describe how the rate pin is wired.
>
> And it should have a clocks property instead of clock-frequency.
The real meaning is a wait time until the DOUT is stable. As a submitted the
driver many years ago my suggestion of a wait time property was not accepted
because it would have introduced a new property which didn't exit in those days.
The suggestion was to name it clock-frequency because it already existed. This
clock-frequency made the driver also a little bit more complicated because at
the end we needed a waiting time and not a frequency.
Today i see there is as "wait-delay" property already introduced at other
bindings. This would also simplify the driver a bit.
@robh@kernel.org, @krzk+dt@kernel.org, @conor+dt@kernel.org:
Would this change in the binding be acceptable?
If yes, i could prepare a driver and binding patch separate of this patchset to
clean it up.
> It would make sense to have two clocks, on for XI/XO and one for PD_SCK.
> The second one being optional because of sck-gpios.
>
> HX710B has many fewer pins, so we will need an:
>
> allOf:
> - if:
> properties:
> compatible:
> const: avia,hx710b
>
> section that sets anything for pins that chip doesn't have to false, like
> vsup-supply.
>
> HX710B also has a vref-supply that HX711 doesn't have. (Unless these are the
> same thing by a different name?)
>
>
> > maxItems: 1
> >
> > dout-gpios:
> > @@ -43,6 +54,9 @@ properties:
> > Definition of the regulator used as analog supply
> >
> > clock-frequency:
> > + description:
> > + Bit-bang clock frequency on PD_SCK. Keep the PD_SCK high time below
> > + the chip power-down threshold.
>
> I suspect that this was meant to be the crystal frequency (XI/XO), not PD_SCK
> since sck-gpios already exists for PD_SCK
see above
[...]
Best regards,
Andreas
--
^ permalink raw reply [flat|nested] 4+ messages in thread
* Re: [PATCH v1 1/2] dt-bindings: iio: adc: avia-hx711: add avia,hx710b compatible
2026-04-19 5:17 ` Andreas Klinger
@ 2026-04-19 11:47 ` Jonathan Cameron
0 siblings, 0 replies; 4+ messages in thread
From: Jonathan Cameron @ 2026-04-19 11:47 UTC (permalink / raw)
To: Andreas Klinger
Cc: David Lechner, Piyush Patle, robh, krzk+dt, conor+dt, nuno.sa,
andy, linux-iio, devicetree, linux-kernel
On Sun, 19 Apr 2026 07:17:50 +0200
Andreas Klinger <ak@it-klinger.de> wrote:
> Hi,
>
> David Lechner <dlechner@baylibre.com> schrieb am Sa, 18. Apr 16:46:
> > On 4/18/26 12:05 PM, Piyush Patle wrote:
>
> [...]
>
> > >
> > > Specifications about the driver can be found at:
> > > http://www.aviaic.com/ENProducts.aspx
> > > @@ -23,11 +33,12 @@ properties:
> > > compatible:
> > > enum:
> > > - avia,hx711
> > > + - avia,hx710b
> > >
> > > sck-gpios:
> > > description:
> > > Definition of the GPIO for the clock (output). In the datasheet it is
> > > - named PD_SCK
> > > + named PD_SCK.
> >
> > Save the cleanups for a separate patch to keep the adding HX710B changes clear.
> >
> > I'm guessing the existing binding for HX711 is quite old because it is quite
> > incomplete.
> >
> > It has avdd-supply, but is missing vsup-supply and dvdd-supply.
> >
> > It should probably also have a way to describe how the rate pin is wired.
> >
> > And it should have a clocks property instead of clock-frequency.
>
> The real meaning is a wait time until the DOUT is stable. As a submitted the
> driver many years ago my suggestion of a wait time property was not accepted
> because it would have introduced a new property which didn't exit in those days.
> The suggestion was to name it clock-frequency because it already existed. This
> clock-frequency made the driver also a little bit more complicated because at
> the end we needed a waiting time and not a frequency.
>
> Today i see there is as "wait-delay" property already introduced at other
> bindings. This would also simplify the driver a bit.
>
> @robh@kernel.org, @krzk+dt@kernel.org, @conor+dt@kernel.org:
> Would this change in the binding be acceptable?
>
> If yes, i could prepare a driver and binding patch separate of this patchset to
> clean it up.
You would need to maintain backwards compatiblity with the old binding.
Might be fine to deprecate it.
Jonathan
>
> > It would make sense to have two clocks, on for XI/XO and one for PD_SCK.
> > The second one being optional because of sck-gpios.
> >
> > HX710B has many fewer pins, so we will need an:
> >
> > allOf:
> > - if:
> > properties:
> > compatible:
> > const: avia,hx710b
> >
> > section that sets anything for pins that chip doesn't have to false, like
> > vsup-supply.
> >
> > HX710B also has a vref-supply that HX711 doesn't have. (Unless these are the
> > same thing by a different name?)
> >
> >
> > > maxItems: 1
> > >
> > > dout-gpios:
> > > @@ -43,6 +54,9 @@ properties:
> > > Definition of the regulator used as analog supply
> > >
> > > clock-frequency:
> > > + description:
> > > + Bit-bang clock frequency on PD_SCK. Keep the PD_SCK high time below
> > > + the chip power-down threshold.
> >
> > I suspect that this was meant to be the crystal frequency (XI/XO), not PD_SCK
> > since sck-gpios already exists for PD_SCK
>
> see above
>
> [...]
>
> Best regards,
>
> Andreas
>
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2026-04-19 11:47 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-04-18 17:05 [PATCH v1 1/2] dt-bindings: iio: adc: avia-hx711: add avia,hx710b compatible Piyush Patle
2026-04-18 21:46 ` David Lechner
2026-04-19 5:17 ` Andreas Klinger
2026-04-19 11:47 ` Jonathan Cameron
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox