18c2ecf20Sopenharmony_ciNVIDIA Tegra audio complex
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciRequired properties:
48c2ecf20Sopenharmony_ci- compatible : "nvidia,tegra-audio-wm8903"
58c2ecf20Sopenharmony_ci- clocks : Must contain an entry for each entry in clock-names.
68c2ecf20Sopenharmony_ci  See ../clocks/clock-bindings.txt for details.
78c2ecf20Sopenharmony_ci- clock-names : Must include the following entries:
88c2ecf20Sopenharmony_ci  - pll_a
98c2ecf20Sopenharmony_ci  - pll_a_out0
108c2ecf20Sopenharmony_ci  - mclk (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk)
118c2ecf20Sopenharmony_ci- nvidia,model : The user-visible name of this sound complex.
128c2ecf20Sopenharmony_ci- nvidia,audio-routing : A list of the connections between audio components.
138c2ecf20Sopenharmony_ci  Each entry is a pair of strings, the first being the connection's sink,
148c2ecf20Sopenharmony_ci  the second being the connection's source. Valid names for sources and
158c2ecf20Sopenharmony_ci  sinks are the WM8903's pins (documented in the WM8903 binding document),
168c2ecf20Sopenharmony_ci  and the jacks on the board:
178c2ecf20Sopenharmony_ci
188c2ecf20Sopenharmony_ci  * Headphone Jack
198c2ecf20Sopenharmony_ci  * Int Spk
208c2ecf20Sopenharmony_ci  * Mic Jack
218c2ecf20Sopenharmony_ci  * Int Mic
228c2ecf20Sopenharmony_ci
238c2ecf20Sopenharmony_ci- nvidia,i2s-controller : The phandle of the Tegra I2S1 controller
248c2ecf20Sopenharmony_ci- nvidia,audio-codec : The phandle of the WM8903 audio codec
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_ciOptional properties:
278c2ecf20Sopenharmony_ci- nvidia,spkr-en-gpios : The GPIO that enables the speakers
288c2ecf20Sopenharmony_ci- nvidia,hp-mute-gpios : The GPIO that mutes the headphones
298c2ecf20Sopenharmony_ci- nvidia,hp-det-gpios : The GPIO that detect headphones are plugged in
308c2ecf20Sopenharmony_ci- nvidia,int-mic-en-gpios : The GPIO that enables the internal microphone
318c2ecf20Sopenharmony_ci- nvidia,ext-mic-en-gpios : The GPIO that enables the external microphone
328c2ecf20Sopenharmony_ci- nvidia,headset : The Mic Jack represents state of the headset microphone pin
338c2ecf20Sopenharmony_ci
348c2ecf20Sopenharmony_ciExample:
358c2ecf20Sopenharmony_ci
368c2ecf20Sopenharmony_cisound {
378c2ecf20Sopenharmony_ci	compatible = "nvidia,tegra-audio-wm8903-harmony",
388c2ecf20Sopenharmony_ci		     "nvidia,tegra-audio-wm8903"
398c2ecf20Sopenharmony_ci	nvidia,model = "tegra-wm8903-harmony";
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_ci	nvidia,audio-routing =
428c2ecf20Sopenharmony_ci		"Headphone Jack", "HPOUTR",
438c2ecf20Sopenharmony_ci		"Headphone Jack", "HPOUTL",
448c2ecf20Sopenharmony_ci		"Int Spk", "ROP",
458c2ecf20Sopenharmony_ci		"Int Spk", "RON",
468c2ecf20Sopenharmony_ci		"Int Spk", "LOP",
478c2ecf20Sopenharmony_ci		"Int Spk", "LON",
488c2ecf20Sopenharmony_ci		"Mic Jack", "MICBIAS",
498c2ecf20Sopenharmony_ci		"IN1L", "Mic Jack";
508c2ecf20Sopenharmony_ci
518c2ecf20Sopenharmony_ci	nvidia,i2s-controller = <&i2s1>;
528c2ecf20Sopenharmony_ci	nvidia,audio-codec = <&wm8903>;
538c2ecf20Sopenharmony_ci
548c2ecf20Sopenharmony_ci	nvidia,spkr-en-gpios = <&codec 2 0>;
558c2ecf20Sopenharmony_ci	nvidia,hp-det-gpios = <&gpio 178 0>; /* gpio PW2 */
568c2ecf20Sopenharmony_ci	nvidia,int-mic-en-gpios = <&gpio 184 0>; /*gpio PX0 */
578c2ecf20Sopenharmony_ci	nvidia,ext-mic-en-gpios = <&gpio 185 0>; /* gpio PX1 */
588c2ecf20Sopenharmony_ci
598c2ecf20Sopenharmony_ci	clocks = <&tegra_car 112>, <&tegra_car 113>, <&tegra_car 93>;
608c2ecf20Sopenharmony_ci	clock-names = "pll_a", "pll_a_out0", "mclk";
618c2ecf20Sopenharmony_ci};
628c2ecf20Sopenharmony_ci
63