Skip to content
Merged
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
133 changes: 95 additions & 38 deletions tools/topology/topology2/cavs-nocodec.conf
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@
<dai-kpb-be.conf>
<wov-detect.conf>
<host-copier-gain-mixin-playback.conf>
<host-copier-gain-src-mixin-playback.conf>
<mixout-gain-dai-copier-playback.conf>
<mixout-gain-smart-amp-dai-copier-playback.conf>
<dai-copier-gain-module-copier-capture.conf>
Expand Down Expand Up @@ -166,15 +167,15 @@ Object.Dai.SSP [
# Pipeline definitions
#
# PCM1 ---> gain ---> Mixin ---> Mixout ---> gain ---> SSP1
# PCM2 ---> gain ---> Mixin ---> Mixout ---> gain ---> SSP2
# PCM2 ---> gain ---> SRC ---> Mixin ---> Mixout ---> gain ---> SSP2
# PCM4 ---> gain ---> Mixin -------------------------->\
# PCM3 ---> gain ---> Mixin ---->\ \
# PCM0 ---> gain ---> Mixin ---> Mixout ---> Mixin ---> Mixout ---> gain ---> smart_amp ---> SSP0
# /
# /---------------------------------------------------------------------->/
# SSP0 ---> PCM0
# SSP1 ---> PCM1
# SSP2 ---> PCM2
# SSP2 ---> SRC ---> PCM2

IncludeByKey.PASSTHROUGH {
"false" {
Expand All @@ -192,6 +193,9 @@ IncludeByKey.PASSTHROUGH {
}
}
}
]

Object.Pipeline.host-copier-gain-src-mixin-playback [
{
index 5

Expand Down Expand Up @@ -573,6 +577,14 @@ IncludeByKey.PASSTHROUGH {
pcm_id 0
}
}
{
index 11

Object.Widget.host-copier.1 {
stream_name 'SSP2 Capture'
pcm_id 2
}
}
]

Object.Pipeline.io-gateway-capture [
Expand Down Expand Up @@ -609,17 +621,6 @@ IncludeByKey.PASSTHROUGH {
}
}

Object.Pipeline.host-gateway-capture [
{
index 11

Object.Widget.host-copier.1 {
stream_name 'SSP2 Capture'
pcm_id 2
}
}
]

