xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/sound/nvidia,tegra-audio-rt5677.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunNVIDIA Tegra audio complex, with RT5677 CODEC
2*4882a593Smuzhiyun
3*4882a593SmuzhiyunRequired properties:
4*4882a593Smuzhiyun- compatible : "nvidia,tegra-audio-rt5677"
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 RT5677's pins (as documented in its binding), and the jacks
16*4882a593Smuzhiyun  on the board:
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun  * Headphone
19*4882a593Smuzhiyun  * Speaker
20*4882a593Smuzhiyun  * Headset Mic
21*4882a593Smuzhiyun  * Internal Mic 1
22*4882a593Smuzhiyun  * Internal Mic 2
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun- nvidia,i2s-controller : The phandle of the Tegra I2S controller that's
25*4882a593Smuzhiyun  connected to the CODEC.
26*4882a593Smuzhiyun- nvidia,audio-codec : The phandle of the RT5677 audio codec. This binding
27*4882a593Smuzhiyun  assumes that AIF1 on the CODEC is connected to Tegra.
28*4882a593Smuzhiyun
29*4882a593SmuzhiyunOptional properties:
30*4882a593Smuzhiyun- nvidia,hp-det-gpios : The GPIO that detects headphones are plugged in
31*4882a593Smuzhiyun- nvidia,hp-en-gpios : The GPIO that enables headphone amplifier
32*4882a593Smuzhiyun- nvidia,mic-present-gpios: The GPIO that mic jack is plugged in
33*4882a593Smuzhiyun- nvidia,dmic-clk-en-gpios : The GPIO that gates DMIC clock signal
34*4882a593Smuzhiyun
35*4882a593SmuzhiyunExample:
36*4882a593Smuzhiyun
37*4882a593Smuzhiyunsound {
38*4882a593Smuzhiyun	compatible = "nvidia,tegra-audio-rt5677-ryu",
39*4882a593Smuzhiyun	        "nvidia,tegra-audio-rt5677";
40*4882a593Smuzhiyun	nvidia,model = "NVIDIA Tegra Ryu";
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun	nvidia,audio-routing =
43*4882a593Smuzhiyun		"Headphone", "LOUT2",
44*4882a593Smuzhiyun		"Headphone", "LOUT1",
45*4882a593Smuzhiyun		"Headset Mic", "MICBIAS1",
46*4882a593Smuzhiyun		"IN1P", "Headset Mic",
47*4882a593Smuzhiyun		"IN1N", "Headset Mic",
48*4882a593Smuzhiyun		"DMIC L1", "Internal Mic 1",
49*4882a593Smuzhiyun		"DMIC R1", "Internal Mic 1",
50*4882a593Smuzhiyun		"DMIC L2", "Internal Mic 2",
51*4882a593Smuzhiyun		"DMIC R2", "Internal Mic 2",
52*4882a593Smuzhiyun		"Speaker", "PDM1L",
53*4882a593Smuzhiyun		"Speaker", "PDM1R";
54*4882a593Smuzhiyun
55*4882a593Smuzhiyun	nvidia,i2s-controller = <&tegra_i2s1>;
56*4882a593Smuzhiyun	nvidia,audio-codec = <&rt5677>;
57*4882a593Smuzhiyun
58*4882a593Smuzhiyun	nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(R, 7) GPIO_ACTIVE_HIGH>;
59*4882a593Smuzhiyun	nvidia,mic-present-gpios = <&gpio TEGRA_GPIO(O, 5) GPIO_ACTIVE_LOW>;
60*4882a593Smuzhiyun	nvidia,hp-en-gpios = <&rt5677 1 GPIO_ACTIVE_HIGH>;
61*4882a593Smuzhiyun	nvidia,dmic-clk-en-gpios = <&rt5677 2 GPIO_ACTIVE_HIGH>;
62*4882a593Smuzhiyun
63*4882a593Smuzhiyun	clocks = <&tegra_car TEGRA124_CLK_PLL_A>,
64*4882a593Smuzhiyun	         <&tegra_car TEGRA124_CLK_PLL_A_OUT0>,
65*4882a593Smuzhiyun	         <&tegra_car TEGRA124_CLK_EXTERN1>;
66*4882a593Smuzhiyun	clock-names = "pll_a", "pll_a_out0", "mclk";
67*4882a593Smuzhiyun};
68