summaryrefslogtreecommitdiff
path: root/arch/arm/mach-tegra
diff options
context:
space:
mode:
authorDara Ramesh <dramesh@nvidia.com>2011-02-03 10:38:39 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2011-04-26 15:51:07 -0700
commit9347a2ed989ba074c8d86893b8e3ae448a6a470b (patch)
tree134025a3b9f1d45fefacea31991f7012eb6320cd /arch/arm/mach-tegra
parent4fe14e46a47e07a180533375e2dbea908b3d524b (diff)
arm: tegra: HDA driver support
Adding HDA audio driver support for tegra Original-Change-Id: I484177b4c8464d7e0084f60a2c51caa388ecae98 Reviewed-on: http://git-master/r/17871 Reviewed-by: Dara Ramesh <dramesh@nvidia.com> Tested-by: Dara Ramesh <dramesh@nvidia.com> Reviewed-by: Hanumanth Venkateswa Moganty <vmoganty@nvidia.com> Change-Id: I737871669443db731987675f5cb89c377b272f2f
Diffstat (limited to 'arch/arm/mach-tegra')
-rw-r--r--arch/arm/mach-tegra/board-cardhu-pinmux.c11
-rw-r--r--arch/arm/mach-tegra/board-cardhu.c6
2 files changed, 16 insertions, 1 deletions
diff --git a/arch/arm/mach-tegra/board-cardhu-pinmux.c b/arch/arm/mach-tegra/board-cardhu-pinmux.c
index 48d92095c8f0..502f8d287521 100644
--- a/arch/arm/mach-tegra/board-cardhu-pinmux.c
+++ b/arch/arm/mach-tegra/board-cardhu-pinmux.c
@@ -335,12 +335,23 @@ static __initdata struct tegra_pingroup_config cardhu_pinmux[] = {
DEFAULT_PINMUX(DAP1_SCLK, I2S0, NORMAL, NORMAL, INPUT),
DEFAULT_PINMUX(CLK1_REQ, DAP, NORMAL, NORMAL, INPUT),
DEFAULT_PINMUX(CLK1_OUT, EXTPERIPH1, NORMAL, NORMAL, INPUT),
+#ifdef CONFIG_SND_HDA_CODEC_REALTEK
+ DEFAULT_PINMUX(SPDIF_IN, DAP2, PULL_DOWN, NORMAL, INPUT),
+#else
DEFAULT_PINMUX(SPDIF_IN, SPDIF, NORMAL, NORMAL, INPUT),
+#endif
DEFAULT_PINMUX(SPDIF_OUT, SPDIF, NORMAL, NORMAL, OUTPUT),
+#ifdef CONFIG_SND_HDA_CODEC_REALTEK
+ DEFAULT_PINMUX(DAP2_FS, HDA, PULL_DOWN, NORMAL, INPUT),
+ DEFAULT_PINMUX(DAP2_DIN, HDA, PULL_DOWN, NORMAL, INPUT),
+ DEFAULT_PINMUX(DAP2_DOUT, HDA, PULL_DOWN, NORMAL, INPUT),
+ DEFAULT_PINMUX(DAP2_SCLK, HDA, PULL_DOWN, NORMAL, INPUT),
+#else
DEFAULT_PINMUX(DAP2_FS, I2S1, NORMAL, NORMAL, INPUT),
DEFAULT_PINMUX(DAP2_DIN, I2S1, NORMAL, NORMAL, INPUT),
DEFAULT_PINMUX(DAP2_DOUT, I2S1, NORMAL, NORMAL, INPUT),
DEFAULT_PINMUX(DAP2_SCLK, I2S1, NORMAL, NORMAL, INPUT),
+#endif
DEFAULT_PINMUX(SPI2_MOSI, SPI6, NORMAL, NORMAL, INPUT),
DEFAULT_PINMUX(SPI2_MISO, SPI6, NORMAL, NORMAL, INPUT),
DEFAULT_PINMUX(SPI2_CS0_N, SPI6, NORMAL, NORMAL, INPUT),
diff --git a/arch/arm/mach-tegra/board-cardhu.c b/arch/arm/mach-tegra/board-cardhu.c
index d36b4435206e..b221443a4256 100644
--- a/arch/arm/mach-tegra/board-cardhu.c
+++ b/arch/arm/mach-tegra/board-cardhu.c
@@ -143,7 +143,8 @@ static __initdata struct tegra_clk_init_table cardhu_clk_init_table[] = {
{ "uartd", "pll_p", 216000000, false},
{ "uarte", "pll_p", 216000000, false},
{ "pll_m", NULL, 0, true},
- { "hda2codec_2x", "pll_p", 48000000, false },
+ { "hda", "pll_p", 108000000, false},
+ { "hda2codec_2x","pll_p", 48000000, false},
{ "pll_p_out4", "pll_p", 24000000, true },
{ "pwm", "clk_32k", 32768, false},
{ "blink", "clk_32k", 32768, true},
@@ -311,6 +312,9 @@ static struct platform_device *cardhu_devices[] __initdata = {
#if ENABLE_USB_HOST
&tegra_ehci2_device,
#endif
+#if defined(CONFIG_SND_HDA_TEGRA)
+ &tegra_hda_device,
+#endif
#if defined(CONFIG_TEGRA_IOVMM_SMMU)
&tegra_smmu_device,
#endif