[PATCH 2/2] regulator: fixed: handle startup-delay-us property

Sascha Hauer s.hauer at pengutronix.de
Tue Feb 3 03:08:15 PST 2026


On Thu, Jan 29, 2026 at 01:10:38PM +0100, Marco Felsch wrote:
> On 26-01-29, Sascha Hauer wrote:
> > The "startup-delay-us" property of the fixed regulator has never been
> > handled by barebox. Handle it now.
> > 
> > The "startup-delay-us" property is specified as:
> > 
> > | startup time in microseconds
> > 
> > Then there's a regulator generic property "regulator-enable-ramp-delay"
> > which barebox handles, specified as:
> > 
> > | The time taken, in microseconds, for the supply rail to
> > | reach the target voltage, plus/minus whatever tolerance the board
> > | design requires. This property describes the total system ramp time
> > | required due to the combination of internal ramping of the regulator
> > | itself, and board design issues such as trace capacitance and load
> > | on the supply.
> > 
> > We just use the bigger of the two times as the time a regulator needs
> > to become stable.
> > 
> > Signed-off-by: Sascha Hauer <s.hauer at pengutronix.de>
> > ---
> >  drivers/regulator/core.c  | 9 +++++++--
> >  drivers/regulator/fixed.c | 3 +++
> >  include/regulator.h       | 2 ++
> >  3 files changed, 12 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/regulator/core.c b/drivers/regulator/core.c
> > index 8ca937e8bd..1f8d77dc96 100644
> > --- a/drivers/regulator/core.c
> > +++ b/drivers/regulator/core.c
> > @@ -297,6 +297,7 @@ int of_regulator_register(struct regulator_dev *rdev, struct device_node *node)
> >  {
> >  	const char *name;
> >  	int ret;
> > +	u32 val = 0;
> >  
> >  	if (!rdev || !node)
> >  		return -EINVAL;
> > @@ -313,12 +314,16 @@ int of_regulator_register(struct regulator_dev *rdev, struct device_node *node)
> >  
> >  	if (rdev->desc->off_on_delay)
> >  		rdev->off_on_delay = rdev->desc->off_on_delay;
> > +	if (rdev->desc->enable_time_us)
> > +		rdev->enable_time_us = rdev->desc->enable_time_us;
> >  
> >  	if (rdev->desc->fixed_uV && rdev->desc->n_voltages == 1)
> >  		rdev->min_uv = rdev->max_uv = rdev->desc->fixed_uV;
> >  
> > -	of_property_read_u32(node, "regulator-enable-ramp-delay",
> > -			&rdev->enable_time_us);
> > +	of_property_read_u32(node, "regulator-enable-ramp-delay", &val);
> > +	if (val > rdev->enable_time_us)
> 
> Nit: Worth a comment to make it more obvious?

Added a comment while applying.

Sascha

-- 
Pengutronix e.K.                           |                             |
Steuerwalder Str. 21                       | http://www.pengutronix.de/  |
31137 Hildesheim, Germany                  | Phone: +49-5121-206917-0    |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |



More information about the barebox mailing list