topology1: sof-cavs-nocodec: Add deep buffer playback pipeline

on SSP5 for BXT and SSP0 for all others.

Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
This commit is contained in:
Ranjani Sridharan 2021-07-22 12:38:09 -07:00 committed by Liam Girdwood
parent 56d1fe652c
commit 764a065193
1 changed files with 28 additions and 0 deletions

View File

@ -152,6 +152,17 @@ PIPELINE_PCM_ADD(sof/pipe-host-volume-playback.m4,
SCHEDULE_TIME_DOMAIN_TIMER,
PIPELINE_PLAYBACK_SCHED_COMP_1)
# Deep buffer playback pipeline 11 on PCM 3 using max 2 channels of PIPE_BITS.
# Set 1000us deadline on core 2 with priority 0.
# TODO: Modify pipeline deadline to account for deep buffering
ifelse(PLATFORM, `bxt', `',
`PIPELINE_PCM_ADD(sof/pipe-host-volume-playback.m4,
11, 3, 2, PIPE_BITS,
1000, 0, SSP0_CORE_ID,
48000, 48000, 48000,
SCHEDULE_TIME_DOMAIN_TIMER,
PIPELINE_PLAYBACK_SCHED_COMP_1)')
# capture DAI is SSP0 using 2 periods
# Buffers use DAI_BITS format, 1000us deadline on core 0 with priority 0
DAI_ADD(sof/pipe-dai-capture.m4,
@ -198,6 +209,17 @@ PIPELINE_PCM_ADD(sof/pipe-host-volume-playback.m4,
SCHEDULE_TIME_DOMAIN_TIMER,
PIPELINE_PLAYBACK_SCHED_COMP_5)
# Deep buffer playback pipeline 11 on PCM 3 using max 2 channels of PIPE_BITS.
# Set 1000us deadline on core 2 with priority 0.
# TODO: Modify pipeline deadline to account for deep buffering
ifelse(PLATFORM, `bxt',
`PIPELINE_PCM_ADD(sof/pipe-host-volume-playback.m4,
11, 3, 2, PIPE_BITS,
1000, 0, SSP2_CORE_ID,
48000, 48000, 48000,
SCHEDULE_TIME_DOMAIN_TIMER,
PIPELINE_PLAYBACK_SCHED_COMP_5)')
# capture DAI is SSP2 using 2 periods
# Buffers use DAI_BITS format, 1000us deadline on core 0 with priority 0
DAI_ADD(sof/pipe-dai-capture.m4,
@ -213,6 +235,9 @@ SectionGraph."mixer-host" {
dapm(PIPELINE_MIXER_1, PIPELINE_SOURCE_7)
dapm(PIPELINE_MIXER_3, PIPELINE_SOURCE_8)
dapm(PIPELINE_MIXER_5, PIPELINE_SOURCE_9)
ifelse(PLATFORM, `bxt',
`dapm(PIPELINE_MIXER_5, PIPELINE_SOURCE_11)',
`dapm(PIPELINE_MIXER_1, PIPELINE_SOURCE_11)')
]
}
@ -221,6 +246,9 @@ dnl PCM_DUPLEX_ADD(name, pcm_id, playback, capture)
PCM_DUPLEX_ADD(`Port'SSP0_IDX, 0, PIPELINE_PCM_7, PIPELINE_PCM_2)
PCM_DUPLEX_ADD(`Port'SSP1_IDX, 1, PIPELINE_PCM_8, PIPELINE_PCM_4)
PCM_DUPLEX_ADD(`Port'SSP2_IDX, 2, PIPELINE_PCM_9, PIPELINE_PCM_6)
ifelse(PLATFORM,`bxt',
`PCM_PLAYBACK_ADD(`Port'SSP2_IDX` Deep Buffer', 3, PIPELINE_PCM_11)',
`PCM_PLAYBACK_ADD(`Port'SSP0_IDX` Deep Buffer', 3, PIPELINE_PCM_11)')
#
# BE configurations - overrides config in ACPI if present