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-audio-ac97 71 - fsl,imx-audio-cs42888 72 - fsl,imx-audio-cs427x 73 - fsl,imx-audio-mqs 74 - fsl,imx-audio-nau8822 75 - fsl,imx-audio-sgtl5000 76 - fsl,imx-audio-si476x 77 - fsl,imx-audio-tlv320aic31xx 78 - fsl,imx-audio-tlv320aic32x4 79 - fsl,imx-audio-wm8524 80 - fsl,imx-audio-wm8904 81 - fsl,imx-audio-wm8960 82 - fsl,imx-audio-wm8962 83 - fsl,imx-audio-wm8958 84 85 model: 86 $ref: /schemas/types.yaml#/definitions/string 87 description: The user-visible name of this sound complex 88 89 audio-asrc: 90 $ref: /schemas/types.yaml#/definitions/phandle 91 description: 92 The phandle of ASRC. It can be absent if there's no 93 need to add ASRC support via DPCM. 94 95 audio-codec: 96 $ref: /schemas/types.yaml#/definitions/phandle 97 description: The phandle of an audio codec 98 99 audio-cpu: 100 $ref: /schemas/types.yaml#/definitions/phandle 101 description: The phandle of an CPU DAI controller 102 103 audio-routing: 104 $ref: /schemas/types.yaml#/definitions/non-unique-string-array 105 description: 106 A list of the connections between audio components. Each entry is a 107 pair of strings, the first being the connection's sink, the second 108 being the connection's source. There're a few pre-designed board 109 connectors. "AMIC" stands for Analog Microphone Jack. 110 "DMIC" stands for Digital Microphone Jack. The "Mic Jack" and "AMIC" 111 are redundant while coexisting in order to support the old bindings 112 of wm8962 and sgtl5000. 113 114 hp-det-gpio: 115 deprecated: true 116 maxItems: 1 117 description: The GPIO that detect headphones are plugged in 118 119 hp-det-gpios: 120 maxItems: 1 121 description: The GPIO that detect headphones are plugged in 122 123 mic-det-gpio: 124 deprecated: true 125 maxItems: 1 126 description: The GPIO that detect microphones are plugged in 127 128 mic-det-gpios: 129 maxItems: 1 130 description: The GPIO that detect microphones are plugged in 131 132 bitclock-master: 133 $ref: simple-card.yaml#/definitions/bitclock-master 134 description: Indicates dai-link bit clock master. 135 136 frame-master: 137 $ref: simple-card.yaml#/definitions/frame-master 138 description: Indicates dai-link frame master. 139 140 format: 141 $ref: simple-card.yaml#/definitions/format 142 description: audio format. 143 144 frame-inversion: 145 $ref: simple-card.yaml#/definitions/frame-inversion 146 description: dai-link uses frame clock inversion. 147 148 bitclock-inversion: 149 $ref: simple-card.yaml#/definitions/bitclock-inversion 150 description: dai-link uses bit clock inversion. 151 152 mclk-id: 153 $ref: /schemas/types.yaml#/definitions/uint32 154 description: main clock id, specific for each card configuration. 155 156 mux-int-port: 157 $ref: /schemas/types.yaml#/definitions/uint32 158 enum: [1, 2, 7] 159 description: The internal port of the i.MX audio muxer (AUDMUX) 160 161 mux-ext-port: 162 $ref: /schemas/types.yaml#/definitions/uint32 163 enum: [3, 4, 5, 6] 164 description: The external port of the i.MX audio muxer 165 166 ssi-controller: 167 $ref: /schemas/types.yaml#/definitions/phandle 168 description: The phandle of an CPU DAI controller 169 170required: 171 - compatible 172 - model 173 174unevaluatedProperties: false 175 176examples: 177 - | 178 sound-cs42888 { 179 compatible = "fsl,imx-audio-cs42888"; 180 model = "cs42888-audio"; 181 audio-cpu = <&esai>; 182 audio-asrc = <&asrc>; 183 audio-codec = <&cs42888>; 184 audio-routing = 185 "Line Out Jack", "AOUT1L", 186 "Line Out Jack", "AOUT1R", 187 "Line Out Jack", "AOUT2L", 188 "Line Out Jack", "AOUT2R", 189 "Line Out Jack", "AOUT3L", 190 "Line Out Jack", "AOUT3R", 191 "Line Out Jack", "AOUT4L", 192 "Line Out Jack", "AOUT4R", 193 "AIN1L", "Line In Jack", 194 "AIN1R", "Line In Jack", 195 "AIN2L", "Line In Jack", 196 "AIN2R", "Line In Jack"; 197 }; 198