devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v9 0/3] regulator: Add X-Powers AXP313a PMIC support
@ 2023-03-24 11:30 Andre Przywara
  2023-03-24 11:30 ` [PATCH v9 1/3] dt-bindings: mfd: x-powers,axp152: Document the AXP313a variant Andre Przywara
  0 siblings, 1 reply; 4+ messages in thread
From: Andre Przywara @ 2023-03-24 11:30 UTC (permalink / raw)
  To: Lee Jones, Chen-Yu Tsai, Liam Girdwood, Mark Brown, Rob Herring,
	Krzysztof Kozlowski
  Cc: Martin Botka, martin.botka1, Shengyu Qu, Samuel Holland,
	Jernej Skrabec, linux-sunxi, linux-kernel, devicetree

This patch series adds support for the X-Powers AXP313a PMIC, which is
often bundled with Allwinner H616 or H313 SoCs.
It's my turn again for this revision of the series, after Martin did
v7 and v8.
I addressed the comments that Chen-Yu gave (many thanks for that
review!), which adds the power button interrupt and should fix the
shutdown functionality (which is typically unused since PSCI takes
precedence). For a complete changelog see below.

Up to v5 this was speaking of the AXP1530, which seems to be some internal
name. The chips we have seen in the wild are all labeled AXP313a, so we
go with this name here, from now on. This is supported by the fact that
there is an AXP313a datasheet, but none for the AXP1530.

Patch 1 is the binding documentation (just the new compatible string),
patch 2 adds the MFD bits (mostly describing the extent of the regmap),
while patch 3 describes the actual AXP313a register definitions.
Since this ties neatly into the existing AXP and generic regulator
framework, the patches are indeed only structure definitions, there is
little new code.

For now we papered over this "fixed customizable" RTC-LDO regulator in the
same way this was done before for other PMICs (AXP803, for instance), We
think we can fix this properly with a follow-up patch, for all instances.

Please have a look!

Cheers,
Andre

Changelog:

v8 .. v9:
- use MFD_CELL_NAME macro
- fix LDO regulator names to match the datasheet
- only mark changing registers as volatile
- use correct register for shutdown operation
- add power key resources
- disallow x-powers,dcdc-freq in the DT binding
- drop unused OUTPUT_MONITOR register name, add SHUTDOWN_CTRL
- require dcdcfreq being 0 (non-present DT property default)

v7 .. v8:
- Add check for dcdcfreq being zero

v6 .. v7:
- Use alphabetical ordering

v5 .. v6:
- change name from AXP1530 to AXP313a
- extend commit messages
- drop AXP*_FREQUENCY register (not used anyway)
- better vertically align struct definitions
- rename IRQs to match names used for other PMICs
- add RTC_LDO regulator
- use decimal numbers for selector ranges
- use macro definitions to name some values
- force DC/DC switching frequency to be fixed at 3 MHz
- change LDO source supply to VIN1 (as per datasheet)

v4 .. v5:
- Use alphabetical ordering in mfd
- Correct { placement line
- Replace spaces with tabs in 1 struct

v3 .. v4:
- Fix indentation

v2 .. v3:
- Move AXP1530 dt-binding to alphabetical order

v1 .. v2:
- Remove RSB support.
- Drop .id = 0
- Add dt-binding for the AXP1530


Martin Botka (3):
  dt-bindings: mfd: x-powers,axp152: Document the AXP313a variant
  mfd: axp20x: Add support for AXP313a PMIC
  regulator: axp20x: Add support for AXP313a variant

 .../bindings/mfd/x-powers,axp152.yaml         | 12 +++
 drivers/mfd/axp20x-i2c.c                      |  2 +
 drivers/mfd/axp20x.c                          | 82 ++++++++++++++++++-
 drivers/regulator/axp20x-regulator.c          | 60 ++++++++++++++
 include/linux/mfd/axp20x.h                    | 32 ++++++++
 5 files changed, 187 insertions(+), 1 deletion(-)

-- 
2.25.1


^ permalink raw reply	[flat|nested] 4+ messages in thread

* [PATCH v9 1/3] dt-bindings: mfd: x-powers,axp152: Document the AXP313a variant
  2023-03-24 11:30 [PATCH v9 0/3] regulator: Add X-Powers AXP313a PMIC support Andre Przywara
@ 2023-03-24 11:30 ` Andre Przywara
  2023-03-25 11:40   ` Krzysztof Kozlowski
  0 siblings, 1 reply; 4+ messages in thread
From: Andre Przywara @ 2023-03-24 11:30 UTC (permalink / raw)
  To: Lee Jones, Chen-Yu Tsai, Liam Girdwood, Mark Brown, Rob Herring,
	Krzysztof Kozlowski
  Cc: Martin Botka, martin.botka1, Shengyu Qu, Samuel Holland,
	Jernej Skrabec, linux-sunxi, linux-kernel, devicetree

From: Martin Botka <martin.botka@somainline.org>

The X-Powers AXP313a is a PMIC used on some devices with the Allwinner
H616 or H313 SoC.
According to the datasheet, the DC/DC converter PWM frequency is fixed
(to 3 MHz), so disallow the property that lets us set this frequency
for the other PMICs.

Signed-off-by: Martin Botka <martin.botka@somainline.org>
Signed-off-by: Andre Przywara <andre.przywara@arm.com>
---
 .../devicetree/bindings/mfd/x-powers,axp152.yaml     | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml b/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml
index b7a8747d5fa0e..4b4f42cb09ef7 100644
--- a/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml
+++ b/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml
@@ -79,6 +79,17 @@ allOf:
       required:
         - interrupts
 
+  - if:
+      properties:
+        compatible:
+          contains:
+            const: x-powers,axp313a
+
+    then:
+      not:
+        required:
+          - x-powers,dcdc-freq
+
 properties:
   compatible:
     oneOf:
@@ -88,6 +99,7 @@ properties:
           - x-powers,axp209
           - x-powers,axp221
           - x-powers,axp223
+          - x-powers,axp313a
           - x-powers,axp803
           - x-powers,axp806
           - x-powers,axp809
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 4+ messages in thread

* Re: [PATCH v9 1/3] dt-bindings: mfd: x-powers,axp152: Document the AXP313a variant
  2023-03-24 11:30 ` [PATCH v9 1/3] dt-bindings: mfd: x-powers,axp152: Document the AXP313a variant Andre Przywara
