18c2ecf20Sopenharmony_ciFreescale Generic ASoC Sound Card with ASRC support
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciThe Freescale Generic ASoC Sound Card can be used, ideally, for all Freescale
48c2ecf20Sopenharmony_ciSoCs connecting with external CODECs.
58c2ecf20Sopenharmony_ci
68c2ecf20Sopenharmony_ciThe idea of this generic sound card is a bit like ASoC Simple Card. However,
78c2ecf20Sopenharmony_cifor Freescale SoCs (especially those released in recent years), most of them
88c2ecf20Sopenharmony_cihave ASRC (Documentation/devicetree/bindings/sound/fsl,asrc.txt) inside. And
98c2ecf20Sopenharmony_cithis is a specific feature that might be painstakingly controlled and merged
108c2ecf20Sopenharmony_ciinto the Simple Card.
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ciSo having this generic sound card allows all Freescale SoC users to benefit
138c2ecf20Sopenharmony_cifrom the simplification of a new card support and the capability of the wide
148c2ecf20Sopenharmony_cisample rates support through ASRC.
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ciNote: The card is initially designed for those sound cards who use AC'97, I2S
178c2ecf20Sopenharmony_ci      and PCM DAI formats. However, it'll be also possible to support those non
188c2ecf20Sopenharmony_ci      AC'97/I2S/PCM type sound cards, such as S/PDIF audio and HDMI audio, as
198c2ecf20Sopenharmony_ci      long as the driver has been properly upgraded.
208c2ecf20Sopenharmony_ci
218c2ecf20Sopenharmony_ci
228c2ecf20Sopenharmony_ciThe compatible list for this generic sound card currently:
238c2ecf20Sopenharmony_ci "fsl,imx-audio-ac97"
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci "fsl,imx-audio-cs42888"
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci "fsl,imx-audio-cs427x"
288c2ecf20Sopenharmony_ci (compatible with CS4271 and CS4272)
298c2ecf20Sopenharmony_ci
308c2ecf20Sopenharmony_ci "fsl,imx-audio-wm8962"
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_ci "fsl,imx-audio-sgtl5000"
338c2ecf20Sopenharmony_ci (compatible with Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt)
348c2ecf20Sopenharmony_ci
358c2ecf20Sopenharmony_ci "fsl,imx-audio-wm8960"
368c2ecf20Sopenharmony_ci
378c2ecf20Sopenharmony_ci "fsl,imx-audio-mqs"
388c2ecf20Sopenharmony_ci
398c2ecf20Sopenharmony_ci "fsl,imx-audio-wm8524"
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci "fsl,imx-audio-tlv320aic32x4"
428c2ecf20Sopenharmony_ci
438c2ecf20Sopenharmony_ciRequired properties:
448c2ecf20Sopenharmony_ci
458c2ecf20Sopenharmony_ci  - compatible		: Contains one of entries in the compatible list.
468c2ecf20Sopenharmony_ci
478c2ecf20Sopenharmony_ci  - model		: The user-visible name of this sound complex
488c2ecf20Sopenharmony_ci
498c2ecf20Sopenharmony_ci  - audio-cpu		: The phandle of an CPU DAI controller
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ci  - audio-codec		: The phandle of an audio codec
528c2ecf20Sopenharmony_ci
538c2ecf20Sopenharmony_ciOptional properties:
548c2ecf20Sopenharmony_ci
558c2ecf20Sopenharmony_ci  - audio-asrc		: The phandle of ASRC. It can be absent if there's no
568c2ecf20Sopenharmony_ci			  need to add ASRC support via DPCM.
578c2ecf20Sopenharmony_ci
588c2ecf20Sopenharmony_ci  - audio-routing	: A list of the connections between audio components.
598c2ecf20Sopenharmony_ci			  Each entry is a pair of strings, the first being the
608c2ecf20Sopenharmony_ci			  connection's sink, the second being the connection's
618c2ecf20Sopenharmony_ci			  source. There're a few pre-designed board connectors:
628c2ecf20Sopenharmony_ci			   * Line Out Jack
638c2ecf20Sopenharmony_ci			   * Line In Jack
648c2ecf20Sopenharmony_ci			   * Headphone Jack
658c2ecf20Sopenharmony_ci			   * Mic Jack
668c2ecf20Sopenharmony_ci			   * Ext Spk
678c2ecf20Sopenharmony_ci			   * AMIC (stands for Analog Microphone Jack)
688c2ecf20Sopenharmony_ci			   * DMIC (stands for Digital Microphone Jack)
698c2ecf20Sopenharmony_ci
708c2ecf20Sopenharmony_ci			  Note: The "Mic Jack" and "AMIC" are redundant while
718c2ecf20Sopenharmony_ci			        coexisting in order to support the old bindings
728c2ecf20Sopenharmony_ci				of wm8962 and sgtl5000.
738c2ecf20Sopenharmony_ci
748c2ecf20Sopenharmony_ci  - hp-det-gpio		: The GPIO that detect headphones are plugged in
758c2ecf20Sopenharmony_ci  - mic-det-gpio	: The GPIO that detect microphones are plugged in
768c2ecf20Sopenharmony_ci  - bitclock-master	: Indicates dai-link bit clock master; for details see simple-card.yaml.
778c2ecf20Sopenharmony_ci  - frame-master	: Indicates dai-link frame master; for details see simple-card.yaml.
788c2ecf20Sopenharmony_ci  - dai-format		: audio format, for details see simple-card.yaml.
798c2ecf20Sopenharmony_ci  - frame-inversion	: dai-link uses frame clock inversion, for details see simple-card.yaml.
808c2ecf20Sopenharmony_ci  - bitclock-inversion	: dai-link uses bit clock inversion, for details see simple-card.yaml.
818c2ecf20Sopenharmony_ci
828c2ecf20Sopenharmony_ciOptional unless SSI is selected as a CPU DAI:
838c2ecf20Sopenharmony_ci
848c2ecf20Sopenharmony_ci  - mux-int-port	: The internal port of the i.MX audio muxer (AUDMUX)
858c2ecf20Sopenharmony_ci
868c2ecf20Sopenharmony_ci  - mux-ext-port	: The external port of the i.MX audio muxer
878c2ecf20Sopenharmony_ci
888c2ecf20Sopenharmony_ciExample:
898c2ecf20Sopenharmony_cisound-cs42888 {
908c2ecf20Sopenharmony_ci	compatible = "fsl,imx-audio-cs42888";
918c2ecf20Sopenharmony_ci	model = "cs42888-audio";
928c2ecf20Sopenharmony_ci	audio-cpu = <&esai>;
938c2ecf20Sopenharmony_ci	audio-asrc = <&asrc>;
948c2ecf20Sopenharmony_ci	audio-codec = <&cs42888>;
958c2ecf20Sopenharmony_ci	audio-routing =
968c2ecf20Sopenharmony_ci		"Line Out Jack", "AOUT1L",
978c2ecf20Sopenharmony_ci		"Line Out Jack", "AOUT1R",
988c2ecf20Sopenharmony_ci		"Line Out Jack", "AOUT2L",
998c2ecf20Sopenharmony_ci		"Line Out Jack", "AOUT2R",
1008c2ecf20Sopenharmony_ci		"Line Out Jack", "AOUT3L",
1018c2ecf20Sopenharmony_ci		"Line Out Jack", "AOUT3R",
1028c2ecf20Sopenharmony_ci		"Line Out Jack", "AOUT4L",
1038c2ecf20Sopenharmony_ci		"Line Out Jack", "AOUT4R",
1048c2ecf20Sopenharmony_ci		"AIN1L", "Line In Jack",
1058c2ecf20Sopenharmony_ci		"AIN1R", "Line In Jack",
1068c2ecf20Sopenharmony_ci		"AIN2L", "Line In Jack",
1078c2ecf20Sopenharmony_ci		"AIN2R", "Line In Jack";
1088c2ecf20Sopenharmony_ci};
109