xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/sound/fsl-asoc-card.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunFreescale Generic ASoC Sound Card with ASRC support
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunThe Freescale Generic ASoC Sound Card can be used, ideally, for all Freescale
4*4882a593SmuzhiyunSoCs connecting with external CODECs.
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunThe idea of this generic sound card is a bit like ASoC Simple Card. However,
7*4882a593Smuzhiyunfor Freescale SoCs (especially those released in recent years), most of them
8*4882a593Smuzhiyunhave ASRC (Documentation/devicetree/bindings/sound/fsl,asrc.txt) inside. And
9*4882a593Smuzhiyunthis is a specific feature that might be painstakingly controlled and merged
10*4882a593Smuzhiyuninto the Simple Card.
11*4882a593Smuzhiyun
12*4882a593SmuzhiyunSo having this generic sound card allows all Freescale SoC users to benefit
13*4882a593Smuzhiyunfrom the simplification of a new card support and the capability of the wide
14*4882a593Smuzhiyunsample rates support through ASRC.
15*4882a593Smuzhiyun
16*4882a593SmuzhiyunNote: The card is initially designed for those sound cards who use AC'97, I2S
17*4882a593Smuzhiyun      and PCM DAI formats. However, it'll be also possible to support those non
18*4882a593Smuzhiyun      AC'97/I2S/PCM type sound cards, such as S/PDIF audio and HDMI audio, as
19*4882a593Smuzhiyun      long as the driver has been properly upgraded.
20*4882a593Smuzhiyun
21*4882a593Smuzhiyun
22*4882a593SmuzhiyunThe compatible list for this generic sound card currently:
23*4882a593Smuzhiyun "fsl,imx-audio-ac97"
24*4882a593Smuzhiyun
25*4882a593Smuzhiyun "fsl,imx-audio-cs42888"
26*4882a593Smuzhiyun
27*4882a593Smuzhiyun "fsl,imx-audio-cs427x"
28*4882a593Smuzhiyun (compatible with CS4271 and CS4272)
29*4882a593Smuzhiyun
30*4882a593Smuzhiyun "fsl,imx-audio-wm8962"
31*4882a593Smuzhiyun
32*4882a593Smuzhiyun "fsl,imx-audio-sgtl5000"
33*4882a593Smuzhiyun (compatible with Documentation/devicetree/bindings/sound/imx-audio-sgtl5000.txt)
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun "fsl,imx-audio-wm8960"
36*4882a593Smuzhiyun
37*4882a593Smuzhiyun "fsl,imx-audio-mqs"
38*4882a593Smuzhiyun
39*4882a593Smuzhiyun "fsl,imx-audio-wm8524"
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun "fsl,imx-audio-tlv320aic32x4"
42*4882a593Smuzhiyun
43*4882a593SmuzhiyunRequired properties:
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun  - compatible		: Contains one of entries in the compatible list.
46*4882a593Smuzhiyun
47*4882a593Smuzhiyun  - model		: The user-visible name of this sound complex
48*4882a593Smuzhiyun
49*4882a593Smuzhiyun  - audio-cpu		: The phandle of an CPU DAI controller
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun  - audio-codec		: The phandle of an audio codec
52*4882a593Smuzhiyun
53*4882a593SmuzhiyunOptional properties:
54*4882a593Smuzhiyun
55*4882a593Smuzhiyun  - audio-asrc		: The phandle of ASRC. It can be absent if there's no
56*4882a593Smuzhiyun			  need to add ASRC support via DPCM.
57*4882a593Smuzhiyun
58*4882a593Smuzhiyun  - audio-routing	: A list of the connections between audio components.
59*4882a593Smuzhiyun			  Each entry is a pair of strings, the first being the
60*4882a593Smuzhiyun			  connection's sink, the second being the connection's
61*4882a593Smuzhiyun			  source. There're a few pre-designed board connectors:
62*4882a593Smuzhiyun			   * Line Out Jack
63*4882a593Smuzhiyun			   * Line In Jack
64*4882a593Smuzhiyun			   * Headphone Jack
65*4882a593Smuzhiyun			   * Mic Jack
66*4882a593Smuzhiyun			   * Ext Spk
67*4882a593Smuzhiyun			   * AMIC (stands for Analog Microphone Jack)
68*4882a593Smuzhiyun			   * DMIC (stands for Digital Microphone Jack)
69*4882a593Smuzhiyun
70*4882a593Smuzhiyun			  Note: The "Mic Jack" and "AMIC" are redundant while
71*4882a593Smuzhiyun			        coexisting in order to support the old bindings
72*4882a593Smuzhiyun				of wm8962 and sgtl5000.
73*4882a593Smuzhiyun
74*4882a593Smuzhiyun  - hp-det-gpio		: The GPIO that detect headphones are plugged in
75*4882a593Smuzhiyun  - mic-det-gpio	: The GPIO that detect microphones are plugged in
76*4882a593Smuzhiyun  - bitclock-master	: Indicates dai-link bit clock master; for details see simple-card.yaml.
77*4882a593Smuzhiyun  - frame-master	: Indicates dai-link frame master; for details see simple-card.yaml.
78*4882a593Smuzhiyun  - dai-format		: audio format, for details see simple-card.yaml.
79*4882a593Smuzhiyun  - frame-inversion	: dai-link uses frame clock inversion, for details see simple-card.yaml.
80*4882a593Smuzhiyun  - bitclock-inversion	: dai-link uses bit clock inversion, for details see simple-card.yaml.
81*4882a593Smuzhiyun
82*4882a593SmuzhiyunOptional unless SSI is selected as a CPU DAI:
83*4882a593Smuzhiyun
84*4882a593Smuzhiyun  - mux-int-port	: The internal port of the i.MX audio muxer (AUDMUX)
85*4882a593Smuzhiyun
86*4882a593Smuzhiyun  - mux-ext-port	: The external port of the i.MX audio muxer
87*4882a593Smuzhiyun
88*4882a593SmuzhiyunExample:
89*4882a593Smuzhiyunsound-cs42888 {
90*4882a593Smuzhiyun	compatible = "fsl,imx-audio-cs42888";
91*4882a593Smuzhiyun	model = "cs42888-audio";
92*4882a593Smuzhiyun	audio-cpu = <&esai>;
93*4882a593Smuzhiyun	audio-asrc = <&asrc>;
94*4882a593Smuzhiyun	audio-codec = <&cs42888>;
95*4882a593Smuzhiyun	audio-routing =
96*4882a593Smuzhiyun		"Line Out Jack", "AOUT1L",
97*4882a593Smuzhiyun		"Line Out Jack", "AOUT1R",
98*4882a593Smuzhiyun		"Line Out Jack", "AOUT2L",
99*4882a593Smuzhiyun		"Line Out Jack", "AOUT2R",
100*4882a593Smuzhiyun		"Line Out Jack", "AOUT3L",
101*4882a593Smuzhiyun		"Line Out Jack", "AOUT3R",
102*4882a593Smuzhiyun		"Line Out Jack", "AOUT4L",
103*4882a593Smuzhiyun		"Line Out Jack", "AOUT4R",
104*4882a593Smuzhiyun		"AIN1L", "Line In Jack",
105*4882a593Smuzhiyun		"AIN1R", "Line In Jack",
106*4882a593Smuzhiyun		"AIN2L", "Line In Jack",
107*4882a593Smuzhiyun		"AIN2R", "Line In Jack";
108*4882a593Smuzhiyun};
109