ASoC: cs35l45: Hibernation support
authorVlad.Karpovich <vkarpovi@opensource.cirrus.com>
Wed, 15 Mar 2023 15:47:22 +0000 (10:47 -0500)
committerMark Brown <broonie@kernel.org>
Tue, 21 Mar 2023 12:46:42 +0000 (12:46 +0000)
commit6c07be8fe92c6b0c24ee1c599601dce3506b83c7
treefcf50455ab68733a03d3c49201826bf7c1b8337b
parent74b14e2850a34740c121cf2758d4181063d4c77c
ASoC: cs35l45: Hibernation support

Adds support for a low-power Hibernation State.
Add support for a low-power hibernation state for the DSP. In
this state the DSP RAM contents are maintained, such that
firmware does not need to be re-downloaded, but the rest of the
chip's register state is lost.
Entry to this state is achieved via the register interface
(either by an external driver using the control port, or the
programmable DSP). Exit from this state is triggered by activity
on device GPIO pins, intended SPI transaction, or I2C
transaction with intended slave address.

Signed-off-by: Vlad Karpovich <vkarpovi@opensource.cirrus.com>
Link: https://lore.kernel.org/r/167933511185.26.10641185496218226278@mailman-core.alsa-project.org
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/cs35l45-i2c.c
sound/soc/codecs/cs35l45-spi.c
sound/soc/codecs/cs35l45-tables.c
sound/soc/codecs/cs35l45.c
sound/soc/codecs/cs35l45.h