Message ID | 20190209225411.32756-7-krzk@kernel.org |
---|---|
State | RFC |
Delegated to: | Minkyu Kang |
Headers | show |
Series | exynos: Fix reboot on Odroid HC1 | expand |
Hi Krzysztof, > According to datasheet, the output on LDO regulators will start > appearing after 10-15 us. > > Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> > --- > drivers/power/regulator/s2mps11_regulator.c | 9 ++++++++- > 1 file changed, 8 insertions(+), 1 deletion(-) > > diff --git a/drivers/power/regulator/s2mps11_regulator.c > b/drivers/power/regulator/s2mps11_regulator.c index > 723d27f67c9a..1f1581852ee2 100644 --- > a/drivers/power/regulator/s2mps11_regulator.c +++ > b/drivers/power/regulator/s2mps11_regulator.c @@ -551,7 +551,14 @@ > static int ldo_get_enable(struct udevice *dev) > static int ldo_set_enable(struct udevice *dev, bool enable) > { > - return s2mps11_ldo_enable(dev, PMIC_OP_SET, &enable); > + int ret; > + > + ret = s2mps11_ldo_enable(dev, PMIC_OP_SET, &enable); > + > + /* Wait the "enable delay" for voltage to start to rise */ > + udelay(15); I assume, that this value is the same as in the Linux driver? > + > + return ret; > } > > static int ldo_get_mode(struct udevice *dev) Best regards, Lukasz Majewski -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany Phone: (+49)-8142-66989-59 Fax: (+49)-8142-66989-80 Email: lukma@denx.de
On Mon, 11 Feb 2019 at 08:11, Lukasz Majewski <lukma@denx.de> wrote: > > Hi Krzysztof, > > > According to datasheet, the output on LDO regulators will start > > appearing after 10-15 us. > > > > Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> > > --- > > drivers/power/regulator/s2mps11_regulator.c | 9 ++++++++- > > 1 file changed, 8 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/power/regulator/s2mps11_regulator.c > > b/drivers/power/regulator/s2mps11_regulator.c index > > 723d27f67c9a..1f1581852ee2 100644 --- > > a/drivers/power/regulator/s2mps11_regulator.c +++ > > b/drivers/power/regulator/s2mps11_regulator.c @@ -551,7 +551,14 @@ > > static int ldo_get_enable(struct udevice *dev) > > static int ldo_set_enable(struct udevice *dev, bool enable) > > { > > - return s2mps11_ldo_enable(dev, PMIC_OP_SET, &enable); > > + int ret; > > + > > + ret = s2mps11_ldo_enable(dev, PMIC_OP_SET, &enable); > > + > > + /* Wait the "enable delay" for voltage to start to rise */ > > + udelay(15); > > I assume, that this value is the same as in the Linux driver? No, Linux drivers does not do it. It should... but we never implemented it there. Best regards, Krzysztof
diff --git a/drivers/power/regulator/s2mps11_regulator.c b/drivers/power/regulator/s2mps11_regulator.c index 723d27f67c9a..1f1581852ee2 100644 --- a/drivers/power/regulator/s2mps11_regulator.c +++ b/drivers/power/regulator/s2mps11_regulator.c @@ -551,7 +551,14 @@ static int ldo_get_enable(struct udevice *dev) static int ldo_set_enable(struct udevice *dev, bool enable) { - return s2mps11_ldo_enable(dev, PMIC_OP_SET, &enable); + int ret; + + ret = s2mps11_ldo_enable(dev, PMIC_OP_SET, &enable); + + /* Wait the "enable delay" for voltage to start to rise */ + udelay(15); + + return ret; } static int ldo_get_mode(struct udevice *dev)
According to datasheet, the output on LDO regulators will start appearing after 10-15 us. Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org> --- drivers/power/regulator/s2mps11_regulator.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-)