summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorNikesh Oswal <noswal@nvidia.com>2012-02-04 10:41:08 +0530
committerLokesh Pathak <lpathak@nvidia.com>2012-02-23 05:03:54 -0800
commitdfc25f55775b1870c75f08c68ffeefdd7b743d84 (patch)
tree84f6b60bb969cc2f6fdd606875157ff26aa5f58d /sound
parent93028b36f893720e7e28a5cc73dc8bfc9bdad7da (diff)
asoc: tegra: aic326x: support bt sco playback and recording
support bt sco playback and recording with bt chip as master and ap-i2s as slave Change-Id: I0e1bcd6fa71a234a90c830195a7eb2015f71a3b0 Signed-off-by: Nikesh Oswal <noswal@nvidia.com> Reviewed-on: http://git-master/r/84529 Reviewed-by: Scott Peterson <speterson@nvidia.com>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/tegra/tegra_aic326x.c18
1 files changed, 16 insertions, 2 deletions
diff --git a/sound/soc/tegra/tegra_aic326x.c b/sound/soc/tegra/tegra_aic326x.c
index 922cff45b7cc..2ca52d29b524 100644
--- a/sound/soc/tegra/tegra_aic326x.c
+++ b/sound/soc/tegra/tegra_aic326x.c
@@ -369,13 +369,27 @@ static int tegra_aic326x_bt_hw_params(struct snd_pcm_substream *substream,
err = snd_soc_dai_set_fmt(rtd->cpu_dai,
SND_SOC_DAIFMT_DSP_A |
SND_SOC_DAIFMT_NB_NF |
- SND_SOC_DAIFMT_CBS_CFS);
+ SND_SOC_DAIFMT_CBM_CFM);
if (err < 0) {
dev_err(rtd->codec->card->dev, "cpu_dai fmt not set\n");
return err;
}
-#ifndef CONFIG_ARCH_TEGRA_2x_SOC
+#ifdef CONFIG_ARCH_TEGRA_2x_SOC
+ err = tegra20_das_connect_dac_to_dap(TEGRA20_DAS_DAP_SEL_DAC2,
+ TEGRA20_DAS_DAP_ID_4);
+ if (err < 0) {
+ dev_err(card->dev, "failed to set dac-dap path\n");
+ return err;
+ }
+
+ err = tegra20_das_connect_dap_to_dac(TEGRA20_DAS_DAP_ID_4,
+ TEGRA20_DAS_DAP_SEL_DAC2);
+ if (err < 0) {
+ dev_err(card->dev, "failed to set dac-dap path\n");
+ return err;
+ }
+#else
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK)
tegra_aic326x_set_dam_cif(i2s->dam_ifc, params_rate(params),
params_channels(params), sample_size);