[PATCH v2 0/3] regulator: Add X-Powers AXP318W PMIC support

Jerome Brunet posted 3 patches 14 hours ago
.../devicetree/bindings/mfd/x-powers,axp152.yaml   |  28 +-
drivers/mfd/axp20x-i2c.c                           |   2 +
drivers/mfd/axp20x.c                               |  84 ++++++
drivers/regulator/axp20x-regulator.c               | 298 ++++++++++++++++++++-
include/linux/mfd/axp20x.h                         | 129 +++++++++
5 files changed, 532 insertions(+), 9 deletions(-)
[PATCH v2 0/3] regulator: Add X-Powers AXP318W PMIC support
Posted by Jerome Brunet 14 hours ago
This patch series adds support for the X-Powers AXP318W PMIC, which is
used recently on new boards with Allwinner SoCs (the A733).

The PMIC features 9 DCDC buck converters and 28 LDOs, plus the usual ADC,
interrupts, and power key components.
A datasheet can be found linked in this Wiki table:
https://linux-sunxi.org/AXP_PMICs

Patch 1 adds the compatible string to the binding document, and adds
the additional input supply properties.
Patch 2 is the MFD part, describing the regmap and all the interrupts.
So far we support the regulator and power key devices, the ADC and
other pieces will follow later.
Patch 3 adds the voltage regulator rails, this part is crucial to enable
any board using this PMIC, as we depend on those rails even for basic
devices.

There was an unclosed topic regarding the handling of LDOs output
voltage being limited to input voltage being provided by the supply.
Chen-Yu noted the min_dropout_uV would be a good fit for that but
the actual minimal dropout value was unknown. I've arbitrarily picked
1uV because it is the minimum the framework supports. Realistically a low
dropout regulator is bound to have some dropout. This choice
is very likely optimistic but does the trick for now.

If anyone has problems because the dropout is actually higher
* it is arguably an HW design error
* it is a good time to let us know what the actual dropout is :P

Changes in v2:
* Droped _NUM_VOLTAGES macros
* Use min_dropout_uV to limit LDO voltage to supplies
* Add bypass mode for EDLO4/5
* Prevent crossing 1.54V threshold for DCDC6/7/8/9
* Link to v1: https://lore.kernel.org/r/20251021112013.2710903-1-andre.przywara@arm.com

---
Andre Przywara (3):
      dt-bindings: mfd: x-powers,axp152: Document AXP318W
      mfd: axp20x: Add support for AXP318W PMIC
      regulator: axp20x: add support for the AXP318W

 .../devicetree/bindings/mfd/x-powers,axp152.yaml   |  28 +-
 drivers/mfd/axp20x-i2c.c                           |   2 +
 drivers/mfd/axp20x.c                               |  84 ++++++
 drivers/regulator/axp20x-regulator.c               | 298 ++++++++++++++++++++-
 include/linux/mfd/axp20x.h                         | 129 +++++++++
 5 files changed, 532 insertions(+), 9 deletions(-)
---
base-commit: dc59e4fea9d83f03bad6bddf3fa2e52491777482
change-id: 20260710-axp318-regulator-43545ce3261f

Best regards,
--  
Jerome
Re: [PATCH v2 0/3] regulator: Add X-Powers AXP318W PMIC support
Posted by Jerome Brunet 13 hours ago
On ven. 10 juil. 2026 at 18:19, Jerome Brunet <jbrunet@baylibre.com> wrote:

> This patch series adds support for the X-Powers AXP318W PMIC, which is
> used recently on new boards with Allwinner SoCs (the A733).
>
> The PMIC features 9 DCDC buck converters and 28 LDOs, plus the usual ADC,
> interrupts, and power key components.
> A datasheet can be found linked in this Wiki table:
> https://linux-sunxi.org/AXP_PMICs
>
> Patch 1 adds the compatible string to the binding document, and adds
> the additional input supply properties.
> Patch 2 is the MFD part, describing the regmap and all the interrupts.
> So far we support the regulator and power key devices, the ADC and
> other pieces will follow later.
> Patch 3 adds the voltage regulator rails, this part is crucial to enable
> any board using this PMIC, as we depend on those rails even for basic
> devices.
>
> There was an unclosed topic regarding the handling of LDOs output
> voltage being limited to input voltage being provided by the supply.
> Chen-Yu noted the min_dropout_uV would be a good fit for that but
> the actual minimal dropout value was unknown. I've arbitrarily picked
> 1uV because it is the minimum the framework supports. Realistically a low
> dropout regulator is bound to have some dropout. This choice
> is very likely optimistic but does the trick for now.
>
> If anyone has problems because the dropout is actually higher
> * it is arguably an HW design error
> * it is a good time to let us know what the actual dropout is :P
>

I've focused on the regulator and the comments from v1 while taking over,
assuming the rest was fine. I should not have. Please ignore this
version. I'll re-spin it.

> Changes in v2:
> * Droped _NUM_VOLTAGES macros
> * Use min_dropout_uV to limit LDO voltage to supplies
> * Add bypass mode for EDLO4/5
> * Prevent crossing 1.54V threshold for DCDC6/7/8/9
> * Link to v1: https://lore.kernel.org/r/20251021112013.2710903-1-andre.przywara@arm.com
>
> ---
> Andre Przywara (3):
>       dt-bindings: mfd: x-powers,axp152: Document AXP318W
>       mfd: axp20x: Add support for AXP318W PMIC
>       regulator: axp20x: add support for the AXP318W
>
>  .../devicetree/bindings/mfd/x-powers,axp152.yaml   |  28 +-
>  drivers/mfd/axp20x-i2c.c                           |   2 +
>  drivers/mfd/axp20x.c                               |  84 ++++++
>  drivers/regulator/axp20x-regulator.c               | 298 ++++++++++++++++++++-
>  include/linux/mfd/axp20x.h                         | 129 +++++++++
>  5 files changed, 532 insertions(+), 9 deletions(-)
> ---
> base-commit: dc59e4fea9d83f03bad6bddf3fa2e52491777482
> change-id: 20260710-axp318-regulator-43545ce3261f
>
> Best regards,

-- 
Jerome