summaryrefslogtreecommitdiff
path: root/sound/soc/tegra/tegra_wm8903.c
diff options
context:
space:
mode:
authorStephen Warren <swarren@nvidia.com>2011-07-26 13:51:24 -0600
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:43:21 -0800
commitccc7436874afc7b75a32247cfc76351ed24868a0 (patch)
treeafb14a9786ac47af4eb90408409302db2245f4ff /sound/soc/tegra/tegra_wm8903.c
parent72dbf4392aea4ea7e22a94a48057a0134cbafbb5 (diff)
ASoC: Tegra: Support Cardhu board in tegra_wm8903.c
Cardhu is a Tegra30 tablet reference design. In terms of audio, it is extremely similar to Harmony/Ventana, except that the WM8903 codec is attached to a different I2C bus ID, and different I2S port. Signed-off-by: Stephen Warren <swarren@nvidia.com> Rebase-Id: Re7572cfde2e359dfb8cf16a5eff38e271f25479d
Diffstat (limited to 'sound/soc/tegra/tegra_wm8903.c')
-rw-r--r--sound/soc/tegra/tegra_wm8903.c11
1 files changed, 9 insertions, 2 deletions
diff --git a/sound/soc/tegra/tegra_wm8903.c b/sound/soc/tegra/tegra_wm8903.c
index f2c1a1041d1e..8c7ff4284437 100644
--- a/sound/soc/tegra/tegra_wm8903.c
+++ b/sound/soc/tegra/tegra_wm8903.c
@@ -317,7 +317,8 @@ static int tegra_wm8903_init(struct snd_soc_pcm_runtime *rtd)
snd_soc_dapm_force_enable_pin(dapm, "Mic Bias");
/* FIXME: Calculate automatically based on DAPM routes? */
- if (!machine_is_harmony())
+ if (!machine_is_harmony() && !machine_is_ventana() &&
+ !machine_is_ventana())
snd_soc_dapm_nc_pin(dapm, "IN1L");
if (!machine_is_seaboard() && !machine_is_aebl())
snd_soc_dapm_nc_pin(dapm, "IN1R");
@@ -389,11 +390,17 @@ static __devinit int tegra_wm8903_driver_probe(struct platform_device *pdev)
if (ret)
goto err_free_machine;
+ if (machine_is_cardhu()) {
+ tegra_wm8903_dai.codec_name = "wm8903.4-001a",
+ tegra_wm8903_dai.cpu_dai_name = "tegra30-i2s.1";
+ }
+
card->dev = &pdev->dev;
platform_set_drvdata(pdev, card);
snd_soc_card_set_drvdata(card, machine);
- if (machine_is_harmony()) {
+ if (machine_is_harmony() || machine_is_ventana() ||
+ machine_is_cardhu()) {
card->dapm_routes = harmony_audio_map;
card->num_dapm_routes = ARRAY_SIZE(harmony_audio_map);
} else if (machine_is_seaboard()) {