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-tlv320aic31xx 83 - fsl,imx-audio-tlv320aic32x4 84 - fsl,imx-audio-wm8524 85 - fsl,imx-audio-wm8904 86 - fsl,imx-audio-wm8960 87 - fsl,imx-audio-wm8962 88 - fsl,imx-audio-wm8958 89 - fsl,imx-audio-spdif 90 91 model: 92 $ref: /schemas/types.yaml#/definitions/string 93 description: The user-visible name of this sound complex 94 95 audio-asrc: 96 $ref: /schemas/types.yaml#/definitions/phandle 97 description: 98 The phandle of ASRC. It can be absent if there's no 99 need to add ASRC support via DPCM. 100 101 audio-codec: 102 $ref: /schemas/types.yaml#/definitions/phandle-array 103 description: | 104 The phandle of an audio codec. 105 With "fsl,imx-audio-spdif", either SPDIF audio codec spdif_transmitter, 106 spdif_receiver or both. 107 minItems: 1 108 maxItems: 2 109 items: 110 maxItems: 1 111 112 audio-cpu: 113 $ref: /schemas/types.yaml#/definitions/phandle 114 description: The phandle of an CPU DAI controller 115 116 audio-routing: 117 $ref: /schemas/types.yaml#/definitions/non-unique-string-array 118 description: 119 A list of the connections between audio components. Each entry is a 120 pair of strings, the first being the connection's sink, the second 121 being the connection's source. There're a few pre-designed board 122 connectors. "AMIC" stands for Analog Microphone Jack. 123 "DMIC" stands for Digital Microphone Jack. The "Mic Jack" and "AMIC" 124 are redundant while coexisting in order to support the old bindings 125 of wm8962 and sgtl5000. 126 127 hp-det-gpio: 128 deprecated: true 129 maxItems: 1 130 description: The GPIO that detect headphones are plugged in 131 132 hp-det-gpios: 133 maxItems: 1 134 description: The GPIO that detect headphones are plugged in 135 136 mic-det-gpio: 137 deprecated: true 138 maxItems: 1 139 description: The GPIO that detect microphones are plugged in 140 141 mic-det-gpios: 142 maxItems: 1 143 description: The GPIO that detect microphones are plugged in 144 145 bitclock-master: 146 $ref: simple-card.yaml#/definitions/bitclock-master 147 description: Indicates dai-link bit clock master. 148 149 frame-master: 150 $ref: simple-card.yaml#/definitions/frame-master 151 description: Indicates dai-link frame master. 152 153 format: 154 $ref: simple-card.yaml#/definitions/format 155 description: audio format. 156 157 frame-inversion: 158 $ref: simple-card.yaml#/definitions/frame-inversion 159 description: dai-link uses frame clock inversion. 160 161 bitclock-inversion: 162 $ref: simple-card.yaml#/definitions/bitclock-inversion 163 description: dai-link uses bit clock inversion. 164 165 mclk-id: 166 $ref: /schemas/types.yaml#/definitions/uint32-array 167 description: Main clock id for each codec, specific for each card configuration. 168 minItems: 1 169 maxItems: 2 170 171 mux-int-port: 172 $ref: /schemas/types.yaml#/definitions/uint32 173 enum: [1, 2, 7] 174 description: The internal port of the i.MX audio muxer (AUDMUX) 175 176 mux-ext-port: 177 $ref: /schemas/types.yaml#/definitions/uint32 178 enum: [3, 4, 5, 6] 179 description: The external port of the i.MX audio muxer 180 181 ssi-controller: 182 $ref: /schemas/types.yaml#/definitions/phandle 183 description: The phandle of an CPU DAI controller 184 185 spdif-controller: 186 $ref: /schemas/types.yaml#/definitions/phandle 187 deprecated: true 188 description: The phandle of an S/PDIF CPU DAI controller. 189 190 spdif-out: 191 type: boolean 192 deprecated: true 193 description: | 194 If present, the transmitting function of S/PDIF will be enabled, 195 indicating there's a physical S/PDIF out connector or jack on the 196 board or it's connecting to some other IP block, such as an HDMI 197 encoder or display-controller. 198 199 spdif-in: 200 type: boolean 201 deprecated: true 202 description: | 203 If present, the receiving function of S/PDIF will be enabled, 204 indicating there is a physical S/PDIF in connector/jack on the board. 205 206required: 207 - compatible 208 - model 209 210unevaluatedProperties: false 211 212examples: 213 - | 214 sound-cs42888 { 215 compatible = "fsl,imx-audio-cs42888"; 216 model = "cs42888-audio"; 217 audio-cpu = <&esai>; 218 audio-asrc = <&asrc>; 219 audio-codec = <&cs42888>; 220 audio-routing = 221 "Line Out Jack", "AOUT1L", 222 "Line Out Jack", "AOUT1R", 223 "Line Out Jack", "AOUT2L", 224 "Line Out Jack", "AOUT2R", 225 "Line Out Jack", "AOUT3L", 226 "Line Out Jack", "AOUT3R", 227 "Line Out Jack", "AOUT4L", 228 "Line Out Jack", "AOUT4R", 229 "AIN1L", "Line In Jack", 230 "AIN1R", "Line In Jack", 231 "AIN2L", "Line In Jack", 232 "AIN2R", "Line In Jack"; 233 }; 234 235 - | 236 sound-spdif-asrc { 237 compatible = "fsl,imx-audio-spdif"; 238 model = "spdif-asrc-audio"; 239 audio-cpu = <&spdif>; 240 audio-asrc = <&easrc>; 241 audio-codec = <&spdifdit>, <&spdifdir>; 242 }; 243