[U-Boot] [PATCH 0/8] Stop AXP from crashing when enabeling LDO3

Olliver Schinagl oliver at schinagl.nl
Wed Mar 1 12:52:16 UTC 2017

Hi list,

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 shutsdown (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 to 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, which allows the voltage
ramp up to be even slower.

This patch series implements the above with a few tiny, cleanups I ran into

The initial discussion with some scope screenshots can be found in the
linux-sunxi mailing list [0].

Signed-off-by: Olliver Schinagl <oliver at schinagl.nl>

[0] https://groups.google.com/forum/m/#!topic/linux-sunxi/EDvEsbHHqQI

Olliver Schinagl (8):
  sunxi: board: Print error after power initialization fails
  sunxi: pmic_bus: Decrease boot time by not writing duplicate data
  power: axp209: Use BIT() macro
  power: axp209: Define the chip version mask
  power: axp209: Reduce magic values by adding defines for LDO[234]
  power: axp209: Add support for voltage rate control on LDO3
  power: axp209: Limit inrush current for broken boards
  arm: sunxi: Enable inrush quirk on Olimex OLinuXino-A20-Lime2

 arch/arm/mach-sunxi/pmic_bus.c        |  6 ++++
 board/sunxi/board.c                   | 14 ++++----
 configs/A20-OLinuXino-Lime2_defconfig |  1 +
 drivers/power/Kconfig                 | 42 ++++++++++++++++++++++
 drivers/power/axp209.c                | 61 ++++++++++++++++++++++++++------
 include/axp209.h                      | 66 ++++++++++++++++++++++++++---------
 6 files changed, 158 insertions(+), 32 deletions(-)


More information about the U-Boot mailing list