mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-11 15:11:48 -04:00
ASoC: add dai links for tert tdm tx7 and sec rx7
Add hostless FE and TDM BE DAI links for TERT TDM TX7 and SEC TDM RX7 ports. Change-Id: I57fed1162c5dc175475e7990f57d4a010a9057f2 Signed-off-by: Derek Chen <chenche@codeaurora.org>
This commit is contained in:
parent
fdcc0985a2
commit
85599d7787
1 changed files with 89 additions and 5 deletions
|
|
@ -397,7 +397,7 @@ static unsigned int tdm_rx_slot_offset
|
|||
{0xFFFF}, /* not used */
|
||||
{0xFFFF}, /* not used */
|
||||
{0xFFFF}, /* not used */
|
||||
{0xFFFF}, /* not used */
|
||||
{28, 0xFFFF},
|
||||
},
|
||||
{/* TERT TDM */
|
||||
{0, 4, 8, 12, 16, 20, 0xFFFF},
|
||||
|
|
@ -461,7 +461,7 @@ static unsigned int tdm_tx_slot_offset
|
|||
{0xFFFF}, /* not used */
|
||||
{0xFFFF}, /* not used */
|
||||
{0xFFFF}, /* not used */
|
||||
{0xFFFF}, /* not used */
|
||||
{28, 0xFFFF},
|
||||
},
|
||||
{/* QUAT TDM */
|
||||
{0xFFFF}, /* not used */
|
||||
|
|
@ -512,7 +512,7 @@ static unsigned int tdm_rx_slot_offset_custom
|
|||
{10, 0xFFFF},
|
||||
{12, 14, 16, 18, 20, 22, 24, 26, 0xFFFF},
|
||||
{28, 30, 0xFFFF},
|
||||
{0xFFFF}, /* not used */
|
||||
{30, 0xFFFF},
|
||||
},
|
||||
{/* TERT TDM */
|
||||
{0, 2, 0xFFFF},
|
||||
|
|
@ -576,7 +576,7 @@ static unsigned int tdm_tx_slot_offset_custom
|
|||
{0xFFFF}, /* not used */
|
||||
{0xFFFF}, /* not used */
|
||||
{0xFFFF}, /* not used */
|
||||
{0xFFFF}, /* not used */
|
||||
{30, 0xFFFF},
|
||||
},
|
||||
{/* QUAT TDM */
|
||||
{0xFFFF}, /* not used */
|
||||
|
|
@ -4018,6 +4018,14 @@ static int msm_tdm_be_hw_params_fixup(struct snd_soc_pcm_runtime *rtd,
|
|||
rate->min = rate->max =
|
||||
tdm_rx_cfg[TDM_SEC][TDM_3].sample_rate;
|
||||
break;
|
||||
case AFE_PORT_ID_SECONDARY_TDM_RX_7:
|
||||
channels->min = channels->max =
|
||||
tdm_rx_cfg[TDM_SEC][TDM_7].channels;
|
||||
param_set_mask(params, SNDRV_PCM_HW_PARAM_FORMAT,
|
||||
tdm_rx_cfg[TDM_SEC][TDM_7].bit_format);
|
||||
rate->min = rate->max =
|
||||
tdm_rx_cfg[TDM_SEC][TDM_7].sample_rate;
|
||||
break;
|
||||
case AFE_PORT_ID_SECONDARY_TDM_TX:
|
||||
channels->min = channels->max =
|
||||
tdm_tx_cfg[TDM_SEC][TDM_0].channels;
|
||||
|
|
@ -4122,6 +4130,14 @@ static int msm_tdm_be_hw_params_fixup(struct snd_soc_pcm_runtime *rtd,
|
|||
rate->min = rate->max =
|
||||
tdm_tx_cfg[TDM_TERT][TDM_3].sample_rate;
|
||||
break;
|
||||
case AFE_PORT_ID_TERTIARY_TDM_TX_7:
|
||||
channels->min = channels->max =
|
||||
tdm_tx_cfg[TDM_TERT][TDM_7].channels;
|
||||
param_set_mask(params, SNDRV_PCM_HW_PARAM_FORMAT,
|
||||
tdm_tx_cfg[TDM_TERT][TDM_7].bit_format);
|
||||
rate->min = rate->max =
|
||||
tdm_tx_cfg[TDM_TERT][TDM_7].sample_rate;
|
||||
break;
|
||||
case AFE_PORT_ID_QUATERNARY_TDM_RX:
|
||||
channels->min = channels->max =
|
||||
tdm_rx_cfg[TDM_QUAT][TDM_0].channels;
|
||||
|
|
@ -4375,6 +4391,11 @@ static int sa8155_tdm_snd_hw_params(struct snd_pcm_substream *substream,
|
|||
slot_width = tdm_slot[TDM_SEC].width;
|
||||
slot_offset = tdm_rx_slot_offset[TDM_SEC][TDM_3];
|
||||
break;
|
||||
case AFE_PORT_ID_SECONDARY_TDM_RX_7:
|
||||
slots = tdm_slot[TDM_SEC].num;
|
||||
slot_width = tdm_slot[TDM_SEC].width;
|
||||
slot_offset = tdm_rx_slot_offset[TDM_SEC][TDM_7];
|
||||
break;
|
||||
case AFE_PORT_ID_SECONDARY_TDM_TX:
|
||||
slots = tdm_slot[TDM_SEC].num;
|
||||
slot_width = tdm_slot[TDM_SEC].width;
|
||||
|
|
@ -4440,6 +4461,11 @@ static int sa8155_tdm_snd_hw_params(struct snd_pcm_substream *substream,
|
|||
slot_width = tdm_slot[TDM_TERT].width;
|
||||
slot_offset = tdm_tx_slot_offset[TDM_TERT][TDM_3];
|
||||
break;
|
||||
case AFE_PORT_ID_TERTIARY_TDM_TX_7:
|
||||
slots = tdm_slot[TDM_TERT].num;
|
||||
slot_width = tdm_slot[TDM_TERT].width;
|
||||
slot_offset = tdm_tx_slot_offset[TDM_TERT][TDM_7];
|
||||
break;
|
||||
case AFE_PORT_ID_QUATERNARY_TDM_RX:
|
||||
slots = tdm_slot[TDM_QUAT].num;
|
||||
slot_width = tdm_slot[TDM_QUAT].width;
|
||||
|
|
@ -5565,7 +5591,37 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = {
|
|||
.codec_dai_name = "snd-soc-dummy-dai",
|
||||
.codec_name = "snd-soc-dummy",
|
||||
.id = MSM_FRONTEND_DAI_DTMF_RX,
|
||||
}
|
||||
},
|
||||
{
|
||||
.name = "Secondary TDM RX 7 Hostless",
|
||||
.stream_name = "Secondary TDM RX 7 Hostless",
|
||||
.cpu_dai_name = "SEC_TDM_RX_7_HOSTLESS",
|
||||
.platform_name = "msm-pcm-hostless",
|
||||
.dynamic = 1,
|
||||
.dpcm_playback = 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",
|
||||
},
|
||||
{
|
||||
.name = "Tertiary TDM TX 7 Hostless",
|
||||
.stream_name = "Tertiary TDM TX 7 Hostless",
|
||||
.cpu_dai_name = "TERT_TDM_TX_7_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 msm_custom_fe_dai_links[] = {
|
||||
|
|
@ -6118,6 +6174,20 @@ static struct snd_soc_dai_link msm_auto_be_dai_links[] = {
|
|||
.ops = &sa8155_tdm_be_ops,
|
||||
.ignore_suspend = 1,
|
||||
},
|
||||
{
|
||||
.name = LPASS_BE_SEC_TDM_RX_7,
|
||||
.stream_name = "Secondary TDM7 Playback",
|
||||
.cpu_dai_name = "msm-dai-q6-tdm.36894",
|
||||
.platform_name = "msm-pcm-routing",
|
||||
.codec_name = "msm-stub-codec.1",
|
||||
.codec_dai_name = "msm-stub-rx",
|
||||
.no_pcm = 1,
|
||||
.dpcm_playback = 1,
|
||||
.id = MSM_BACKEND_DAI_SEC_TDM_RX_7,
|
||||
.be_hw_params_fixup = msm_tdm_be_hw_params_fixup,
|
||||
.ops = &sa8155_tdm_be_ops,
|
||||
.ignore_suspend = 1,
|
||||
},
|
||||
{
|
||||
.name = LPASS_BE_SEC_TDM_TX_1,
|
||||
.stream_name = "Secondary TDM1 Capture",
|
||||
|
|
@ -6258,6 +6328,20 @@ static struct snd_soc_dai_link msm_auto_be_dai_links[] = {
|
|||
.ops = &sa8155_tdm_be_ops,
|
||||
.ignore_suspend = 1,
|
||||
},
|
||||
{
|
||||
.name = LPASS_BE_TERT_TDM_TX_7,
|
||||
.stream_name = "Tertiary TDM7 Capture",
|
||||
.cpu_dai_name = "msm-dai-q6-tdm.36911",
|
||||
.platform_name = "msm-pcm-routing",
|
||||
.codec_name = "msm-stub-codec.1",
|
||||
.codec_dai_name = "msm-stub-rx",
|
||||
.no_pcm = 1,
|
||||
.dpcm_capture = 1,
|
||||
.id = MSM_BACKEND_DAI_TERT_TDM_TX_7,
|
||||
.be_hw_params_fixup = msm_tdm_be_hw_params_fixup,
|
||||
.ops = &sa8155_tdm_be_ops,
|
||||
.ignore_suspend = 1,
|
||||
},
|
||||
{
|
||||
.name = LPASS_BE_QUAT_TDM_RX_1,
|
||||
.stream_name = "Quaternary TDM1 Playback",
|
||||
|
|
|
|||
Loading…
Reference in a new issue