diff options
Diffstat (limited to 'dts/upstream/Bindings/iio/adc')
20 files changed, 1253 insertions, 88 deletions
| diff --git a/dts/upstream/Bindings/iio/adc/adi,ad4080.yaml b/dts/upstream/Bindings/iio/adc/adi,ad4080.yaml new file mode 100644 index 00000000000..ed849ba1b77 --- /dev/null +++ b/dts/upstream/Bindings/iio/adc/adi,ad4080.yaml @@ -0,0 +1,96 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +# Copyright 2025 Analog Devices Inc. +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iio/adc/adi,ad4080.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Analog Devices AD4080 20-Bit, 40 MSPS, Differential SAR ADC + +maintainers: +  - Antoniu Miclaus <antoniu.miclaus@analog.com> + +description: | +  The AD4080 is a high speed, low noise, low distortion, 20-bit, Easy Drive, +  successive approximation register (SAR) analog-to-digital converter (ADC). +  Maintaining high performance (signal-to-noise and distortion (SINAD) ratio +  > 90 dBFS) at signal frequencies in excess of 1 MHz enables the AD4080 to +  service a wide variety of precision, wide bandwidth data acquisition +  applications. + +  https://www.analog.com/media/en/technical-documentation/data-sheets/ad4080.pdf + +$ref: /schemas/spi/spi-peripheral-props.yaml# + +properties: +  compatible: +    enum: +      - adi,ad4080 + +  reg: +    maxItems: 1 + +  spi-max-frequency: +    description: Configuration of the SPI bus. +    maximum: 50000000 + +  clocks: +    maxItems: 1 + +  clock-names: +    items: +      - const: cnv + +  vdd33-supply: true + +  vdd11-supply: true + +  vddldo-supply: true + +  iovdd-supply: true + +  vrefin-supply: true + +  io-backends: +    maxItems: 1 + +  adi,lvds-cnv-enable: +    description: Enable the LVDS signal type on the CNV pin. Default is CMOS. +    type: boolean + +  adi,num-lanes: +    description: +      Number of lanes on which the data is sent on the output (DA, DB pins). +    $ref: /schemas/types.yaml#/definitions/uint32 +    enum: [1, 2] +    default: 1 + +required: +  - compatible +  - reg +  - clocks +  - clock-names +  - vdd33-supply +  - vrefin-supply + +additionalProperties: false + +examples: +  - | +    spi { +        #address-cells = <1>; +        #size-cells = <0>; + +        adc@0 { +          compatible = "adi,ad4080"; +          reg = <0>; +          spi-max-frequency = <10000000>; +          vdd33-supply = <&vdd33>; +          vddldo-supply = <&vddldo>; +          vrefin-supply = <&vrefin>; +          clocks = <&cnv>; +          clock-names = "cnv"; +          io-backends = <&iio_backend>; +        }; +    }; +... diff --git a/dts/upstream/Bindings/iio/adc/adi,ad4170-4.yaml b/dts/upstream/Bindings/iio/adc/adi,ad4170-4.yaml new file mode 100644 index 00000000000..da93213d12d --- /dev/null +++ b/dts/upstream/Bindings/iio/adc/adi,ad4170-4.yaml @@ -0,0 +1,554 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iio/adc/adi,ad4170-4.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Analog Devices AD4170-4 and similar Analog to Digital Converters + +maintainers: +  - Marcelo Schmitt <marcelo.schmitt@analog.com> + +description: | +  Analog Devices AD4170-4 series of Sigma-delta Analog to Digital Converters. +  Specifications can be found at: +    https://www.analog.com/media/en/technical-documentation/data-sheets/ad4170-4.pdf +    https://www.analog.com/media/en/technical-documentation/data-sheets/ad4190-4.pdf +    https://www.analog.com/media/en/technical-documentation/data-sheets/ad4195-4.pdf + +$ref: /schemas/spi/spi-peripheral-props.yaml# + +$defs: +  reference-buffer: +    description: | +      Enable precharge buffer, full buffer, or skip reference buffering of +      the positive/negative voltage reference. Because the output impedance +      of the source driving the voltage reference inputs may be dynamic, +      resistive/capacitive combinations of those inputs can cause DC gain +      errors if the reference inputs go unbuffered into the ADC. Enable +      reference buffering if the provided reference source has dynamic high +      impedance output. Note the absolute voltage allowed on REFINn+ and REFINn- +      inputs is from AVSS - 50 mV to AVDD + 50 mV when the reference buffers are +      disabled but narrows to AVSS to AVDD when reference buffering is enabled +      or in precharge mode. +    $ref: /schemas/types.yaml#/definitions/string +    enum: [ precharge, full, disabled ] +    default: full + +properties: +  compatible: +    enum: +      - adi,ad4170-4 +      - adi,ad4190-4 +      - adi,ad4195-4 + +  avss-supply: +    description: +      Reference voltage supply for AVSS. A −2.625V minimum and 0V maximum supply +      that powers the chip. If not provided, AVSS is assumed to be at system +      ground (0V). + +  avdd-supply: +    description: +      A supply of 4.75V to 5.25V relative to AVSS that powers the chip (AVDD). + +  iovdd-supply: +    description: 1.7V to 5.25V reference supply to the serial interface (IOVDD). + +  refin1p-supply: +    description: REFIN+ supply that can be used as reference for conversion. + +  refin1n-supply: +    description: REFIN- supply that can be used as reference for conversion. + +  refin2p-supply: +    description: REFIN2+ supply that can be used as reference for conversion. + +  refin2n-supply: +    description: REFIN2- supply that can be used as reference for conversion. + +  spi-cpol: true + +  spi-cpha: true + +  interrupts: +    description: +      Interrupt for signaling the completion of conversion results. The data +      ready signal (RDY) used as interrupt is by default provided on the SDO +      pin. Alternatively, it can be provided on the DIG_AUX1 pin in which case +      the chip disables the RDY function on SDO. Thus, there can be only one +      data ready interrupt enabled at a time. + +  interrupt-names: +    description: +      Specify which pin should be configured as Data Ready interrupt. +    enum: +      - sdo +      - dig_aux1 + +  clocks: +    maxItems: 1 +    description: +      Optional external clock source. Can specify either an external clock or +      external crystal. + +  clock-names: +    enum: +      - ext-clk +      - xtal +    default: ext-clk + +  '#clock-cells': +    const: 0 + +  clock-output-names: +    maxItems: 1 + +  gpio-controller: true + +  "#gpio-cells": +    const: 2 +    description: | +      The first cell is for the GPIO number: 0 to 3. +      The second cell takes standard GPIO flags. + +  ldac-gpios: +    description: +      GPIO connected to DIG_AUX2 pin to be used as LDAC toggle to control the +      transfer of data from the DAC_INPUT_A register to the DAC. +    maxItems: 1 + +  '#address-cells': +    const: 1 + +  '#size-cells': +    const: 0 + +  adi,vbias-pins: +    description: Analog inputs to apply a voltage bias of (AVDD − AVSS) / 2 to. +    $ref: /schemas/types.yaml#/definitions/uint32-array +    minItems: 1 +    maxItems: 9 +    items: +      minimum: 0 +      maximum: 8 + +allOf: +  # Some devices don't have integrated DAC +  - if: +      properties: +        compatible: +          contains: +            enum: +              - adi,ad4190-4 +              - adi,ad4195-4 +    then: +      properties: +        ldac-gpios: false + +  # Require to specify the interrupt pin when using interrupts +  - if: +      required: +        - interrupts +    then: +      required: +        - interrupt-names + +  # If an external clock is set, the internal clock cannot go out and vice versa +  - oneOf: +      - required: [clocks] +        properties: +          '#clock-cells': false +      - required: ['#clock-cells'] +        properties: +          clocks: false + +required: +  - compatible +  - reg +  - avdd-supply +  - iovdd-supply +  - spi-cpol +  - spi-cpha + +unevaluatedProperties: false + +patternProperties: +  "^channel@[0-9a-f]$": +    $ref: /schemas/iio/adc/adc.yaml# +    unevaluatedProperties: false +    description: +      Represents the external channels which are connected to the ADC. + +    properties: +      reg: +        description: +          The channel number. +        minimum: 0 +        maximum: 15 + +      diff-channels: +        description: | +          This property is used for defining the inputs of a differential +          voltage channel. The first value is the positive input and the second +          value is the negative input of the channel. + +          Besides the analog input pins AIN0 to AIN8, there are special inputs +          that can be selected with the following values: +          17: Internal temperature sensor +          18: (AVDD-AVSS)/5 +          19: (IOVDD-DGND)/5 +          20: DAC output +          21: ALDO +          22: DLDO +          23: AVSS +          24: DGND +          25: REFIN+ +          26: REFIN- +          27: REFIN2+ +          28: REFIN2- +          29: REFOUT +          For the internal temperature sensor, use the input number for both +          inputs (i.e. diff-channels = <17 17>). +        items: +          enum: [0, 1, 2, 3, 4, 5, 6, 7, 8, 17, 18, 19, 20, 21, 22, 23, 24, 25, +                 26, 27, 28, 29] + +      adi,reference-select: +        description: | +          Select the reference source to use when converting on the +          specific channel. Valid values are: +          0: REFIN+/REFIN- +          1: REFIN2+/REFIN2− +          2: REFOUT/AVSS (internal reference) +          3: AVDD/AVSS +          If not specified, REFOUT/AVSS is used. +        $ref: /schemas/types.yaml#/definitions/uint32 +        enum: [0, 1, 2, 3] +        default: 1 + +      adi,positive-reference-buffer: +        $ref: '#/$defs/reference-buffer' + +      adi,negative-reference-buffer: +        $ref: '#/$defs/reference-buffer' + +      adi,sensor-type: +        description: +          The AD4170-4 and similar designs have features to aid interfacing with +          load cell weigh scale, RTD, and thermocouple sensors. Each of those +          sensor types requires either distinct wiring configuration or +          external circuitry for proper sensor operation and can use different +          ADC chip functionality on their setups. A key characteristic of those +          external sensors is that they must be excited either by voltage supply +          or by ADC chip excitation signals. The sensor can then be read through +          a pair of analog inputs. This property specifies which particular +          sensor type is connected to the ADC so it can be properly setup and +          handled. Omit this property for conventional (not weigh scale, RTD, or +          thermocouple) ADC channel setups. +        $ref: /schemas/types.yaml#/definitions/string +        enum: [ weighscale, rtd, thermocouple ] + +      adi,excitation-pin-0: +        description: +          Analog input to apply excitation current to while the channel +          is active. +        $ref: /schemas/types.yaml#/definitions/uint32 +        minimum: 0 +        maximum: 20 +        default: 0 + +      adi,excitation-pin-1: +        description: +          Analog input to apply excitation current to while the channel +          is active. +        $ref: /schemas/types.yaml#/definitions/uint32 +        minimum: 0 +        maximum: 20 +        default: 0 + +      adi,excitation-pin-2: +        description: +          Analog input to apply excitation current to while the channel +          is active. +        $ref: /schemas/types.yaml#/definitions/uint32 +        minimum: 0 +        maximum: 20 +        default: 0 + +      adi,excitation-pin-3: +        description: +          Analog input to apply excitation current to while the channel +          is active. +        $ref: /schemas/types.yaml#/definitions/uint32 +        minimum: 0 +        maximum: 20 +        default: 0 + +      adi,excitation-current-0-microamp: +        description: +          Excitation current in microamperes to be applied to pin specified in +          adi,excitation-pin-0 while this channel is active. +        enum: [0, 10, 50, 100, 250, 500, 1000, 1500] +        default: 0 + +      adi,excitation-current-1-microamp: +        description: +          Excitation current in microamperes to be applied to pin specified in +          adi,excitation-pin-1 while this channel is active. +        enum: [0, 10, 50, 100, 250, 500, 1000, 1500] +        default: 0 + +      adi,excitation-current-2-microamp: +        description: +          Excitation current in microamperes to be applied to pin specified in +          adi,excitation-pin-2 while this channel is active. +        enum: [0, 10, 50, 100, 250, 500, 1000, 1500] +        default: 0 + +      adi,excitation-current-3-microamp: +        description: +          Excitation current in microamperes to be applied to pin specified in +          adi,excitation-pin-3 while this channel is active. +        enum: [0, 10, 50, 100, 250, 500, 1000, 1500] +        default: 0 + +      adi,excitation-ac: +        type: boolean +        description: +          Whether the external sensor has to be AC or DC excited. When omitted, +          it is DC excited. + +    allOf: +      - oneOf: +          - required: [single-channel, common-mode-channel] +            properties: +              diff-channels: false +          - required: [diff-channels] +            properties: +              single-channel: false +              common-mode-channel: false +      # Usual ADC channels don't need external circuitry excitation. +      - if: +          not: +            required: +              - adi,sensor-type +        then: +          properties: +            adi,excitation-pin-0: false +            adi,excitation-pin-1: false +            adi,excitation-pin-2: false +            adi,excitation-pin-3: false +            adi,excitation-current-0-microamp: false +            adi,excitation-current-1-microamp: false +            adi,excitation-current-2-microamp: false +            adi,excitation-current-3-microamp: false +            adi,excitation-ac: false +      # Weigh scale bridge AC excited with one pair of predefined signals. +      - if: +          allOf: +            - properties: +                adi,sensor-type: +                  contains: +                    const: weighscale +            - required: +                - adi,excitation-ac +                - adi,excitation-pin-2 +                - adi,excitation-pin-3 +            - not: +                required: +                  - adi,excitation-current-2-microamp +                  - adi,excitation-current-3-microamp +        then: +          properties: +            adi,excitation-pin-2: +              const: 19 +            adi,excitation-pin-3: +              const: 20 +      # Weigh scale bridge AC excited with two pairs of predefined signals. +      - if: +          allOf: +            - properties: +                adi,sensor-type: +                  contains: +                    const: weighscale +            - required: +                - adi,excitation-ac +                - adi,excitation-pin-0 +                - adi,excitation-pin-1 +                - adi,excitation-pin-2 +                - adi,excitation-pin-3 +            - not: +                required: +                  - adi,excitation-current-0-microamp +                  - adi,excitation-current-1-microamp +                  - adi,excitation-current-2-microamp +                  - adi,excitation-current-3-microamp +        then: +          properties: +            adi,excitation-pin-0: +              const: 17 +            adi,excitation-pin-1: +              const: 18 +            adi,excitation-pin-2: +              const: 19 +            adi,excitation-pin-3: +              const: 20 + +examples: +  - | +    #include <dt-bindings/interrupt-controller/irq.h> +    spi { +        #address-cells = <1>; +        #size-cells = <0>; + +        adc@0 { +            compatible = "adi,ad4170-4"; +            reg = <0>; +            spi-max-frequency = <20000000>; +            spi-cpol; +            spi-cpha; +            avdd-supply = <&avdd>; +            iovdd-supply = <&iovdd>; +            clocks = <&clk>; +            clock-names = "xtal"; +            interrupts = <0 IRQ_TYPE_EDGE_FALLING>; +            interrupt-names = "dig_aux1"; +            adi,vbias-pins = <8>; +            #address-cells = <1>; +            #size-cells = <0>; + +            // Sample AIN0 with respect to DGND throughout AVDD/DGND input range +            // Pseudo-differential unipolar +            channel@0 { +                reg = <0>; +                single-channel = <0>; +                common-mode-channel = <24>; +                adi,reference-select = <3>; +            }; +            // Weigh scale sensor +            channel@1 { +                reg = <1>; +                bipolar; +                diff-channels = <1 2>; +                adi,reference-select = <0>; +                adi,positive-reference-buffer = "precharge"; +                adi,negative-reference-buffer = "precharge"; +                adi,sensor-type = "weighscale"; +                adi,excitation-pin-2 = <19>; +                adi,excitation-pin-3 = <20>; +                adi,excitation-ac; +            }; +            // RTD sensor +            channel@2 { +                reg = <2>; +                bipolar; +                diff-channels = <3 4>; +                adi,reference-select = <0>; +                adi,sensor-type = "rtd"; +                adi,excitation-pin-0 = <5>; +                adi,excitation-pin-1 = <6>; +                adi,excitation-current-0-microamp = <500>; +                adi,excitation-current-1-microamp = <500>; +                adi,excitation-ac; +            }; +            // Thermocouple sensor +            channel@3 { +                reg = <3>; +                bipolar; +                diff-channels = <7 8>; +                adi,reference-select = <0>; +                adi,sensor-type = "thermocouple"; +                adi,excitation-pin-0 = <18>; +                adi,excitation-current-0-microamp = <500>; +            }; +        }; +    }; +  - | +    #include <dt-bindings/interrupt-controller/irq.h> +    spi { +        #address-cells = <1>; +        #size-cells = <0>; + +        adc@0 { +            compatible = "adi,ad4170-4"; +            reg = <0>; +            spi-max-frequency = <20000000>; +            spi-cpol; +            spi-cpha; +            avdd-supply = <&avdd>; +            iovdd-supply = <&iovdd>; +            #clock-cells = <0>; +            clock-output-names = "ad4170-clk16mhz"; +            interrupts = <0 IRQ_TYPE_EDGE_FALLING>; +            interrupt-names = "dig_aux1"; +            #address-cells = <1>; +            #size-cells = <0>; + +            // Sample AIN0 with respect to AIN1 throughout AVDD/AVSS input range +            // Differential bipolar. If AVSS < 0V, differential true bipolar +            channel@0 { +                reg = <0>; +                bipolar; +                diff-channels = <0 1>; +                adi,reference-select = <3>; +            }; +            // Sample AIN2 with respect to DGND throughout AVDD/DGND input range +            // Pseudo-differential unipolar +            channel@1 { +                reg = <1>; +                single-channel = <2>; +                common-mode-channel = <24>; +                adi,reference-select = <3>; +            }; +            // Sample AIN3 with respect to 2.5V throughout AVDD/AVSS input range +            // Pseudo-differential bipolar +            channel@2 { +                reg = <2>; +                bipolar; +                single-channel = <3>; +                common-mode-channel = <29>; +                adi,reference-select = <3>; +            }; +            // Sample AIN4 with respect to DGND throughout AVDD/AVSS input range +            // Pseudo-differential bipolar +            channel@3 { +                reg = <3>; +                bipolar; +                single-channel = <4>; +                common-mode-channel = <24>; +                adi,reference-select = <3>; +            }; +            // Sample AIN5 with respect to 2.5V throughout AVDD/AVSS input range +            // Pseudo-differential unipolar (AD4170-4 datasheet page 46 example) +            channel@4 { +                reg = <4>; +                single-channel = <5>; +                common-mode-channel = <29>; +                adi,reference-select = <3>; +            }; +            // Sample AIN6 with respect to 2.5V throughout REFIN+/REFIN- input range +            // Pseudo-differential bipolar +            channel@5 { +                reg = <5>; +                bipolar; +                single-channel = <6>; +                common-mode-channel = <29>; +                adi,reference-select = <0>; +            }; +            // Weigh scale sensor +            channel@6 { +                reg = <6>; +                bipolar; +                diff-channels = <7 8>; +                adi,reference-select = <0>; +                adi,sensor-type = "weighscale"; +                adi,excitation-pin-0 = <17>; +                adi,excitation-pin-1 = <18>; +                adi,excitation-pin-2 = <19>; +                adi,excitation-pin-3 = <20>; +                adi,excitation-ac; +            }; +        }; +    }; +... diff --git a/dts/upstream/Bindings/iio/adc/adi,ad4851.yaml b/dts/upstream/Bindings/iio/adc/adi,ad4851.yaml index c6676d91b4e..b107322e0ea 100644 --- a/dts/upstream/Bindings/iio/adc/adi,ad4851.yaml +++ b/dts/upstream/Bindings/iio/adc/adi,ad4851.yaml @@ -69,6 +69,8 @@ properties:    spi-max-frequency:      maximum: 25000000 +  spi-3wire: true +    '#address-cells':      const: 1 diff --git a/dts/upstream/Bindings/iio/adc/adi,ad7380.yaml b/dts/upstream/Bindings/iio/adc/adi,ad7380.yaml index ff4f5c21c54..8dae89ecb64 100644 --- a/dts/upstream/Bindings/iio/adc/adi,ad7380.yaml +++ b/dts/upstream/Bindings/iio/adc/adi,ad7380.yaml @@ -25,6 +25,7 @@ description: |    * https://www.analog.com/en/products/ad7386-4.html    * https://www.analog.com/en/products/ad7387-4.html    * https://www.analog.com/en/products/ad7388-4.html +  * https://www.analog.com/en/products/ad7389-4.html    * https://www.analog.com/en/products/adaq4370-4.html    * https://www.analog.com/en/products/adaq4380-4.html    * https://www.analog.com/en/products/adaq4381-4.html @@ -49,6 +50,7 @@ properties:        - adi,ad7386-4        - adi,ad7387-4        - adi,ad7388-4 +      - adi,ad7389-4        - adi,adaq4370-4        - adi,adaq4380-4        - adi,adaq4381-4 @@ -213,6 +215,15 @@ allOf:        properties:          refin-supply: false +  # adi,ad7389-4 is internal reference only +  - if: +      properties: +        compatible: +          const: adi,ad7389-4 +    then: +      properties: +        refio-supply: false +    # adaq devices need more supplies and using channel to declare gain property    # only applies to adaq devices    - if: diff --git a/dts/upstream/Bindings/iio/adc/adi,ad7405.yaml b/dts/upstream/Bindings/iio/adc/adi,ad7405.yaml new file mode 100644 index 00000000000..57f09702570 --- /dev/null +++ b/dts/upstream/Bindings/iio/adc/adi,ad7405.yaml @@ -0,0 +1,60 @@ +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) +# Copyright 2025 Analog Devices Inc. +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iio/adc/adi,ad7405.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Analog Devices AD7405 family + +maintainers: +  - Dragos Bogdan <dragos.bogdan@analog.com> +  - Pop Ioan Daniel <pop.ioan-daniel@analog.com> + +description: | +  Analog Devices AD7405 is a high performance isolated ADC, 1-channel, +  16-bit with a second-order Σ-Δ modulator that converts an analog input signal +  into a high speed, single-bit data stream. + +  https://www.analog.com/media/en/technical-documentation/data-sheets/ad7405.pdf +  https://www.analog.com/media/en/technical-documentation/data-sheets/adum7701.pdf +  https://www.analog.com/media/en/technical-documentation/data-sheets/adum7702.pdf +  https://www.analog.com/media/en/technical-documentation/data-sheets/ADuM7703.pdf + +properties: +  compatible: +    enum: +      - adi,ad7405 +      - adi,adum7701 +      - adi,adum7702 +      - adi,adum7703 + +  clocks: +    maxItems: 1 + +  vdd1-supply: true + +  vdd2-supply: true + +  io-backends: +    maxItems: 1 + +required: +  - compatible +  - clocks +  - vdd1-supply +  - vdd2-supply +  - io-backends + +additionalProperties: false + +examples: +  - | +    adc { +        compatible = "adi,ad7405"; +        clocks = <&axi_clk_gen 0>; +        vdd1-supply = <&vdd1>; +        vdd2-supply = <&vdd2>; +        io-backends = <&axi_adc>; +    }; +... diff --git a/dts/upstream/Bindings/iio/adc/adi,ad7476.yaml b/dts/upstream/Bindings/iio/adc/adi,ad7476.yaml index 44c671eeda7..d0cb32f136e 100644 --- a/dts/upstream/Bindings/iio/adc/adi,ad7476.yaml +++ b/dts/upstream/Bindings/iio/adc/adi,ad7476.yaml @@ -17,35 +17,40 @@ description: |  properties:    compatible: -    enum: -      - adi,ad7091 -      - adi,ad7091r -      - adi,ad7273 -      - adi,ad7274 -      - adi,ad7276 -      - adi,ad7277 -      - adi,ad7278 -      - adi,ad7466 -      - adi,ad7467 -      - adi,ad7468 -      - adi,ad7475 -      - adi,ad7476 -      - adi,ad7476a -      - adi,ad7477 -      - adi,ad7477a -      - adi,ad7478 -      - adi,ad7478a -      - adi,ad7495 -      - adi,ad7910 -      - adi,ad7920 -      - adi,ad7940 -      - ti,adc081s -      - ti,adc101s -      - ti,adc121s -      - ti,ads7866 -      - ti,ads7867 -      - ti,ads7868 -      - lltc,ltc2314-14 +    oneOf: +      - items: +          - enum: +              - adi,ad7091 +              - adi,ad7091r +              - adi,ad7273 +              - adi,ad7274 +              - adi,ad7276 +              - adi,ad7277 +              - adi,ad7278 +              - adi,ad7466 +              - adi,ad7467 +              - adi,ad7468 +              - adi,ad7475 +              - adi,ad7476 +              - adi,ad7476a +              - adi,ad7477 +              - adi,ad7477a +              - adi,ad7478 +              - adi,ad7478a +              - adi,ad7495 +              - adi,ad7910 +              - adi,ad7920 +              - adi,ad7940 +              - ti,adc081s +              - ti,adc101s +              - ti,adc121s +              - ti,ads7866 +              - ti,ads7867 +              - ti,ads7868 +              - lltc,ltc2314-14 +      - items: +          - const: rohm,bu79100g +          - const: ti,ads7866    reg:      maxItems: 1 diff --git a/dts/upstream/Bindings/iio/adc/adi,ad7606.yaml b/dts/upstream/Bindings/iio/adc/adi,ad7606.yaml index 52d3f1ce336..1180d2ffbf8 100644 --- a/dts/upstream/Bindings/iio/adc/adi,ad7606.yaml +++ b/dts/upstream/Bindings/iio/adc/adi,ad7606.yaml @@ -45,6 +45,14 @@ properties:    "#size-cells":      const: 0 +  '#trigger-source-cells': +    description: | +      Cell indicates the output signal: 0 = BUSY, 1 = FIRSTDATA. + +      For convenience, macros for these values are available in +      dt-bindings/iio/adc/adi,ad7606.h. +    const: 1 +    # According to the datasheet, "Data is clocked in from SDI on the falling    # edge of SCLK, while data is clocked out on DOUTA on the rising edge of    # SCLK".  Also, even if not stated textually in the datasheet, it is made @@ -196,6 +204,15 @@ patternProperties:            considered a bipolar differential channel. Otherwise it is bipolar            single-ended. +      adi,rfilter-ohms: +        description: +          For ADCs that supports gain calibration, this property must be set to +          the value of the external RFilter resistor. Proper gain error +          correction is applied based on this value. +        default: 0 +        minimum: 0 +        maximum: 64512 +      required:        - reg        - bipolar @@ -215,12 +232,6 @@ allOf:        - required:            - pwms -  - oneOf: -      - required: -          - interrupts -      - required: -          - io-backends -    - if:        properties:          compatible: @@ -260,6 +271,25 @@ allOf:                - adi,ad7607                - adi,ad7608                - adi,ad7609 +              - adi,ad7616 +    then: +      patternProperties: +        "^channel@[0-9a-f]+$": +          properties: +            adi,rfilter-ohms: false + +  - if: +      properties: +        compatible: +          contains: +            enum: +              - adi,ad7605-4 +              - adi,ad7606-4 +              - adi,ad7606-6 +              - adi,ad7606-8 +              - adi,ad7607 +              - adi,ad7608 +              - adi,ad7609      then:        properties:          adi,sw-mode: false @@ -390,6 +420,7 @@ examples:                  reg = <8>;                  diff-channels = <8 8>;                  bipolar; +                adi,rfilter-ohms = <2048>;              };          }; diff --git a/dts/upstream/Bindings/iio/adc/adi,ad7768-1.yaml b/dts/upstream/Bindings/iio/adc/adi,ad7768-1.yaml index 3ce59d4d065..c06d0fc791d 100644 --- a/dts/upstream/Bindings/iio/adc/adi,ad7768-1.yaml +++ b/dts/upstream/Bindings/iio/adc/adi,ad7768-1.yaml @@ -26,7 +26,26 @@ properties:    clock-names:      const: mclk +  trigger-sources: +    $ref: /schemas/types.yaml#/definitions/phandle-array +    minItems: 1 +    maxItems: 2 +    description: | +      A list of phandles referencing trigger source providers. Each entry +      represents a trigger source for the ADC: + +        - First entry specifies the device responsible for driving the +          synchronization (SYNC_IN) pin, as an alternative to adi,sync-in-gpios. +          This can be a `gpio-trigger` or another `ad7768-1` device. If the +          device's own SYNC_OUT pin is internally connected to its SYNC_IN pin, +          reference the device itself or omit this property. +        - Second entry optionally defines a GPIO3 pin used as a START signal trigger. + +      Use the accompanying trigger source cell to identify the type of each entry. +    interrupts: +    description: +      DRDY (Data Ready) pin, which signals conversion results are available.      maxItems: 1    '#address-cells': @@ -47,6 +66,19 @@ properties:        in any way, for example if the filter decimation rate changes.        As the line is active low, it should be marked GPIO_ACTIVE_LOW. +  regulators: +    type: object +    description: +      list of regulators provided by this controller. + +    properties: +      vcm-output: +        $ref: /schemas/regulator/regulator.yaml# +        type: object +        unevaluatedProperties: false + +    additionalProperties: false +    reset-gpios:      maxItems: 1 @@ -57,6 +89,23 @@ properties:    "#io-channel-cells":      const: 1 +  "#trigger-source-cells": +    description: | +      Cell indicates the trigger output signal: 0 = SYNC_OUT, 1 = GPIO3, +      2 = DRDY. + +      For better readability, macros for these values are available in +      dt-bindings/iio/adc/adi,ad7768-1.h. +    const: 1 + +  gpio-controller: true + +  "#gpio-cells": +    const: 2 +    description: | +      The first cell is for the GPIO number: 0 to 3. +      The second cell takes standard GPIO flags. +  required:    - compatible    - reg @@ -65,7 +114,16 @@ required:    - vref-supply    - spi-cpol    - spi-cpha -  - adi,sync-in-gpios + +dependencies: +  adi,sync-in-gpios: +    not: +      required: +        - trigger-sources +  trigger-sources: +    not: +      required: +        - adi,sync-in-gpios  patternProperties:    "^channel@([0-9]|1[0-5])$": @@ -105,6 +163,8 @@ examples:              spi-max-frequency = <2000000>;              spi-cpol;              spi-cpha; +            gpio-controller; +            #gpio-cells = <2>;              vref-supply = <&adc_vref>;              interrupts = <25 IRQ_TYPE_EDGE_RISING>;              interrupt-parent = <&gpio>; @@ -120,6 +180,12 @@ examples:                  reg = <0>;                  label = "channel_0";              }; + +            regulators { +              vcm_reg: vcm-output { +                regulator-name = "ad7768-1-vcm"; +              }; +            };          };      };  ... diff --git a/dts/upstream/Bindings/iio/adc/adi,axi-adc.yaml b/dts/upstream/Bindings/iio/adc/adi,axi-adc.yaml index cf74f84d610..e91e421a3d6 100644 --- a/dts/upstream/Bindings/iio/adc/adi,axi-adc.yaml +++ b/dts/upstream/Bindings/iio/adc/adi,axi-adc.yaml @@ -27,6 +27,7 @@ description: |        the ad7606 family.    https://wiki.analog.com/resources/fpga/docs/axi_adc_ip +  https://analogdevicesinc.github.io/hdl/library/axi_ad408x/index.html    https://analogdevicesinc.github.io/hdl/library/axi_ad485x/index.html    http://analogdevicesinc.github.io/hdl/library/axi_ad7606x/index.html @@ -34,6 +35,7 @@ properties:    compatible:      enum:        - adi,axi-adc-10.0.a +      - adi,axi-ad408x        - adi,axi-ad7606x        - adi,axi-ad485x diff --git a/dts/upstream/Bindings/iio/adc/amlogic,meson-saradc.yaml b/dts/upstream/Bindings/iio/adc/amlogic,meson-saradc.yaml index b0962a4583a..bb9825e7346 100644 --- a/dts/upstream/Bindings/iio/adc/amlogic,meson-saradc.yaml +++ b/dts/upstream/Bindings/iio/adc/amlogic,meson-saradc.yaml @@ -23,6 +23,7 @@ properties:                - amlogic,meson8m2-saradc                - amlogic,meson-gxbb-saradc                - amlogic,meson-gxl-saradc +              - amlogic,meson-gxlx-saradc                - amlogic,meson-gxm-saradc                - amlogic,meson-axg-saradc                - amlogic,meson-g12a-saradc diff --git a/dts/upstream/Bindings/iio/adc/mediatek,mt2701-auxadc.yaml b/dts/upstream/Bindings/iio/adc/mediatek,mt2701-auxadc.yaml index 6168b44ea72..14363389f30 100644 --- a/dts/upstream/Bindings/iio/adc/mediatek,mt2701-auxadc.yaml +++ b/dts/upstream/Bindings/iio/adc/mediatek,mt2701-auxadc.yaml @@ -34,6 +34,11 @@ properties:            - const: mediatek,mt2701-auxadc        - items:            - enum: +              - mediatek,mt7981-auxadc +          - const: mediatek,mt7986-auxadc +      - items: +          - enum: +              - mediatek,mt6893-auxadc                - mediatek,mt8183-auxadc                - mediatek,mt8186-auxadc                - mediatek,mt8188-auxadc diff --git a/dts/upstream/Bindings/iio/adc/mediatek,mt6359-auxadc.yaml b/dts/upstream/Bindings/iio/adc/mediatek,mt6359-auxadc.yaml index 6497c416094..5d4ab701f51 100644 --- a/dts/upstream/Bindings/iio/adc/mediatek,mt6359-auxadc.yaml +++ b/dts/upstream/Bindings/iio/adc/mediatek,mt6359-auxadc.yaml @@ -22,6 +22,8 @@ properties:        - mediatek,mt6357-auxadc        - mediatek,mt6358-auxadc        - mediatek,mt6359-auxadc +      - mediatek,mt6363-auxadc +      - mediatek,mt6373-auxadc    "#io-channel-cells":      const: 1 diff --git a/dts/upstream/Bindings/iio/adc/microchip,mcp3911.yaml b/dts/upstream/Bindings/iio/adc/microchip,mcp3911.yaml index 06951ec5f5d..3a69ec60edb 100644 --- a/dts/upstream/Bindings/iio/adc/microchip,mcp3911.yaml +++ b/dts/upstream/Bindings/iio/adc/microchip,mcp3911.yaml @@ -32,6 +32,9 @@ properties:    spi-max-frequency:      maximum: 20000000 +  reset-gpios: +    maxItems: 1 +    clocks:      description: |        Phandle and clock identifier for external sampling clock. @@ -71,6 +74,7 @@ unevaluatedProperties: false  examples:    - | +    #include <dt-bindings/gpio/gpio.h>      spi {        #address-cells = <1>;        #size-cells = <0>; @@ -80,6 +84,7 @@ examples:          reg = <0>;          interrupt-parent = <&gpio5>;          interrupts = <15 2>; +        reset-gpios = <&gpio1 10 GPIO_ACTIVE_LOW>;          spi-max-frequency = <20000000>;          microchip,device-addr = <0>;          vref-supply = <&vref_reg>; diff --git a/dts/upstream/Bindings/iio/adc/nuvoton,nct7201.yaml b/dts/upstream/Bindings/iio/adc/nuvoton,nct7201.yaml new file mode 100644 index 00000000000..8ce7d415d95 --- /dev/null +++ b/dts/upstream/Bindings/iio/adc/nuvoton,nct7201.yaml @@ -0,0 +1,70 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iio/adc/nuvoton,nct7201.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: Nuvoton nct7201 and similar ADCs + +maintainers: +  - Eason Yang <j2anfernee@gmail.com> + +description: | +  The NCT7201/NCT7202 is a Nuvoton Hardware Monitor IC, contains up to 12 +  voltage monitoring channels, with SMBus interface, and up to 4 sets SMBus +  address selection by ADDR connection. It also provides ALERT# signal for +  event notification and reset input RSTIN# to recover it from a fault +  condition. + +  NCT7201 contains 8 voltage monitor inputs (VIN1~VIN8). +  NCT7202 contains 12 voltage monitor inputs (VIN1~VIN12). + +properties: +  compatible: +    enum: +      - nuvoton,nct7201 +      - nuvoton,nct7202 + +  reg: +    maxItems: 1 + +  vdd-supply: +    description: +      A 3.3V to supply that powers the chip. + +  vref-supply: +    description: +      The regulator supply for the ADC reference voltage. + +  interrupts: +    maxItems: 1 + +  reset-gpios: +    maxItems: 1 + +required: +  - compatible +  - reg + +additionalProperties: false + +examples: +  - | +    #include <dt-bindings/gpio/gpio.h> +    #include <dt-bindings/interrupt-controller/irq.h> + +    i2c { +        #address-cells = <1>; +        #size-cells = <0>; + +        adc@1d { +            compatible = "nuvoton,nct7202"; +            reg = <0x1d>; +            vdd-supply = <&vdd>; +            vref-supply = <&vref>; +            interrupt-parent = <&gpio3>; +            interrupts = <30 IRQ_TYPE_LEVEL_LOW>; +            reset-gpios = <&gpio3 28 GPIO_ACTIVE_LOW>; +        }; +    }; +... diff --git a/dts/upstream/Bindings/iio/adc/nxp,lpc3220-adc.yaml b/dts/upstream/Bindings/iio/adc/nxp,lpc3220-adc.yaml index 2c5032be83b..fd815ab30df 100644 --- a/dts/upstream/Bindings/iio/adc/nxp,lpc3220-adc.yaml +++ b/dts/upstream/Bindings/iio/adc/nxp,lpc3220-adc.yaml @@ -22,6 +22,9 @@ properties:    interrupts:      maxItems: 1 +  clocks: +    maxItems: 1 +    vref-supply: true    "#io-channel-cells": diff --git a/dts/upstream/Bindings/iio/adc/qcom,spmi-rradc.yaml b/dts/upstream/Bindings/iio/adc/qcom,spmi-rradc.yaml index f39bc92c2b9..862e450da21 100644 --- a/dts/upstream/Bindings/iio/adc/qcom,spmi-rradc.yaml +++ b/dts/upstream/Bindings/iio/adc/qcom,spmi-rradc.yaml @@ -7,7 +7,7 @@ $schema: http://devicetree.org/meta-schemas/core.yaml#  title: Qualcomm's SPMI PMIC Round Robin ADC  maintainers: -  - Caleb Connolly <caleb.connolly@linaro.org> +  - Casey Connolly <casey.connolly@linaro.org>  description: |    The Qualcomm SPMI Round Robin ADC (RRADC) provides interface to clients to diff --git a/dts/upstream/Bindings/iio/adc/rohm,bd79104.yaml b/dts/upstream/Bindings/iio/adc/rohm,bd79104.yaml new file mode 100644 index 00000000000..2a8ad4fdfc6 --- /dev/null +++ b/dts/upstream/Bindings/iio/adc/rohm,bd79104.yaml @@ -0,0 +1,69 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iio/adc/rohm,bd79104.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: ROHM Semiconductor BD79104 ADC + +maintainers: +  - Matti Vaittinen <mazziesaccount@gmail.com> + +description: | +  12 bit SPI ADC with 8 channels. + +properties: +  compatible: +    const: rohm,bd79104 + +  reg: +    maxItems: 1 + +  vdd-supply: true +  iovdd-supply: true + +# The component data-sheet says the frequency is 20M. I, however, found +# that the ROHM evaluation board BD79104FV-EVK-001 had problems with 20M. +# I have successfully used it with 4M. My _assumption_ is that this is not +# the limitation of the component itself, but a limitation of the EVK. +  spi-max-frequency: +    maximum: 20000000 + +  "#io-channel-cells": +    const: 1 + +  spi-cpha: true +  spi-cpol: true + +required: +  - compatible +  - reg +  - vdd-supply +  - iovdd-supply +  - spi-cpha +  - spi-cpol + +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 = "rohm,bd79104"; +            reg = <0>; +            vdd-supply = <&vdd_supply>; +            iovdd-supply = <&iovdd_supply>; +            spi-max-frequency = <4000000>; +            spi-cpha; +            spi-cpol; +            #io-channel-cells = <1>; +        }; +    }; +... diff --git a/dts/upstream/Bindings/iio/adc/rohm,bd79124.yaml b/dts/upstream/Bindings/iio/adc/rohm,bd79124.yaml new file mode 100644 index 00000000000..50328582337 --- /dev/null +++ b/dts/upstream/Bindings/iio/adc/rohm,bd79124.yaml @@ -0,0 +1,114 @@ +# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iio/adc/rohm,bd79124.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: ROHM BD79124 ADC/GPO + +maintainers: +  - Matti Vaittinen <mazziesaccount@gmail.com> + +description: | +  The ROHM BD79124 is a 12-bit, 8-channel, SAR ADC. The ADC supports +  an automatic measurement mode, with an alarm interrupt for out-of-window +  measurements. ADC input pins can be also configured as general purpose +  outputs. + +properties: +  compatible: +    const: rohm,bd79124 + +  reg: +    description: +      I2C slave address. +    maxItems: 1 + +  interrupts: +    maxItems: 1 + +  gpio-controller: true + +  "#gpio-cells": +    const: 1 +    description: +      The pin number. + +  vdd-supply: true + +  iovdd-supply: true + +  "#address-cells": +    const: 1 + +  "#size-cells": +    const: 0 + +patternProperties: +  "^channel@[0-7]+$": +    type: object +    $ref: /schemas/iio/adc/adc.yaml# +    description: Represents ADC channel. + +    properties: +      reg: +        description: AIN pin number +        minimum: 0 +        maximum: 7 + +    required: +      - reg + +    additionalProperties: false + +required: +  - compatible +  - reg +  - iovdd-supply +  - vdd-supply + +additionalProperties: false + +examples: +  - | +    #include <dt-bindings/interrupt-controller/irq.h> +    #include <dt-bindings/leds/common.h> +    i2c { +        #address-cells = <1>; +        #size-cells = <0>; +        adc: adc@10 { +            compatible = "rohm,bd79124"; +            reg = <0x10>; + +            interrupt-parent = <&gpio1>; +            interrupts = <29 8>; + +            vdd-supply = <&dummyreg>; +            iovdd-supply = <&dummyreg>; + +            #address-cells = <1>; +            #size-cells = <0>; + +            channel@0 { +                reg = <0>; +            }; +            channel@1 { +                reg = <1>; +            }; +            channel@2 { +                reg = <2>; +            }; +            channel@3 { +                reg = <3>; +            }; +            channel@4 { +                reg = <4>; +            }; +            channel@5 { +                reg = <5>; +            }; +            channel@6 { +                reg = <6>; +            }; +        }; +    }; diff --git a/dts/upstream/Bindings/iio/adc/st,spear600-adc.yaml b/dts/upstream/Bindings/iio/adc/st,spear600-adc.yaml new file mode 100644 index 00000000000..dd9ec303870 --- /dev/null +++ b/dts/upstream/Bindings/iio/adc/st,spear600-adc.yaml @@ -0,0 +1,69 @@ +# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) +%YAML 1.2 +--- +$id: http://devicetree.org/schemas/iio/adc/st,spear600-adc.yaml# +$schema: http://devicetree.org/meta-schemas/core.yaml# + +title: ST SPEAr ADC device driver + +maintainers: +  - Jonathan Cameron <jic23@kernel.org> + +description: | +  Integrated ADC inside the ST SPEAr SoC, SPEAr600, supporting +  10-bit resolution. Datasheet can be found here: +  https://www.st.com/resource/en/datasheet/spear600.pdf + +properties: +  compatible: +    enum: +      - st,spear600-adc + +  reg: +    maxItems: 1 + +  interrupts: +    maxItems: 1 + +  sampling-frequency: +    $ref: /schemas/types.yaml#/definitions/uint32 +    minimum: 2500000 +    maximum: 20000000 +    description: +      Default sampling frequency of the ADC in Hz. + +  vref-external: +    $ref: /schemas/types.yaml#/definitions/uint32 +    minimum: 1000 +    maximum: 2800 +    description: +      External voltage reference in milli-volts. If omitted the internal voltage +      reference will be used. + +  average-samples: +    $ref: /schemas/types.yaml#/definitions/uint32 +    minimum: 0 +    maximum: 15 +    default: 0 +    description: +      Number of samples to generate an average value. If omitted, single data +      conversion will be used. + +required: +  - compatible +  - reg +  - interrupts +  - sampling-frequency + +additionalProperties: false + +examples: +  - | +    adc@d8200000 { +        compatible = "st,spear600-adc"; +        reg = <0xd8200000 0x1000>; +        interrupt-parent = <&vic1>; +        interrupts = <6>; +        sampling-frequency = <5000000>; +        vref-external = <2500>;	/* 2.5V VRef */ +    }; diff --git a/dts/upstream/Bindings/iio/adc/st,stm32-adc.yaml b/dts/upstream/Bindings/iio/adc/st,stm32-adc.yaml index ef9dcc365ea..17bb60e18a1 100644 --- a/dts/upstream/Bindings/iio/adc/st,stm32-adc.yaml +++ b/dts/upstream/Bindings/iio/adc/st,stm32-adc.yaml @@ -498,7 +498,7 @@ patternProperties:  examples:    - |      // Example 1: with stm32f429, ADC1, single-ended channel 8 -      adc123: adc@40012000 { +    adc123: adc@40012000 {          compatible = "st,stm32f4-adc-core";          reg = <0x40012000 0x400>;          interrupts = <18>; @@ -512,28 +512,28 @@ examples:          #address-cells = <1>;          #size-cells = <0>;          adc@0 { -          compatible = "st,stm32f4-adc"; -          #io-channel-cells = <1>; -          reg = <0x0>; -          clocks = <&rcc 0 168>; -          interrupt-parent = <&adc123>; -          interrupts = <0>; -          st,adc-channels = <8>; -          dmas = <&dma2 0 0 0x400 0x0>; -          dma-names = "rx"; -          assigned-resolution-bits = <8>; +            compatible = "st,stm32f4-adc"; +            #io-channel-cells = <1>; +            reg = <0x0>; +            clocks = <&rcc 0 168>; +            interrupt-parent = <&adc123>; +            interrupts = <0>; +            st,adc-channels = <8>; +            dmas = <&dma2 0 0 0x400 0x0>; +            dma-names = "rx"; +            assigned-resolution-bits = <8>;          };          // ...          // other adc child nodes follow... -      }; +    };    - |      // Example 2: with stm32mp157c to setup ADC1 with:      // - channels 0 & 1 as single-ended      // - channels 2 & 3 as differential (with resp. 6 & 7 negative inputs) -      #include <dt-bindings/interrupt-controller/arm-gic.h> -      #include <dt-bindings/clock/stm32mp1-clks.h> -      adc12: adc@48003000 { +    #include <dt-bindings/interrupt-controller/arm-gic.h> +    #include <dt-bindings/clock/stm32mp1-clks.h> +    adc12: adc@48003000 {          compatible = "st,stm32mp1-adc-core";          reg = <0x48003000 0x400>;          interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>, @@ -550,27 +550,27 @@ examples:          #address-cells = <1>;          #size-cells = <0>;          adc@0 { -          compatible = "st,stm32mp1-adc"; -          #io-channel-cells = <1>; -          reg = <0x0>; -          interrupt-parent = <&adc12>; -          interrupts = <0>; -          st,adc-channels = <0 1>; -          st,adc-diff-channels = <2 6>, <3 7>; -          st,min-sample-time-nsecs = <5000>; -          dmas = <&dmamux1 9 0x400 0x05>; -          dma-names = "rx"; +            compatible = "st,stm32mp1-adc"; +            #io-channel-cells = <1>; +            reg = <0x0>; +            interrupt-parent = <&adc12>; +            interrupts = <0>; +            st,adc-channels = <0 1>; +            st,adc-diff-channels = <2 6>, <3 7>; +            st,min-sample-time-nsecs = <5000>; +            dmas = <&dmamux1 9 0x400 0x05>; +            dma-names = "rx";          };          // ...          // other adc child node follow... -      }; +    };    - |      // Example 3: with stm32mp157c to setup ADC2 with:      // - internal channels 13, 14, 15. -      #include <dt-bindings/interrupt-controller/arm-gic.h> -      #include <dt-bindings/clock/stm32mp1-clks.h> -      adc122: adc@48003000 { +    #include <dt-bindings/interrupt-controller/arm-gic.h> +    #include <dt-bindings/clock/stm32mp1-clks.h> +    adc122: adc@48003000 {          compatible = "st,stm32mp1-adc-core";          reg = <0x48003000 0x400>;          interrupts = <GIC_SPI 18 IRQ_TYPE_LEVEL_HIGH>, @@ -587,28 +587,28 @@ examples:          #address-cells = <1>;          #size-cells = <0>;          adc@100 { -          compatible = "st,stm32mp1-adc"; -          #io-channel-cells = <1>; -          reg = <0x100>; -          interrupts = <1>; -          #address-cells = <1>; -          #size-cells = <0>; -          channel@13 { -            reg = <13>; -            label = "vrefint"; -            st,min-sample-time-ns = <9000>; -          }; -          channel@14 { -            reg = <14>; -            label = "vddcore"; -            st,min-sample-time-ns = <9000>; -          }; -          channel@15 { -            reg = <15>; -            label = "vbat"; -            st,min-sample-time-ns = <9000>; -          }; +            compatible = "st,stm32mp1-adc"; +            #io-channel-cells = <1>; +            reg = <0x100>; +            interrupts = <1>; +            #address-cells = <1>; +            #size-cells = <0>; +            channel@13 { +                reg = <13>; +                label = "vrefint"; +                st,min-sample-time-ns = <9000>; +            }; +            channel@14 { +                reg = <14>; +                label = "vddcore"; +                st,min-sample-time-ns = <9000>; +            }; +            channel@15 { +                reg = <15>; +                label = "vbat"; +                st,min-sample-time-ns = <9000>; +            };          }; -      }; +    };  ... | 
