mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-11 15:14:03 +08:00
ASoC: da7213: fix DAI_CLK_EN register bit overwrite
If the da7213 codec is configured as Master with the DAPM power down delay time set, 'snd_soc_component_write' function overwrites the DAI_CLK_EN bit of DAI_CLK_MODE register which leads to audio play only once until it re-initialize after codec power up. Signed-off-by: Logesh <logesh.kolandavel@timesys.com> Reviewed-by: Adam Thomson <Adam.Thomson.Opensource@diasemi.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
882c8b4af3
commit
414a7321d6
@ -1305,7 +1305,10 @@ static int da7213_set_dai_fmt(struct snd_soc_dai *codec_dai, unsigned int fmt)
|
||||
/* By default only 64 BCLK per WCLK is supported */
|
||||
dai_clk_mode |= DA7213_DAI_BCLKS_PER_WCLK_64;
|
||||
|
||||
snd_soc_component_write(component, DA7213_DAI_CLK_MODE, dai_clk_mode);
|
||||
snd_soc_component_update_bits(component, DA7213_DAI_CLK_MODE,
|
||||
DA7213_DAI_BCLKS_PER_WCLK_MASK |
|
||||
DA7213_DAI_CLK_POL_MASK | DA7213_DAI_WCLK_POL_MASK,
|
||||
dai_clk_mode);
|
||||
snd_soc_component_update_bits(component, DA7213_DAI_CTRL, DA7213_DAI_FORMAT_MASK,
|
||||
dai_ctrl);
|
||||
snd_soc_component_write(component, DA7213_DAI_OFFSET, dai_offset);
|
||||
|
@ -181,7 +181,9 @@
|
||||
#define DA7213_DAI_BCLKS_PER_WCLK_256 (0x3 << 0)
|
||||
#define DA7213_DAI_BCLKS_PER_WCLK_MASK (0x3 << 0)
|
||||
#define DA7213_DAI_CLK_POL_INV (0x1 << 2)
|
||||
#define DA7213_DAI_CLK_POL_MASK (0x1 << 2)
|
||||
#define DA7213_DAI_WCLK_POL_INV (0x1 << 3)
|
||||
#define DA7213_DAI_WCLK_POL_MASK (0x1 << 3)
|
||||
#define DA7213_DAI_CLK_EN_MASK (0x1 << 7)
|
||||
|
||||
/* DA7213_DAI_CTRL = 0x29 */
|
||||
|
Loading…
Reference in New Issue
Block a user