Skip to content
Open
Show file tree
Hide file tree
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
12 changes: 11 additions & 1 deletion tools/topology/topology2/cavs-sdw.conf
Original file line number Diff line number Diff line change
Expand Up @@ -146,7 +146,10 @@ IncludeByKey.SDW_ECHO_REF_DAI {
stream_name "Loopback_Virtual"
direction "capture"
type "dai_out"
index 12
IncludeByKey.SDW_SPK_ECHO_REF {
"true" {index $SDW_SPK_ECHO_REF_PIPELINE_ID}
"false" {index $SDW_JACK_ECHO_REF_PIPELINE_ID}
}
dai_index 25
node_type $ALH_LINK_INPUT_CLASS
num_input_audio_formats 1
Expand Down Expand Up @@ -191,3 +194,10 @@ IncludeByKey.SDW_JACK {
"true" "platform/intel/sdw-jack-generic.conf"
}

IncludeByKey.SDW_JACK_ECHO_REF {
"true" "platform/intel/sdw-jack-echo-ref.conf"
}

IncludeByKey.SDW_SPK_ECHO_REF {
"true" "platform/intel/sdw-amp-echo-ref.conf"
}
52 changes: 52 additions & 0 deletions tools/topology/topology2/platform/intel/sdw-amp-echo-ref.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
Define {
SDW_SPK_ECHO_REF_PCM_ID 12
SDW_SPK_ECHO_REF_PIPELINE_ID 120
}

IncludeByKey.SDW_SPK_ECHO_REF {
"true" {
Object.Pipeline {
siggen-host-copier-capture [
{
direction "capture"
index $SDW_SPK_ECHO_REF_PIPELINE_ID
Object.Widget.host-copier."1" {
stream_name "Speaker Echo Reference"
pcm_id $SDW_SPK_ECHO_REF_PCM_ID
}
Object.Widget.siggen."1" {}
}
]
}

Object.PCM.pcm [
{
name "Speaker Echo Reference"
id $SDW_SPK_ECHO_REF_PCM_ID
direction "capture"
Object.Base.fe_dai.1 {
name "Speaker Echo Reference"
}
Object.PCM.pcm_caps.1 {
name "Speaker Echo Reference"
formats 'S16_LE,S24_LE,S32_LE'
}
}
]

Object.Base.route [
{
source "alh-copier.Loopback_Virtual.25"
sink "siggen.$SDW_SPK_ECHO_REF_PIPELINE_ID.1"
}
{
source "module-copier.21.22"
sink "siggen.$SDW_SPK_ECHO_REF_PIPELINE_ID.1"
}
{
source "siggen.$SDW_SPK_ECHO_REF_PIPELINE_ID.1"
sink "host-copier.$SDW_SPK_ECHO_REF_PCM_ID.capture"
}
]
} # SDW_SPK_ECHO_REF true
}
163 changes: 39 additions & 124 deletions tools/topology/topology2/platform/intel/sdw-amp-generic.conf
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@ Define {
AMP_FEEDBACK_CH_PER_LINK 2
SDW_AMP_FEEDBACK true
AMP_PLAYBACK_NAME 'Speaker Playback'
SDW_SPK_ECHO_REF_PCM_ID 12
}

# include deep buffer config if buffer size is in 1 - 1000 ms.
Expand Down Expand Up @@ -54,6 +53,26 @@ Object.Dai.ALH [
}
]

Object.Widget.module-copier."22" {
index 21
num_input_pins 1
num_output_pins 2
num_input_audio_formats 1
num_output_audio_formats 1
Object.Base.input_audio_format [
{
in_bit_depth 32
in_valid_bit_depth 32
}
]
Object.Base.output_audio_format [
{
out_bit_depth 32
out_valid_bit_depth 32
}
]
}

