Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

topology2:cavs-es83x6: Add support to Es8326 codec + HDMI-in capture #8518

Closed
wants to merge 2 commits into from
Closed
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
249 changes: 249 additions & 0 deletions tools/topology/topology2/cavs-es83x6.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,249 @@
<searchdir:include>
<searchdir:include/common>
<searchdir:include/components>
<searchdir:include/dais>
<searchdir:include/pipelines/cavs>
<searchdir:platform>
<searchdir:platform/intel>

<vendor-token.conf>
<manifest.conf>
<pdm_config.conf>
<tokens.conf>
<virtual.conf>
<host-gateway-playback.conf>
<host-gateway-capture.conf>
<io-gateway.conf>
<io-gateway-capture.conf>
<host-copier-gain-mixin-playback.conf>
<mixout-gain-dai-copier-playback.conf>
<deepbuffer-playback.conf>
<dai-copier-be.conf>
<dai-copier-eqiir-module-copier-capture.conf>
<gain-capture.conf>
<gain-module-copier.conf>
<data.conf>
<pcm.conf>
<pcm_caps.conf>
<fe_dai.conf>
<ssp.conf>
<dmic.conf>
<hda.conf>
<intel/hw_config_cardinal_clk.conf>
<manifest.conf>
<route.conf>
<intel/common_definitions.conf>
<dai-copier.conf>
<module-copier.conf>
<pipeline.conf>
<dai.conf>
<host.conf>
<dmic-default.conf>
<hdmi-default.conf>
<hdmi-in-default.conf>
IncludeByKey.HDMI_IN_CAPTURE {
"true" "platform/intel/hdmi-in-capture.conf"
}
<input_pin_binding.conf>
<output_pin_binding.conf>
<input_audio_format.conf>
<output_audio_format.conf>

Define {
MCLK 24576000
# override DMIC default definitions
NUM_DMICS 0
DMIC0_ID 1
DMIC1_ID 2
DMIC0_HOST_PIPELINE_ID 13
DMIC0_DAI_PIPELINE_ID 14
DMIC0_HOST_PIPELINE_SINK 'gain.13.1'
DMIC0_DAI_PIPELINE_SRC 'module-copier.14.2'
DMIC0_DAI_COPIER 'dai-copier.DMIC.dmic01.capture'
DMIC0_DAI_GAIN 'eqiir.14.1'
DMIC0_NAME 'dmic01'
DMIC0_PCM_CAPS 'Gain Capture 13'
# override BE link ids
NUM_HDMIS 3
HDMI1_ID 3
HDMI2_ID 4
HDMI3_ID 5
PLATFORM "none"
USE_CHAIN_DMA "false"
HEADSET_CODEC_NAME 'SSP1-Codec'
HEADSET_PLAYBACK_PCM_STREAM_NAME 'Headset Playback'
HEADSET_CAPTURE_PCM_STREAM_NAME 'Headset Capture'
HEADSET_SSP_DAI_INDEX 1
HEADSET_HW_CONFIG_NAME 'HEADSET HWCFG'
HEADSET_PCM_NAME "Headset"
HEADSET_PCM_ID 0
}

# override defaults with platform-specific config
IncludeByKey.PLATFORM {
"mtl" "platform/intel/mtl.conf"
}

# include DMIC config if needed.
IncludeByKey.NUM_DMICS {
"[1-4]" "platform/intel/dmic-generic.conf"
}

# include HDMI config if needed.
IncludeByKey.NUM_HDMIS {
"[3-4]" "platform/intel/hdmi-generic.conf"
}

#
# List of all DAIs
#
#SSP Index: 0, Direction: duplex
Object.Dai.SSP [
{
id 0
dai_index $HEADSET_SSP_DAI_INDEX
direction "duplex"
name $HEADSET_CODEC_NAME
default_hw_conf_id 0
sample_bits 32
io_clk $MCLK

Object.Base.hw_config.1 {
name $HEADSET_HW_CONFIG_NAME
id 0
bclk_freq 3072000
tdm_slot_width 32
# TODO: remove this. Needs alsaptlg change.
Object.Base.link_config.1 {
clock_source 1
}
}
}
]

#
# Pipeline definitions
#
# PCM1 ---> gain ----> Mixin ----> Mixout ----> gain ----> SSP1
#
# SSP1 ----> PCM0

# Pipeline ID:1 PCM ID: 0
Object.Pipeline {
# playback pipelines
host-copier-gain-mixin-playback [
{
index 1

Object.Widget.host-copier.1 {
stream_name '$HEADSET_PLAYBACK_PCM_STREAM_NAME'
pcm_id $HEADSET_PCM_ID
}
Object.Widget.gain.1 {
Object.Control.mixer.1 {
name 'Playback Volume 1'
}
}
}
]

mixout-gain-dai-copier-playback [
{
index 2

Object.Widget.dai-copier.1 {
dai_index $HEADSET_SSP_DAI_INDEX
dai_type "SSP"
copier_type "SSP"
stream_name "$HEADSET_CODEC_NAME"
node_type $I2S_LINK_OUTPUT_CLASS
}

Object.Widget.gain.1 {
Object.Control.mixer.1 {
name 'Main Playback Volume 2'
}
}
}
]

host-gateway-capture [
{
index 5

Object.Widget.host-copier.1 {
stream_name '$HEADSET_CAPTURE_PCM_STREAM_NAME'
pcm_id $HEADSET_PCM_ID
}
}
]

io-gateway-capture [
{
index 6

Object.Widget.dai-copier."1" {
dai_index $HEADSET_SSP_DAI_INDEX
dai_type "SSP"
type dai_out
copier_type "SSP"
stream_name "$HEADSET_CODEC_NAME"
node_type $I2S_LINK_INPUT_CLASS
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.PCM.pcm [
{
name "$HEADSET_PCM_NAME"
id $HEADSET_PCM_ID
direction "duplex"
Object.Base.fe_dai.1 {
name "$HEADSET_PCM_NAME"
}

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

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

Object.Base.route [
{
source "gain.2.1"
sink "dai-copier.SSP.$HEADSET_CODEC_NAME.playback"
}
{
source "mixin.1.1"
sink "mixout.2.1"
}
{
source "dai-copier.SSP.$HEADSET_CODEC_NAME.capture"
sink "host-copier.$HEADSET_PCM_ID.capture"
}
{
source "host-copier.$HEADSET_PCM_ID.playback"
sink "gain.1.1"
}
]
Loading
Loading