This series extends the existing S2MPG10 PMIC driver to add support for the regulators, and adds new S2MPG11 core and regulator drivers. This series must be applied in-order, due to the regulator drivers depending on headers & definitions added by the bindings and core drivers. I would expect them all to go via the MFD tree. The patches are kept together in one series, due to S2MPG11 and its regulators being very similar to S2MPG10. The Samsung S2MPG11 PMIC is a Power Management IC for mobile applications with buck converters, various LDOs, power meters, and additional GPIO interfaces. It typically complements an S2MPG10 PMIC in a main/sub configuration as the sub-PMIC and both are used on the Google Pixel 6 and 6 Pro (oriole / raven). A DT update for Oriole / Raven to enable these is required which I will send out separately once bindings have been OK'd. Cheers, Andre' Signed-off-by: André Draszik <andre.draszik@xxxxxxxxxx> --- Changes in v2: - s2mpg11 also exposes additional GPIOs, update all relevant commit messages (nevertheless, GPIOs are out of scope in this series) - fix some commit message typos: s2mp1 -> s2mpg1 - patch2: drop | (literal style mark) from samsung,ext-control-gpios - patch5: add | to vinb*-supply description for better formatting - patch13: update ::of_parse_cb assignment - patch15: drop duplicated ::of_parse_cb assignment - Link to v1: https://lore.kernel.org/r/20250604-s2mpg1x-regulators-v1-0-6038740f49ae@xxxxxxxxxx --- André Draszik (17): dt-bindings: firmware: google,gs101-acpm-ipc: convert regulators to lowercase regulator: dt-bindings: add s2mpg10-pmic regulators regulator: dt-bindings: add s2mpg11-pmic regulators dt-bindings: mfd: samsung,s2mps11: add s2mpg10-pmic regulators dt-bindings: mfd: samsung,s2mps11: add s2mpg11-pmic dt-bindings: firmware: google,gs101-acpm-ipc: update PMIC examples mfd: sec-common: Instantiate s2mpg10 bucks and ldos separately mfd: sec: Add support for S2MPG11 PMIC via ACPM regulator: s2mps11: drop two needless variable initialisations regulator: s2mps11: use dev_err_probe() where appropriate regulator: s2mps11: update node parsing (allow -supply properties) regulator: s2mps11: refactor handling of external rail control regulator: s2mps11: add S2MPG10 regulator regulator: s2mps11: refactor S2MPG10 ::set_voltage_time() for S2MPG11 reuse regulator: s2mps11: refactor S2MPG10 regulator macros for S2MPG11 reuse regulator: s2mps11: add S2MPG11 regulator regulator: s2mps11: more descriptive gpio consumer name .../bindings/firmware/google,gs101-acpm-ipc.yaml | 44 +- .../devicetree/bindings/mfd/samsung,s2mps11.yaml | 87 +- .../regulator/samsung,s2mpg10-regulator.yaml | 147 +++ .../regulator/samsung,s2mpg11-regulator.yaml | 150 +++ MAINTAINERS | 1 + drivers/mfd/sec-acpm.c | 213 +++- drivers/mfd/sec-common.c | 22 +- drivers/mfd/sec-irq.c | 67 +- drivers/regulator/s2mps11.c | 1143 ++++++++++++++++++-- .../regulator/samsung,s2mpg10-regulator.h | 66 ++ include/linux/mfd/samsung/core.h | 1 + include/linux/mfd/samsung/irq.h | 99 ++ include/linux/mfd/samsung/s2mpg10.h | 8 + include/linux/mfd/samsung/s2mpg11.h | 420 +++++++ 14 files changed, 2338 insertions(+), 130 deletions(-) --- base-commit: a0bea9e39035edc56a994630e6048c8a191a99d8 change-id: 20250603-s2mpg1x-regulators-7a41c8399abf Best regards, -- André Draszik <andre.draszik@xxxxxxxxxx>