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-asoc-card.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Freescale Generic ASoC Sound Card with ASRC support 8 9description: 10 The Freescale Generic ASoC Sound Card can be used, ideally, 11 for all Freescale SoCs connecting with external CODECs. 12 13 The idea of this generic sound card is a bit like ASoC Simple Card. 14 However, for Freescale SoCs (especially those released in recent years), 15 most of them have ASRC inside. And this is a specific feature that might 16 be painstakingly controlled and merged into the Simple Card. 17 18 So having this generic sound card allows all Freescale SoC users to 19 benefit from the simplification of a new card support and the capability 20 of the wide sample rates support through ASRC. 21 22 Note, The card is initially designed for those sound cards who use AC'97, I2S 23 and PCM DAI formats. However, it'll be also possible to support those non 24 AC'97/I2S/PCM type sound cards, such as S/PDIF audio and HDMI audio, as 25 long as the driver has been properly upgraded. 26 27maintainers: 28 - Shengjiu Wang <shengjiu.wang@nxp.com> 29 30properties: 31 compatible: 32 oneOf: 33 - items: 34 - enum: 35 - fsl,imx-sgtl5000 36 - fsl,imx25-pdk-sgtl5000 37 - fsl,imx53-cpuvo-sgtl5000 38 - fsl,imx51-babbage-sgtl5000 39 - fsl,imx53-m53evk-sgtl5000 40 - fsl,imx53-qsb-sgtl5000 41 - fsl,imx53-voipac-sgtl5000 42 - fsl,imx6-armadeus-sgtl5000 43 - fsl,imx6-rex-sgtl5000 44 - fsl,imx6-sabreauto-cs42888 45 - fsl,imx6-wandboard-sgtl5000 46 - fsl,imx6dl-nit6xlite-sgtl5000 47 - fsl,imx6q-ba16-sgtl5000 48 - fsl,imx6q-nitrogen6_max-sgtl5000 49 - fsl,imx6q-nitrogen6_som2-sgtl5000 50 - fsl,imx6q-nitrogen6x-sgtl5000 51 - fsl,imx6q-sabrelite-sgtl5000 52 - fsl,imx6q-sabresd-wm8962 53 - fsl,imx6q-udoo-ac97 54 - fsl,imx6q-ventana-sgtl5000 55 - fsl,imx6sl-evk-wm8962 56 - fsl,imx6sx-sdb-mqs 57 - fsl,imx6sx-sdb-wm8962 58 - fsl,imx7d-evk-wm8960 59 - karo,tx53-audio-sgtl5000 60 - tq,imx53-mba53-sgtl5000 61 - enum: 62 - fsl,imx-audio-ac97 63 - fsl,imx-audio-cs42888 64 - fsl,imx-audio-mqs 65 - fsl,imx-audio-sgtl5000 66 - fsl,imx-audio-wm8960 67 - fsl,imx-audio-wm8962 68 - items: 69 - enum: 70 - fsl,imx-sabreauto-spdif 71 - fsl,imx6sx-sdb-spdif 72 - const: fsl,imx-audio-spdif 73 - items: 74 - enum: 75 - fsl,imx-audio-ac97 76 - fsl,imx-audio-cs42888 77 - fsl,imx-audio-cs427x 78 - fsl,imx-audio-mqs 79 - fsl,imx-audio-nau8822 80 - fsl,imx-audio-sgtl5000 81 - fsl,imx-audio-si476x 82 - fsl,imx-audio-tlv320 83 - fsl,imx-audio-tlv320aic31xx 84 - fsl,imx-audio-tlv320aic32x4 85 - fsl,imx-audio-wm8524 86 - fsl,imx-audio-wm8904 87 - fsl,imx-audio-wm8960 88 - fsl,imx-audio-wm8962 89 - fsl,imx-audio-wm8958 90 - fsl,imx-audio-spdif 91 92 model: 93 $ref: /schemas/types.yaml#/definitions/string 94 description: The user-visible name of this sound complex 95 96 audio-asrc: 97 $ref: /schemas/types.yaml#/definitions/phandle 98 description: 99 The phandle of ASRC. It can be absent if there's no 100 need to add ASRC support via DPCM. 101 102 audio-codec: 103 $ref: /schemas/types.yaml#/definitions/phandle-array 104 description: | 105 The phandle of an audio codec. 106 With "fsl,imx-audio-spdif", either SPDIF audio codec spdif_transmitter, 107 spdif_receiver or both. 108 minItems: 1 109 maxItems: 2 110 items: 111 maxItems: 1 112 113 audio-cpu: 114 $ref: /schemas/types.yaml#/definitions/phandle 115 description: The phandle of an CPU DAI controller 116 117 audio-routing: 118 $ref: /schemas/types.yaml#/definitions/non-unique-string-array 119 description: 120 A list of the connections between audio components. Each entry is a 121 pair of strings, the first being the connection's sink, the second 122 being the connection's source. There're a few pre-designed board 123 connectors. "AMIC" stands for Analog Microphone Jack. 124 "DMIC" stands for Digital Microphone Jack. The "Mic Jack" and "AMIC" 125 are redundant while coexisting in order to support the old bindings 126 of wm8962 and sgtl5000. 127 128 hp-det-gpio: 129 deprecated: true 130 maxItems: 1 131 description: The GPIO that detect headphones are plugged in 132 133 hp-det-gpios: 134 maxItems: 1 135 description: The GPIO that detect headphones are plugged in 136 137 mic-det-gpio: 138 deprecated: true 139 maxItems: 1 140 description: The GPIO that detect microphones are plugged in 141 142 mic-det-gpios: 143 maxItems: 1 144 description: The GPIO that detect microphones are plugged in 145 146 bitclock-master: 147 $ref: simple-card.yaml#/definitions/bitclock-master 148 description: Indicates dai-link bit clock master. 149 150 frame-master: 151 $ref: simple-card.yaml#/definitions/frame-master 152 description: Indicates dai-link frame master. 153 154 format: 155 $ref: simple-card.yaml#/definitions/format 156 description: audio format. 157 158 frame-inversion: 159 $ref: simple-card.yaml#/definitions/frame-inversion 160 description: dai-link uses frame clock inversion. 161 162 bitclock-inversion: 163 $ref: simple-card.yaml#/definitions/bitclock-inversion 164 description: dai-link uses bit clock inversion. 165 166 mclk-id: 167 $ref: /schemas/types.yaml#/definitions/uint32-array 168 description: Main clock id for each codec, specific for each card configuration. 169 minItems: 1 170 maxItems: 2 171 172 mux-int-port: 173 $ref: /schemas/types.yaml#/definitions/uint32 174 enum: [1, 2, 7] 175 description: The internal port of the i.MX audio muxer (AUDMUX) 176 177 mux-ext-port: 178 $ref: /schemas/types.yaml#/definitions/uint32 179 enum: [3, 4, 5, 6] 180 description: The external port of the i.MX audio muxer 181 182 ssi-controller: 183 $ref: /schemas/types.yaml#/definitions/phandle 184 description: The phandle of an CPU DAI controller 185 186 spdif-controller: 187 $ref: /schemas/types.yaml#/definitions/phandle 188 deprecated: true 189 description: The phandle of an S/PDIF CPU DAI controller. 190 191 spdif-out: 192 type: boolean 193 deprecated: true 194 description: | 195 If present, the transmitting function of S/PDIF will be enabled, 196 indicating there's a physical S/PDIF out connector or jack on the 197 board or it's connecting to some other IP block, such as an HDMI 198 encoder or display-controller. 199 200 spdif-in: 201 type: boolean 202 deprecated: true 203 description: | 204 If present, the receiving function of S/PDIF will be enabled, 205 indicating there is a physical S/PDIF in connector/jack on the board. 206 207required: 208 - compatible 209 - model 210 211unevaluatedProperties: false 212 213examples: 214 - | 215 sound-cs42888 { 216 compatible = "fsl,imx-audio-cs42888"; 217 model = "cs42888-audio"; 218 audio-cpu = <&esai>; 219 audio-asrc = <&asrc>; 220 audio-codec = <&cs42888>; 221 audio-routing = 222 "Line Out Jack", "AOUT1L", 223 "Line Out Jack", "AOUT1R", 224 "Line Out Jack", "AOUT2L", 225 "Line Out Jack", "AOUT2R", 226 "Line Out Jack", "AOUT3L", 227 "Line Out Jack", "AOUT3R", 228 "Line Out Jack", "AOUT4L", 229 "Line Out Jack", "AOUT4R", 230 "AIN1L", "Line In Jack", 231 "AIN1R", "Line In Jack", 232 "AIN2L", "Line In Jack", 233 "AIN2R", "Line In Jack"; 234 }; 235 236 - | 237 sound-spdif-asrc { 238 compatible = "fsl,imx-audio-spdif"; 239 model = "spdif-asrc-audio"; 240 audio-cpu = <&spdif>; 241 audio-asrc = <&easrc>; 242 audio-codec = <&spdifdit>, <&spdifdir>; 243 }; 244