> -----Original Message----- > From: Peng Fan > Sent: 2018年7月26日 19:47 > To: s...@chromium.org; tr...@konsulko.com > Cc: yamada.masah...@socionext.com; u-boot@lists.denx.de; Peng Fan > <peng....@nxp.com> > Subject: [PATCH V2] drivers: regulator: fixed: add u-boot,off-on-delay-us > > Add u-boot,off-on-delay-us for fixed regulator. > > Depends on board design, the gpio regulator sometimes connects with a big > capacitance. When need to off, then on the regulator, if there is no enough > delay, > the voltage does not drop to 0, so introduce this property to handle such > case. > > Signed-off-by: Peng Fan <peng....@nxp.com> > Reviewed-by: Simon Glass <s...@chromium.org> > Cc: Masahiro Yamada <yamada.masah...@socionext.com> > --- > > V2: > Moved device tree bindings to new directory. > Simon, I keep you reviewed by tag. Thanks.
Sorry, this patchset should be V3 version. Tom, should I resend a v3 out? Or you could apply this one? Thanks, Peng. > > doc/device-tree-bindings/regulator/fixed.txt | 1 + > drivers/power/regulator/fixed.c | 6 ++++++ > 2 files changed, 7 insertions(+) > > diff --git a/doc/device-tree-bindings/regulator/fixed.txt > b/doc/device-tree-bindings/regulator/fixed.txt > index 5fd9033fea..453d2bef44 100644 > --- a/doc/device-tree-bindings/regulator/fixed.txt > +++ b/doc/device-tree-bindings/regulator/fixed.txt > @@ -11,6 +11,7 @@ Required properties: > Optional properties: > - gpio: GPIO to use for enable control > - startup-delay-us: startup time in microseconds > +- u-boot,off-on-delay-us: off delay time in microseconds > - regulator constraints (binding info: regulator.txt) > - enable-active-high: Polarity of GPIO is Active high. If this property > is missing, the default assumed is Active low. > diff --git a/drivers/power/regulator/fixed.c b/drivers/power/regulator/fixed.c > index 0be5b7bd51..a99aa78310 100644 > --- a/drivers/power/regulator/fixed.c > +++ b/drivers/power/regulator/fixed.c > @@ -16,6 +16,7 @@ > struct fixed_regulator_platdata { > struct gpio_desc gpio; /* GPIO for regulator enable control */ > unsigned int startup_delay_us; > + unsigned int off_on_delay_us; > }; > > static int fixed_regulator_ofdata_to_platdata(struct udevice *dev) @@ -50,6 > +51,8 @@ static int fixed_regulator_ofdata_to_platdata(struct udevice *dev) > /* Get optional ramp up delay */ > dev_pdata->startup_delay_us = dev_read_u32_default(dev, > "startup-delay-us", 0); > + dev_pdata->off_on_delay_us = > + dev_read_u32_default(dev, "u-boot,off-on-delay-us", 0); > > return 0; > } > @@ -123,6 +126,9 @@ static int fixed_regulator_set_enable(struct udevice > *dev, bool enable) > udelay(dev_pdata->startup_delay_us); > debug("%s: done\n", __func__); > > + if (!enable && dev_pdata->off_on_delay_us) > + udelay(dev_pdata->off_on_delay_us); > + > return 0; > } > > -- > 2.14.1 _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot