# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/adc/ti,ads131e08.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Texas Instruments ADS131E0x 4-, 6- and 8-Channel ADCs

maintainers:
  - Jonathan Cameron <jic23@kernel.org>

description: |
  The ADS131E0x are a family of multichannel, simultaneous sampling,
  24-bit, delta-sigma, analog-to-digital converters (ADCs) with a
  built-in programmable gain amplifier (PGA), internal reference
  and an onboard oscillator.
  The communication with ADC chip is via the SPI bus (mode 1).

  https://www.ti.com/lit/ds/symlink/ads131e08.pdf

properties:
  compatible:
    enum:
      - ti,ads131e04
      - ti,ads131e06
      - ti,ads131e08

  reg:
    maxItems: 1

  spi-cpha: true

  clocks:
    description: |
      Device tree identifier to the clock source (2.048 MHz).
      Note: clock source is selected using CLKSEL pin.
    maxItems: 1

  clock-names:
    items:
      - const: adc-clk

  interrupts:
    description: |
      IRQ line for the ADC data ready.
    maxItems: 1

  vref-supply:
    description: |
      Optional external voltage reference. If not supplied, internal voltage
      reference is used.

  ti,vref-internal:
    description: |
      Select the internal voltage reference value.
      0: 2.4V
      1: 4.0V
      If this field is left empty, 2.4V is selected.
      Note: internal voltage reference is used only if vref-supply is not supplied.
    $ref: /schemas/types.yaml#/definitions/uint32
    enum: [0, 1]
    default: 0

  '#address-cells':
    const: 1

  '#size-cells':
    const: 0

required:
  - compatible
  - reg
  - spi-cpha
  - clocks
  - clock-names
  - interrupts

patternProperties:
  "^channel@([0-7])$":
    $ref: adc.yaml
    type: object
    description: |
      Represents the external channels which are connected to the ADC.

    properties:
      reg:
        description: |
          The channel number.
          Up to 4 channels, numbered from 0 to 3 for ti,ads131e04.
          Up to 6 channels, numbered from 0 to 5 for ti,ads131e06.
          Up to 8 channels, numbered from 0 to 7 for ti,ads131e08.
        items:
          minimum: 0
          maximum: 7

      ti,gain:
        description: |
          The PGA gain value for the channel.
          If this field is left empty, PGA gain 1 is used.
        $ref: /schemas/types.yaml#/definitions/uint32
        enum: [1, 2, 4, 8, 12]
        default: 1

      ti,mux:
        description: |
          Channel input selection(muliplexer).
          0: Normal input.
          1: Input shorted to (VREFP + VREFN) / 2 (for offset or noise measurements).
          3: MVDD (for supply measurement)
          4: Temperature sensor
          If this field is left empty, normal input is selected.
        $ref: /schemas/types.yaml#/definitions/uint32
        enum: [0, 1, 3, 4]
        default: 0

    required:
      - reg

    additionalProperties: false

allOf:
  - $ref: /schemas/spi/spi-peripheral-props.yaml#

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/interrupt-controller/irq.h>

    spi {
      #address-cells = <1>;
      #size-cells = <0>;

      adc@0 {
        compatible = "ti,ads131e08";
        reg = <0>;
        spi-max-frequency = <1000000>;
        spi-cpha;
        clocks = <&clk2048k>;
        clock-names = "adc-clk";
        interrupt-parent = <&gpio5>;
        interrupts = <28 IRQ_TYPE_EDGE_FALLING>;
        vref-supply = <&adc_vref>;

        #address-cells = <1>;
        #size-cells = <0>;

        channel@0 {
          reg = <0>;
        };

        channel@1 {
          reg = <1>;
        };

        channel@2 {
          reg = <2>;
          ti,gain = <2>;
        };

        channel@3 {
          reg = <3>;
        };

        channel@4 {
          reg = <4>;
        };

        channel@5 {
          reg = <5>;
        };

        channel@6 {
          reg = <6>;
        };

        channel@7 {
          reg = <7>;
          ti,mux = <4>;
        };
      };
    };
