Commit 88f748e3 authored by Steffen Aschbacher's avatar Steffen Aschbacher Committed by Mark Brown

ASoC: tas5720: set bit 7 in ANALOG_CTRL_REG for TAS5720A-Q1 during probe

Set the reserved bit 7 in the ANALOG_CTRL_REG for the TAS5720A-Q1 device,
when probing.
The datasheet mentions that the bit should be 1 during reset/powerup.

The device did not initialize before setting this value to 1. So, this
could be a quirk of this device. Or it could be a quirk with the board on
which it was tested.
That is why this patch is separate from the patch that adds support for the
TAS5720A-Q1 device.
Signed-off-by: default avatarSteffen Aschbacher <steffen.aschbacher@stihl.de>
Signed-off-by: default avatarAlexandru Ardelean <alex@shruggie.ro>
Link: https://lore.kernel.org/r/20230128082744.41849-3-alex@shruggie.roSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent c24a62be
......@@ -351,6 +351,19 @@ static int tas5720_codec_probe(struct snd_soc_component *component)
if (ret < 0)
goto error_snd_soc_component_update_bits;
/* Set Bit 7 in TAS5720_ANALOG_CTRL_REG to 1 for TAS5720A_Q1 */
switch (tas5720->devtype) {
case TAS5720A_Q1:
ret = snd_soc_component_update_bits(component, TAS5720_ANALOG_CTRL_REG,
TAS5720_Q1_RESERVED7_BIT,
TAS5720_Q1_RESERVED7_BIT);
break;
default:
break;
}
if (ret < 0)
goto error_snd_soc_component_update_bits;
/*
* Enter shutdown mode - our default when not playing audio - to
* minimize current consumption. On the TAS5720 there is no real down
......
......@@ -81,6 +81,7 @@
#define TAS5720_ANALOG_GAIN_SHIFT (0x2)
/* TAS5720_Q1_ANALOG_CTRL_REG */
#define TAS5720_Q1_RESERVED7_BIT BIT(7)
#define TAS5720_Q1_CHAN_SEL BIT(1)
/* TAS5720_FAULT_REG */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment