xref: /freebsd/sys/contrib/device-tree/Bindings/sound/nvidia,tegra-audio-max98090.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotNVIDIA Tegra audio complex, with MAX98090 CODEC
2*c66ec88fSEmmanuel Vadot
3*c66ec88fSEmmanuel VadotRequired properties:
4*c66ec88fSEmmanuel Vadot- compatible : "nvidia,tegra-audio-max98090"
5*c66ec88fSEmmanuel Vadot- clocks : Must contain an entry for each entry in clock-names.
6*c66ec88fSEmmanuel Vadot  See ../clocks/clock-bindings.txt for details.
7*c66ec88fSEmmanuel Vadot- clock-names : Must include the following entries:
8*c66ec88fSEmmanuel Vadot  - pll_a
9*c66ec88fSEmmanuel Vadot  - pll_a_out0
10*c66ec88fSEmmanuel Vadot  - mclk (The Tegra cdev1/extern1 clock, which feeds the CODEC's mclk)
11*c66ec88fSEmmanuel Vadot- nvidia,model : The user-visible name of this sound complex.
12*c66ec88fSEmmanuel Vadot- nvidia,audio-routing : A list of the connections between audio components.
13*c66ec88fSEmmanuel Vadot  Each entry is a pair of strings, the first being the connection's sink,
14*c66ec88fSEmmanuel Vadot  the second being the connection's source. Valid names for sources and
15*c66ec88fSEmmanuel Vadot  sinks are the MAX98090's pins (as documented in its binding), and the jacks
16*c66ec88fSEmmanuel Vadot  on the board:
17*c66ec88fSEmmanuel Vadot
18*c66ec88fSEmmanuel Vadot  * Headphones
19*c66ec88fSEmmanuel Vadot  * Speakers
20*c66ec88fSEmmanuel Vadot  * Mic Jack
21*c66ec88fSEmmanuel Vadot  * Int Mic
22*c66ec88fSEmmanuel Vadot
23*c66ec88fSEmmanuel Vadot- nvidia,i2s-controller : The phandle of the Tegra I2S controller that's
24*c66ec88fSEmmanuel Vadot  connected to the CODEC.
25*c66ec88fSEmmanuel Vadot- nvidia,audio-codec : The phandle of the MAX98090 audio codec.
26*c66ec88fSEmmanuel Vadot
27*c66ec88fSEmmanuel VadotOptional properties:
28*c66ec88fSEmmanuel Vadot- nvidia,hp-det-gpios : The GPIO that detect headphones are plugged in
29*c66ec88fSEmmanuel Vadot- nvidia,mic-det-gpios : The GPIO that detect microphones are plugged in
30*c66ec88fSEmmanuel Vadot
31*c66ec88fSEmmanuel VadotExample:
32*c66ec88fSEmmanuel Vadot
33*c66ec88fSEmmanuel Vadotsound {
34*c66ec88fSEmmanuel Vadot	compatible = "nvidia,tegra-audio-max98090-venice2",
35*c66ec88fSEmmanuel Vadot		     "nvidia,tegra-audio-max98090";
36*c66ec88fSEmmanuel Vadot	nvidia,model = "NVIDIA Tegra Venice2";
37*c66ec88fSEmmanuel Vadot
38*c66ec88fSEmmanuel Vadot	nvidia,audio-routing =
39*c66ec88fSEmmanuel Vadot		"Headphones", "HPR",
40*c66ec88fSEmmanuel Vadot		"Headphones", "HPL",
41*c66ec88fSEmmanuel Vadot		"Speakers", "SPKR",
42*c66ec88fSEmmanuel Vadot		"Speakers", "SPKL",
43*c66ec88fSEmmanuel Vadot		"Mic Jack", "MICBIAS",
44*c66ec88fSEmmanuel Vadot		"IN34", "Mic Jack";
45*c66ec88fSEmmanuel Vadot
46*c66ec88fSEmmanuel Vadot	nvidia,i2s-controller = <&tegra_i2s1>;
47*c66ec88fSEmmanuel Vadot	nvidia,audio-codec = <&acodec>;
48*c66ec88fSEmmanuel Vadot
49*c66ec88fSEmmanuel Vadot	clocks = <&tegra_car TEGRA124_CLK_PLL_A>,
50*c66ec88fSEmmanuel Vadot		 <&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
51*c66ec88fSEmmanuel Vadot		 <&tegra_car TEGRA124_CLK_EXTERN1>;
52*c66ec88fSEmmanuel Vadot	clock-names = "pll_a", "pll_a_out0", "mclk";
53*c66ec88fSEmmanuel Vadot};
54