The X-Powers AXP323 is a close sibling to the AXP313a PMIC, only that it allows to dual-phase the first two DC/DC converters. This is controlled via a new register. On the first glance that would sound like a compatible extension, but any random AXP313a driver would not know about the potential dual-phase nature of the second DCDC rail, so might want to turn that off, spoiling the whole setup. So this patchset introduces a new compatible string, without any fallbacks. Patch 1 adds the DT binding documentation, patch 2 fixes some fragile connection between PMIC IDs and an array. Patch 3 allows multiple AXP chips, since the AXP323 seems to be often paired with the AXP717, and there is some sysfs naming clash with the current code. Patch 4 then adds the MFD bits, to introduce the new device type and that extra register, while patch 4 eventually adds the new regulator device, and takes care about the proper poly-phase detection. One note: so far the poly-phased AXP PMICs had that setting already enabled at reset time, so we just detected it and were good. However the AXP323 on my board does not, so it requires enabling the dual-phase bit at boot time. The BSP kernel does that in their boot0 (SPL) early boot code, and the plan would be to do this either in U-Boot or TF-A for mainline. But should we actually expose this in the DT, as some new property, to give kernels a chance to set it? The rails in question power the secondary cluster, so it's not strictly required at boot time, but it's probably too late for the kernel anyway, given that SMP bringup is much earlier than drivers? I would appreciate any thoughts here. Thanks, Andre Andre Przywara (5): dt-bindings: mfd: x-powers,axp152: Document AXP323 mfd: axp20x: ensure relationship between IDs and model names mfd: axp20x: Allow multiple regulators mfd: axp20x: Add support for AXP323 regulator: axp20x: add support for the AXP323 .../bindings/mfd/x-powers,axp152.yaml | 3 + drivers/mfd/axp20x-i2c.c | 1 + drivers/mfd/axp20x.c | 58 ++++++++++++++----- drivers/regulator/axp20x-regulator.c | 13 ++++- include/linux/mfd/axp20x.h | 4 +- 5 files changed, 61 insertions(+), 18 deletions(-) -- 2.25.1