diff options
author | Nikesh Oswal <noswal@nvidia.com> | 2012-02-04 10:41:08 +0530 |
---|---|---|
committer | Lokesh Pathak <lpathak@nvidia.com> | 2012-02-23 05:03:54 -0800 |
commit | dfc25f55775b1870c75f08c68ffeefdd7b743d84 (patch) | |
tree | 84f6b60bb969cc2f6fdd606875157ff26aa5f58d /sound/soc/tegra/tegra_aic326x.c | |
parent | 93028b36f893720e7e28a5cc73dc8bfc9bdad7da (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/soc/tegra/tegra_aic326x.c')
-rw-r--r-- | sound/soc/tegra/tegra_aic326x.c | 18 |
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); |