forked from Minki/linux
ASoC: rt286: Restore default in probe
RT286 can't do register reset. If the hardware power is still existing in power off, rt286 will keep the register settings. So, we need to restore the default register value in probe to make sure the cache value is the same as the real register value. Signed-off-by: Bard Liao <bardliao@realtek.com> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
143526ee94
commit
d53d59ecad
@ -1250,6 +1250,14 @@ static int rt286_i2c_probe(struct i2c_client *i2c,
|
||||
rt286->i2c = i2c;
|
||||
i2c_set_clientdata(i2c, rt286);
|
||||
|
||||
/* restore codec default */
|
||||
for (i = 0; i < INDEX_CACHE_SIZE; i++)
|
||||
regmap_write(rt286->regmap, rt286->index_cache[i].reg,
|
||||
rt286->index_cache[i].def);
|
||||
for (i = 0; i < ARRAY_SIZE(rt286_reg); i++)
|
||||
regmap_write(rt286->regmap, rt286_reg[i].reg,
|
||||
rt286_reg[i].def);
|
||||
|
||||
if (pdata)
|
||||
rt286->pdata = *pdata;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user