Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
77 changes: 35 additions & 42 deletions tools/topology/topology1/sof-cavs-nocodec.m4
Original file line number Diff line number Diff line change
Expand Up @@ -112,13 +112,6 @@ PIPELINE_PCM_ADD(sof/pipe-volume-switch-capture.m4,
1000, 0, SSP0_CORE_ID,
48000, 48000, 48000)

# Low Latency playback pipeline 3 on PCM 1 using max 2 channels of PIPE_BITS.
# Set 1000us deadline on core 1 with priority 0
PIPELINE_PCM_ADD(sof/pipe-volume-playback.m4,
3, 1, 2, PIPE_BITS,
1000, 0, SSP1_CORE_ID,
48000, 48000, 48000)

# Volume switch capture pipeline 4 on PCM 1 using max 2 channels of PIPE_BITS.
# Set 1000us deadline on core 1 with priority 0
PIPELINE_PCM_ADD(sof/pipe-volume-switch-capture.m4,
Expand Down Expand Up @@ -162,12 +155,13 @@ PIPELINE_PCM_ADD(sof/pipe-host-volume-playback.m4,
# 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
PIPELINE_PCM_ADD(sof/pipe-host-volume-playback.m4,
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)
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
Expand All @@ -178,10 +172,19 @@ DAI_ADD(sof/pipe-dai-capture.m4,

# playback DAI is SSP1 using 2 periods
# Buffers use DAI_BITS format, 1000us deadline on core 0 with priority 0
DAI_ADD(sof/pipe-dai-playback.m4,
DAI_ADD(sof/pipe-mixer-dai-playback.m4,
3, SSP, SSP1_IDX, NoCodec-1,
PIPELINE_SOURCE_3, 2, DAI_BITS,
1000, 0, SSP1_CORE_ID, SCHEDULE_TIME_DOMAIN_TIMER)
NOT_USED_IGNORED, 2, DAI_BITS,
1000, 0, SSP1_CORE_ID, SCHEDULE_TIME_DOMAIN_TIMER, 2, 48000)

# Low Latency playback pipeline 8 on PCM 1 using max 2 channels of PIPE_BITS.
# Set 1000us deadline on core 2 with priority 0
PIPELINE_PCM_ADD(sof/pipe-host-volume-playback.m4,
8, 1, 2, PIPE_BITS,
1000, 0, SSP1_CORE_ID,
48000, 48000, 48000,
SCHEDULE_TIME_DOMAIN_TIMER,
PIPELINE_PLAYBACK_SCHED_COMP_3)

# capture DAI is SSP1 using 2 periods
# Buffers use DAI_BITS format, 1000us deadline on core 0 with priority 0
Expand All @@ -192,30 +195,30 @@ DAI_ADD(sof/pipe-dai-capture.m4,

# playback DAI is SSP2 using 2 periods
# Buffers use DAI_BITS format, 1000us deadline on core 0 with priority 0
# The 'NOT_USED_IGNORED' is due to dependencies and is adjusted later with an explicit dapm line.
DAI_ADD(sof/pipe-mixer-dai-playback.m4,
5, SSP, SSP2_IDX, NoCodec-2,
NOT_USED_IGNORED, 2, DAI_BITS,
1000, 0, SSP2_CORE_ID, SCHEDULE_TIME_DOMAIN_TIMER, 2, 48000)

# Low Latency playback pipeline 5 on PCM 2 using max 2 channels of PIPE_BITS.
# Set 1000us deadline on core 0 with priority 0
# Low Latency playback pipeline 9 on PCM 2 using max 2 channels of PIPE_BITS.
# Set 1000us deadline on core 2 with priority 0
PIPELINE_PCM_ADD(sof/pipe-host-volume-playback.m4,
8, 2, 2, PIPE_BITS,
9, 2, 2, PIPE_BITS,
1000, 0, SSP2_CORE_ID,
48000, 48000, 48000,
SCHEDULE_TIME_DOMAIN_TIMER,
PIPELINE_PLAYBACK_SCHED_COMP_5)

# Deep buffer playback pipeline 12 on PCM 4 using max 2 channels of PIPE_BITS.
# 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
PIPELINE_PCM_ADD(sof/pipe-host-volume-playback.m4,
12, 4, 2, PIPE_BITS,
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)
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
Expand All @@ -224,38 +227,28 @@ DAI_ADD(sof/pipe-dai-capture.m4,
PIPELINE_SINK_6, 2, DAI_BITS,
1000, 0, SSP2_CORE_ID, SCHEDULE_TIME_DOMAIN_TIMER)

# Connect pipelines 7 and 11 to 1
SectionGraph."Pipeline-1-11-7" {
SectionGraph."mixer-host" {
index "0"

lines [
# PCM pipeline 7 to DAI pipeline 1
# connect mixer dai pipelines to PCM pipelines
dapm(PIPELINE_MIXER_1, PIPELINE_SOURCE_7)
# PCM pipeline 11 to DAI pipeline 1
dapm(PIPELINE_MIXER_1, PIPELINE_SOURCE_11)

]
}

# Connect pipelines 8 and 12 to 5
SectionGraph."Pipeline-5-12-8" {
index "0"

lines [
# PCM pipeline 8 to DAI pipeline 5
dapm(PIPELINE_MIXER_5, PIPELINE_SOURCE_8)
# PCM pipeline 12 to DAI pipeline 5
dapm(PIPELINE_MIXER_5, PIPELINE_SOURCE_12)
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)')

]
}

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_3, PIPELINE_PCM_4)
PCM_DUPLEX_ADD(`Port'SSP2_IDX, 2, PIPELINE_PCM_8, PIPELINE_PCM_6)
PCM_PLAYBACK_ADD(`Port'SSP0_IDX` Deep Buffer', 3, PIPELINE_PCM_11)
PCM_PLAYBACK_ADD(`Port'SSP2_IDX` Deep Buffer', 4, PIPELINE_PCM_12)
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
Expand Down