ASoC: tscs454: Add endianness flag in snd_soc_component_driver
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Wed, 4 May 2022 17:08:52 +0000 (18:08 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 9 May 2022 11:46:39 +0000 (12:46 +0100)
commitff69ec96b87dccb3a29edef8cec5d4fefbbc2055
tree97d886434e8bd1ccde0f7190d87680b62db279d8
parentf5e0084b5beed00f11fb7cd1e90b8b91fcd06e9f
ASoC: tscs454: Add endianness flag in snd_soc_component_driver

The endianness flag is used on the CODEC side to specify an
ambivalence to endian, typically because it is lost over the hardware
link. This device receives audio over an I2S DAI and as such should
have endianness applied.

A fixup is also required to use the width directly rather than relying
on the format in hw_params, now both little and big endian would be
supported. It is worth noting this changes the behaviour of S24_LE to
use a word length of 24 rather than 32. This would appear to be a
correction since the fact S24_LE is stored as 32 bits should not be
presented over the bus.

Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220504170905.332415-26-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/tscs454.c