# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/sound/samsung,odroid.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Samsung Exynos Odroid XU3/XU4 audio complex with MAX98090 codec

maintainers:
  - Krzysztof Kozlowski <krzk@kernel.org>
  - Sylwester Nawrocki <s.nawrocki@samsung.com>

properties:
  compatible:
    oneOf:
      - const: hardkernel,odroid-xu3-audio

      - const: hardkernel,odroid-xu4-audio
        deprecated: true

      - const: samsung,odroid-xu3-audio
        deprecated: true

      - const: samsung,odroid-xu4-audio
        deprecated: true

  model:
    $ref: /schemas/types.yaml#/definitions/string
    description: The user-visible name of this sound complex.

  assigned-clock-parents: true
  assigned-clock-rates: true
  assigned-clocks: true
  clocks: true

  cpu:
    type: object
    properties:
      sound-dai:
        $ref: /schemas/types.yaml#/definitions/phandle-array
        description: phandles to the I2S controllers

  codec:
    type: object
    properties:
      sound-dai:
        $ref: /schemas/types.yaml#/definitions/phandle-array
        description: |
          List of phandles to the CODEC nodes,
          first entry must be corresponding to the MAX98090 CODEC and
          the second entry must be the phandle of the HDMI IP block node.

  samsung,audio-routing:
    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
    description: |
      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 MAX98090's pins (as
      documented in its binding), and the jacks on the board.
      For Odroid X2: "Headphone Jack", "Mic Jack", "DMIC"
      For Odroid U3, XU3: "Headphone Jack", "Speakers"
      For Odroid XU4: no entries

  samsung,audio-widgets:
    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
    description: |
      This property specifies off-codec audio elements
      like headphones or speakers, for details see widgets.txt

required:
  - compatible
  - model
  - cpu
  - codec

additionalProperties: false

examples:
  - |
    sound {
        compatible = "hardkernel,odroid-xu3-audio";
        model = "Odroid-XU3";
        samsung,audio-routing =
                "Headphone Jack", "HPL",
                "Headphone Jack", "HPR",
                "IN1", "Mic Jack",
                "Mic Jack", "MICBIAS";

        cpu {
            sound-dai = <&i2s0 0>;
        };

        codec {
            sound-dai = <&hdmi>, <&max98090>;
        };
    };

