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

title: QMC audio

maintainers:
  - Herve Codina <herve.codina@bootlin.com>

description: |
  The QMC audio is an ASoC component which uses QMC (QUICC Multichannel
  Controller) channels to transfer the audio data.
  It provides several DAIs. For each DAI, the DAI is working in interleaved mode
  if only one QMC channel is used by the DAI or it is working in non-interleaved
  mode if several QMC channels are used by the DAI.

allOf:
  - $ref: dai-common.yaml#

properties:
  compatible:
    const: fsl,qmc-audio

  '#address-cells':
    const: 1
  '#size-cells':
    const: 0
  '#sound-dai-cells':
    const: 1

patternProperties:
  '^dai@([0-9]|[1-5][0-9]|6[0-3])$':
    description:
      A DAI managed by this controller
    type: object
    additionalProperties: false

    properties:
      reg:
        minimum: 0
        maximum: 63
        description:
          The DAI number

      fsl,qmc-chan:
        $ref: /schemas/types.yaml#/definitions/phandle-array
        items:
          items:
            - description: phandle to QMC node
            - description: Channel number
        minItems: 1
        description:
          Should be a phandle/number pair list. The list of phandle to QMC node
          and the QMC channel pair to use for this DAI.
          If only one phandle/number pair is provided, this DAI works in
          interleaved mode, i.e. audio channels for this DAI are interleaved in
          the QMC channel. If more than one pair is provided, this DAI works
          in non-interleave mode. In that case the first audio channel uses the
          the first QMC channel, the second audio channel uses the second QMC
          channel, etc...

    required:
      - reg
      - fsl,qmc-chan

required:
  - compatible
  - '#address-cells'
  - '#size-cells'
  - '#sound-dai-cells'

additionalProperties: false

examples:
  - |
    audio_controller: audio-controller {
        compatible = "fsl,qmc-audio";
        #address-cells = <1>;
        #size-cells = <0>;
        #sound-dai-cells = <1>;
        dai@16 {
            reg = <16>;
            fsl,qmc-chan = <&qmc 16>;
        };
        dai@17 {
            reg = <17>;
            fsl,qmc-chan = <&qmc 17>;
        };
        dai@18 {
            reg = <18>;
            /* Non-interleaved mode */
            fsl,qmc-chan = <&qmc 18>, <&qmc 19>;
        };
    };

    sound {
        compatible = "simple-audio-card";
        #address-cells = <1>;
        #size-cells = <0>;
        simple-audio-card,dai-link@0 {
            reg = <0>;
            format = "dsp_b";
            cpu {
                sound-dai = <&audio_controller 16>;
            };
            codec {
                sound-dai = <&codec1>;
                dai-tdm-slot-num = <4>;
                dai-tdm-slot-width = <8>;
                /* TS 3, 5, 7, 9 */
                dai-tdm-slot-tx-mask = <0 0 0 1 0 1 0 1 0 1>;
                dai-tdm-slot-rx-mask = <0 0 0 1 0 1 0 1 0 1>;
            };
        };
        simple-audio-card,dai-link@1 {
            reg = <1>;
            format = "dsp_b";
            cpu {
                sound-dai = <&audio_controller 17>;
            };
            codec {
                sound-dai = <&codec2>;
                dai-tdm-slot-num = <4>;
                dai-tdm-slot-width = <8>;
                /* TS 2, 4, 6, 8 */
                dai-tdm-slot-tx-mask = <0 0 1 0 1 0 1 0 1>;
                dai-tdm-slot-rx-mask = <0 0 1 0 1 0 1 0 1>;
            };
        };
        simple-audio-card,dai-link@2 {
            reg = <2>;
            format = "dsp_b";
            cpu {
                sound-dai = <&audio_controller 18>;
            };
            codec {
                sound-dai = <&codec3>;
                dai-tdm-slot-num = <2>;
                dai-tdm-slot-width = <8>;
                /* TS 9, 10 */
                dai-tdm-slot-tx-mask = <0 0 0 0 0 0 0 0 0 1 1>;
                dai-tdm-slot-rx-mask = <0 0 0 0 0 0 0 0 0 1 1>;
            };
        };
    };
