ASoC: cs35l56: ASP1 DOUT must default to Hi-Z when not transmitting
authorRichard Fitzgerald <rf@opensource.cirrus.com>
Mon, 9 Oct 2023 15:34:12 +0000 (16:34 +0100)
committerMark Brown <broonie@kernel.org>
Mon, 9 Oct 2023 17:40:28 +0000 (18:40 +0100)
commit1bba0badff0ede8dc51641cff4b153422baa3369
treeec064a9de94a819a633291b2ff218d377d98ab18
parentcc660a4a8ea8d360706db9ca9ed08ac95c906ea5
ASoC: cs35l56: ASP1 DOUT must default to Hi-Z when not transmitting

The ASP1 DOUT line must be defaulted to be high-impedance when
it is not actually transmitting data for an active channel.

In non-SoundWire modes ASP1 will usually be shared by multiple
amps so each amp must only drive the line during the slot for
an enabled TX channel.

In SoundWire mode a custom firmware can use ASP1 as a secondary
chip-to-chip audio link or as GPIO. It should be defaulted to
high-impedance since by default the purpose of this pin is not
known.

Backport note:
On kernel versions before 6.6 the cs35l56->base.regmap argument
to regmap_set_bits() must be changed to cs35l56->regmap.

Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Fixes: e49611252900 ("ASoC: cs35l56: Add driver for Cirrus Logic CS35L56")
Link: https://lore.kernel.org/r/20231009153412.30380-1-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/cs35l56.c