summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHonghao Liu <honghaol@codeaurora.org>2017-03-24 16:03:00 -0400
committerGerrit - the friendly Code Review server <code-review@localhost>2017-04-06 11:08:59 -0700
commit3f148d954b7599c8df7966c645bbbaed51ac8683 (patch)
tree6b9c3b0dee3750f3e3efdb07bc56d3ec70934ff8
parentc19af183fcd2b546607568c7baa4402433edbe2c (diff)
ASoC: msm: update TDM slot mapping and FE DAI array
Update TDM slot mapping and add hostless FE DAI for customized sound card on automotive platform. CRs-fixed: 2024584 Change-Id: I08c2765972405e6dfbbcd6d2590109e119b92423 Signed-off-by: Honghao Liu <honghaol@codeaurora.org>
-rw-r--r--sound/soc/msm/apq8096-auto.c61
1 files changed, 55 insertions, 6 deletions
diff --git a/sound/soc/msm/apq8096-auto.c b/sound/soc/msm/apq8096-auto.c
index 7b363bdca291..c01150f883ff 100644
--- a/sound/soc/msm/apq8096-auto.c
+++ b/sound/soc/msm/apq8096-auto.c
@@ -309,9 +309,9 @@ static unsigned int tdm_slot_offset_custom[TDM_MAX][TDM_SLOT_OFFSET_MAX] = {
{0xFFFF}, /* not used */
{0xFFFF}, /* not used */
/* QUAT_TDM_TX */
- {0, 2, 0xFFFF},
- {4, 6, 8, 10, 12, 14, 16, 18},
- {20, 22, 24, 26, 28, 30, 0xFFFF},
+ {0, 2, 4, 6, 8, 10, 12, 0xFFFF},
+ {14, 16, 0xFFFF},
+ {18, 20, 22, 24, 26, 28, 30, 0xFFFF},
{0xFFFF}, /* not used */
{0xFFFF}, /* not used */
{0xFFFF}, /* not used */
@@ -327,9 +327,9 @@ static unsigned int tdm_slot_offset_custom[TDM_MAX][TDM_SLOT_OFFSET_MAX] = {
{28, 30, 0xFFFF},
{0xFFFF}, /* not used */
/* TERT_TDM_TX */
- {0, 2, 4, 6, 8, 10, 12, 0xFFFF},
- {14, 16, 0xFFFF},
- {18, 20, 22, 24, 26, 28, 30, 0xFFFF},
+ {0, 2, 0xFFFF},
+ {4, 6, 8, 10, 12, 14, 16, 18},
+ {20, 22, 24, 26, 28, 30, 0xFFFF},
{0xFFFF}, /* not used */
{0xFFFF}, /* not used */
{0xFFFF}, /* not used */
@@ -3835,6 +3835,55 @@ static struct snd_soc_dai_link apq8096_custom_fe_dai_links[] = {
.be_id = MSM_FRONTEND_DAI_MULTIMEDIA9,
.ops = &apq8096_ll_ops,
},
+ {
+ .name = "INT_HFP_BT Hostless",
+ .stream_name = "INT_HFP_BT Hostless",
+ .cpu_dai_name = "INT_HFP_BT_HOSTLESS",
+ .platform_name = "msm-pcm-hostless",
+ .dynamic = 1,
+ .dpcm_playback = 1,
+ .dpcm_capture = 1,
+ .trigger = {SND_SOC_DPCM_TRIGGER_POST,
+ SND_SOC_DPCM_TRIGGER_POST},
+ .no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
+ .ignore_suspend = 1,
+ /* this dainlink has playback support */
+ .ignore_pmdown_time = 1,
+ .codec_dai_name = "snd-soc-dummy-dai",
+ .codec_name = "snd-soc-dummy",
+ },
+ {
+ .name = "AUXPCM Hostless",
+ .stream_name = "AUXPCM Hostless",
+ .cpu_dai_name = "AUXPCM_HOSTLESS",
+ .platform_name = "msm-pcm-hostless",
+ .dynamic = 1,
+ .dpcm_playback = 1,
+ .dpcm_capture = 1,
+ .trigger = {SND_SOC_DPCM_TRIGGER_POST,
+ SND_SOC_DPCM_TRIGGER_POST},
+ .no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
+ .ignore_suspend = 1,
+ /* this dainlink has playback support */
+ .ignore_pmdown_time = 1,
+ .codec_dai_name = "snd-soc-dummy-dai",
+ .codec_name = "snd-soc-dummy",
+ },
+ {
+ .name = "Tertiary MI2S TX_Hostless",
+ .stream_name = "Tertiary MI2S_TX Hostless Capture",
+ .cpu_dai_name = "TERT_MI2S_TX_HOSTLESS",
+ .platform_name = "msm-pcm-hostless",
+ .dynamic = 1,
+ .dpcm_capture = 1,
+ .trigger = {SND_SOC_DPCM_TRIGGER_POST,
+ SND_SOC_DPCM_TRIGGER_POST},
+ .no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
+ .ignore_suspend = 1,
+ .ignore_pmdown_time = 1,
+ .codec_dai_name = "snd-soc-dummy-dai",
+ .codec_name = "snd-soc-dummy",
+ },
};
static struct snd_soc_dai_link apq8096_common_be_dai_links[] = {