mfd: wm5102: Ensure we always boot the device fully
authorCharles Keepax <ckeepax@opensource.wolfsonmicro.com>
Mon, 11 May 2015 12:58:03 +0000 (13:58 +0100)
committerLee Jones <lee.jones@linaro.org>
Mon, 22 Jun 2015 11:25:10 +0000 (12:25 +0100)
commit1c1c6bba57f51331f64f32d0ce9a0f9883041205
treec6ea3a4948ca6bd53049216ce3e3fac3e3b08fdb
parent2229875dc00f38b95d04fecfc67858ba2221a563
mfd: wm5102: Ensure we always boot the device fully

The wm5102 uses a custom boot sequence and the standard boot sequence is
disabled. However, the standard boot sequence must be run at least once
after a cold boot (caused by either a hard reset or removal of AVDD).
Unfortunately the register WRITE_SEQUENCER_CTRL_3 is not affected by the
hardware reset. This means if the device has been previously booted but
the AVDD supply has never been removed, arizona_dev_init will reset the
chip but the boot sequence will not run, which can cause numerous
problems. The solution is to manually clear this register and then boot
the chip again, which is what this patch does.

Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/arizona-core.c