ASoC: fsl_spdif: Clear the validity bit for TX
In IEC958 spec, "The validity bit is logical "0" if the information in the main data field is reliable, and it is logical "1" if it is not". The default value of "ValCtrl" is zero, which means "Outgoing Validity always set", then all the data is not reliable, then some spdif sink device will drop the data. So set "ValCtrl" to 1, that is to clear "Outgoing Validity" in default. Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com> Link: https://lore.kernel.org/r/1594112066-31297-2-git-send-email-shengjiu.wang@nxp.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
0382437646
commit
055b082156
|
@ -985,6 +985,10 @@ static int fsl_spdif_dai_probe(struct snd_soc_dai *dai)
|
|||
|
||||
snd_soc_add_dai_controls(dai, fsl_spdif_ctrls, ARRAY_SIZE(fsl_spdif_ctrls));
|
||||
|
||||
/*Clear the val bit for Tx*/
|
||||
regmap_update_bits(spdif_private->regmap, REG_SPDIF_SCR,
|
||||
SCR_VAL_MASK, SCR_VAL_CLEAR);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue