17d0873ebSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 27d0873ebSEmmanuel Vadot%YAML 1.2 37d0873ebSEmmanuel Vadot--- 47d0873ebSEmmanuel Vadot$id: http://devicetree.org/schemas/sound/fsl-asoc-card.yaml# 57d0873ebSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 67d0873ebSEmmanuel Vadot 77d0873ebSEmmanuel Vadottitle: Freescale Generic ASoC Sound Card with ASRC support 87d0873ebSEmmanuel Vadot 97d0873ebSEmmanuel Vadotdescription: 107d0873ebSEmmanuel Vadot The Freescale Generic ASoC Sound Card can be used, ideally, 117d0873ebSEmmanuel Vadot for all Freescale SoCs connecting with external CODECs. 127d0873ebSEmmanuel Vadot 137d0873ebSEmmanuel Vadot The idea of this generic sound card is a bit like ASoC Simple Card. 147d0873ebSEmmanuel Vadot However, for Freescale SoCs (especially those released in recent years), 157d0873ebSEmmanuel Vadot most of them have ASRC inside. And this is a specific feature that might 167d0873ebSEmmanuel Vadot be painstakingly controlled and merged into the Simple Card. 177d0873ebSEmmanuel Vadot 187d0873ebSEmmanuel Vadot So having this generic sound card allows all Freescale SoC users to 197d0873ebSEmmanuel Vadot benefit from the simplification of a new card support and the capability 207d0873ebSEmmanuel Vadot of the wide sample rates support through ASRC. 217d0873ebSEmmanuel Vadot 227d0873ebSEmmanuel Vadot Note, The card is initially designed for those sound cards who use AC'97, I2S 237d0873ebSEmmanuel Vadot and PCM DAI formats. However, it'll be also possible to support those non 247d0873ebSEmmanuel Vadot AC'97/I2S/PCM type sound cards, such as S/PDIF audio and HDMI audio, as 257d0873ebSEmmanuel Vadot long as the driver has been properly upgraded. 267d0873ebSEmmanuel Vadot 277d0873ebSEmmanuel Vadotmaintainers: 287d0873ebSEmmanuel Vadot - Shengjiu Wang <shengjiu.wang@nxp.com> 297d0873ebSEmmanuel Vadot 307d0873ebSEmmanuel Vadotproperties: 317d0873ebSEmmanuel Vadot compatible: 327d0873ebSEmmanuel Vadot oneOf: 337d0873ebSEmmanuel Vadot - items: 347d0873ebSEmmanuel Vadot - enum: 357d0873ebSEmmanuel Vadot - fsl,imx-sgtl5000 367d0873ebSEmmanuel Vadot - fsl,imx25-pdk-sgtl5000 377d0873ebSEmmanuel Vadot - fsl,imx53-cpuvo-sgtl5000 387d0873ebSEmmanuel Vadot - fsl,imx51-babbage-sgtl5000 397d0873ebSEmmanuel Vadot - fsl,imx53-m53evk-sgtl5000 407d0873ebSEmmanuel Vadot - fsl,imx53-qsb-sgtl5000 417d0873ebSEmmanuel Vadot - fsl,imx53-voipac-sgtl5000 427d0873ebSEmmanuel Vadot - fsl,imx6-armadeus-sgtl5000 437d0873ebSEmmanuel Vadot - fsl,imx6-rex-sgtl5000 447d0873ebSEmmanuel Vadot - fsl,imx6-sabreauto-cs42888 457d0873ebSEmmanuel Vadot - fsl,imx6-wandboard-sgtl5000 467d0873ebSEmmanuel Vadot - fsl,imx6dl-nit6xlite-sgtl5000 477d0873ebSEmmanuel Vadot - fsl,imx6q-ba16-sgtl5000 487d0873ebSEmmanuel Vadot - fsl,imx6q-nitrogen6_max-sgtl5000 497d0873ebSEmmanuel Vadot - fsl,imx6q-nitrogen6_som2-sgtl5000 507d0873ebSEmmanuel Vadot - fsl,imx6q-nitrogen6x-sgtl5000 517d0873ebSEmmanuel Vadot - fsl,imx6q-sabrelite-sgtl5000 527d0873ebSEmmanuel Vadot - fsl,imx6q-sabresd-wm8962 537d0873ebSEmmanuel Vadot - fsl,imx6q-udoo-ac97 547d0873ebSEmmanuel Vadot - fsl,imx6q-ventana-sgtl5000 557d0873ebSEmmanuel Vadot - fsl,imx6sl-evk-wm8962 567d0873ebSEmmanuel Vadot - fsl,imx6sx-sdb-mqs 577d0873ebSEmmanuel Vadot - fsl,imx6sx-sdb-wm8962 587d0873ebSEmmanuel Vadot - fsl,imx7d-evk-wm8960 597d0873ebSEmmanuel Vadot - karo,tx53-audio-sgtl5000 607d0873ebSEmmanuel Vadot - tq,imx53-mba53-sgtl5000 617d0873ebSEmmanuel Vadot - enum: 627d0873ebSEmmanuel Vadot - fsl,imx-audio-ac97 637d0873ebSEmmanuel Vadot - fsl,imx-audio-cs42888 647d0873ebSEmmanuel Vadot - fsl,imx-audio-mqs 657d0873ebSEmmanuel Vadot - fsl,imx-audio-sgtl5000 667d0873ebSEmmanuel Vadot - fsl,imx-audio-wm8960 677d0873ebSEmmanuel Vadot - fsl,imx-audio-wm8962 687d0873ebSEmmanuel Vadot - items: 697d0873ebSEmmanuel Vadot - enum: 70*0e8011faSEmmanuel Vadot - fsl,imx-sabreauto-spdif 71*0e8011faSEmmanuel Vadot - fsl,imx6sx-sdb-spdif 72*0e8011faSEmmanuel Vadot - const: fsl,imx-audio-spdif 73*0e8011faSEmmanuel Vadot - items: 74*0e8011faSEmmanuel Vadot - enum: 757d0873ebSEmmanuel Vadot - fsl,imx-audio-ac97 767d0873ebSEmmanuel Vadot - fsl,imx-audio-cs42888 777d0873ebSEmmanuel Vadot - fsl,imx-audio-cs427x 787d0873ebSEmmanuel Vadot - fsl,imx-audio-mqs 797d0873ebSEmmanuel Vadot - fsl,imx-audio-nau8822 807d0873ebSEmmanuel Vadot - fsl,imx-audio-sgtl5000 817d0873ebSEmmanuel Vadot - fsl,imx-audio-si476x 827d0873ebSEmmanuel Vadot - fsl,imx-audio-tlv320aic31xx 837d0873ebSEmmanuel Vadot - fsl,imx-audio-tlv320aic32x4 847d0873ebSEmmanuel Vadot - fsl,imx-audio-wm8524 857d0873ebSEmmanuel Vadot - fsl,imx-audio-wm8904 867d0873ebSEmmanuel Vadot - fsl,imx-audio-wm8960 877d0873ebSEmmanuel Vadot - fsl,imx-audio-wm8962 887d0873ebSEmmanuel Vadot - fsl,imx-audio-wm8958 89*0e8011faSEmmanuel Vadot - fsl,imx-audio-spdif 907d0873ebSEmmanuel Vadot 917d0873ebSEmmanuel Vadot model: 927d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/string 937d0873ebSEmmanuel Vadot description: The user-visible name of this sound complex 947d0873ebSEmmanuel Vadot 957d0873ebSEmmanuel Vadot audio-asrc: 967d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 977d0873ebSEmmanuel Vadot description: 987d0873ebSEmmanuel Vadot The phandle of ASRC. It can be absent if there's no 997d0873ebSEmmanuel Vadot need to add ASRC support via DPCM. 1007d0873ebSEmmanuel Vadot 1017d0873ebSEmmanuel Vadot audio-codec: 102*0e8011faSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle-array 103*0e8011faSEmmanuel Vadot description: | 104*0e8011faSEmmanuel Vadot The phandle of an audio codec. 105*0e8011faSEmmanuel Vadot With "fsl,imx-audio-spdif", either SPDIF audio codec spdif_transmitter, 106*0e8011faSEmmanuel Vadot spdif_receiver or both. 107*0e8011faSEmmanuel Vadot minItems: 1 108*0e8011faSEmmanuel Vadot maxItems: 2 109*0e8011faSEmmanuel Vadot items: 110*0e8011faSEmmanuel Vadot maxItems: 1 1117d0873ebSEmmanuel Vadot 1127d0873ebSEmmanuel Vadot audio-cpu: 1137d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 1147d0873ebSEmmanuel Vadot description: The phandle of an CPU DAI controller 1157d0873ebSEmmanuel Vadot 1167d0873ebSEmmanuel Vadot audio-routing: 1177d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/non-unique-string-array 1187d0873ebSEmmanuel Vadot description: 1197d0873ebSEmmanuel Vadot A list of the connections between audio components. Each entry is a 1207d0873ebSEmmanuel Vadot pair of strings, the first being the connection's sink, the second 1217d0873ebSEmmanuel Vadot being the connection's source. There're a few pre-designed board 1227d0873ebSEmmanuel Vadot connectors. "AMIC" stands for Analog Microphone Jack. 1237d0873ebSEmmanuel Vadot "DMIC" stands for Digital Microphone Jack. The "Mic Jack" and "AMIC" 1247d0873ebSEmmanuel Vadot are redundant while coexisting in order to support the old bindings 1257d0873ebSEmmanuel Vadot of wm8962 and sgtl5000. 1267d0873ebSEmmanuel Vadot 1277d0873ebSEmmanuel Vadot hp-det-gpio: 1287d0873ebSEmmanuel Vadot deprecated: true 1297d0873ebSEmmanuel Vadot maxItems: 1 1307d0873ebSEmmanuel Vadot description: The GPIO that detect headphones are plugged in 1317d0873ebSEmmanuel Vadot 1327d0873ebSEmmanuel Vadot hp-det-gpios: 1337d0873ebSEmmanuel Vadot maxItems: 1 1347d0873ebSEmmanuel Vadot description: The GPIO that detect headphones are plugged in 1357d0873ebSEmmanuel Vadot 1367d0873ebSEmmanuel Vadot mic-det-gpio: 1377d0873ebSEmmanuel Vadot deprecated: true 1387d0873ebSEmmanuel Vadot maxItems: 1 1397d0873ebSEmmanuel Vadot description: The GPIO that detect microphones are plugged in 1407d0873ebSEmmanuel Vadot 1417d0873ebSEmmanuel Vadot mic-det-gpios: 1427d0873ebSEmmanuel Vadot maxItems: 1 1437d0873ebSEmmanuel Vadot description: The GPIO that detect microphones are plugged in 1447d0873ebSEmmanuel Vadot 1457d0873ebSEmmanuel Vadot bitclock-master: 1467d0873ebSEmmanuel Vadot $ref: simple-card.yaml#/definitions/bitclock-master 1477d0873ebSEmmanuel Vadot description: Indicates dai-link bit clock master. 1487d0873ebSEmmanuel Vadot 1497d0873ebSEmmanuel Vadot frame-master: 1507d0873ebSEmmanuel Vadot $ref: simple-card.yaml#/definitions/frame-master 1517d0873ebSEmmanuel Vadot description: Indicates dai-link frame master. 1527d0873ebSEmmanuel Vadot 1537d0873ebSEmmanuel Vadot format: 1547d0873ebSEmmanuel Vadot $ref: simple-card.yaml#/definitions/format 1557d0873ebSEmmanuel Vadot description: audio format. 1567d0873ebSEmmanuel Vadot 1577d0873ebSEmmanuel Vadot frame-inversion: 1587d0873ebSEmmanuel Vadot $ref: simple-card.yaml#/definitions/frame-inversion 1597d0873ebSEmmanuel Vadot description: dai-link uses frame clock inversion. 1607d0873ebSEmmanuel Vadot 1617d0873ebSEmmanuel Vadot bitclock-inversion: 1627d0873ebSEmmanuel Vadot $ref: simple-card.yaml#/definitions/bitclock-inversion 1637d0873ebSEmmanuel Vadot description: dai-link uses bit clock inversion. 1647d0873ebSEmmanuel Vadot 1657d0873ebSEmmanuel Vadot mclk-id: 166*0e8011faSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32-array 167*0e8011faSEmmanuel Vadot description: Main clock id for each codec, specific for each card configuration. 168*0e8011faSEmmanuel Vadot minItems: 1 169*0e8011faSEmmanuel Vadot maxItems: 2 1707d0873ebSEmmanuel Vadot 1717d0873ebSEmmanuel Vadot mux-int-port: 1727d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 1737d0873ebSEmmanuel Vadot enum: [1, 2, 7] 1747d0873ebSEmmanuel Vadot description: The internal port of the i.MX audio muxer (AUDMUX) 1757d0873ebSEmmanuel Vadot 1767d0873ebSEmmanuel Vadot mux-ext-port: 1777d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/uint32 1787d0873ebSEmmanuel Vadot enum: [3, 4, 5, 6] 1797d0873ebSEmmanuel Vadot description: The external port of the i.MX audio muxer 1807d0873ebSEmmanuel Vadot 1817d0873ebSEmmanuel Vadot ssi-controller: 1827d0873ebSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 1837d0873ebSEmmanuel Vadot description: The phandle of an CPU DAI controller 1847d0873ebSEmmanuel Vadot 185*0e8011faSEmmanuel Vadot spdif-controller: 186*0e8011faSEmmanuel Vadot $ref: /schemas/types.yaml#/definitions/phandle 187*0e8011faSEmmanuel Vadot deprecated: true 188*0e8011faSEmmanuel Vadot description: The phandle of an S/PDIF CPU DAI controller. 189*0e8011faSEmmanuel Vadot 190*0e8011faSEmmanuel Vadot spdif-out: 191*0e8011faSEmmanuel Vadot type: boolean 192*0e8011faSEmmanuel Vadot deprecated: true 193*0e8011faSEmmanuel Vadot description: | 194*0e8011faSEmmanuel Vadot If present, the transmitting function of S/PDIF will be enabled, 195*0e8011faSEmmanuel Vadot indicating there's a physical S/PDIF out connector or jack on the 196*0e8011faSEmmanuel Vadot board or it's connecting to some other IP block, such as an HDMI 197*0e8011faSEmmanuel Vadot encoder or display-controller. 198*0e8011faSEmmanuel Vadot 199*0e8011faSEmmanuel Vadot spdif-in: 200*0e8011faSEmmanuel Vadot type: boolean 201*0e8011faSEmmanuel Vadot deprecated: true 202*0e8011faSEmmanuel Vadot description: | 203*0e8011faSEmmanuel Vadot If present, the receiving function of S/PDIF will be enabled, 204*0e8011faSEmmanuel Vadot indicating there is a physical S/PDIF in connector/jack on the board. 205*0e8011faSEmmanuel Vadot 2067d0873ebSEmmanuel Vadotrequired: 2077d0873ebSEmmanuel Vadot - compatible 2087d0873ebSEmmanuel Vadot - model 2097d0873ebSEmmanuel Vadot 2107d0873ebSEmmanuel VadotunevaluatedProperties: false 2117d0873ebSEmmanuel Vadot 2127d0873ebSEmmanuel Vadotexamples: 2137d0873ebSEmmanuel Vadot - | 2147d0873ebSEmmanuel Vadot sound-cs42888 { 2157d0873ebSEmmanuel Vadot compatible = "fsl,imx-audio-cs42888"; 2167d0873ebSEmmanuel Vadot model = "cs42888-audio"; 2177d0873ebSEmmanuel Vadot audio-cpu = <&esai>; 2187d0873ebSEmmanuel Vadot audio-asrc = <&asrc>; 2197d0873ebSEmmanuel Vadot audio-codec = <&cs42888>; 2207d0873ebSEmmanuel Vadot audio-routing = 2217d0873ebSEmmanuel Vadot "Line Out Jack", "AOUT1L", 2227d0873ebSEmmanuel Vadot "Line Out Jack", "AOUT1R", 2237d0873ebSEmmanuel Vadot "Line Out Jack", "AOUT2L", 2247d0873ebSEmmanuel Vadot "Line Out Jack", "AOUT2R", 2257d0873ebSEmmanuel Vadot "Line Out Jack", "AOUT3L", 2267d0873ebSEmmanuel Vadot "Line Out Jack", "AOUT3R", 2277d0873ebSEmmanuel Vadot "Line Out Jack", "AOUT4L", 2287d0873ebSEmmanuel Vadot "Line Out Jack", "AOUT4R", 2297d0873ebSEmmanuel Vadot "AIN1L", "Line In Jack", 2307d0873ebSEmmanuel Vadot "AIN1R", "Line In Jack", 2317d0873ebSEmmanuel Vadot "AIN2L", "Line In Jack", 2327d0873ebSEmmanuel Vadot "AIN2R", "Line In Jack"; 2337d0873ebSEmmanuel Vadot }; 234*0e8011faSEmmanuel Vadot 235*0e8011faSEmmanuel Vadot - | 236*0e8011faSEmmanuel Vadot sound-spdif-asrc { 237*0e8011faSEmmanuel Vadot compatible = "fsl,imx-audio-spdif"; 238*0e8011faSEmmanuel Vadot model = "spdif-asrc-audio"; 239*0e8011faSEmmanuel Vadot audio-cpu = <&spdif>; 240*0e8011faSEmmanuel Vadot audio-asrc = <&easrc>; 241*0e8011faSEmmanuel Vadot audio-codec = <&spdifdit>, <&spdifdir>; 242*0e8011faSEmmanuel Vadot }; 243