提交 96fc294c 编写于 作者: H Hsin-Yu Chao 提交者: Mark Brown

ASoC: da7219: software reset codec at probe

Da7219 does not trigger interrupt to report jack status
when system boots from warm reset because its power
remains on during warm reset.
Doing software reset at probe to handle this.
Signed-off-by: NHsin-Yu Chao <hychao@chromium.org>
Signed-off-by: NXing Zheng <zhengxing@rock-chips.com>
Signed-off-by: NMark Brown <broonie@kernel.org>
上级 29b4817d
...@@ -1937,6 +1937,14 @@ static int da7219_i2c_probe(struct i2c_client *i2c, ...@@ -1937,6 +1937,14 @@ static int da7219_i2c_probe(struct i2c_client *i2c,
return ret; return ret;
} }
/* Software reset codec. */
regmap_write_bits(da7219->regmap, DA7219_ACCDET_CONFIG_1,
DA7219_ACCDET_EN_MASK, 0);
regmap_write_bits(da7219->regmap, DA7219_CIF_CTRL,
DA7219_CIF_REG_SOFT_RESET_MASK, 0);
regmap_write_bits(da7219->regmap, DA7219_SYSTEM_ACTIVE,
DA7219_SYSTEM_ACTIVE_MASK, 0);
ret = snd_soc_register_codec(&i2c->dev, &soc_codec_dev_da7219, ret = snd_soc_register_codec(&i2c->dev, &soc_codec_dev_da7219,
&da7219_dai, 1); &da7219_dai, 1);
if (ret < 0) { if (ret < 0) {
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册