From 85638271e122e1548730ba35ec3d3e438dc9c6fe Mon Sep 17 00:00:00 2001 From: Mac Chiang Date: Fri, 4 Oct 2024 22:17:26 +0800 Subject: [PATCH] topology1: add cs42l43 support on RPL --- tools/topology/topology1/CMakeLists.txt | 1 + .../sof-icl-rt711-rt1308-rt715-hdmi.m4 | 36 +++++++++++++++++++ 2 files changed, 37 insertions(+) diff --git a/tools/topology/topology1/CMakeLists.txt b/tools/topology/topology1/CMakeLists.txt index b181749ca6d9..0538b9b78405 100644 --- a/tools/topology/topology1/CMakeLists.txt +++ b/tools/topology/topology1/CMakeLists.txt @@ -127,6 +127,7 @@ set(TPLGS "sof-icl-rt711-rt1308-rt715-hdmi\;sof-adl-rt711-l0-rt1316-l13-rt714-l2\;-DPLATFORM=adl\;-DUAJ_LINK=0\;-DAMP_1_LINK=1\;-DAMP_2_LINK=3\;-DEXT_AMP_REF\;-DMIC_LINK=2" "sof-icl-rt711-rt1308-rt715-hdmi\;sof-adl-rt711-l2-rt1316-l01-rt714-l3\;-DPLATFORM=adl\;-DUAJ_LINK=2\;-DAMP_1_LINK=0\;-DAMP_2_LINK=1\;-DEXT_AMP_REF\;-DMIC_LINK=3" "sof-icl-rt711-rt1308-rt715-hdmi\;sof-adl-rt711-l2-rt1316-l01\;-DPLATFORM=adl\;-DUAJ_LINK=2\;-DAMP_1_LINK=0\;-DAMP_2_LINK=1\;-DEXT_AMP_REF\;-DNO_LOCAL_MIC" + "sof-icl-rt711-rt1308-rt715-hdmi\;sof-rpl-cs42l43-l0\;-DPLATFORM=adl\;-DUAJ_LINK=0\;-DDMIC_LINK=0\;-DAMP_1_LINK=0\;-DMONO\;-DCS42L43" "sof-tgl-rt711-rt1308\;sof-tgl-rt711-rt1308-2ch\;-DCHANNELS=2\;-DEXT_AMP\;-DDMICPROC_FILTER1=eq_iir_coef_highpass_40hz_20db_48khz.m4\;-DDMIC16KPROC_FILTER1=eq_iir_coef_highpass_40hz_20db_16khz.m4\;-DPLATFORM=tgl" "sof-tgl-rt711-rt1308\;sof-tgl-rt711-rt1308-4ch\;-DCHANNELS=4\;-DEXT_AMP\;-DDMICPROC_FILTER1=eq_iir_coef_highpass_40hz_20db_48khz.m4\;-DDMIC16KPROC_FILTER1=eq_iir_coef_highpass_40hz_20db_16khz.m4\;-DPLATFORM=tgl" "sof-tgl-rt711-rt1308\;sof-tgl-rt711-4ch\;-DCHANNELS=4\;-DDMICPROC_FILTER1=eq_iir_coef_highpass_40hz_20db_48khz.m4\;-DDMIC16KPROC_FILTER1=eq_iir_coef_highpass_40hz_20db_16khz.m4\;-DPLATFORM=tgl" diff --git a/tools/topology/topology1/sof-icl-rt711-rt1308-rt715-hdmi.m4 b/tools/topology/topology1/sof-icl-rt711-rt1308-rt715-hdmi.m4 index 74f96d7b4d3d..e7413e7e6baa 100644 --- a/tools/topology/topology1/sof-icl-rt711-rt1308-rt715-hdmi.m4 +++ b/tools/topology/topology1/sof-icl-rt711-rt1308-rt715-hdmi.m4 @@ -222,7 +222,12 @@ DAI_ADD(sof/pipe-mixer-volume-dai-playback.m4, # capture DAI is ALH(UAJ_LINK PIN3) using 2 periods # Buffers use s24le format, with 48 frame per 1000us on core 0 with priority 0 DAI_ADD(sof/pipe-dai-capture.m4, +ifdef(`CS42L43', ` + 2, ALH, eval(UAJ_LINK * 256 + 4), `SDW'eval(UAJ_LINK)`-Capture-SimpleJack', +', +` 2, ALH, eval(UAJ_LINK * 256 + 3), `SDW'eval(UAJ_LINK)`-Capture', +') PIPELINE_SINK_2, 2, s24le, 1000, 0, 0, SCHEDULE_TIME_DOMAIN_TIMER) @@ -271,7 +276,12 @@ ifdef(`NOAMP', `', # playback DAI is ALH(AMP_1_LINK PIN2/AMP_2_LINK PIN2) using 2 periods # Buffers use s24le format, with 48 frame per 1000us on core 0 with priority 0 DAI_ADD(sof/pipe-dai-playback.m4, +ifdef(`CS42L43', ` + 3, ALH, eval(AMP_1_LINK * 256 + 5), `SDW'eval(AMP_1_LINK)`-Playback-SmartAmp', +', +` 3, ALH, eval(AMP_1_LINK * 256 + 2), `SDW'eval(AMP_1_LINK)`-Playback', +') PIPELINE_SOURCE_3, 2, s24le, 1000, 0, 0, SCHEDULE_TIME_DOMAIN_TIMER) @@ -299,7 +309,12 @@ ifdef(`NO_LOCAL_MIC', `', # capture DAI is ALH(MIC_LINK PIN2) using 2 periods # Buffers use s24le format, with 48 frame per 1000us on core 0 with priority 0 DAI_ADD(sof/pipe-dai-capture.m4, +ifdef(`CS42L43', ` + 5, ALH, eval(MIC_LINK * 256 + 3), `SDW'eval(MIC_LINK)`-Capture-SmartMic', +', +` 5, ALH, eval(MIC_LINK * 256 + 2), `SDW'eval(MIC_LINK)`-Capture', +') PIPELINE_SINK_5, 2, s24le, 1000, 0, 0, SCHEDULE_TIME_DOMAIN_TIMER) ') @@ -365,24 +380,45 @@ ifdef(`NOJACK', `', DAI_CONFIG(ALH, eval(UAJ_LINK * 256 + 2), 0, `SDW'eval(UAJ_LINK)`-Playback', ALH_CONFIG(ALH_CONFIG_DATA(ALH, eval(UAJ_LINK * 256 + 2), 48000, 2))) +ifdef(`CS42L43', ` +#ALH UAJ_LINK Pin4 (ID: 2) +DAI_CONFIG(ALH, eval(UAJ_LINK * 256 + 4), 1, `SDW'eval(UAJ_LINK)`-Capture-SimpleMic', + ALH_CONFIG(ALH_CONFIG_DATA(ALH, eval(UAJ_LINK * 256 + 4), 48000, 2))) +', +` #ALH UAJ_LINK Pin3 (ID: 1) DAI_CONFIG(ALH, eval(UAJ_LINK * 256 + 3), 1, `SDW'eval(UAJ_LINK)`-Capture', ALH_CONFIG(ALH_CONFIG_DATA(ALH, eval(UAJ_LINK * 256 + 3), 48000, 2))) ') +') ifdef(`NOAMP', `', ` +ifdef(`CS42L43', ` +#ALH AMP_1_LINK Pin5 (ID: 3) +DAI_CONFIG(ALH, eval(AMP_1_LINK * 256 + 5), 2, `SDW'eval(AMP_1_LINK)`-Playback-SmartAmp', + ALH_CONFIG(ALH_CONFIG_DATA(ALH, eval(AMP_1_LINK * 256 + 5), 48000, 2))) +', +` #ALH AMP_1_LINK Pin2 (ID: 2) DAI_CONFIG(ALH, eval(AMP_1_LINK * 256 + 2), 2, `SDW'eval(AMP_1_LINK)`-Playback', ALH_CONFIG(ALH_CONFIG_DATA(ALH, eval(AMP_1_LINK * 256 + 2), 48000, 2))) ') +') ifdef(`NO_LOCAL_MIC', `', ` +ifdef(`CS42L43', ` +#ALH UAJ_LINK Pin3 (ID: 1) +DAI_CONFIG(ALH, eval(UAJ_LINK * 256 + 3), 1, `SDW'eval(MIC_LINK)`-Capture-SmartMic', + ALH_CONFIG(ALH_CONFIG_DATA(ALH, eval(UAJ_LINK * 256 + 3), 48000, 2))) +', +` #ALH MIC_LINK Pin2 (ID: 4) DAI_CONFIG(ALH, eval(MIC_LINK * 256 + 2), 4, `SDW'eval(MIC_LINK)`-Capture', ALH_CONFIG(ALH_CONFIG_DATA(ALH, eval(MIC_LINK * 256 + 2), 48000, 2))) ') +') ifdef(`NOHDMI', `', `