|
@@ -173,14 +173,14 @@ struct tdm_conf {
|
|
|
|
|
|
static struct dev_config tdm_rx_cfg[TDM_INTERFACE_MAX][TDM_PORT_MAX] = {
|
|
|
{
|
|
|
- {SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 2},
|
|
|
- {SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 2},
|
|
|
- {SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 2},
|
|
|
- {SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 2},
|
|
|
- {SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 1},
|
|
|
- {SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 1},
|
|
|
- {SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 1},
|
|
|
- {SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 1},
|
|
|
+ {SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 1},
|
|
|
+ {SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 1},
|
|
|
+ {SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 2},
|
|
|
+ {SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 2},
|
|
|
+ {SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 1},
|
|
|
+ {SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 1},
|
|
|
+ {SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 1},
|
|
|
+ {SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 1},
|
|
|
},
|
|
|
{
|
|
|
{SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 2},
|
|
@@ -227,14 +227,14 @@ static struct dev_config tdm_rx_cfg[TDM_INTERFACE_MAX][TDM_PORT_MAX] = {
|
|
|
|
|
|
static struct dev_config tdm_tx_cfg[TDM_INTERFACE_MAX][TDM_PORT_MAX] = {
|
|
|
{
|
|
|
- {SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 2},
|
|
|
- {SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 2},
|
|
|
- {SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 2},
|
|
|
- {SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 2},
|
|
|
- {SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 1},
|
|
|
- {SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 1},
|
|
|
- {SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 1},
|
|
|
- {SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 1},
|
|
|
+ {SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 1},
|
|
|
+ {SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 1},
|
|
|
+ {SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 2},
|
|
|
+ {SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 2},
|
|
|
+ {SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 1},
|
|
|
+ {SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 1},
|
|
|
+ {SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 1},
|
|
|
+ {SAMPLING_RATE_8KHZ, SNDRV_PCM_FORMAT_S16_LE, 1},
|
|
|
},
|
|
|
{
|
|
|
{SAMPLING_RATE_48KHZ, SNDRV_PCM_FORMAT_S16_LE, 6},
|
|
@@ -342,7 +342,7 @@ struct tdm_slot_cfg {
|
|
|
|
|
|
static struct tdm_slot_cfg tdm_slot[TDM_INTERFACE_MAX] = {
|
|
|
|
|
|
- {32, 8},
|
|
|
+ {16, 16},
|
|
|
|
|
|
{32, 8},
|
|
|
|
|
@@ -376,11 +376,11 @@ static struct tdm_slot_cfg tdm_slot_custom[TDM_INTERFACE_MAX] = {
|
|
|
static unsigned int tdm_rx_slot_offset
|
|
|
[TDM_INTERFACE_MAX][TDM_PORT_MAX][TDM_SLOT_OFFSET_MAX] = {
|
|
|
{
|
|
|
- {0, 4, 0xFFFF},
|
|
|
- {8, 12, 0xFFFF},
|
|
|
- {16, 20, 0xFFFF},
|
|
|
- {24, 28, 0xFFFF},
|
|
|
- {0xFFFF},
|
|
|
+ {0, 0xFFFF},
|
|
|
+ {2, 0xFFFF},
|
|
|
+ {4, 6, 0xFFFF},
|
|
|
+ {8, 10, 0xFFFF},
|
|
|
+ {12, 14, 0xFFFF},
|
|
|
{0xFFFF},
|
|
|
{0xFFFF},
|
|
|
{0xFFFF},
|
|
@@ -430,11 +430,11 @@ static unsigned int tdm_rx_slot_offset
|
|
|
static unsigned int tdm_tx_slot_offset
|
|
|
[TDM_INTERFACE_MAX][TDM_PORT_MAX][TDM_SLOT_OFFSET_MAX] = {
|
|
|
{
|
|
|
- {0, 4, 0xFFFF},
|
|
|
- {8, 12, 0xFFFF},
|
|
|
- {16, 20, 0xFFFF},
|
|
|
- {24, 28, 0xFFFF},
|
|
|
- {0xFFFF},
|
|
|
+ {0, 0xFFFF},
|
|
|
+ {2, 0xFFFF},
|
|
|
+ {4, 6, 0xFFFF},
|
|
|
+ {8, 10, 0xFFFF},
|
|
|
+ {12, 14, 0xFFFF},
|
|
|
{0xFFFF},
|
|
|
{0xFFFF},
|
|
|
{0xFFFF},
|
|
@@ -5901,6 +5901,40 @@ static struct snd_soc_dai_link msm_auto_fe_dai_links[] = {
|
|
|
.ignore_pmdown_time = 1,
|
|
|
.id = MSM_FRONTEND_DAI_MULTIMEDIA23
|
|
|
},
|
|
|
+ {
|
|
|
+ .name = MSM_DAILINK_NAME(Media24),
|
|
|
+ .stream_name = "MultiMedia24",
|
|
|
+ .cpu_dai_name = "MultiMedia24",
|
|
|
+ .platform_name = "msm-pcm-loopback",
|
|
|
+ .dynamic = 1,
|
|
|
+ .dpcm_playback = 1,
|
|
|
+ .dpcm_capture = 1,
|
|
|
+ .trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
|
|
+ SND_SOC_DPCM_TRIGGER_POST},
|
|
|
+ .codec_dai_name = "snd-soc-dummy-dai",
|
|
|
+ .codec_name = "snd-soc-dummy",
|
|
|
+ .ignore_suspend = 1,
|
|
|
+ .no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
|
|
|
+ .ignore_pmdown_time = 1,
|
|
|
+ .id = MSM_FRONTEND_DAI_MULTIMEDIA24
|
|
|
+ },
|
|
|
+ {
|
|
|
+ .name = MSM_DAILINK_NAME(Media25),
|
|
|
+ .stream_name = "MultiMedia25",
|
|
|
+ .cpu_dai_name = "MultiMedia25",
|
|
|
+ .platform_name = "msm-pcm-loopback",
|
|
|
+ .dynamic = 1,
|
|
|
+ .dpcm_playback = 1,
|
|
|
+ .dpcm_capture = 1,
|
|
|
+ .trigger = {SND_SOC_DPCM_TRIGGER_POST,
|
|
|
+ SND_SOC_DPCM_TRIGGER_POST},
|
|
|
+ .codec_dai_name = "snd-soc-dummy-dai",
|
|
|
+ .codec_name = "snd-soc-dummy",
|
|
|
+ .ignore_suspend = 1,
|
|
|
+ .no_host_mode = SND_SOC_DAI_LINK_NO_HOST,
|
|
|
+ .ignore_pmdown_time = 1,
|
|
|
+ .id = MSM_FRONTEND_DAI_MULTIMEDIA25
|
|
|
+ },
|
|
|
};
|
|
|
|
|
|
static struct snd_soc_dai_link msm_custom_fe_dai_links[] = {
|