# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/nvidia,tegra-audio-max9808x.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: NVIDIA Tegra audio complex with MAX9808x CODEC

maintainers:
  - Jon Hunter <jonathanh@nvidia.com>
  - Thierry Reding <thierry.reding@gmail.com>

allOf:
  - $ref: nvidia,tegra-audio-common.yaml#

properties:
  compatible:
    oneOf:
      - items:
          - pattern: '^[a-z0-9]+,tegra-audio-max98088(-[a-z0-9]+)+$'
          - const: nvidia,tegra-audio-max98088
      - items:
          - pattern: '^[a-z0-9]+,tegra-audio-max98089(-[a-z0-9]+)+$'
          - const: nvidia,tegra-audio-max98089

  nvidia,audio-routing:
    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
    description: |
      A list of the connections between audio components.
      Each entry is a pair of strings, the first being the connection's sink,
      the second being the connection's source. Valid names for sources and
      sinks are the pins (documented in the binding document),
      and the jacks on the board.
    minItems: 2
    items:
      enum:
        # Board Connectors
        - Int Spk
        - Headphone Jack
        - Earpiece
        - Headset Mic
        - Internal Mic 1
        - Internal Mic 2

        # CODEC Pins
        - HPL
        - HPR
        - SPKL
        - SPKR
        - RECL
        - RECR
        - INA1
        - INA2
        - INB1
        - INB2
        - MIC1
        - MIC2
        - MICBIAS

unevaluatedProperties: false

examples:
  - |
    #include <dt-bindings/clock/tegra30-car.h>
    #include <dt-bindings/soc/tegra-pmc.h>
    sound {
        compatible = "lge,tegra-audio-max98089-p895",
                     "nvidia,tegra-audio-max98089";
        nvidia,model = "LG Optimus Vu MAX98089";

        nvidia,audio-routing =
            "Headphone Jack", "HPL",
            "Headphone Jack", "HPR",
            "Int Spk", "SPKL",
            "Int Spk", "SPKR",
            "Earpiece", "RECL",
            "Earpiece", "RECR",
            "INA1", "Headset Mic",
            "MIC1", "MICBIAS",
            "MICBIAS", "Internal Mic 1",
            "MIC2", "Internal Mic 2";

        nvidia,i2s-controller = <&tegra_i2s0>;
        nvidia,audio-codec = <&codec>;

        clocks = <&tegra_car TEGRA30_CLK_PLL_A>,
                 <&tegra_car TEGRA30_CLK_PLL_A_OUT0>,
                 <&tegra_pmc TEGRA_PMC_CLK_OUT_1>;
        clock-names = "pll_a", "pll_a_out0", "mclk";
    };
