mbox series

[v2,0/8] regulator: axp20x: Stop AXP209 from crashing when enabling LDO3

Message ID cover.923997dd7d7396bb4d71f8967698b58ca956b929.1544512919.git-series.plaes@plaes.org
Headers show
Series regulator: axp20x: Stop AXP209 from crashing when enabling LDO3 | expand

Message

Priit Laes Dec. 11, 2018, 3:17 p.m. UTC
This is a second edition of a series that implements voltage
ramping for AXP209 DCDC2 and LDO3 regulators and software
based soft-start for AXP209 LDO3 regulator.

Both features are needed to work around a PMIC shutdown when
toggling LDO3 on certain boards with high capacitance on the
LDO3 output.

Similar features (or workarounds) have been also implemented
on u-boot side [1].

Changes since v1:
- Rebased on top of next and dropped already merged patches.
- Dropped LDO4 full range devicetree change for Lime2 (prev patch 9)
  in favor of general pin-bank regulator dependency [2].
- Fixed paths in devicetree bindings (patch 3)
- Added note about software based soft-start for LDO3 (patch 5)

[1] https://lists.denx.de/pipermail/u-boot/2018-November/348612.html
[2] http://lists.infradead.org/pipermail/linux-arm-kernel/2018-December/618459.html

Olliver Schinagl (8):
  mfd: axp20x: name voltage ramping define properly
  regulator: axp20x: add support for set_ramp_delay for AXP209
  dt-bindings: mfd: axp20x: add support for regulator-ramp-delay for AXP209
  regulator: axp20x: add software based soft_start for AXP209 LDO3
  dt-bindings: mfd: axp20x: Add software based soft_start for AXP209 LDO3
  regulator: dts: enable soft-start and ramp delay for the OLinuXino Lime2
  mfd: axp20x: Clean up included headers
  mfd: axp20x: use explicit bit defines

 Documentation/devicetree/bindings/mfd/axp20x.txt |   9 +-
 arch/arm/boot/dts/sun7i-a20-olinuxino-lime2.dts  |   2 +-
 drivers/mfd/axp20x.c                             |  13 +-
 drivers/regulator/axp20x-regulator.c             | 142 +++++++++++++++-
 include/linux/mfd/axp20x.h                       |   4 +-
 5 files changed, 161 insertions(+), 9 deletions(-)

base-commit: 14cf8c1d5b90a0cf6a8ba51ef59db8da8c7a2622

Comments

Lee Jones Dec. 21, 2018, 8:39 a.m. UTC | #1
On Tue, 11 Dec 2018, Priit Laes wrote:

> From: Olliver Schinagl <oliver@schinagl.nl>
> 
> The current axp20x names the ramping register 'scal' which probably
> means scaling. Since the register really has nothing to do with
> scaling, but really is the voltage ramp we rename it appropriately.
> 
> Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
> Signed-off-by: Priit Laes <plaes@plaes.org>
> Acked-for-MFD-by: Lee Jones <lee.jones@linaro.org>
> ---
>  include/linux/mfd/axp20x.h | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)

I've lost track of what's happening with this set now.

Mark,

Did you take this patch in the end?

