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

title: STMicroelectronics STM32 DFSDM ADC device driver

maintainers:
  - Fabrice Gasnier <fabrice.gasnier@foss.st.com>
  - Olivier Moysan <olivier.moysan@foss.st.com>

description: |
  STM32 DFSDM ADC is a sigma delta analog-to-digital converter dedicated to
  interface external sigma delta modulators to STM32 micro controllers.
  It is mainly targeted for:
  - Sigma delta modulators (motor control, metering...)
  - PDM microphones (audio digital microphone)

  It features up to 8 serial digital interfaces (SPI or Manchester) and
  up to 4 filters on stm32h7 or 6 filters on stm32mp1.

  Each child node matches with a filter instance.

properties:
  compatible:
    enum:
      - st,stm32h7-dfsdm
      - st,stm32mp1-dfsdm

  reg:
    maxItems: 1

  clocks:
    items:
      - description:
          Internal clock used for DFSDM digital processing and control blocks.
          dfsdm clock can also feed CLKOUT, when CLKOUT is used.
      - description: audio clock can be used as an alternate to feed CLKOUT.
    minItems: 1

  clock-names:
    items:
      - const: dfsdm
      - const: audio
    minItems: 1

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

  spi-max-frequency:
    description:
      SPI clock OUT frequency (Hz). Requested only for SPI master mode.
      This clock must be set according to the "clock" property.
      Frequency must be a multiple of the rcc clock frequency.
      If not, SPI CLKOUT frequency will not be accurate.
    maximum: 20000000

  access-controllers:
    minItems: 1
    maxItems: 2

required:
  - compatible
  - reg
  - clocks
  - clock-names
  - "#address-cells"
  - "#size-cells"

additionalProperties: false

patternProperties:
  "^filter@[0-9]+$":
    type: object
    unevaluatedProperties: false
    description: child node

    properties:
      compatible:
        enum:
          - st,stm32-dfsdm-adc
          - st,stm32-dfsdm-dmic

      reg:
        description: Specifies the DFSDM filter instance used.
        maxItems: 1

      interrupts:
        maxItems: 1

      st,adc-channels:
        description: |
          List of single-ended channels muxed for this ADC.
          On stm32h7 and stm32mp1:
          - For st,stm32-dfsdm-adc: up to 8 channels numbered from 0 to 7.
          - For st,stm32-dfsdm-dmic: 1 channel numbered from 0 to 7.
        $ref: /schemas/types.yaml#/definitions/uint32-array
        items:
          minimum: 0
          maximum: 7
        deprecated: true

      st,adc-channel-names:
        description: List of single-ended channel names.
        deprecated: true

      st,filter-order:
        description: |
          SinC filter order from 0 to 5.
          - 0: FastSinC
          - [1-5]: order 1 to 5.
          For audio purpose it is recommended to use order 3 to 5.
        $ref: /schemas/types.yaml#/definitions/uint32
        maximum: 5

      "#io-channel-cells":
        const: 1

      '#address-cells':
        const: 1

      '#size-cells':
        const: 0

      st,adc-channel-types:
        description: |
          Single-ended channel input type.
          - "SPI_R": SPI with data on rising edge (default)
          - "SPI_F": SPI with data on falling edge
          - "MANCH_R": manchester codec, rising edge = logic 0, falling edge = logic 1
          - "MANCH_F": manchester codec, rising edge = logic 1, falling edge = logic 0
        items:
          enum: [ SPI_R, SPI_F, MANCH_R, MANCH_F ]
        $ref: /schemas/types.yaml#/definitions/non-unique-string-array
        deprecated: true

      st,adc-channel-clk-src:
        description: |
          Conversion clock source.
          - "CLKIN": external SPI clock (CLKIN x)
          - "CLKOUT": internal SPI clock (CLKOUT) (default)
          - "CLKOUT_F": internal SPI clock divided by 2 (falling edge).
          - "CLKOUT_R": internal SPI clock divided by 2 (rising edge).
        items:
          enum: [ CLKIN, CLKOUT, CLKOUT_F, CLKOUT_R ]
        $ref: /schemas/types.yaml#/definitions/non-unique-string-array
        deprecated: true

      st,adc-alt-channel:
        description:
          Must be defined if two sigma delta modulators are
          connected on same SPI input.
          If not set, channel n is connected to SPI input n.
          If set, channel n is connected to SPI input n + 1.
        type: boolean
        deprecated: true

      st,filter0-sync:
        description:
          Set to 1 to synchronize with DFSDM filter instance 0.
          Used for multi microphones synchronization.
        type: boolean

      dmas:
        maxItems: 1

      dma-names:
        items:
          - const: rx

    required:
      - compatible
      - reg
      - interrupts
      - st,filter-order
      - "#io-channel-cells"

    patternProperties:
      "^channel@[0-7]$":
        type: object
        $ref: adc.yaml
        unevaluatedProperties: false
        description: Represents the external channels which are connected to the DFSDM.

        properties:
          reg:
            maximum: 7

          label:
            description:
              Unique name to identify which channel this is.

          st,adc-channel-type:
            description: |
              Single-ended channel input type.
              - "SPI_R": SPI with data on rising edge (default)
              - "SPI_F": SPI with data on falling edge
              - "MANCH_R": manchester codec, rising edge = logic 0, falling edge = logic 1
              - "MANCH_F": manchester codec, rising edge = logic 1, falling edge = logic 0
            $ref: /schemas/types.yaml#/definitions/string
            enum: [ SPI_R, SPI_F, MANCH_R, MANCH_F ]

          st,adc-channel-clk-src:
            description: |
              Conversion clock source.
              - "CLKIN": external SPI clock (CLKIN x)
              - "CLKOUT": internal SPI clock (CLKOUT) (default)
              - "CLKOUT_F": internal SPI clock divided by 2 (falling edge).
              - "CLKOUT_R": internal SPI clock divided by 2 (rising edge).
            $ref: /schemas/types.yaml#/definitions/string
            enum: [ CLKIN, CLKOUT, CLKOUT_F, CLKOUT_R ]

          st,adc-alt-channel:
            description:
              Must be defined if two sigma delta modulators are
              connected on same SPI input.
              If not set, channel n is connected to SPI input n.
              If set, channel n is connected to SPI input n + 1.
            type: boolean

          io-backends:
            description:
              Used to pipe external sigma delta modulator or internal ADC backend to DFSDM channel.
            maxItems: 1

        required:
          - reg

    allOf:
      - if:
          properties:
            compatible:
              contains:
                const: st,stm32-dfsdm-adc

        then:
          properties:
            st,adc-channels:
              minItems: 1
              maxItems: 8

            st,adc-channel-names:
              minItems: 1
              maxItems: 8

            st,adc-channel-types:
              minItems: 1
              maxItems: 8

            st,adc-channel-clk-src:
              minItems: 1
              maxItems: 8

            io-channels:
              description:
                From common IIO binding. Used to pipe external sigma delta
                modulator or internal ADC output to DFSDM channel.
              deprecated: true

          if:
            required:
              - st,adc-channels
          then:
            required:
              - io-channels

          patternProperties:
            "^channel@[0-7]$":
              required:
                - io-backends

      - if:
          properties:
            compatible:
              contains:
                const: st,stm32-dfsdm-dmic

        then:
          properties:
            st,adc-channels:
              maxItems: 1

            st,adc-channel-names:
              maxItems: 1

            st,adc-channel-types:
              maxItems: 1

            st,adc-channel-clk-src:
              maxItems: 1

          required:
            - dmas
            - dma-names

          patternProperties:
            "^dfsdm-dai+$":
              type: object
              additionalProperties: false
              description: child node

              properties:
                compatible:
                  enum:
                    - st,stm32h7-dfsdm-dai

                "#sound-dai-cells":
                  const: 0

                io-channels:
                  description:
                    From common IIO binding. Used to pipe external sigma delta
                    modulator or internal ADC output to DFSDM channel.

                port:
                  $ref: /schemas/sound/audio-graph-port.yaml#
                  unevaluatedProperties: false

              required:
                - compatible
                - "#sound-dai-cells"
                - io-channels

allOf:
  - if:
      properties:
        compatible:
          contains:
            const: st,stm32h7-dfsdm

    then:
      patternProperties:
        "^filter@[0-9]+$":
          properties:
            reg:
              items:
                minimum: 0
                maximum: 3

  - if:
      properties:
        compatible:
          contains:
            const: st,stm32mp1-dfsdm

    then:
      patternProperties:
        "^filter@[0-9]+$":
          properties:
            reg:
              items:
                minimum: 0
                maximum: 5

examples:
  - |
    #include <dt-bindings/interrupt-controller/arm-gic.h>
    #include <dt-bindings/clock/stm32mp1-clks.h>
    dfsdm: dfsdm@4400d000 {
      compatible = "st,stm32mp1-dfsdm";
      reg = <0x4400d000 0x800>;
      clocks = <&rcc DFSDM_K>, <&rcc ADFSDM_K>;
      clock-names = "dfsdm", "audio";
      #address-cells = <1>;
      #size-cells = <0>;

      // Example 1: Audio use case with generic binding
      dfsdm0: filter@0 {
        compatible = "st,stm32-dfsdm-dmic";
        reg = <0>;
        interrupts = <GIC_SPI 110 IRQ_TYPE_LEVEL_HIGH>;
        dmas = <&dmamux1 101 0x400 0x01>;
        dma-names = "rx";
        #io-channel-cells = <1>;
        #address-cells = <1>;
        #size-cells = <0>;
        st,filter-order = <5>;

        channel@1 {
          reg = <1>;
          label = "dmic0";
          st,adc-channel-type = "SPI_R";
          st,adc-channel-clk-src = "CLKOUT";
          st,adc-alt-channel;
        };

        asoc_pdm0: dfsdm-dai {
          compatible = "st,stm32h7-dfsdm-dai";
          #sound-dai-cells = <0>;
          io-channels = <&dfsdm0 0>;
        };
      };

      // Example 2: Analog use case with generic binding
      dfsdm1: filter@1 {
        compatible = "st,stm32-dfsdm-adc";
        reg = <1>;
        interrupts = <GIC_SPI 111 IRQ_TYPE_LEVEL_HIGH>;
        dmas = <&dmamux1 102 0x400 0x01>;
        dma-names = "rx";
        st,filter-order = <1>;
        #io-channel-cells = <1>;
        #address-cells = <1>;
        #size-cells = <0>;

        channel@2 {
          reg = <2>;
          label = "in2";
          st,adc-channel-type = "SPI_F";
          st,adc-channel-clk-src = "CLKOUT";
          st,adc-alt-channel;
          io-backends = <&sd_adc2>;
        };

        channel@3 {
          reg = <3>;
          label = "in3";
          st,adc-channel-type = "SPI_R";
          st,adc-channel-clk-src = "CLKOUT";
          io-backends = <&sd_adc3>;
        };
      };
    };

...
