[U-Boot] [PATCH V2] drivers: regulator: fixed: add u-boot, off-on-delay-us

Peng Fan peng.fan at nxp.com
Thu Jul 26 13:59:20 UTC 2018



> -----Original Message-----
> From: Peng Fan
> Sent: 2018年7月26日 19:47
> To: sjg at chromium.org; trini at konsulko.com
> Cc: yamada.masahiro at socionext.com; u-boot at lists.denx.de; Peng Fan
> <peng.fan at 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.fan at nxp.com>
> Reviewed-by: Simon Glass <sjg at chromium.org>
> Cc: Masahiro Yamada <yamada.masahiro at 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



More information about the U-Boot mailing list