]> git.baikalelectronics.ru Git - kernel.git/commit
ASoC: pcm512x: Mend accesses to the I2S_1 and I2S_2 registers
authorPeter Rosin <peda@axentia.se>
Mon, 20 Sep 2021 14:49:39 +0000 (16:49 +0200)
committerMark Brown <broonie@kernel.org>
Tue, 21 Sep 2021 12:23:34 +0000 (13:23 +0100)
commit89d23fcd862f25f08249b147e477cb0ab334ebe7
tree0012241b4a6837940ee2506b94e07df3d725b483
parente225dc02055ed0ccd905bc017ea17d0e93c8223f
ASoC: pcm512x: Mend accesses to the I2S_1 and I2S_2 registers

Commit 354532b97c1e ("ASoC: pcm512x: Add support for more data formats")
breaks the TSE-850 device, which is using a pcm5142 in I2S and
CBM_CFS mode (maybe not relevant). Without this fix, the result
is:

pcm512x 0-004c: Failed to set data format: -16

And after that, no sound.

This fix is not 100% correct. The datasheet of at least the pcm5142
states that four bits (0xcc) in the I2S_1 register are "RSV"
("Reserved. Do not access.") and no hint is given as to what the
initial values are supposed to be. So, specifying defaults for
these bits is wrong. But perhaps better than a broken driver?

Fixes: 354532b97c1e ("ASoC: pcm512x: Add support for more data formats")
Cc: Liam Girdwood <lgirdwood@gmail.com>
Cc: Mark Brown <broonie@kernel.org>
Cc: Jaroslav Kysela <perex@perex.cz>
Cc: Takashi Iwai <tiwai@suse.com>
Cc: Kirill Marinushkin <kmarinushkin@birdec.com>
Cc: Peter Ujfalusi <peter.ujfalusi@ti.com>
Cc: alsa-devel@alsa-project.org
Cc: linux-kernel@vger.kernel.org
Signed-off-by: Peter Rosin <peda@axentia.se>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@gmail.com>
Reviewed-by: Peter Ujfalusi <peter.ujfalusi@gmail.com>
Link: https://lore.kernel.org/r/2d221984-7a2e-7006-0f8a-ffb5f64ee885@axentia.se
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/pcm512x.c