lib/nhlt, soc/intel/skl: Update NHLT to program feedback config

Adapted from WIP (and abandoned) patch CB:25334, this patch:

1. Ensures SSP endpoint InstanceId is 0
2. Adds capability_size parameter at the end of the nhlt
3. Adsd more config_type enum values to accommodate feedback stream
4. Programs virtual_slot values for max98373, max98927,
   and rt5514 nhlt files
5. Adds NHLT feedback_config parameters

Default feedback configs are added here to the max98373, max98927, and
rt5514 codecs; in a follow-on patch, these will be overridden at the
board level.

TEST=tested with subsequent patch

Change-Id: I59285e332de09bb448b0d67ad56c72a208588d47
Signed-off-by: Matt DeVillier <matt.devillier@gmail.com>
Reviewed-on: https://review.coreboot.org/c/coreboot/+/70393
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Angel Pons <th3fanbus@gmail.com>
Reviewed-by: Raul Rangel <rrangel@chromium.org>
Reviewed-by: CoolStar <coolstarorganization@gmail.com>
This commit is contained in:
Matt DeVillier
2022-12-06 20:46:36 -06:00
committed by Felix Held
parent 343644006f
commit ca342e1082
5 changed files with 67 additions and 37 deletions

View File

@@ -299,6 +299,17 @@ struct nhlt_tdm_config {
enum {
NHLT_TDM_BASIC,
NHLT_TDM_MIC_ARRAY,
NHLT_TDM_RENDER_WITH_LOOPBACK,
NHLT_TDM_RENDER_FEEDBACK,
NHLT_TDM_MULTI_MODE,
NHLT_TDM_MULTI_MODE_MIC_ARRAY = NHLT_TDM_MULTI_MODE | NHLT_TDM_MIC_ARRAY
};
struct nhlt_feedback_config {
struct nhlt_tdm_config tdm_config;
uint8_t feedback_virtual_slot;
uint16_t feedback_channels;
uint16_t feedback_valid_bits_per_sample;
};
struct nhlt_dmic_array_config {