How to handle quirky behavior with boards.

From: Olliver Schinagl
Date: Wed Mar 01 2017 - 08:59:09 EST


Hey all,

We found a bug in the design of a board that we use. This board (Olimex OLinuXino Lime2) features a PMIC (AXP209) and has an LDO, LDO3, that needs special treatment.

The bug is, that there is too much capacitance on the output of LDO3, which causes the PMIC to shutdown when enabeling LDO3.

The AXP does have voltage ramp control for LDO3, but this is only effective After LDO3 has been enabled.

To be able to turn on LDO3, we have to first set its voltage to the lowest setting (0.7 V), wait 1 ms, then turn it on. After that the voltage can be changed normally.

I'm already working on the patches to add the voltage ramp control but as described above, this will not fix the problem here.

My guess, and hence the question, is that we will need to add support for this quirk in the AXP209 LDO3 enable case. There are no quirk flags that I could find yet, so how is this preferabbly handled? A board level flag in the dts? AXP-level flag? Or is the soft-start flag sort of inteded for this? e.g. set soft-start for ldo3 in the dts, check this flag in the enable function and do the earlier described start-up?

Thanks,

Olliver