summaryrefslogtreecommitdiffstats
path: root/arch
diff options
context:
space:
mode:
authorStephen Warren <swarren@nvidia.com>2013-03-12 17:03:42 -0600
committerStephen Warren <swarren@nvidia.com>2013-06-12 14:56:39 -0600
commitaa5ae424952fe2d1c2ca2340a433c3e3407262f7 (patch)
treee7e52df34a68299047c9e60c5b6089629ada566b /arch
parentd5284a67a939764d9a4ab90c7f6882e9c0b0c812 (diff)
ARM: tegra: enable audio on Dalmore
Dalmore uses the RT5640 audio CODEC. Instantiate this on the I2C bus. Enable the relevant Tegra I2C controller. Add the top-level "sound" node to hook everything together, and provide a "sound card" device. Signed-off-by: Stephen Warren <swarren@nvidia.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/boot/dts/tegra114-dalmore.dts39
1 files changed, 39 insertions, 0 deletions
diff --git a/arch/arm/boot/dts/tegra114-dalmore.dts b/arch/arm/boot/dts/tegra114-dalmore.dts
index b92922fe7ee..cb640eb6c93 100644
--- a/arch/arm/boot/dts/tegra114-dalmore.dts
+++ b/arch/arm/boot/dts/tegra114-dalmore.dts
@@ -729,6 +729,15 @@
sbs,poll-retry-count = <100>;
power-supplies = <&charger>;
};
+
+ rt5640: rt5640 {
+ compatible = "realtek,rt5640";
+ reg = <0x1c>;
+ interrupt-parent = <&gpio>;
+ interrupts = <TEGRA_GPIO(W, 3) GPIO_ACTIVE_HIGH>;
+ realtek,ldo1-en-gpios =
+ <&gpio TEGRA_GPIO(V, 3) GPIO_ACTIVE_HIGH>;
+ };
};
i2c@7000d000 {
@@ -843,6 +852,12 @@
nvidia,invert-interrupt;
};
+ ahub {
+ i2s@70080400 {
+ status = "okay";
+ };
+ };
+
sdhci@78000400 {
cd-gpios = <&gpio TEGRA_GPIO(V, 2) GPIO_ACTIVE_LOW>;
bus-width = <4>;
@@ -937,4 +952,28 @@
vin-supply = <&tps65090_dcdc1_reg>;
};
};
+
+ sound {
+ compatible = "nvidia,tegra-audio-rt5640-dalmore",
+ "nvidia,tegra-audio-rt5640";
+ nvidia,model = "NVIDIA Tegra Dalmore";
+
+ nvidia,audio-routing =
+ "Headphones", "HPOR",
+ "Headphones", "HPOL",
+ "Speakers", "SPORP",
+ "Speakers", "SPORN",
+ "Speakers", "SPOLP",
+ "Speakers", "SPOLN";
+
+ nvidia,i2s-controller = <&tegra_i2s1>;
+ nvidia,audio-codec = <&rt5640>;
+
+ nvidia,hp-det-gpios = <&gpio TEGRA_GPIO(R, 7) GPIO_ACTIVE_HIGH>;
+
+ clocks = <&tegra_car TEGRA114_CLK_PLL_A>,
+ <&tegra_car TEGRA114_CLK_PLL_A_OUT0>,
+ <&tegra_car TEGRA114_CLK_EXTERN1>;
+ clock-names = "pll_a", "pll_a_out0", "mclk";
+ };
};