162306a36Sopenharmony_ci# SPDX-License-Identifier: GPL-2.0
262306a36Sopenharmony_ci%YAML 1.2
362306a36Sopenharmony_ci---
462306a36Sopenharmony_ci$id: http://devicetree.org/schemas/iio/adc/avia-hx711.yaml#
562306a36Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
662306a36Sopenharmony_ci
762306a36Sopenharmony_cititle: AVIA HX711 ADC chip for weight cells
862306a36Sopenharmony_ci
962306a36Sopenharmony_cimaintainers:
1062306a36Sopenharmony_ci  - Andreas Klinger <ak@it-klinger.de>
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_cidescription: |
1362306a36Sopenharmony_ci  Bit-banging driver using two GPIOs:
1462306a36Sopenharmony_ci  - sck-gpio gives a clock to the sensor with 24 cycles for data retrieval
1562306a36Sopenharmony_ci    and up to 3 cycles for selection of the input channel and gain for the
1662306a36Sopenharmony_ci    next measurement
1762306a36Sopenharmony_ci  - dout-gpio is the sensor data the sensor responds to the clock
1862306a36Sopenharmony_ci
1962306a36Sopenharmony_ci  Specifications about the driver can be found at:
2062306a36Sopenharmony_ci  http://www.aviaic.com/ENProducts.aspx
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ciproperties:
2362306a36Sopenharmony_ci  compatible:
2462306a36Sopenharmony_ci    enum:
2562306a36Sopenharmony_ci      - avia,hx711
2662306a36Sopenharmony_ci
2762306a36Sopenharmony_ci  sck-gpios:
2862306a36Sopenharmony_ci    description:
2962306a36Sopenharmony_ci      Definition of the GPIO for the clock (output). In the datasheet it is
3062306a36Sopenharmony_ci      named PD_SCK
3162306a36Sopenharmony_ci    maxItems: 1
3262306a36Sopenharmony_ci
3362306a36Sopenharmony_ci  dout-gpios:
3462306a36Sopenharmony_ci    description:
3562306a36Sopenharmony_ci      Definition of the GPIO for the data-out sent by the sensor in
3662306a36Sopenharmony_ci      response to the clock (input).
3762306a36Sopenharmony_ci      See Documentation/devicetree/bindings/gpio/gpio.txt for information
3862306a36Sopenharmony_ci      on how to specify a consumer gpio.
3962306a36Sopenharmony_ci    maxItems: 1
4062306a36Sopenharmony_ci
4162306a36Sopenharmony_ci  avdd-supply:
4262306a36Sopenharmony_ci    description:
4362306a36Sopenharmony_ci      Definition of the regulator used as analog supply
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ci  clock-frequency:
4662306a36Sopenharmony_ci    minimum: 20000
4762306a36Sopenharmony_ci    maximum: 2500000
4862306a36Sopenharmony_ci    default: 400000
4962306a36Sopenharmony_ci
5062306a36Sopenharmony_cirequired:
5162306a36Sopenharmony_ci  - compatible
5262306a36Sopenharmony_ci  - sck-gpios
5362306a36Sopenharmony_ci  - dout-gpios
5462306a36Sopenharmony_ci  - avdd-supply
5562306a36Sopenharmony_ci
5662306a36Sopenharmony_ciadditionalProperties: false
5762306a36Sopenharmony_ci
5862306a36Sopenharmony_ciexamples:
5962306a36Sopenharmony_ci  - |
6062306a36Sopenharmony_ci    #include <dt-bindings/gpio/gpio.h>
6162306a36Sopenharmony_ci    weight {
6262306a36Sopenharmony_ci        compatible = "avia,hx711";
6362306a36Sopenharmony_ci        sck-gpios = <&gpio3 10 GPIO_ACTIVE_HIGH>;
6462306a36Sopenharmony_ci        dout-gpios = <&gpio0 7 GPIO_ACTIVE_HIGH>;
6562306a36Sopenharmony_ci        avdd-supply = <&avdd>;
6662306a36Sopenharmony_ci        clock-frequency = <100000>;
6762306a36Sopenharmony_ci    };
68