
On Wed, Nov 21, 2018 at 08:05:24PM +0200, Priit Laes wrote:
This is a resend/v2 of a "Stop AXP from crashing when enabling LDO3" series, posted by Olliver Schinagl in March 2017. Unfortunately it never got past initial discussion [1], but most Olimex Lime2 boards are still running into this bug.
When powering up an AXP209, the default value for LDO3 output is enabled. This works fine. However if for whatever reason, LDO3 is disabled, for example by OS during reboot and u-boot enables LDO3 again, the PMIC shuts down (without setting an interrupt) causing the board to hang. This behavior has been seen from Linux as well, u-boot disables LDO3 as a default value, the kernel enables it per its DTS, the kernel hangs as the PMIC gets shut down.
The root cause is that some boards have too high capacitance on the LDO3 output port causing inrush currents exceeding the maximum of the AXP209.
The fix is to turn on the LDO3 at the lowest possible voltage and then set the final voltage.
If the capacitance is really big (due to a connected device for example) the AXP209 also features VRC, or Voltage Rate Control, allowing voltage to ramp up even slower.
Similar changes need to be also implemented in the operating system driver side when driver needs to toggle power for the ALDO3 regulator.
This patch series implements the above with a few tiny cleanups.
Anything else that should be done by me, now that all the patches have Acked-by?
Päikest, Priit