The speaker codec supported only 16 bit. (Vendor mentioned)Tested and the following is something we can use without creating a newdailink.
struct snd_soc_dai *codec_dai = asoc_rtd_to_codec(rtd, 0);DMIC_CH(dmic_constraints) == 2)
if (!strcmp(codec_dai->name, KBL_REALTEK_DMIC_CODEC_DAI)) {
if (params_channels(params) == 2 ||
channels->min = channels->max = 2;
else
channels->min = channels->max = 4;
} else {
rate->min = rate->max = 48000;
channels->min = channels->max = 2;
snd_mask_none(fmt);
snd_mask_set_format(fmt, pcm_fmt);
}
Pierre, thoughts?
thanks Harsha, that looks like what I had in mind, but my earlier question was
why we deal with the rates and formats only in the last case?
For playback on this platform, only 48Khz was used.