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