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