diff options
author | Peng Fan <peng.fan@nxp.com> | 2017-08-17 07:55:53 +0800 |
---|---|---|
committer | Peng Fan <peng.fan@nxp.com> | 2017-08-17 07:57:19 +0800 |
commit | 17071015cd43cf8325a80e8050afbdd96367eeed (patch) | |
tree | bef74a1a69477cd9553554716b8a218890d0be50 | |
parent | 4d37dae60b32a0e986cd83c9709beda63a6852af (diff) |
MLK-16188-4: drivers: regulator: fixed: add off-on-delay-us
Add off-on-delay-us for fixed regulator.
Signed-off-by: Peng Fan <peng.fan@nxp.com>
-rw-r--r-- | drivers/power/regulator/fixed.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/power/regulator/fixed.c b/drivers/power/regulator/fixed.c index cd5213766d..738a3b6ec6 100644 --- a/drivers/power/regulator/fixed.c +++ b/drivers/power/regulator/fixed.c @@ -1,5 +1,6 @@ /* * Copyright (C) 2015 Samsung Electronics + * Copyright 2017 NXP * * Przemyslaw Marczak <p.marczak@samsung.com> * @@ -20,6 +21,7 @@ DECLARE_GLOBAL_DATA_PTR; 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) @@ -56,6 +58,9 @@ static int fixed_regulator_ofdata_to_platdata(struct udevice *dev) dev_pdata->startup_delay_us = fdtdec_get_uint(gd->fdt_blob, dev_of_offset(dev), "startup-delay-us", 0); + dev_pdata->off_on_delay_us = fdtdec_get_uint(gd->fdt_blob, + dev_of_offset(dev), + "off-on-delay-us", 0); return 0; } @@ -125,6 +130,10 @@ static int fixed_regulator_set_enable(struct udevice *dev, bool enable) if (enable && dev_pdata->startup_delay_us) udelay(dev_pdata->startup_delay_us); + if (!enable && dev_pdata->off_on_delay_us) { + udelay(dev_pdata->off_on_delay_us); + } + return 0; } |