OSDN Git Service

ASoC: RT5677-SPI: Disable 16Bit SPI Transfers
authorCurtis Malainey <cujomalainey@chromium.org>
Fri, 3 May 2019 19:32:14 +0000 (12:32 -0700)
committerMark Brown <broonie@kernel.org>
Mon, 6 May 2019 14:43:42 +0000 (23:43 +0900)
commita46eb523220e242affb9a6bc9bb8efc05f4f7459
tree0c90660a90ee5f582065cd3eced656cccc13e934
parent1587a061ef562de0d97c82a95863e191bcd69d63
ASoC: RT5677-SPI: Disable 16Bit SPI Transfers

The current algorithm allows 3 types of transfers, 16bit, 32bit and
burst. According to Realtek, 16bit transfers have a special restriction
in that it is restricted to the memory region of
0x18020000 ~ 0x18021000. This region is the memory location of the I2C
registers. The current algorithm does not uphold this restriction and
therefore fails to complete writes.

Since this has been broken for some time it likely no one is using it.
Better to simply disable the 16 bit writes. This will allow users to
properly load firmware over SPI without data corruption.

Signed-off-by: Curtis Malainey <cujomalainey@chromium.org>
Reviewed-by: Ben Zhang <benzh@chromium.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
sound/soc/codecs/rt5677-spi.c