IncludeByKey.PASSTHROUGH {
"false" {
Object.Pipeline {
Expand Down Expand Up @@ -737,41 +756,25 @@ Object.PCM.pcm [

IncludeByKey.PASSTHROUGH {
"false" {
IncludeByKey.SDW_SPK_ECHO_REF {
IncludeByKey.SDW_SPK_ENHANCED_PLAYBACK {
"true" {
IncludeByKey.SDW_SPK_ENHANCED_PLAYBACK {
IncludeByKey.USE_DAX {
"true" {
IncludeByKey.USE_DAX {
"true" {
Object.Base.route [
{
source "dolby-dax.21.1"
sink "module-copier.21.22"
}
{
source "module-copier.21.22"
sink "alh-copier.$SDW_SPK_STREAM.0"
}
]
Object.Base.route [
{
source "dolby-dax.21.1"
sink "module-copier.21.22"
}
"false" {
Object.Base.route [
{
source "drc.21.1"
sink "module-copier.21.22"
}
{
source "module-copier.21.22"
sink "alh-copier.$SDW_SPK_STREAM.0"
}
]
{
source "module-copier.21.22"
sink "alh-copier.$SDW_SPK_STREAM.0"
}
}
]
}
"false" {
Object.Base.route [
{
source "gain.21.1"
source "drc.21.1"
sink "module-copier.21.22"
}
{
Expand All @@ -783,36 +786,16 @@ IncludeByKey.PASSTHROUGH {
}
}
"false" {
IncludeByKey.SDW_SPK_ENHANCED_PLAYBACK {
"true" {
IncludeByKey.USE_DAX {
"true" {
Object.Base.route [
{
source "dolby-dax.21.1"
sink "alh-copier.$SDW_SPK_STREAM.0"
}
]
}
"false" {
Object.Base.route [
{
source "drc.21.1"
sink "alh-copier.$SDW_SPK_STREAM.0"
}
]
}
}
Object.Base.route [
{
source "gain.21.1"
sink "module-copier.21.22"
}
"false" {
Object.Base.route [
{
source "gain.21.1"
sink "alh-copier.$SDW_SPK_STREAM.0"
}
]
{
source "module-copier.21.22"
sink "alh-copier.$SDW_SPK_STREAM.0"
}
}
]
}
}
Object.Base.route [
Expand Down Expand Up @@ -1045,71 +1028,3 @@ IncludeByKey.SDW_AMP_FEEDBACK {
]
}
}

IncludeByKey.SDW_SPK_ECHO_REF {
"true" {
Object.Widget.module-copier."22" {
index 21
num_input_pins 1
num_output_pins 2
num_input_audio_formats 1
num_output_audio_formats 1
Object.Base.input_audio_format [
{
in_bit_depth 32
in_valid_bit_depth 32
}
]
Object.Base.output_audio_format [
{
out_bit_depth 32
out_valid_bit_depth 32
}
]
}

Object.Pipeline {
siggen-host-copier-capture [
{
direction "capture"
index 22
Object.Widget.host-copier."1" {
stream_name "Speaker Echo Reference"
pcm_id $SDW_SPK_ECHO_REF_PCM_ID
}
Object.Widget.siggen."1" {}
}
]
}

Object.PCM.pcm [
{
name "Speaker Echo Reference"
id $SDW_SPK_ECHO_REF_PCM_ID
direction "capture"
Object.Base.fe_dai.1 {
name "Speaker Echo Reference"
}
Object.PCM.pcm_caps.1 {
name "Speaker Echo Reference"
formats 'S16_LE,S24_LE,S32_LE'
}
}
]

Object.Base.route [
{
source "alh-copier.Loopback_Virtual.25"
sink "siggen.22.1"
}
{
source "module-copier.21.22"
sink "siggen.22.1"
}
{
source "siggen.22.1"
sink "host-copier.$SDW_SPK_ECHO_REF_PCM_ID.capture"
}
]
} # SDW_SPK_ECHO_REF true
}
108 changes: 108 additions & 0 deletions tools/topology/topology2/platform/intel/sdw-jack-echo-ref.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
Define {
SDW_JACK_ECHO_REF_PCM_ID 11
SDW_JACK_ECHO_REF_PIPELINE_ID 12
}

IncludeByKey.SDW_JACK_ECHO_REF {
"true" {
Object.Pipeline {
siggen-host-copier-capture [
{
direction "capture"
index $SDW_JACK_ECHO_REF_PIPELINE_ID
Object.Widget.host-copier."1" {
stream_name "Jack Echo Reference"
pcm_id $SDW_JACK_ECHO_REF_PCM_ID
num_input_audio_formats 1
Object.Base.input_audio_format [
{
in_rate $JACK_RATE
in_bit_depth 32
in_valid_bit_depth 32
}
]
num_output_audio_formats 3
Object.Base.output_audio_format [
{
out_rate $JACK_RATE
out_bit_depth 16
out_valid_bit_depth 16
}
{
out_rate $JACK_RATE
out_bit_depth 32
out_valid_bit_depth 24
}
{
out_rate $JACK_RATE
out_bit_depth 32
out_valid_bit_depth 32
}
]
}
Object.Widget.siggen."1" {
num_input_pins 1
num_output_pins 1
num_input_audio_formats 1
num_output_audio_formats 1
Object.Base.input_audio_format [
{
in_rate $JACK_RATE
in_bit_depth 32
in_valid_bit_depth 32
}
]
Object.Base.output_audio_format [
{
out_rate $JACK_RATE
out_bit_depth 32
out_valid_bit_depth 32
}
]
}
}
]
}

Object.PCM.pcm [
{
name "Jack Echo Reference"
id $SDW_JACK_ECHO_REF_PCM_ID
direction "capture"
Object.Base.fe_dai.1 {
name "Jack Echo Reference"
}
Object.PCM.pcm_caps.1 {
name "Jack Echo Reference"
formats 'S16_LE,S24_LE,S32_LE'
}
IncludeByKey.JACK_RATE {
"48000" {
rates '48000'
}
"96000" {
rates '96000'
}
"192000" {
rates '192000'
}
}
}
]

Object.Base.route [
{
source "alh-copier.Loopback_Virtual.25"
sink "siggen.$SDW_JACK_ECHO_REF_PIPELINE_ID.1"
}
{
source "module-copier.1.12"
sink "siggen.$SDW_JACK_ECHO_REF_PIPELINE_ID.1"
}
{
source "siggen.$SDW_JACK_ECHO_REF_PIPELINE_ID.1"
sink "host-copier.$SDW_JACK_ECHO_REF_PCM_ID.capture"
}
]
} # SDW_JACK_ECHO_REF true
}
Loading
Loading