xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-wm8903.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunNVIDIA Tegra audio complex
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunRequired properties:
4*4882a593Smuzhiyun- compatible : "nvidia,tegra-audio-wm8903"
5*4882a593Smuzhiyun- clocks : Must contain an entry for each entry in clock-names.
6*4882a593Smuzhiyun  See ../clocks/clock-bindings.txt for details.
7*4882a593Smuzhiyun- clock-names : Must include the following entries:
8*4882a593Smuzhiyun  - pll_a
9*4882a593Smuzhiyun  - pll_a_out0
10*4882a593Smuzhiyun  - mclk (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk)
11*4882a593Smuzhiyun- nvidia,model : The user-visible name of this sound complex.
12*4882a593Smuzhiyun- nvidia,audio-routing : A list of the connections between audio components.
13*4882a593Smuzhiyun  Each entry is a pair of strings, the first being the connection's sink,
14*4882a593Smuzhiyun  the second being the connection's source. Valid names for sources and
15*4882a593Smuzhiyun  sinks are the WM8903's pins (documented in the WM8903 binding document),
16*4882a593Smuzhiyun  and the jacks on the board:
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun  * Headphone Jack
19*4882a593Smuzhiyun  * Int Spk
20*4882a593Smuzhiyun  * Mic Jack
21*4882a593Smuzhiyun  * Int Mic
22*4882a593Smuzhiyun
23*4882a593Smuzhiyun- nvidia,i2s-controller : The phandle of the Tegra I2S1 controller
24*4882a593Smuzhiyun- nvidia,audio-codec : The phandle of the WM8903 audio codec
25*4882a593Smuzhiyun
26*4882a593SmuzhiyunOptional properties:
27*4882a593Smuzhiyun- nvidia,spkr-en-gpios : The GPIO that enables the speakers
28*4882a593Smuzhiyun- nvidia,hp-mute-gpios : The GPIO that mutes the headphones
29*4882a593Smuzhiyun- nvidia,hp-det-gpios : The GPIO that detect headphones are plugged in
30*4882a593Smuzhiyun- nvidia,int-mic-en-gpios : The GPIO that enables the internal microphone
31*4882a593Smuzhiyun- nvidia,ext-mic-en-gpios : The GPIO that enables the external microphone
32*4882a593Smuzhiyun- nvidia,headset : The Mic Jack represents state of the headset microphone pin
33*4882a593Smuzhiyun
34*4882a593SmuzhiyunExample:
35*4882a593Smuzhiyun
36*4882a593Smuzhiyunsound {
37*4882a593Smuzhiyun	compatible = "nvidia,tegra-audio-wm8903-harmony",
38*4882a593Smuzhiyun		     "nvidia,tegra-audio-wm8903"
39*4882a593Smuzhiyun	nvidia,model = "tegra-wm8903-harmony";
40*4882a593Smuzhiyun
41*4882a593Smuzhiyun	nvidia,audio-routing =
42*4882a593Smuzhiyun		"Headphone Jack", "HPOUTR",
43*4882a593Smuzhiyun		"Headphone Jack", "HPOUTL",
44*4882a593Smuzhiyun		"Int Spk", "ROP",
45*4882a593Smuzhiyun		"Int Spk", "RON",
46*4882a593Smuzhiyun		"Int Spk", "LOP",
47*4882a593Smuzhiyun		"Int Spk", "LON",
48*4882a593Smuzhiyun		"Mic Jack", "MICBIAS",
49*4882a593Smuzhiyun		"IN1L", "Mic Jack";
50*4882a593Smuzhiyun
51*4882a593Smuzhiyun	nvidia,i2s-controller = <&i2s1>;
52*4882a593Smuzhiyun	nvidia,audio-codec = <&wm8903>;
53*4882a593Smuzhiyun
54*4882a593Smuzhiyun	nvidia,spkr-en-gpios = <&codec 2 0>;
55*4882a593Smuzhiyun	nvidia,hp-det-gpios = <&gpio 178 0>; /* gpio PW2 */
56*4882a593Smuzhiyun	nvidia,int-mic-en-gpios = <&gpio 184 0>; /*gpio PX0 */
57*4882a593Smuzhiyun	nvidia,ext-mic-en-gpios = <&gpio 185 0>; /* gpio PX1 */
58*4882a593Smuzhiyun
59*4882a593Smuzhiyun	clocks = <&tegra_car 112>, <&tegra_car 113>, <&tegra_car 93>;
60*4882a593Smuzhiyun	clock-names = "pll_a", "pll_a_out0", "mclk";
61*4882a593Smuzhiyun};
62*4882a593Smuzhiyun
63