File Index
Files and directories
Sign in
FILE

fsl,qmc-audio.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/sound/fsl,qmc-audio.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/sound/fsl,qmc-audio.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: QMC audio
  8
  9maintainers:
 10  - Herve Codina <herve.codina@bootlin.com>
 11
 12description: |
 13  The QMC audio is an ASoC component which uses QMC (QUICC Multichannel
 14  Controller) channels to transfer the audio data.
 15  It provides several DAIs. For each DAI, the DAI is working in interleaved mode
 16  if only one QMC channel is used by the DAI or it is working in non-interleaved
 17  mode if several QMC channels are used by the DAI.
 18
 19allOf:
 20  - $ref: dai-common.yaml#
 21
 22properties:
 23  compatible:
 24    const: fsl,qmc-audio
 25
 26  '#address-cells':
 27    const: 1
 28  '#size-cells':
 29    const: 0
 30  '#sound-dai-cells':
 31    const: 1
 32
 33patternProperties:
 34  '^dai@([0-9]|[1-5][0-9]|6[0-3])$':
 35    description:
 36      A DAI managed by this controller
 37    type: object
 38    additionalProperties: false
 39
 40    properties:
 41      reg:
 42        minimum: 0
 43        maximum: 63
 44        description:
 45          The DAI number
 46
 47      fsl,qmc-chan:
 48        $ref: /schemas/types.yaml#/definitions/phandle-array
 49        items:
 50          items:
 51            - description: phandle to QMC node
 52            - description: Channel number
 53        minItems: 1
 54        description:
 55          Should be a phandle/number pair list. The list of phandle to QMC node
 56          and the QMC channel pair to use for this DAI.
 57          If only one phandle/number pair is provided, this DAI works in
 58          interleaved mode, i.e. audio channels for this DAI are interleaved in
 59          the QMC channel. If more than one pair is provided, this DAI works
 60          in non-interleave mode. In that case the first audio channel uses the
 61          the first QMC channel, the second audio channel uses the second QMC
 62          channel, etc...
 63
 64    required:
 65      - reg
 66      - fsl,qmc-chan
 67
 68required:
 69  - compatible
 70  - '#address-cells'
 71  - '#size-cells'
 72  - '#sound-dai-cells'
 73
 74additionalProperties: false
 75
 76examples:
 77  - |
 78    audio_controller: audio-controller {
 79        compatible = "fsl,qmc-audio";
 80        #address-cells = <1>;
 81        #size-cells = <0>;
 82        #sound-dai-cells = <1>;
 83        dai@16 {
 84            reg = <16>;
 85            fsl,qmc-chan = <&qmc 16>;
 86        };
 87        dai@17 {
 88            reg = <17>;
 89            fsl,qmc-chan = <&qmc 17>;
 90        };
 91        dai@18 {
 92            reg = <18>;
 93            /* Non-interleaved mode */
 94            fsl,qmc-chan = <&qmc 18>, <&qmc 19>;
 95        };
 96    };
 97
 98    sound {
 99        compatible = "simple-audio-card";
100        #address-cells = <1>;
101        #size-cells = <0>;
102        simple-audio-card,dai-link@0 {
103            reg = <0>;
104            format = "dsp_b";
105            cpu {
106                sound-dai = <&audio_controller 16>;
107            };
108            codec {
109                sound-dai = <&codec1>;
110                dai-tdm-slot-num = <4>;
111                dai-tdm-slot-width = <8>;
112                /* TS 3, 5, 7, 9 */
113                dai-tdm-slot-tx-mask = <0 0 0 1 0 1 0 1 0 1>;
114                dai-tdm-slot-rx-mask = <0 0 0 1 0 1 0 1 0 1>;
115            };
116        };
117        simple-audio-card,dai-link@1 {
118            reg = <1>;
119            format = "dsp_b";
120            cpu {
121                sound-dai = <&audio_controller 17>;
122            };
123            codec {
124                sound-dai = <&codec2>;
125                dai-tdm-slot-num = <4>;
126                dai-tdm-slot-width = <8>;
127                /* TS 2, 4, 6, 8 */
128                dai-tdm-slot-tx-mask = <0 0 1 0 1 0 1 0 1>;
129                dai-tdm-slot-rx-mask = <0 0 1 0 1 0 1 0 1>;
130            };
131        };
132        simple-audio-card,dai-link@2 {
133            reg = <2>;
134            format = "dsp_b";
135            cpu {
136                sound-dai = <&audio_controller 18>;
137            };
138            codec {
139                sound-dai = <&codec3>;
140                dai-tdm-slot-num = <2>;
141                dai-tdm-slot-width = <8>;
142                /* TS 9, 10 */
143                dai-tdm-slot-tx-mask = <0 0 0 0 0 0 0 0 0 1 1>;
144                dai-tdm-slot-rx-mask = <0 0 0 0 0 0 0 0 0 1 1>;
145            };
146        };
147    };
~/ Read-only file preview.