summaryrefslogtreecommitdiff
path: root/sound
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 /sound
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 'sound')
-rw-r--r--sound/arm/tegra/Makefile2
-rw-r--r--sound/arm/tegra/hda_tegra.c11
2 files changed, 8 insertions, 5 deletions
diff --git a/sound/arm/tegra/Makefile b/sound/arm/tegra/Makefile
index 7c44d09c4e63..570c6ed01aff 100644
--- a/sound/arm/tegra/Makefile
+++ b/sound/arm/tegra/Makefile
@@ -17,7 +17,7 @@ obj-$(CONFIG_SND_HDA_TEGRA) := snd-hda-codec.o
# codec drivers (note: CONFIG_SND_HDA_CODEC_XXX are booleans)
ifdef CONFIG_SND_HDA_CODEC_NVHDMI
-#obj-$(CONFIG_SND_HDA_TEGRA) += snd-hda-codec-nvhdmi.o
+obj-$(CONFIG_SND_HDA_TEGRA) += snd-hda-codec-nvhdmi.o
endif
ifdef CONFIG_SND_HDA_CODEC_REALTEK
obj-$(CONFIG_SND_HDA_TEGRA) += snd-hda-codec-realtek.o
diff --git a/sound/arm/tegra/hda_tegra.c b/sound/arm/tegra/hda_tegra.c
index 9bbda282a634..8d27fb05d2bd 100644
--- a/sound/arm/tegra/hda_tegra.c
+++ b/sound/arm/tegra/hda_tegra.c
@@ -52,8 +52,7 @@ static int single_cmd;
static int enable_msi;
/* Module clock info */
-static struct clk *clk_hda;
-static struct clk *clk_hda2codec;
+static struct clk *clk_hda, *clk_hda2codec , *clk_hda2hdmicodec;
#ifdef CONFIG_SND_HDA_PATCH_LOADER
static char *patch[SNDRV_CARDS];
@@ -760,10 +759,14 @@ static int nv_tegra_hda_controller_init(struct platform_device *pdev)
snd_printk(KERN_ERR T30SFX "%s: can't get hda clock\n", __func__);
return -1;
}
-
+ clk_hda2hdmicodec = clk_get_sys("hda2hdmi", NULL);
+ if (IS_ERR(clk_hda2codec)) {
+ snd_printk(KERN_ERR T30SFX "%s: can't get hda clock\n", __func__);
+ return -1;
+ }
clk_enable(clk_hda);
clk_enable(clk_hda2codec);
-
+ clk_enable(clk_hda2hdmicodec);
/*Enable the PCI access */
temp = readl(hda_reg + IPFS_HDA_CONFIGURATION_0);
temp |= IPFS_EN_FPCI;