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

title: Amlogic AXG sound card

maintainers:
  - Jerome Brunet <jbrunet@baylibre.com>

properties:
  compatible:
    const: amlogic,axg-sound-card

  audio-aux-devs:
    $ref: /schemas/types.yaml#/definitions/phandle-array
    description: list of auxiliary devices

  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.

  audio-widgets:
    $ref: /schemas/types.yaml#/definitions/non-unique-string-array
    description:
      A list off component DAPM widget. Each entry is a pair of strings,
      the first being the widget type, the second being the widget name

  model:
    $ref: /schemas/types.yaml#/definitions/string
    description: User specified audio sound card name

patternProperties:
  "^dai-link-[0-9]+$":
    type: object
    additionalProperties: false
    description:
      Container for dai-link level properties and the CODEC sub-nodes.
      There should be at least one (and probably more) subnode of this type

    properties:
      dai-format:
        $ref: /schemas/types.yaml#/definitions/string
        enum: [ i2s, left-j, dsp_a ]

      dai-tdm-slot-num:
        $ref: /schemas/types.yaml#/definitions/uint32
        description:
          Number of slots in use. If omitted, slot number is set to
          accommodate the largest mask provided.
        maximum: 32

      dai-tdm-slot-width:
        $ref: /schemas/types.yaml#/definitions/uint32
        description: Width in bits for each slot
        enum: [ 8, 16, 20, 24, 32 ]
        default: 32

      mclk-fs:
        $ref: /schemas/types.yaml#/definitions/uint32
        description:
          Multiplication factor between the frame rate and master clock
          rate

      sound-dai:
        maxItems: 1
        description: phandle of the CPU DAI

    patternProperties:
      "^dai-tdm-slot-(t|r)x-mask-[0-3]$":
        $ref: /schemas/types.yaml#/definitions/uint32-array
        minItems: 1
        maxItems: 32
        description:
          Transmit and receive cpu slot masks of each TDM lane
          When omitted, mask is assumed to have to no slots. A valid
          interface must have at least one slot, so at least one these
          mask should be provided with an enabled slot.

      "^codec(-[0-9]+)?$":
        type: object
        additionalProperties: false
        description:
          dai-link representing backend links should have at least one subnode.
          One subnode for each codec of the dai-link. dai-link representing
          frontend links have no codec, therefore have no subnodes

        properties:
          sound-dai:
            maxItems: 1
            description: phandle of the codec DAI

        patternProperties:
          "^dai-tdm-slot-(t|r)x-mask$":
            $ref: /schemas/types.yaml#/definitions/uint32-array
            minItems: 1
            maxItems: 32
            description: Transmit and receive codec slot masks

        required:
          - sound-dai

    required:
      - sound-dai

required:
  - model
  - dai-link-0

unevaluatedProperties: false

examples:
  - |
    sound {
        compatible = "amlogic,axg-sound-card";
        model = "AXG-S420";
        audio-aux-devs = <&tdmin_a>, <&tdmout_c>;
        audio-widgets = "Line", "Lineout",
                        "Line", "Linein",
                        "Speaker", "Speaker1 Left",
                        "Speaker", "Speaker1 Right",
                        "Speaker", "Speaker2 Left",
                        "Speaker", "Speaker2 Right";
        audio-routing = "TDMOUT_C IN 0", "FRDDR_A OUT 2",
                        "SPDIFOUT IN 0", "FRDDR_A OUT 3",
                        "TDM_C Playback", "TDMOUT_C OUT",
                        "TDMIN_A IN 2", "TDM_C Capture",
                        "TDMIN_A IN 5", "TDM_C Loopback",
                        "TODDR_A IN 0", "TDMIN_A OUT",
                        "Lineout", "Lineout AOUTL",
                        "Lineout", "Lineout AOUTR",
                        "Speaker1 Left", "SPK1 OUT_A",
                        "Speaker2 Left", "SPK2 OUT_A",
                        "Speaker1 Right", "SPK1 OUT_B",
                        "Speaker2 Right", "SPK2 OUT_B",
                        "Linein AINL", "Linein",
                        "Linein AINR", "Linein";

        dai-link-0 {
            sound-dai = <&frddr_a>;
        };

        dai-link-1 {
            sound-dai = <&toddr_a>;
        };

        dai-link-2 {
            sound-dai = <&tdmif_c>;
            dai-format = "i2s";
            dai-tdm-slot-tx-mask-2 = <1 1>;
            dai-tdm-slot-tx-mask-3 = <1 1>;
            dai-tdm-slot-rx-mask-1 = <1 1>;
            mclk-fs = <256>;

            codec-0 {
                sound-dai = <&lineout>;
            };

            codec-1 {
                sound-dai = <&speaker_amp1>;
            };

            codec-2 {
                sound-dai = <&speaker_amp2>;
            };

            codec-3 {
                sound-dai = <&linein>;
            };
        };

        dai-link-3 {
            sound-dai = <&spdifout>;

            codec {
                sound-dai = <&spdif_dit>;
            };
        };
    };
