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