topology: sof-tgl-rt711-rt1308: align DMIC support with HDaudio

Somehow we use different configurations for the DMIC, remove
everything in this file and rely on the same macros.

The only difference with HDaudio is the pipeline and PCM device numbers

Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
This commit is contained in:
Pierre-Louis Bossart 2021-01-27 16:45:07 -06:00 committed by Liam Girdwood
parent 4dd431715d
commit cb23581048
1 changed files with 21 additions and 45 deletions

View File

@ -2,6 +2,10 @@
# Topology for Tigerlake with rt711 + rt1308 (x2).
#
# if XPROC is not defined, define with default pipe
ifdef(`DMICPROC', , `define(DMICPROC, eq-iir-volume)')
ifdef(`DMIC16KPROC', , `define(DMIC16KPROC, eq-iir-volume)')
# Include topology builder
include(`utils.m4')
include(`dai.m4')
@ -18,8 +22,22 @@ include(`sof/tokens.m4')
include(`platform/intel/tgl.m4')
define(DMIC_PDM_CONFIG, ifelse(CHANNELS, `4', ``FOUR_CH_PDM0_PDM1'',
`ifelse(CHANNELS, `2', ``STEREO_PDM0'', `')'))
# Define pipeline id for intel-generic-dmic.m4
# to generate dmic setting
ifelse(CHANNELS, `0', ,
`
define(DMIC_PCM_48k_ID, `3')
define(DMIC_PIPELINE_48k_ID, `4')
define(DMIC_DAI_LINK_48k_ID, `3')
define(DMIC_PCM_16k_ID, `4')
define(DMIC_PIPELINE_16k_ID, `5')
define(DMIC_DAI_LINK_16k_ID, `4')
include(`platform/intel/intel-generic-dmic.m4')
'
)
DEBUG_START
@ -28,7 +46,7 @@ DEBUG_START
#
# PCM0 ---> volume ----> ALH 2 BE dailink 0
# PCM1 <--- volume <---- ALH 3 BE dailink 1
# PCM2 <--- volume <---- ALH 2 BE dailink 2
# PCM2 ---> volume ----> ALH 2 BE dailink 2
# PCM3 <----volume <---- DMIC01
# PCM4 <----volume <---- DMIC16k
# PCM5 ---> volume <---- iDisp1
@ -63,20 +81,6 @@ PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4,
1000, 0, 0,
48000, 48000, 48000)
# Passthrough capture pipeline 4 on PCM 3 using max 4 channels.
# Schedule 48 frames per 1000us deadline on core 0 with priority 0
PIPELINE_PCM_ADD(sof/pipe-volume-capture.m4,
4, 3, 4, s32le,
1000, 0, 0,
48000, 48000, 48000)
# Passthrough capture pipeline 5 on PCM 4 using max 4 channels.
# Schedule 48 frames per 1000us deadline on core 0 with priority 0
PIPELINE_PCM_ADD(sof/pipe-volume-capture-16khz.m4,
5, 4, CHANNELS, s16le,
1000, 0, 0,
16000, 16000, 16000)
# Low Latency playback pipeline 6 on PCM 5 using max 2 channels of s32le.
# Schedule 48 frames per 1000us deadline on core 0 with priority 0
PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4,
@ -135,20 +139,6 @@ DAI_ADD(sof/pipe-dai-playback.m4,
PIPELINE_SOURCE_3, 2, s24le,
1000, 0, 0, SCHEDULE_TIME_DOMAIN_TIMER)
# capture DAI is DMIC01 using 2 periods
# Buffers use s32le format, with 48 frame per 1000us on core 0 with priority 0
DAI_ADD(sof/pipe-dai-capture.m4,
4, DMIC, 0, dmic01,
PIPELINE_SINK_4, 2, s32le,
1000, 0, 0, SCHEDULE_TIME_DOMAIN_TIMER)
# capture DAI is DMIC16k using 2 periods
# Buffers use s16le format, with 16 frame per 1000us on core 0 with priority 0
DAI_ADD(sof/pipe-dai-capture.m4,
5, DMIC, 1, dmic16k,
PIPELINE_SINK_5, 2, s16le,
1000, 0, 0, SCHEDULE_TIME_DOMAIN_TIMER)
# playback DAI is iDisp1 using 2 periods
# Buffers use s32le format, 1000us deadline on core 0 with priority 0
DAI_ADD(sof/pipe-dai-playback.m4,
@ -182,8 +172,6 @@ dnl PCM_PLAYBACK_ADD(name, pcm_id, playback)
PCM_PLAYBACK_ADD(Headphone, 0, PIPELINE_PCM_1)
PCM_CAPTURE_ADD(Headset mic, 1, PIPELINE_PCM_2)
PCM_PLAYBACK_ADD(SDW1-speakers, 2, PIPELINE_PCM_3)
PCM_CAPTURE_ADD(DMIC, 3, PIPELINE_PCM_4)
PCM_CAPTURE_ADD(DMIC16kHz, 4, PIPELINE_PCM_5)
PCM_PLAYBACK_ADD(HDMI1, 5, PIPELINE_PCM_6)
PCM_PLAYBACK_ADD(HDMI2, 6, PIPELINE_PCM_7)
PCM_PLAYBACK_ADD(HDMI3, 7, PIPELINE_PCM_8)
@ -205,18 +193,6 @@ DAI_CONFIG(ALH, 3, 1, SDW0-Capture,
DAI_CONFIG(ALH, 0x102, 2, SDW1-Playback,
ALH_CONFIG(ALH_CONFIG_DATA(ALH, 0x102, 48000, 2)))
# dmic01 (ID: 3)
DAI_CONFIG(DMIC, 0, 3, dmic01,
DMIC_CONFIG(1, 500000, 4800000, 40, 60, 48000,
DMIC_WORD_LENGTH(s32le), 400, DMIC, 0,
PDM_CONFIG(DMIC, 0, FOUR_CH_PDM0_PDM1)))
# dmic16k (ID: 4)
DAI_CONFIG(DMIC, 1, 4, dmic16k,
DMIC_CONFIG(1, 500000, 4800000, 40, 60, 16000,
DMIC_WORD_LENGTH(s16le), 400, DMIC, 1,
PDM_CONFIG(DMIC, 1, DMIC_PDM_CONFIG)))
# 3 HDMI/DP outputs (ID: 5,6,7)
DAI_CONFIG(HDA, 0, 5, iDisp1,
HDA_CONFIG(HDA_CONFIG_DATA(HDA, 0, 48000, 2)))