diff --git a/app/boards/intel_adsp_ace15_mtpm.conf b/app/boards/intel_adsp_ace15_mtpm.conf index 26a9680e92f1..969c16d90cb0 100644 --- a/app/boards/intel_adsp_ace15_mtpm.conf +++ b/app/boards/intel_adsp_ace15_mtpm.conf @@ -28,6 +28,14 @@ CONFIG_PCM_CONVERTER_FORMAT_S16_C32_AND_S16_C32=y CONFIG_PIPELINE_2_0=y CONFIG_SAMPLE_KEYPHRASE=y CONFIG_FAST_GET=y +CONFIG_FORMAT_U8=y +CONFIG_FORMAT_A_LAW=y +CONFIG_FORMAT_MU_LAW=y +CONFIG_FORMAT_FLOAT=y +CONFIG_PCM_CONVERTER_FORMAT_U8=y +CONFIG_PCM_CONVERTER_FORMAT_A_LAW=y +CONFIG_PCM_CONVERTER_FORMAT_MU_LAW=y +CONFIG_PCM_CONVERTER_FORMAT_FLOAT=y # SOF / audio modules / mocks # This mock is part of official sof-bin releases because the CI that diff --git a/app/boards/intel_adsp_ace20_lnl.conf b/app/boards/intel_adsp_ace20_lnl.conf index a8888c9557d6..d54173ff8552 100644 --- a/app/boards/intel_adsp_ace20_lnl.conf +++ b/app/boards/intel_adsp_ace20_lnl.conf @@ -24,6 +24,14 @@ CONFIG_PCM_CONVERTER_FORMAT_S16_C32_AND_S16_C32=y CONFIG_PIPELINE_2_0=y CONFIG_SAMPLE_KEYPHRASE=y CONFIG_FAST_GET=y +CONFIG_FORMAT_U8=y +CONFIG_FORMAT_A_LAW=y +CONFIG_FORMAT_MU_LAW=y +CONFIG_FORMAT_FLOAT=y +CONFIG_PCM_CONVERTER_FORMAT_U8=y +CONFIG_PCM_CONVERTER_FORMAT_A_LAW=y +CONFIG_PCM_CONVERTER_FORMAT_MU_LAW=y +CONFIG_PCM_CONVERTER_FORMAT_FLOAT=y # SOF / infrastructure CONFIG_AMS=y diff --git a/app/boards/intel_adsp_ace30_ptl.conf b/app/boards/intel_adsp_ace30_ptl.conf index 7af406131d76..d8cb29a64d9a 100644 --- a/app/boards/intel_adsp_ace30_ptl.conf +++ b/app/boards/intel_adsp_ace30_ptl.conf @@ -24,6 +24,14 @@ CONFIG_PCM_CONVERTER_FORMAT_S16_C32_AND_S16_C32=y CONFIG_PCM_CONVERTER_FORMAT_U8=y CONFIG_PIPELINE_2_0=y CONFIG_FAST_GET=y +CONFIG_FORMAT_U8=y +CONFIG_FORMAT_A_LAW=y +CONFIG_FORMAT_MU_LAW=y +CONFIG_FORMAT_FLOAT=y +CONFIG_PCM_CONVERTER_FORMAT_U8=y +CONFIG_PCM_CONVERTER_FORMAT_A_LAW=y +CONFIG_PCM_CONVERTER_FORMAT_MU_LAW=y +CONFIG_PCM_CONVERTER_FORMAT_FLOAT=y # SOF / infrastructure CONFIG_KCPS_DYNAMIC_CLOCK_CONTROL=n diff --git a/app/boards/intel_adsp_cavs25.conf b/app/boards/intel_adsp_cavs25.conf index 72104567491a..3a0857ea2223 100644 --- a/app/boards/intel_adsp_cavs25.conf +++ b/app/boards/intel_adsp_cavs25.conf @@ -23,6 +23,14 @@ CONFIG_PCM_CONVERTER_FORMAT_S16_C16_AND_S16_C32=y CONFIG_PCM_CONVERTER_FORMAT_S16_C32_AND_S32_C32=y CONFIG_PCM_CONVERTER_FORMAT_S16_C32_AND_S24_C32=y CONFIG_PCM_CONVERTER_FORMAT_S16_C32_AND_S16_C32=y +CONFIG_FORMAT_U8=y +CONFIG_FORMAT_A_LAW=y +CONFIG_FORMAT_MU_LAW=y +CONFIG_FORMAT_FLOAT=y +CONFIG_PCM_CONVERTER_FORMAT_U8=y +CONFIG_PCM_CONVERTER_FORMAT_A_LAW=y +CONFIG_PCM_CONVERTER_FORMAT_MU_LAW=y +CONFIG_PCM_CONVERTER_FORMAT_FLOAT=y # SOF / infrastructure CONFIG_AMS=y diff --git a/app/boards/intel_adsp_cavs25_tgph.conf b/app/boards/intel_adsp_cavs25_tgph.conf index b29a7ba18970..6ef138429bdf 100644 --- a/app/boards/intel_adsp_cavs25_tgph.conf +++ b/app/boards/intel_adsp_cavs25_tgph.conf @@ -23,6 +23,14 @@ CONFIG_PCM_CONVERTER_FORMAT_S16_C16_AND_S16_C32=y CONFIG_PCM_CONVERTER_FORMAT_S16_C32_AND_S32_C32=y CONFIG_PCM_CONVERTER_FORMAT_S16_C32_AND_S24_C32=y CONFIG_PCM_CONVERTER_FORMAT_S16_C32_AND_S16_C32=y +CONFIG_FORMAT_U8=y +CONFIG_FORMAT_A_LAW=y +CONFIG_FORMAT_MU_LAW=y +CONFIG_FORMAT_FLOAT=y +CONFIG_PCM_CONVERTER_FORMAT_U8=y +CONFIG_PCM_CONVERTER_FORMAT_A_LAW=y +CONFIG_PCM_CONVERTER_FORMAT_MU_LAW=y +CONFIG_PCM_CONVERTER_FORMAT_FLOAT=y # SOF / infrastructure CONFIG_LP_MEMORY_BANKS=1 diff --git a/tools/topology/topology2/cavs-nocodec.conf b/tools/topology/topology2/cavs-nocodec.conf index da010064a95d..a481d005e4dc 100644 --- a/tools/topology/topology2/cavs-nocodec.conf +++ b/tools/topology/topology2/cavs-nocodec.conf @@ -221,6 +221,48 @@ IncludeByKey.PASSTHROUGH { Object.Widget.host-copier.1 { stream_name 'SSP0 Playback' pcm_id 0 + num_input_audio_formats 7 + num_output_audio_formats 1 + Object.Base.input_audio_format [ + { + in_bit_depth 8 + in_valid_bit_depth 8 + in_sample_type $SAMPLE_TYPE_UNSIGNED_INTEGER + } + { + in_bit_depth 8 + in_valid_bit_depth 8 + in_sample_type $SAMPLE_TYPE_A_LAW + } + { + in_bit_depth 8 + in_valid_bit_depth 8 + in_sample_type $SAMPLE_TYPE_MU_LAW + } + { + in_bit_depth 16 + in_valid_bit_depth 16 + } + { + in_bit_depth 32 + in_valid_bit_depth 24 + } + { + in_bit_depth 32 + in_valid_bit_depth 32 + } + { + in_bit_depth 32 + in_valid_bit_depth 32 + in_sample_type $SAMPLE_TYPE_FLOAT + } + ] + Object.Base.output_audio_format [ + { + out_bit_depth 32 + out_valid_bit_depth 32 + } + ] } Object.Widget.gain.1 { curve_type "windows_fade" @@ -324,6 +366,48 @@ IncludeByKey.PASSTHROUGH { Object.Widget.host-copier.1 { stream_name 'SSP0 Capture' pcm_id $SSP0_PCM_ID + num_input_audio_formats 1 + num_output_audio_formats 7 + Object.Base.input_audio_format [ + { + in_bit_depth 32 + in_valid_bit_depth 32 + } + ] + Object.Base.output_audio_format [ + { + out_bit_depth 8 + out_valid_bit_depth 8 + out_sample_type $SAMPLE_TYPE_UNSIGNED_INTEGER + } + { + out_bit_depth 8 + out_valid_bit_depth 8 + out_sample_type $SAMPLE_TYPE_A_LAW + } + { + out_bit_depth 8 + out_valid_bit_depth 8 + out_sample_type $SAMPLE_TYPE_MU_LAW + } + { + out_bit_depth 16 + out_valid_bit_depth 16 + } + { + out_bit_depth 32 + out_valid_bit_depth 24 + } + { + out_bit_depth 32 + out_valid_bit_depth 32 + } + { + out_bit_depth 32 + out_valid_bit_depth 32 + out_sample_type $SAMPLE_TYPE_FLOAT + } + ] } Object.Widget.gain.1 { curve_type "windows_fade" @@ -1003,7 +1087,7 @@ Object.PCM.pcm [ Object.PCM.pcm_caps.1 { direction "playback" name "SSP0 Playback" - formats 'S16_LE,S24_LE,S32_LE' + formats 'S16_LE,S24_LE,S32_LE,U8,A_LAW,MU_LAW,FLOAT_LE' IncludeByKey.SSP0_RATE { "48000" { rates '48000' @@ -1020,7 +1104,7 @@ Object.PCM.pcm [ Object.PCM.pcm_caps.2 { direction "capture" name "SSP0 Capture" - formats 'S16_LE,S24_LE,S32_LE' + formats 'S16_LE,S24_LE,S32_LE,U8,A_LAW,MU_LAW,FLOAT_LE' IncludeByKey.SSP0_RATE { "48000" { rates '48000'