linux_dsm_epyc7002/sound/soc
Peter Ujfalusi 7393958f63 ASoC: TWL4030: Add analog loopback support
This patch adds the analog loopback/bypass support for twl4030 codec.

Details for the implementation:
It seams that the analog loopback needs the DAC powered on on the channel,
where the loopback is selected. The switch for the DACs has been moved from
the DAPM_DAC to the "Analog XX Playback Mixer". In this way the DAC will be
powered while the audio playback is used or/and the loopback is enabled for
the channel.

The twl4030 codec powering has been reworked. Now the codec will be powered as
long as it does not receives the SND_SOC_BIAS_OFF event. The exceptions are
when the given change in the registers needs the codec power down/up cycle in
order to take effect. Otherwise the codec is on.

When the codec enters to STANDBY state and none of the loopback paths are
enabled, than the amplifiers, which are no in the DAPM path are forced to turn
off and the PLL is disabled. When playback/capture starts the disabled gains
are restored and the PLL is enabled.

When one of the loopback enabled in STANDBY mode, the disabled gains are
restored and the PLL is enabled also.

In short: the codec always goes to the lowest power state based on the
bias_level and the bypass_state.

Signed-off-by: Peter Ujfalusi <peter.ujfalusi@nokia.com>
Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
2009-01-29 13:58:04 +00:00
..
atmel ASoC: Staticise PCM operations tables 2009-01-19 16:23:27 +00:00
au1x ASoC: Staticise PCM operations tables 2009-01-19 16:23:27 +00:00
blackfin ASoC: Staticise PCM operations tables 2009-01-19 16:23:27 +00:00
codecs ASoC: TWL4030: Add analog loopback support 2009-01-29 13:58:04 +00:00
davinci ASoC: Staticise PCM operations tables 2009-01-19 16:23:27 +00:00
fsl ASoC: remove stand-alone mode support from CS4270 codec driver 2009-01-23 11:12:57 +00:00
omap Merge branch 'for-2.6.29' into for-2.6.30 2009-01-29 13:57:59 +00:00
pxa ASoC: Configure SSP port PLL for Zylonite 2009-01-23 11:49:45 +00:00
s3c24xx ASoC: Fix L3 bus handling in Kconfig 2009-01-23 15:37:26 +00:00
sh ALSA: ASoC - Fix wrong section types 2008-12-10 07:47:22 +01:00
Kconfig ASoC: Add jack reporting interface 2009-01-09 10:31:31 +00:00
Makefile ASoC: Add jack reporting interface 2009-01-09 10:31:31 +00:00
soc-core.c Merge branch 'topic/snd_card_new-err' into topic/asoc 2009-01-28 08:08:32 +01:00
soc-dapm.c ASoC: Push the codec runtime storage into the card structure 2009-01-27 10:30:54 +00:00
soc-jack.c ASoC: Push the codec runtime storage into the card structure 2009-01-27 10:30:54 +00:00