[PATCH v2 0/6] spacemit: introduce P1 PMIC and regulator support

From: Alex Elder
Date: Thu Jun 19 2025 - 09:53:36 EST


The SpacemiT P1 is an I2C-controlled PMIC that implements six buck
converters and twelve LDOs. It contains a load switch, ADC channels,
GPIOs, a real-time clock, and a watchdog timer.

This series introduces a multifunction driver for the P1 PMIC as well
as a driver for its regulators.

This series is available here:
https://github.com/riscstar/linux/tree/outgoing/pmic-v2

-Alex

Between version 1 and version 2:
- Added Reviewed-by tag from Mark Brown to patch 3
- Implemented suggestions from Vivian Wang:
- Fixed a typo in the subject line in patch 1
- Now use module_i2c_driver() for the PMIC driver in patch 2
- Added MODULE_ALIAS() for both drivers (patches 2 and 3)
- Defined and used DRV_NAME in both drivers
- Added additional Kconfig module help text for both drivers

Here is version 1 of this series:
https://lore.kernel.org/lkml/20250613210150.1468845-1-elder@xxxxxxxxxxxx/

Alex Elder (6):
dt-bindings: mfd: add support the SpacemiT P1 PMIC
mfd: spacemit: add support for SpacemiT PMICs
regulator: spacemit: support SpacemiT P1 regulators
riscv: dts: spacemit: enable the i2c8 adapter
riscv: dts: spacemit: define fixed regulators
riscv: dts: spacemit: define regulator constraints

.../devicetree/bindings/mfd/spacemit,p1.yaml | 86 ++++++++++
.../boot/dts/spacemit/k1-bananapi-f3.dts | 138 +++++++++++++++
arch/riscv/boot/dts/spacemit/k1-pinctrl.dtsi | 7 +
arch/riscv/boot/dts/spacemit/k1.dtsi | 11 ++
drivers/mfd/Kconfig | 13 ++
drivers/mfd/Makefile | 1 +
drivers/mfd/spacemit-pmic.c | 83 +++++++++
drivers/regulator/Kconfig | 11 ++
drivers/regulator/Makefile | 1 +
drivers/regulator/spacemit-p1.c | 157 ++++++++++++++++++
10 files changed, 508 insertions(+)
create mode 100644 Documentation/devicetree/bindings/mfd/spacemit,p1.yaml
create mode 100644 drivers/mfd/spacemit-pmic.c
create mode 100644 drivers/regulator/spacemit-p1.c

base-commit: 2c923c845768a0f0e34b8161d70bc96525385782
--
2.45.2