On Fri, Oct 15, 2021 at 02:36:10PM +0100, Richard Fitzgerald wrote:
The power-up sequence mandated in the datasheet is:
- VP must turn on first
- VA, VCP, VL, in any order
- VD_FILT after VL
static const char *const cs42l42_supply_names[CS42L42_NUM_SUPPLIES] = {
- "VA", "VP",
- "VA", "VCP",
- "VD_FILT", "VL",
- "VD_FILT",
};
If you need the regulators to be turned on in sequence you shouldn't rely on bulk enable doing it for you - the existing regulator code will initiate all the enables in parallel and then wait for them all to complete ramping up so if for example VD_FILT were to ramp more quickly than the earlier regulators the hardware might notice it getting to whatever voltage the hardware cares about before them. The only sequencing you're getting at the minute is when the enables for the regulators are toggled and you shouldn't even rely on that.
To get the sequencing guaranteed you should pull VP and VD_FILT out of the bulk enable and do individual enables for them.