Message ID | 25e67fe9b5397aa5f11bdd7026e4ae6be51dd18b.1544512919.git-series.plaes@plaes.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | regulator: axp20x: Stop AXP209 from crashing when enabling LDO3 | expand |
On Tue, 11 Dec 2018, Priit Laes wrote: > From: Olliver Schinagl <oliver@schinagl.nl> > > In the past, there have been words on various lists that if LDO3 is > disabled in u-boot, but enabled in the DTS, the axp209 driver would > fail to continue/hang. Several enable/disable patches have been > issues to devicetree's in both the kernel and u-boot to address > this issue. > > What really happened however, was that the AXP209 shuts down without > a notice and without setting an interrupt. This is caused when LDO3 > gets overloaded, for example with large capacitors on the LDO3 output. > > Normally, we would expect that AXP209 would source 200 mA as per > datasheet and set and trigger an interrupt when being overloaded. > For some reason however, this does not happen. > > As a work-around, implement software-based 'regulator-soft-start' > property for AXP209 LDO3 regulator, which is used to first bring up > the LDO3 to the lowest possible voltage and then enable the LDO. > > After that, we can set the requested voltage as usual. > > Combining this setting with the regulator-ramp-delay allows LDO3 to > come up slowly and staggered, potentially reducing overall inrush current. > > Signed-off-by: Olliver Schinagl <oliver@schinagl.nl> > Signed-off-by: Priit Laes <plaes@plaes.org> > --- > Documentation/devicetree/bindings/mfd/axp20x.txt | 3 +++ > 1 file changed, 3 insertions(+) For my own reference: Acked-for-MFD-by: Lee Jones <lee.jones@linaro.org>
diff --git a/Documentation/devicetree/bindings/mfd/axp20x.txt b/Documentation/devicetree/bindings/mfd/axp20x.txt index c626605..2af4ff9 100644 --- a/Documentation/devicetree/bindings/mfd/axp20x.txt +++ b/Documentation/devicetree/bindings/mfd/axp20x.txt @@ -37,6 +37,9 @@ more information: - regulator-ramp-delay: sets the ramp up delay in uV/us AXP20x/DCDC2: 1600, 800 AXP20x/LDO3: 1600, 800 +- regulator-soft-start: enable the output at the lowest possible voltage and + only then set the desired voltage + AXP20x/LDO3: software-based implementation Optional properties: - x-powers,dcdc-freq: defines the work frequency of DC-DC in KHz