@ 2023-03-25 11:40   ` Krzysztof Kozlowski
  2023-03-27 23:44     ` Andre Przywara
  0 siblings, 1 reply; 4+ messages in thread
From: Krzysztof Kozlowski @ 2023-03-25 11:40 UTC (permalink / raw)
  To: Andre Przywara, Lee Jones, Chen-Yu Tsai, Liam Girdwood,
	Mark Brown, Rob Herring, Krzysztof Kozlowski
  Cc: Martin Botka, martin.botka1, Shengyu Qu, Samuel Holland,
	Jernej Skrabec, linux-sunxi, linux-kernel, devicetree

On 24/03/2023 12:30, Andre Przywara wrote:
> From: Martin Botka <martin.botka@somainline.org>
> 
> The X-Powers AXP313a is a PMIC used on some devices with the Allwinner
> H616 or H313 SoC.
> According to the datasheet, the DC/DC converter PWM frequency is fixed
> (to 3 MHz), so disallow the property that lets us set this frequency
> for the other PMICs.
> 
> Signed-off-by: Martin Botka <martin.botka@somainline.org>
> Signed-off-by: Andre Przywara <andre.przywara@arm.com>
> ---
>  .../devicetree/bindings/mfd/x-powers,axp152.yaml     | 12 ++++++++++++
>  1 file changed, 12 insertions(+)
> 
> diff --git a/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml b/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml
> index b7a8747d5fa0e..4b4f42cb09ef7 100644
> --- a/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml
> +++ b/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml
> @@ -79,6 +79,17 @@ allOf:
>        required:
>          - interrupts
>  
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: x-powers,axp313a
> +
> +    then:
> +      not:
> +        required:
> +          - x-powers,dcdc-freq

Should be simpler x-powers,dcdc-freq: false

I'll fix the other cases.

Best regards,
Krzysztof


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PATCH v9 1/3] dt-bindings: mfd: x-powers,axp152: Document the AXP313a variant
  2023-03-25 11:40   ` Krzysztof Kozlowski
@ 2023-03-27 23:44     ` Andre Przywara
  0 siblings, 0 replies; 4+ messages in thread
From: Andre Przywara @ 2023-03-27 23:44 UTC (permalink / raw)
  To: Krzysztof Kozlowski
  Cc: Lee Jones, Chen-Yu Tsai, Liam Girdwood, Mark Brown, Rob Herring,
	Krzysztof Kozlowski, Martin Botka, martin.botka1, Shengyu Qu,
	Samuel Holland, Jernej Skrabec, linux-sunxi, linux-kernel,
	devicetree

On Sat, 25 Mar 2023 12:40:38 +0100
Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> wrote:

Hi,

> On 24/03/2023 12:30, Andre Przywara wrote:
> > From: Martin Botka <martin.botka@somainline.org>
> > 
> > The X-Powers AXP313a is a PMIC used on some devices with the Allwinner
> > H616 or H313 SoC.
> > According to the datasheet, the DC/DC converter PWM frequency is fixed
> > (to 3 MHz), so disallow the property that lets us set this frequency
> > for the other PMICs.
> > 
> > Signed-off-by: Martin Botka <martin.botka@somainline.org>
> > Signed-off-by: Andre Przywara <andre.przywara@arm.com>
> > ---
> >  .../devicetree/bindings/mfd/x-powers,axp152.yaml     | 12 ++++++++++++
> >  1 file changed, 12 insertions(+)
> > 
> > diff --git a/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml b/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml
> > index b7a8747d5fa0e..4b4f42cb09ef7 100644
> > --- a/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml
> > +++ b/Documentation/devicetree/bindings/mfd/x-powers,axp152.yaml
> > @@ -79,6 +79,17 @@ allOf:
> >        required:
> >          - interrupts
> >  
> > +  - if:
> > +      properties:
> > +        compatible:
> > +          contains:
> > +            const: x-powers,axp313a
> > +
> > +    then:
> > +      not:
> > +        required:
> > +          - x-powers,dcdc-freq  
> 
> Should be simpler x-powers,dcdc-freq: false

Ah, many thanks! I was a bit concerned about "not required" not sounding
quite right, but I indeed copied from the other cases and verified that
it worked as expected.
But yours is indeed much better, thanks for the other patch!

Cheers,
Andre

> I'll fix the other cases.
> 
> Best regards,
> Krzysztof
> 


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2023-03-27 23:45 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-24 11:30 [PATCH v9 0/3] regulator: Add X-Powers AXP313a PMIC support Andre Przywara
2023-03-24 11:30 ` [PATCH v9 1/3] dt-bindings: mfd: x-powers,axp152: Document the AXP313a variant Andre Przywara
2023-03-25 11:40   ` Krzysztof Kozlowski
2023-03-27 23:44     ` Andre Przywara

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).