topology: Add MICFIL topology for imx8mp

Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
This commit is contained in:
Daniel Baluta 2023-09-11 13:36:01 +03:00 committed by Daniel Baluta
parent 868711c579
commit 15507ec9ef
5 changed files with 65 additions and 1 deletions

View File

@ -185,6 +185,7 @@ set(TPLGS
"sof-imx8-wm8960-mixer\;sof-imx8mp-wm8960-mixer\;-DCODEC=wm8960\;-DRATE=48000\;-DSAI_INDEX=3"
"sof-imx8-wm8960-mixer\;sof-imx8mp-wm8962-mixer\;-DCODEC=wm8962\;-DRATE=48000\;-DSAI_INDEX=3"
"sof-imx8mp-wm8960-kwd\;sof-imx8mp-wm8960-kwd"
"sof-imx8mp-micfil\;sof-imx8mp-micfil"
"sof-imx8mp-btsco-dual-8ch\;sof-imx8mp-btsco-dual-8ch"
"sof-imx8-wm8960\;sof-imx8mp-wm8960\;-DCODEC=wm8960\;-DRATE=48000\;-DPPROC=volume\;-DSAI_INDEX=3"
"sof-imx8-wm8960\;sof-imx8mp-wm8904\;-DCODEC=wm8904\;-DRATE=44100\;-DPPROC=volume\;-DSAI_INDEX=3"

View File

@ -155,7 +155,7 @@ define(`DO_DAI_CONFIG',
`'
` id "'$3`"'
`'
` ifelse($1, `SSP', $5, $1, `HDA', $5, $1, `ALH', $5, $1, `ESAI', $5, $1, `SAI', $5, $1, `AFE', $5, $1, `ACP', $5, $1, `ACPSP', $5, $1,`ACPSP_VIRTUAL', $5, $1, `ACPHS', $5, $1, `ACPHS_VIRTUAL', $5, $1, `ACPDMIC', $5, `}')'
` ifelse($1, `SSP', $5, $1, `HDA', $5, $1, `ALH', $5, $1, `ESAI', $5, $1, `SAI', $5, $1, `MICFIL', $5, $1, `AFE', $5, $1, `ACP', $5, $1, `ACPSP', $5, $1,`ACPSP_VIRTUAL', $5, $1, `ACPHS', $5, $1, `ACPHS_VIRTUAL', $5, $1, `ACPDMIC', $5, `}')'
`ifelse($1, `DMIC', $5, `')'
`SectionVendorTuples."'N_DAI_CONFIG($1$2)`_tuples_common" {'
` tokens "sof_dai_tokens"'

View File

@ -0,0 +1,24 @@
divert(-1)
dnl MICFIL related macros
define(`MICFIL_CONFIG',
`}'
$1
)
dnl MICFIL_CONFIG_DATA(type, idx, rate, channel)
define(`MICFIL_CONFIG_DATA',
`SectionVendorTuples."'N_DAI_CONFIG($1$2)`_tuples" {'
` tokens "sof_micfil_tokens"'
` tuples."word" {'
` SOF_TKN_IMX_MICFIL_RATE' STR($3)
` SOF_TKN_IMX_MICFIL_CH' STR($4)
` }'
`}'
`SectionData."'N_DAI_CONFIG($1$2)`_data" {'
` tuples "'N_DAI_CONFIG($1$2)`_tuples"'
`}'
)
divert(0)dnl

View File

@ -0,0 +1,35 @@
#
# Topology for i.MX8M with MICFIL found on IMX-AUD-HAT
#
# Include topology builder
include(`utils.m4')
include(`dai.m4')
include(`pipeline.m4')
include(`micfil.m4')
# Include TLV library
include(`common/tlv.m4')
# Include Token library
include(`sof/tokens.m4')
#Include DSP configuration
include(`platform/imx/imx8.m4')
#DMIC
# Capture pipeline 3 on PCM 1 using max 4 channels of s32le.
PIPELINE_PCM_ADD(sof/pipe-passthrough-capture.m4,
1, 0, 4, s32le,
2000, 0, 0,
48000, 48000, 48000)
DAI_ADD(sof/pipe-dai-capture.m4, 1, MICFIL, 2, micfil-dmic-hifi,
PIPELINE_SINK_1, 2, s32le, 2000, 0, 0, SCHEDULE_TIME_DOMAIN_DMA)
dnl DAI_CONFIG(type, dai_index, link_id, name, acpdmic_config)
DAI_CONFIG(MICFIL, 0, 0, micfil-dmic-hifi,
MICFIL_CONFIG(MICFIL_CONFIG_DATA(MICFIL, 0, 48000, 4)))
# PCM id 1
PCM_CAPTURE_ADD(MICFIL, 0, PIPELINE_PCM_1)
#/**********************************************************************************/

View File

@ -148,3 +148,7 @@ SectionVendorTokens."sof_acpdmic_tokens" {
SOF_TKN_AMD_ACPDMIC_CH "1801"
}
SectionVendorTokens."sof_micfil_tokens" {
SOF_TKN_IMX_MICFIL_RATE "2000"
SOF_TKN_IMX_MICFIL_CH "2001"
}