1fac71e4eSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2fac71e4eSEmmanuel Vadot%YAML 1.2 3fac71e4eSEmmanuel Vadot--- 4fac71e4eSEmmanuel Vadot$id: http://devicetree.org/schemas/sound/fsl,qmc-audio.yaml# 5fac71e4eSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6fac71e4eSEmmanuel Vadot 7fac71e4eSEmmanuel Vadottitle: QMC audio 8fac71e4eSEmmanuel Vadot 9fac71e4eSEmmanuel Vadotmaintainers: 10fac71e4eSEmmanuel Vadot - Herve Codina <herve.codina@bootlin.com> 11fac71e4eSEmmanuel Vadot 12fac71e4eSEmmanuel Vadotdescription: | 13fac71e4eSEmmanuel Vadot The QMC audio is an ASoC component which uses QMC (QUICC Multichannel 14fac71e4eSEmmanuel Vadot Controller) channels to transfer the audio data. 15fac71e4eSEmmanuel Vadot It provides as many DAI as the number of QMC channel used. 16fac71e4eSEmmanuel Vadot 17fac71e4eSEmmanuel VadotallOf: 18fac71e4eSEmmanuel Vadot - $ref: dai-common.yaml# 19fac71e4eSEmmanuel Vadot 20fac71e4eSEmmanuel Vadotproperties: 21fac71e4eSEmmanuel Vadot compatible: 22fac71e4eSEmmanuel Vadot const: fsl,qmc-audio 23fac71e4eSEmmanuel Vadot 24fac71e4eSEmmanuel Vadot '#address-cells': 25fac71e4eSEmmanuel Vadot const: 1 26fac71e4eSEmmanuel Vadot '#size-cells': 27fac71e4eSEmmanuel Vadot const: 0 28fac71e4eSEmmanuel Vadot '#sound-dai-cells': 29fac71e4eSEmmanuel Vadot const: 1 30fac71e4eSEmmanuel Vadot 31fac71e4eSEmmanuel VadotpatternProperties: 32fac71e4eSEmmanuel Vadot '^dai@([0-9]|[1-5][0-9]|6[0-3])$': 33fac71e4eSEmmanuel Vadot description: 34fac71e4eSEmmanuel Vadot A DAI managed by this controller 35fac71e4eSEmmanuel Vadot type: object 36*84943d6fSEmmanuel Vadot additionalProperties: false 37fac71e4eSEmmanuel Vadot 38fac71e4eSEmmanuel Vadot properties: 39fac71e4eSEmmanuel Vadot reg: 40fac71e4eSEmmanuel Vadot minimum: 0 41fac71e4eSEmmanuel Vadot maximum: 63 42fac71e4eSEmmanuel Vadot description: 43fac71e4eSEmmanuel Vadot The DAI number 44fac71e4eSEmmanuel Vadot 45fac71e4eSEmmanuel Vadot fsl,qmc-chan: 46fac71e4eSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle-array 47fac71e4eSEmmanuel Vadot items: 48fac71e4eSEmmanuel Vadot - items: 49fac71e4eSEmmanuel Vadot - description: phandle to QMC node 50fac71e4eSEmmanuel Vadot - description: Channel number 51fac71e4eSEmmanuel Vadot description: 52fac71e4eSEmmanuel Vadot Should be a phandle/number pair. The phandle to QMC node and the QMC 53fac71e4eSEmmanuel Vadot channel to use for this DAI. 54fac71e4eSEmmanuel Vadot 55fac71e4eSEmmanuel Vadot required: 56fac71e4eSEmmanuel Vadot - reg 57fac71e4eSEmmanuel Vadot - fsl,qmc-chan 58fac71e4eSEmmanuel Vadot 59fac71e4eSEmmanuel Vadotrequired: 60fac71e4eSEmmanuel Vadot - compatible 61fac71e4eSEmmanuel Vadot - '#address-cells' 62fac71e4eSEmmanuel Vadot - '#size-cells' 63fac71e4eSEmmanuel Vadot - '#sound-dai-cells' 64fac71e4eSEmmanuel Vadot 65fac71e4eSEmmanuel VadotadditionalProperties: false 66fac71e4eSEmmanuel Vadot 67fac71e4eSEmmanuel Vadotexamples: 68fac71e4eSEmmanuel Vadot - | 69fac71e4eSEmmanuel Vadot audio_controller: audio-controller { 70fac71e4eSEmmanuel Vadot compatible = "fsl,qmc-audio"; 71fac71e4eSEmmanuel Vadot #address-cells = <1>; 72fac71e4eSEmmanuel Vadot #size-cells = <0>; 73fac71e4eSEmmanuel Vadot #sound-dai-cells = <1>; 74fac71e4eSEmmanuel Vadot dai@16 { 75fac71e4eSEmmanuel Vadot reg = <16>; 76fac71e4eSEmmanuel Vadot fsl,qmc-chan = <&qmc 16>; 77fac71e4eSEmmanuel Vadot }; 78fac71e4eSEmmanuel Vadot dai@17 { 79fac71e4eSEmmanuel Vadot reg = <17>; 80fac71e4eSEmmanuel Vadot fsl,qmc-chan = <&qmc 17>; 81fac71e4eSEmmanuel Vadot }; 82fac71e4eSEmmanuel Vadot }; 83fac71e4eSEmmanuel Vadot 84fac71e4eSEmmanuel Vadot sound { 85fac71e4eSEmmanuel Vadot compatible = "simple-audio-card"; 86fac71e4eSEmmanuel Vadot #address-cells = <1>; 87fac71e4eSEmmanuel Vadot #size-cells = <0>; 88fac71e4eSEmmanuel Vadot simple-audio-card,dai-link@0 { 89fac71e4eSEmmanuel Vadot reg = <0>; 90fac71e4eSEmmanuel Vadot format = "dsp_b"; 91fac71e4eSEmmanuel Vadot cpu { 92fac71e4eSEmmanuel Vadot sound-dai = <&audio_controller 16>; 93fac71e4eSEmmanuel Vadot }; 94fac71e4eSEmmanuel Vadot codec { 95fac71e4eSEmmanuel Vadot sound-dai = <&codec1>; 96fac71e4eSEmmanuel Vadot dai-tdm-slot-num = <4>; 97fac71e4eSEmmanuel Vadot dai-tdm-slot-width = <8>; 98fac71e4eSEmmanuel Vadot /* TS 3, 5, 7, 9 */ 99fac71e4eSEmmanuel Vadot dai-tdm-slot-tx-mask = <0 0 0 1 0 1 0 1 0 1>; 100fac71e4eSEmmanuel Vadot dai-tdm-slot-rx-mask = <0 0 0 1 0 1 0 1 0 1>; 101fac71e4eSEmmanuel Vadot }; 102fac71e4eSEmmanuel Vadot }; 103fac71e4eSEmmanuel Vadot simple-audio-card,dai-link@1 { 104fac71e4eSEmmanuel Vadot reg = <1>; 105fac71e4eSEmmanuel Vadot format = "dsp_b"; 106fac71e4eSEmmanuel Vadot cpu { 107fac71e4eSEmmanuel Vadot sound-dai = <&audio_controller 17>; 108fac71e4eSEmmanuel Vadot }; 109fac71e4eSEmmanuel Vadot codec { 110fac71e4eSEmmanuel Vadot sound-dai = <&codec2>; 111fac71e4eSEmmanuel Vadot dai-tdm-slot-num = <4>; 112fac71e4eSEmmanuel Vadot dai-tdm-slot-width = <8>; 113fac71e4eSEmmanuel Vadot /* TS 2, 4, 6, 8 */ 114fac71e4eSEmmanuel Vadot dai-tdm-slot-tx-mask = <0 0 1 0 1 0 1 0 1>; 115fac71e4eSEmmanuel Vadot dai-tdm-slot-rx-mask = <0 0 1 0 1 0 1 0 1>; 116fac71e4eSEmmanuel Vadot }; 117fac71e4eSEmmanuel Vadot }; 118fac71e4eSEmmanuel Vadot }; 119