diff options
author | Peter Ujfalusi <peter.ujfalusi@ti.com> | 2018-02-14 13:20:56 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2018-02-14 14:15:55 +0100 |
commit | d460b3f861e18b9c826abe178b2db57c6dc6b3e4 (patch) | |
tree | a9d1bdae8e380bbe39e1e83408b65583ea7dc22c /sound/soc/codecs/wm8804-i2c.c | |
parent | ASoC: tlv320aic31xx: replace codec to component (diff) | |
download | linux-d460b3f861e18b9c826abe178b2db57c6dc6b3e4.tar.xz linux-d460b3f861e18b9c826abe178b2db57c6dc6b3e4.zip |
ASoC: tlv320aic31xx: Fix master mode clock I2S bus clocks
In the reset state of the codec we do not have complete playback or capture
routes.
The audio playback/capture will not work due to missing clock signals on
the I2S bus if PLL, MDAC/NDAC/DAC MADC/NADC/ADC is powered down.
To make sure that even if all output/input is disconnected the codec is
generating clocks, we need to have valid DAPM route in every case to power
up the must needed parts of the codec.
I have verified that switching DAC (during playback) or ADC (during
capture) will stop the I2S clocks, so the only solution is to connect the
'Off' routes as well to output/input.
The routes will be only added if the codec is clock master. In case the
role changes runtime, the applied routes are removed.
Tested on am43x-epos-evm with aic3111 codec in master mode.
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
Reviewed-by: Jyri Sarha <jsarha@ti.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/codecs/wm8804-i2c.c')
0 files changed, 0 insertions, 0 deletions