Object.Pipeline.io-gateway-capture [
{
index 12
Expand All @@ -644,6 +645,26 @@ Object.Pipeline.io-gateway-capture [

IncludeByKey.PASSTHROUGH {
"false" {
Object.Pipeline.host-gateway-capture [
{
index 11

Object.Widget.host-copier.1 {
stream_name 'SSP2 Capture'
pcm_id 2

<include/components/src_format_s32_to_sxx_convert.conf>
}
}
]

Object.Widget.src.1 {
index 11
rate_in 48000

<include/components/src_format_s32_convert_from_48k.conf>
}

IncludeByKey.NUM_DMICS {
"[1-4]" {
Object.Pipeline.gain-capture [
Expand Down Expand Up @@ -786,26 +807,6 @@ Object.PCM.pcm [
formats 'S16_LE,S24_LE,S32_LE'
}
}
{
name "$SSP2_PCM_NAME"
id 2
direction "duplex"
Object.Base.fe_dai.1 {
name "$SSP2_PCM_NAME"
}

Object.PCM.pcm_caps.1 {
direction "playback"
name "SSP2 Playback"
formats 'S16_LE,S24_LE,S32_LE'
}

Object.PCM.pcm_caps.2 {
direction "capture"
name "SSP2 Capture"
formats 'S16_LE,S24_LE,S32_LE'
}
}
]

IncludeByKey.PASSTHROUGH {
Expand Down Expand Up @@ -851,16 +852,60 @@ IncludeByKey.PASSTHROUGH {
channels_max $NUM_DMICS
}
}
{
name "$SSP2_PCM_NAME"
id 2
direction "duplex"
Object.Base.fe_dai.1 {
name "$SSP2_PCM_NAME"
}

Object.PCM.pcm_caps.1 {
direction "playback"
name "SSP2 Playback"
formats 'S16_LE,S24_LE,S32_LE'
rate_min 8000
rate_max 192000
}

Object.PCM.pcm_caps.2 {
direction "capture"
name "SSP2 Capture"
formats 'S16_LE,S24_LE,S32_LE'
rate_min 8000
rate_max 192000
}
}
]
}
}

Object.Base.route [
{
source "dai-copier.SSP.NoCodec-2.capture"
sink "host-copier.2.capture"
IncludeByKey.PASSTHROUGH {
"true" {
Object.PCM.pcm [
{
name "$SSP2_PCM_NAME"
id 2
direction "duplex"
Object.Base.fe_dai.1 {
name "$SSP2_PCM_NAME"
}

Object.PCM.pcm_caps.1 {
direction "playback"
name "SSP2 Playback"
formats 'S16_LE,S24_LE,S32_LE'
}

Object.PCM.pcm_caps.2 {
direction "capture"
name "SSP2 Capture"
formats 'S16_LE,S24_LE,S32_LE'
}
}
]
}
]
}

IncludeByKey.PASSTHROUGH {
"false" {
Expand Down Expand Up @@ -936,6 +981,14 @@ IncludeByKey.PASSTHROUGH {
source "gain.17.1"
sink "host-copier.$SSP0_CAPTURE_PCM_ID.capture"
}
{
source "dai-copier.SSP.NoCodec-2.capture"
sink "src.11.1"
}
{
source "src.11.1"
sink "host-copier.2.capture"
}
]
}
"true" {
Expand All @@ -952,6 +1005,10 @@ IncludeByKey.PASSTHROUGH {
source "host-copier.2.playback"
sink "dai-copier.SSP.NoCodec-2.playback"
}
{
source "dai-copier.SSP.NoCodec-2.capture"
sink "host-copier.2.capture"
}
]
}
}
Expand Down
1 change: 0 additions & 1 deletion tools/topology/topology2/include/components/src.conf
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,6 @@ Class.Widget."src" {
]

!mandatory [
"rate_out"
"num_input_audio_formats"
"num_output_audio_formats"
"num_input_pins"
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
#src format array
num_output_audio_formats 14

Object.Base.output_audio_format [
# 8khz output
{
out_rate 8000
out_bit_depth 32
out_valid_bit_depth 32
}
# 11.025 khz output
{
out_rate 11025
out_bit_depth 32
out_valid_bit_depth 32
obs "$[($out_channels * (($[($out_rate + 999)] / 1000) + 4)) * ($out_bit_depth / 8)]"
}
# 12khz output
{
out_rate 12000
out_bit_depth 32
out_valid_bit_depth 32
}
# 16khz output
{
out_rate 16000
out_bit_depth 32
out_valid_bit_depth 32
}
# 22.05khz output
{
out_rate 22050
out_bit_depth 32
out_valid_bit_depth 32
}
# 24khz output
{
out_rate 24000
out_bit_depth 32
out_valid_bit_depth 32
}
# 32khz output
{
out_rate 32000
out_bit_depth 32
out_valid_bit_depth 32
}
# 44.1khz output
{
out_rate 44100
out_bit_depth 32
out_valid_bit_depth 32
obs "$[($out_channels * (($[($out_rate + 999)] / 1000) + 4)) * ($out_bit_depth / 8)]"
}
# 48khz output
{
out_rate 48000
out_bit_depth 32
out_valid_bit_depth 32
}
# 64khz output
{
out_rate 64000
out_bit_depth 32
out_valid_bit_depth 32
}
# 88.2khz output
{
out_rate 88200
out_bit_depth 32
out_valid_bit_depth 32
obs "$[($out_channels * (($[($out_rate + 999)] / 1000) + 4)) * ($out_bit_depth / 8)]"
}
# 96khz output
{
out_rate 96000
out_bit_depth 32
out_valid_bit_depth 32
}
# 176.4khz output
{
out_rate 176400
out_bit_depth 32
out_valid_bit_depth 32
obs "$[($out_channels * (($[($out_rate + 999)] / 1000) + 4)) * ($out_bit_depth / 8)]"
}
# 192khz output
{
out_rate 192000
out_bit_depth 32
out_valid_bit_depth 32
}
]

num_input_audio_formats 1

Object.Base.input_audio_format [
{
in_rate 48000
in_bit_depth 32
in_valid_bit_depth 32
}
]
Loading