From: Sathya Prakash M R sathya.prakash.m.r@intel.com
SSM4567 supports IV feedback for feedback to the speaker protection algorithm
Signed-off-by: Sathya Prakash M R sathya.prakash.m.r@intel.com Signed-off-by: Vinod Koul vinod.koul@intel.com --- sound/soc/intel/boards/skl_nau88l25_ssm4567.c | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+)
diff --git a/sound/soc/intel/boards/skl_nau88l25_ssm4567.c b/sound/soc/intel/boards/skl_nau88l25_ssm4567.c index ccc3d4a4f4b6..68caf24f9fbd 100644 --- a/sound/soc/intel/boards/skl_nau88l25_ssm4567.c +++ b/sound/soc/intel/boards/skl_nau88l25_ssm4567.c @@ -133,6 +133,9 @@ static const struct snd_soc_dapm_route skylake_map[] = { { "Right Playback", NULL, "ssp0 Tx"}, { "ssp0 Tx", NULL, "codec0_out"},
+ /* IV feedback path */ + { "codec0_lp_in", NULL, "ssp0 Rx"}, + { "Playback", NULL, "ssp1 Tx"}, { "ssp1 Tx", NULL, "codec1_out"},
@@ -154,6 +157,14 @@ static const struct snd_soc_dapm_route skylake_map[] = { { "Headset Mic", NULL, "Platform Clock" }, };
+static const struct snd_soc_pcm_stream skl_ssm4567_loop_params = { + .formats = SNDRV_PCM_FMTBIT_S24_LE, + .rate_min = 48000, + .rate_max = 48000, + .channels_min = 4, + .channels_max = 4, +}; + static struct snd_soc_codec_conf ssm4567_codec_conf[] = { { .dev_name = "i2c-INT343B:00", @@ -499,6 +510,16 @@ static struct snd_soc_dai_link skylake_dais[] = { .nonatomic = 1, .dynamic = 1, }, + /* Codec-codec link */ + { + .name = "Skylake IV loop", + .stream_name = "SKL IV Loop", + .cpu_dai_name = "SSP0 Pin", + .platform_name = "0000:00:1f.3", + .codecs = ssm4567_codec_components, + .num_codecs = ARRAY_SIZE(ssm4567_codec_components), + .params = &skl_ssm4567_loop_params, + },
/* Back End DAI links */ {