Register CHIP_ANA_POWER (address: 0x0030) contains all of the power down controls for the analog blocks.
Mark it as a volatile register, so that sgtl5000 can be functional after a reset.
Without this patch the following error happens after a audio playback followed by a reset:
sgtl5000 0-000a: Device with ID register ffff is not a sgtl5000 sgtl5000 0-000a: ASoC: failed to probe CODEC -19 imx-sgtl5000 sound.12: ASoC: failed to instantiate card -19 imx-sgtl5000 sound.12: snd_soc_register_card failed (-19)
Signed-off-by: Fabio Estevam fabio.estevam@freescale.com --- sound/soc/codecs/sgtl5000.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/sound/soc/codecs/sgtl5000.c b/sound/soc/codecs/sgtl5000.c index 327b443..8b704ff 100644 --- a/sound/soc/codecs/sgtl5000.c +++ b/sound/soc/codecs/sgtl5000.c @@ -965,6 +965,7 @@ static bool sgtl5000_volatile(struct device *dev, unsigned int reg) switch (reg) { case SGTL5000_CHIP_ID: case SGTL5000_CHIP_ADCDAC_CTRL: + case SGTL5000_CHIP_ANA_POWER: case SGTL5000_CHIP_ANA_STATUS: return true; }