# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/cirrus,madera.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Cirrus Logic Madera class audio CODECs Multi-Functional Device

maintainers:
  - patches@opensource.cirrus.com

description: |
  These devices are audio SoCs with extensive digital capabilities and a range
  of analogue I/O.

  See also the child driver bindings in:

    bindings/pinctrl/cirrus,madera.yaml
    bindings/regulator/wlf,arizona.yaml
    bindings/sound/cirrus,madera.yaml

allOf:
  - $ref: /schemas/pinctrl/cirrus,madera.yaml#
  - $ref: /schemas/regulator/wlf,arizona.yaml#
  - $ref: /schemas/sound/cirrus,madera.yaml#
  - if:
      properties:
        compatible:
          contains:
            enum:
              - cirrus,cs47l85
              - wlf,wm1840
    then:
      properties:
        SPKVDDL-supply:
          description:
            Left speaker driver power supply.

        SPKVDDR-supply:
          description:
            Right speaker driver power supply.

      required:
        - SPKVDDL-supply
        - SPKVDDR-supply
    else:
      required:
        - DCVDD-supply
  - if:
      properties:
        compatible:
          contains:
            enum:
              - cirrus,cs47l15
              - cirrus,cs47l35
    then:
      properties:
        SPKVDD-supply:
          description:
            Mono speaker driver power supply.

      required:
        - SPKVDD-supply
  - if:
      properties:
        compatible:
          contains:
            enum:
              - cirrus,cs47l35
              - cirrus,cs47l85
              - cirrus,cs47l90
              - cirrus,cs47l91
              - wlf,wm1840
    then:
      properties:
        DBVDD2-supply:
          description:
            Databus power supply.

      required:
        - DBVDD2-supply
  - if:
      properties:
        compatible:
          contains:
            enum:
              - cirrus,cs47l85
              - cirrus,cs47l90
              - cirrus,cs47l91
              - wlf,wm1840
    then:
      properties:
        DBVDD3-supply:
          description:
            Databus power supply.

        DBVDD4-supply:
          description:
            Databus power supply.
  - if:
     properties:
       compatible:
         contains:
           enum:
             - cirrus,cs47l15
    then:
      required:
        - MICVDD-supply
    else:
      properties:
        CPVDD2-supply:
          description:
            Secondary charge pump power supply.

      required:
        - CPVDD2-supply

properties:
  compatible:
    enum:
      - cirrus,cs47l15
      - cirrus,cs47l35
      - cirrus,cs47l85
      - cirrus,cs47l90
      - cirrus,cs47l91
      - cirrus,cs42l92
      - cirrus,cs47l92
      - cirrus,cs47l93
      - cirrus,wm1840

  reg:
    maxItems: 1

  gpio-controller: true

  '#gpio-cells':
    description:
      The first cell is the pin number. The second cell is reserved for
      future use and must be zero
    const: 2

  interrupt-controller: true

  '#interrupt-cells':
    description:
      The first cell is the IRQ number.
      The second cell is the flags, encoded as the trigger masks from
      bindings/interrupt-controller/interrupts.txt
    const: 2

  interrupts:
    maxItems: 1

  reset-gpios:
    description:
      One entry specifying the GPIO controlling /RESET.  As defined in
      bindings/gpio.txt.  Although optional, it is strongly recommended
      to use a hardware reset.
    maxItems: 1

  clocks:
    description:
      Should reference the clocks supplied on MCLK1, MCLK2 and MCLK3.
    minItems: 1
    maxItems: 3

  clock-names:
    description: |
      May contain up to three strings:
        "mclk1" For the clock supplied on MCLK1, recommended to be a
                high quality audio reference clock.
        "mclk2" For the clock supplied on MCLK2, required to be an
                always on 32k clock.
        "mclk3" For the clock supplied on MCLK3.
    oneOf:
      - items:
        - const: mclk1
      - items:
        - const: mclk2
      - items:
        - const: mclk3
      - items:
        - const: mclk1
        - const: mclk2
      - items:
        - const: mclk1
        - const: mclk3
      - items:
        - const: mclk2
        - const: mclk3
      - items:
        - const: mclk1
        - const: mclk2
        - const: mclk3

  AVDD-supply:
    description:
      Analogue power supply.

  DBVDD1-supply:
    description:
      Databus power supply.

  CPVDD1-supply:
    description:
      Charge pump power supply.

  DCVDD-supply:
    description:
      Digital power supply, optional on CS47L85, WM1840 where it can
      be supplied internally.

  MICVDD-supply:
    description:
      Microphone power supply, normally supplied internally except on
      cs47l24, wm1831 where it is mandatory.

required:
  - compatible
  - gpio-controller
  - '#gpio-cells'
  - interrupt-controller
  - '#interrupt-cells'
  - interrupt-parent
  - interrupts
  - AVDD-supply
  - DBVDD1-supply
  - CPVDD1-supply

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/sound/madera.h>
    i2c@e0004000 {
        #address-cells = <1>;
        #size-cells = <0>;
        reg = <0xe0004000 0x1000>;

        cs47l85: codec@1a {
            compatible = "cirrus,cs47l85";
            reg = <0x1a>;

            reset-gpios = <&gpio 0>;
            wlf,ldoena = <&gpio 1>;

            interrupt-controller;
            #interrupt-cells = <2>;
            interrupts = <&host_irq1>;
            interrupt-parent = <&gic>;

            gpio-controller;
            #gpio-cells = <2>;

            AVDD-supply = <&vdd1v8>;
            DBVDD1-supply = <&vdd1v8>;
            DBVDD2-supply = <&vdd1v8>;
            DBVDD3-supply = <&vdd1v8>;
            DBVDD4-supply = <&vdd1v8>;
            CPVDD1-supply = <&vdd1v8>;
            CPVDD2-supply = <&vdd1v2>;
            SPKVDDL-supply = <&vdd5v>;
            SPKVDDR-supply = <&vdd5v>;

            clocks = <&clks 0>, <&clks 1>, <&clks 2>;
            clock-names = "mclk1", "mclk2", "mclk3";

            cirrus,dmic-ref = <0 0 MADERA_DMIC_REF_MICBIAS1>;
            cirrus,inmode = <
                MADERA_INMODE_SE   MADERA_INMODE_SE
                MADERA_INMODE_SE   MADERA_INMODE_SE
                MADERA_INMODE_DIFF MADERA_INMODE_DIFF
            >;
            cirrus,max-channels-clocked = <2 0 0>;

            pinctrl-names = "default";
            pinctrl-0 = <&pinsettings>;

            pinsettings: pin-settings {
                aif1-pins {
                    groups = "aif1";
                    function = "aif1";
                    bias-bus-hold;
                };

                aif2-pins {
                    groups = "aif2";
                    function = "aif2";
                    bias-bus-hold;
                };

                aif3-pins {
                    groups = "aif3";
                    function = "aif3";
                    bias-bus-hold;
                };
            };
        };
    };