> diff --git a/include/linux/mfd/axp20x.h b/include/linux/mfd/axp20x.h
> index 2302b62..a353cd2 100644
> --- a/include/linux/mfd/axp20x.h
> +++ b/include/linux/mfd/axp20x.h
> @@ -35,7 +35,7 @@ enum axp20x_variants {
>  #define AXP152_ALDO_OP_MODE		0x13
>  #define AXP152_LDO0_CTRL		0x15
>  #define AXP152_DCDC2_V_OUT		0x23
> -#define AXP152_DCDC2_V_SCAL		0x25
> +#define AXP152_DCDC2_V_RAMP		0x25
>  #define AXP152_DCDC1_V_OUT		0x26
>  #define AXP152_DCDC3_V_OUT		0x27
>  #define AXP152_ALDO12_V_OUT		0x28
> @@ -53,7 +53,7 @@ enum axp20x_variants {
>  #define AXP20X_USB_OTG_STATUS		0x02
>  #define AXP20X_PWR_OUT_CTRL		0x12
>  #define AXP20X_DCDC2_V_OUT		0x23
> -#define AXP20X_DCDC2_LDO3_V_SCAL	0x25
> +#define AXP20X_DCDC2_LDO3_V_RAMP	0x25
>  #define AXP20X_DCDC3_V_OUT		0x27
>  #define AXP20X_LDO24_V_OUT		0x28
>  #define AXP20X_LDO3_V_OUT		0x29
Priit Laes Dec. 21, 2018, 8:42 a.m. UTC | #2
On Fri, Dec 21, 2018 at 08:39:27AM +0000, Lee Jones wrote:
> On Tue, 11 Dec 2018, Priit Laes wrote:
> 
> > From: Olliver Schinagl <oliver@schinagl.nl>
> > 
> > The current axp20x names the ramping register 'scal' which probably
> > means scaling. Since the register really has nothing to do with
> > scaling, but really is the voltage ramp we rename it appropriately.
> > 
> > Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
> > Signed-off-by: Priit Laes <plaes@plaes.org>
> > Acked-for-MFD-by: Lee Jones <lee.jones@linaro.org>
> > ---
> >  include/linux/mfd/axp20x.h | 4 ++--
> >  1 file changed, 2 insertions(+), 2 deletions(-)
> 
> I've lost track of what's happening with this set now.
> 
> Mark,
> 
> Did you take this patch in the end?

Yes, this is in linux-next.
> 
> > diff --git a/include/linux/mfd/axp20x.h b/include/linux/mfd/axp20x.h
> > index 2302b62..a353cd2 100644
> > --- a/include/linux/mfd/axp20x.h
> > +++ b/include/linux/mfd/axp20x.h
> > @@ -35,7 +35,7 @@ enum axp20x_variants {
> >  #define AXP152_ALDO_OP_MODE		0x13
> >  #define AXP152_LDO0_CTRL		0x15
> >  #define AXP152_DCDC2_V_OUT		0x23
> > -#define AXP152_DCDC2_V_SCAL		0x25
> > +#define AXP152_DCDC2_V_RAMP		0x25
> >  #define AXP152_DCDC1_V_OUT		0x26
> >  #define AXP152_DCDC3_V_OUT		0x27
> >  #define AXP152_ALDO12_V_OUT		0x28
> > @@ -53,7 +53,7 @@ enum axp20x_variants {
> >  #define AXP20X_USB_OTG_STATUS		0x02
> >  #define AXP20X_PWR_OUT_CTRL		0x12
> >  #define AXP20X_DCDC2_V_OUT		0x23
> > -#define AXP20X_DCDC2_LDO3_V_SCAL	0x25
> > +#define AXP20X_DCDC2_LDO3_V_RAMP	0x25
> >  #define AXP20X_DCDC3_V_OUT		0x27
> >  #define AXP20X_LDO24_V_OUT		0x28
> >  #define AXP20X_LDO3_V_OUT		0x29
> 
> -- 
> Lee Jones [李琼斯]
> Linaro Services Technical Lead
> Linaro.org │ Open source software for ARM SoCs
> Follow Linaro: Facebook | Twitter | Blog
> 
> -- 
> You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
Lee Jones Dec. 21, 2018, 9:26 a.m. UTC | #3
On Fri, 21 Dec 2018, Priit Laes wrote:

> On Fri, Dec 21, 2018 at 08:39:27AM +0000, Lee Jones wrote:
> > On Tue, 11 Dec 2018, Priit Laes wrote:
> > 
> > > From: Olliver Schinagl <oliver@schinagl.nl>
> > > 
> > > The current axp20x names the ramping register 'scal' which probably
> > > means scaling. Since the register really has nothing to do with
> > > scaling, but really is the voltage ramp we rename it appropriately.
> > > 
> > > Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
> > > Signed-off-by: Priit Laes <plaes@plaes.org>
> > > Acked-for-MFD-by: Lee Jones <lee.jones@linaro.org>
> > > ---
> > >  include/linux/mfd/axp20x.h | 4 ++--
> > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > 
> > I've lost track of what's happening with this set now.
> > 
> > Mark,
> > 
> > Did you take this patch in the end?
> 
> Yes, this is in linux-next.

I have no idea why Mark's tracker isn't mailing me (this is not the
first time this has happened).

Could you please rebase this set and resubmit all of the patches which
have not yet been applied?

Thank you.

> > > diff --git a/include/linux/mfd/axp20x.h b/include/linux/mfd/axp20x.h
> > > index 2302b62..a353cd2 100644
> > > --- a/include/linux/mfd/axp20x.h
> > > +++ b/include/linux/mfd/axp20x.h
> > > @@ -35,7 +35,7 @@ enum axp20x_variants {
> > >  #define AXP152_ALDO_OP_MODE		0x13
> > >  #define AXP152_LDO0_CTRL		0x15
> > >  #define AXP152_DCDC2_V_OUT		0x23
> > > -#define AXP152_DCDC2_V_SCAL		0x25
> > > +#define AXP152_DCDC2_V_RAMP		0x25
> > >  #define AXP152_DCDC1_V_OUT		0x26
> > >  #define AXP152_DCDC3_V_OUT		0x27
> > >  #define AXP152_ALDO12_V_OUT		0x28
> > > @@ -53,7 +53,7 @@ enum axp20x_variants {
> > >  #define AXP20X_USB_OTG_STATUS		0x02
> > >  #define AXP20X_PWR_OUT_CTRL		0x12
> > >  #define AXP20X_DCDC2_V_OUT		0x23
> > > -#define AXP20X_DCDC2_LDO3_V_SCAL	0x25
> > > +#define AXP20X_DCDC2_LDO3_V_RAMP	0x25
> > >  #define AXP20X_DCDC3_V_OUT		0x27
> > >  #define AXP20X_LDO24_V_OUT		0x28
> > >  #define AXP20X_LDO3_V_OUT		0x29
> >
Priit Laes Dec. 21, 2018, 9:28 a.m. UTC | #4
On Fri, Dec 21, 2018 at 09:26:58AM +0000, Lee Jones wrote:
> On Fri, 21 Dec 2018, Priit Laes wrote:
> 
> > On Fri, Dec 21, 2018 at 08:39:27AM +0000, Lee Jones wrote:
> > > On Tue, 11 Dec 2018, Priit Laes wrote:
> > > 
> > > > From: Olliver Schinagl <oliver@schinagl.nl>
> > > > 
> > > > The current axp20x names the ramping register 'scal' which probably
> > > > means scaling. Since the register really has nothing to do with
> > > > scaling, but really is the voltage ramp we rename it appropriately.
> > > > 
> > > > Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
> > > > Signed-off-by: Priit Laes <plaes@plaes.org>
> > > > Acked-for-MFD-by: Lee Jones <lee.jones@linaro.org>
> > > > ---
> > > >  include/linux/mfd/axp20x.h | 4 ++--
> > > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > > 
> > > I've lost track of what's happening with this set now.
> > > 
> > > Mark,
> > > 
> > > Did you take this patch in the end?
> > 
> > Yes, this is in linux-next.
> 
> I have no idea why Mark's tracker isn't mailing me (this is not the
> first time this has happened).
> 
> Could you please rebase this set and resubmit all of the patches which
> have not yet been applied?

Whole serie has been applied.

> Thank you.
> 
> > > > diff --git a/include/linux/mfd/axp20x.h b/include/linux/mfd/axp20x.h
> > > > index 2302b62..a353cd2 100644
> > > > --- a/include/linux/mfd/axp20x.h
> > > > +++ b/include/linux/mfd/axp20x.h
> > > > @@ -35,7 +35,7 @@ enum axp20x_variants {
> > > >  #define AXP152_ALDO_OP_MODE		0x13
> > > >  #define AXP152_LDO0_CTRL		0x15
> > > >  #define AXP152_DCDC2_V_OUT		0x23
> > > > -#define AXP152_DCDC2_V_SCAL		0x25
> > > > +#define AXP152_DCDC2_V_RAMP		0x25
> > > >  #define AXP152_DCDC1_V_OUT		0x26
> > > >  #define AXP152_DCDC3_V_OUT		0x27
> > > >  #define AXP152_ALDO12_V_OUT		0x28
> > > > @@ -53,7 +53,7 @@ enum axp20x_variants {
> > > >  #define AXP20X_USB_OTG_STATUS		0x02
> > > >  #define AXP20X_PWR_OUT_CTRL		0x12
> > > >  #define AXP20X_DCDC2_V_OUT		0x23
> > > > -#define AXP20X_DCDC2_LDO3_V_SCAL	0x25
> > > > +#define AXP20X_DCDC2_LDO3_V_RAMP	0x25
> > > >  #define AXP20X_DCDC3_V_OUT		0x27
> > > >  #define AXP20X_LDO24_V_OUT		0x28
> > > >  #define AXP20X_LDO3_V_OUT		0x29
> > > 
> 
> -- 
> Lee Jones [李琼斯]
> Linaro Services Technical Lead
> Linaro.org │ Open source software for ARM SoCs
> Follow Linaro: Facebook | Twitter | Blog
> 
> -- 
> You received this message because you are subscribed to the Google Groups "linux-sunxi" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to linux-sunxi+unsubscribe@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
Lee Jones Dec. 21, 2018, 9:57 a.m. UTC | #5
On Fri, 21 Dec 2018, Priit Laes wrote:

> On Fri, Dec 21, 2018 at 09:26:58AM +0000, Lee Jones wrote:
> > On Fri, 21 Dec 2018, Priit Laes wrote:
> > 
> > > On Fri, Dec 21, 2018 at 08:39:27AM +0000, Lee Jones wrote:
> > > > On Tue, 11 Dec 2018, Priit Laes wrote:
> > > > 
> > > > > From: Olliver Schinagl <oliver@schinagl.nl>
> > > > > 
> > > > > The current axp20x names the ramping register 'scal' which probably
> > > > > means scaling. Since the register really has nothing to do with
> > > > > scaling, but really is the voltage ramp we rename it appropriately.
> > > > > 
> > > > > Signed-off-by: Olliver Schinagl <oliver@schinagl.nl>
> > > > > Signed-off-by: Priit Laes <plaes@plaes.org>
> > > > > Acked-for-MFD-by: Lee Jones <lee.jones@linaro.org>
> > > > > ---
> > > > >  include/linux/mfd/axp20x.h | 4 ++--
> > > > >  1 file changed, 2 insertions(+), 2 deletions(-)
> > > > 
> > > > I've lost track of what's happening with this set now.
> > > > 
> > > > Mark,
> > > > 
> > > > Did you take this patch in the end?
> > > 
> > > Yes, this is in linux-next.
> > 
> > I have no idea why Mark's tracker isn't mailing me (this is not the
> > first time this has happened).
> > 
> > Could you please rebase this set and resubmit all of the patches which
> > have not yet been applied?
> 
> Whole serie has been applied.

Well that saves me a job.  Thanks.  =:-)