summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMargarita Olaya Cabrera <magi.olaya@ti.com>2010-08-19 20:23:41 -0500
committerRicardo Perez Olivares <x0081762@ti.com>2010-08-20 22:14:19 -0500
commitfb793e00727fd84f7213546f01941ca4be57d5c6 (patch)
treeb92beeda732788813b47c0e1f61b50381c5b9113
parent468ad086a794c90904246d5bd5068e85fe5b4f0c (diff)
ASoC: ABE DAI: Connect abe ports with McBSP
Use abe hal api to make the following link BT_PORT -> McBSP1 MM_EXT -> McBSP2 Signed-off-by: Margarita Olaya Cabrera <magi.olaya@ti.com>
-rw-r--r--sound/soc/omap/omap-abe.c31
1 files changed, 27 insertions, 4 deletions
diff --git a/sound/soc/omap/omap-abe.c b/sound/soc/omap/omap-abe.c
index 058191836df2..395223939444 100644
--- a/sound/soc/omap/omap-abe.c
+++ b/sound/soc/omap/omap-abe.c
@@ -816,6 +816,7 @@ static inline void abe_dai_enable_data_transfer(int port)
static void enable_be_ports(struct snd_soc_pcm_runtime *rtd, int stream)
{
struct snd_soc_pcm_runtime *be_rtd;
+ abe_data_format_t format;
int i;
for (i = 0; i < rtd->num_be; i++) {
@@ -845,20 +846,42 @@ static void enable_be_ports(struct snd_soc_pcm_runtime *rtd, int stream)
break;
case OMAP_ABE_DAI_BT_VX:
if (be_is_pending(be_rtd, stream)) {
- if (stream == SNDRV_PCM_STREAM_PLAYBACK)
+ if (stream == SNDRV_PCM_STREAM_PLAYBACK) {
+ /* BT_DL connection to McBSP 1 ports */
+ format.f = 8000;
+ format.samp_format = STEREO_RSHIFTED_16;
+ abe_connect_serial_port(BT_VX_DL_PORT,
+ &format, MCBSP1_RX);
abe_dai_enable_data_transfer(BT_VX_DL_PORT);
- else
+ } else {
+ /* BT_UL connection to McBSP 1 ports */
+ format.f = 8000;
+ format.samp_format = STEREO_RSHIFTED_16;
+ abe_connect_serial_port(BT_VX_UL_PORT,
+ &format, MCBSP1_TX);
abe_dai_enable_data_transfer(BT_VX_UL_PORT);
}
+ }
break;
case OMAP_ABE_DAI_MM_FM:
case OMAP_ABE_DAI_MODEM:
if (be_is_pending(be_rtd, stream)) {
- if (stream == SNDRV_PCM_STREAM_PLAYBACK)
+ if (stream == SNDRV_PCM_STREAM_PLAYBACK) {
+ /* MM_EXT connection to McBSP 2 ports */
+ format.f = 8000;
+ format.samp_format = STEREO_RSHIFTED_16;
+ abe_connect_serial_port(MM_EXT_OUT_PORT,
+ &format, MCBSP2_RX);
abe_dai_enable_data_transfer(MM_EXT_OUT_PORT);
- else
+ } else {
+ /* MM_EXT connection to McBSP 2 ports */
+ format.f = 8000;
+ format.samp_format = STEREO_RSHIFTED_16;
+ abe_connect_serial_port(MM_EXT_IN_PORT,
+ &format, MCBSP2_TX);
abe_dai_enable_data_transfer(MM_EXT_IN_PORT);
}
+ }
break;
case OMAP_ABE_DAI_DMIC0:
if (be_is_pending(be_rtd, stream))