# 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>

allOf:
  - $ref: sound-card-common.yaml#

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

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

  cpu:
    type: object
    additionalProperties: false
    properties:
      sound-dai:
        description: phandles to the I2S controllers

  codec:
    type: object
    additionalProperties: false
    properties:
      sound-dai:
        minItems: 1
        items:
          - description: phandle of the HDMI IP block node
          - description: phandle of the MAX98090 CODEC

  samsung,audio-routing:
    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
    deprecated: true
    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
      Deprecated, use audio-routing.

  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
  - cpu
  - codec

unevaluatedProperties: false

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

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

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