From 1e3a4cfe9b26176e28287b913b35bcbe12bbef79 Mon Sep 17 00:00:00 2001 From: Brent Lu Date: Mon, 7 Nov 2022 21:23:20 +0800 Subject: [PATCH] topology: sof-adl-nau8825: support RT1015P amplifier Add new topology sof-adl-rt1015-nau8825 which implements Realtek ALC1015 on SSP1. Signed-off-by: Brent Lu --- tools/topology/topology1/CMakeLists.txt | 5 +++-- tools/topology/topology1/sof-adl-nau8825.m4 | 21 ++++++++++++++++++--- 2 files changed, 21 insertions(+), 5 deletions(-) diff --git a/tools/topology/topology1/CMakeLists.txt b/tools/topology/topology1/CMakeLists.txt index e974e1d16..f884c5288 100644 --- a/tools/topology/topology1/CMakeLists.txt +++ b/tools/topology/topology1/CMakeLists.txt @@ -184,8 +184,9 @@ set(TPLGS "sof-adl-nau8825\;sof-adl-nau8825\;-DNO_AMP\;-DBT_OFFLOAD" "sof-adl-nau8825\;sof-adl-max98373-nau8825\;-DAMP_SSP=1\;-DSMART_AMP\;-DBT_OFFLOAD" "sof-adl-nau8825\;sof-adl-max98373-nau8825-dts\;-DAMP_SSP=1\;-DSMART_AMP\;-DBT_OFFLOAD\;-DDTS=`DTS'" - "sof-adl-nau8825\;sof-adl-max98360a-nau8825\;-DAMP_SSP=1\;-DBT_OFFLOAD" - "sof-adl-nau8825\;sof-adl-rt1019-nau8825\;-DAMP_SSP=2" + "sof-adl-nau8825\;sof-adl-max98360a-nau8825\;-DCODEC=MAX98360A\;-DFMT=s16le\;-DAMP_SSP=1\;-DBT_OFFLOAD" + "sof-adl-nau8825\;sof-adl-rt1019-nau8825\;-DCODEC=RT1019P\;-DFMT=s16le\;-DAMP_SSP=2" + "sof-adl-nau8825\;sof-adl-rt1015-nau8825\;-DCODEC=RT1015P\;-DFMT=s32le\;-DAMP_SSP=1\;-DBT_OFFLOAD" "sof-tgl-sdw-max98373-rt5682\;sof-tgl-sdw-max98373-rt5682\;-DCHANNELS=4\;-DPLATFORM=tgl" "sof-tgl-sdw-max98373-rt5682\;sof-adl-sdw-max98373-rt5682\;-DCHANNELS=4\;-DPLATFORM=adl" "sof-jsl-da7219\;sof-jsl-da7219\;-DPLATFORM=jsl" diff --git a/tools/topology/topology1/sof-adl-nau8825.m4 b/tools/topology/topology1/sof-adl-nau8825.m4 index 8187597bc..9159b3b24 100644 --- a/tools/topology/topology1/sof-adl-nau8825.m4 +++ b/tools/topology/topology1/sof-adl-nau8825.m4 @@ -273,14 +273,14 @@ ifdef(`SMART_AMP',,` # Buffers use s16le format, with 48 frame per 1000us on core 0 with priority 0 DAI_ADD(sof/pipe-dai-playback.m4, 1, SSP, SPK_SSP_INDEX, SPK_SSP_NAME, - PIPELINE_SOURCE_1, 2, s16le, + PIPELINE_SOURCE_1, 2, FMT, 1000, 0, 0, SCHEDULE_TIME_DOMAIN_TIMER) # The echo refenrence pipeline has no connections in it, # it is used for the capture DAI widget to dock. DAI_ADD(sof/pipe-echo-ref-dai-capture.m4, 29, SSP, SPK_SSP_INDEX, SPK_SSP_NAME, - PIPELINE_SINK_29, 3, s16le, + PIPELINE_SINK_29, 3, FMT, 1000, 0, 0, SCHEDULE_TIME_DOMAIN_TIMER) # Capture pipeline 9 from demux on PCM 6 using max 2 channels of s32le. @@ -357,10 +357,25 @@ ifdef(`NO_AMP',,` ifdef(`SMART_AMP',,` `# SSP' SPK_SSP_INDEX `(ID: 7)' DAI_CONFIG(SSP, SPK_SSP_INDEX, SPK_BE_ID, SPK_SSP_NAME, +ifelse( + CODEC, `MAX98360A', ` SSP_CONFIG(I2S, SSP_CLOCK(mclk, SSP_MCLK, codec_mclk_in), SSP_CLOCK(bclk, 1536000, codec_slave), SSP_CLOCK(fsync, 48000, codec_slave), SSP_TDM(2, 16, 3, 3), - SSP_CONFIG_DATA(SSP, SPK_SSP_INDEX, 16)))')') + SSP_CONFIG_DATA(SSP, SPK_SSP_INDEX, 16)))', + CODEC, `RT1019P', ` + SSP_CONFIG(I2S, SSP_CLOCK(mclk, SSP_MCLK, codec_mclk_in), + SSP_CLOCK(bclk, 1536000, codec_slave), + SSP_CLOCK(fsync, 48000, codec_slave), + SSP_TDM(2, 16, 3, 3), + SSP_CONFIG_DATA(SSP, SPK_SSP_INDEX, 16)))', + CODEC, `RT1015P', ` + SSP_CONFIG(I2S, SSP_CLOCK(mclk, SSP_MCLK, codec_mclk_in), + SSP_CLOCK(bclk, 3072000, codec_slave), + SSP_CLOCK(fsync, 48000, codec_slave), + SSP_TDM(2, 32, 3, 3), + SSP_CONFIG_DATA(SSP, SPK_SSP_INDEX, 32)))', +)')') DEBUG_END