From: "André Draszik" <andre.draszik@linaro.org>
To: Tudor Ambarus <tudor.ambarus@linaro.org>,
Rob Herring <robh@kernel.org>,
Conor Dooley <conor+dt@kernel.org>,
Krzysztof Kozlowski <krzk@kernel.org>,
Liam Girdwood <lgirdwood@gmail.com>,
Mark Brown <broonie@kernel.org>, Lee Jones <lee@kernel.org>,
Linus Walleij <linus.walleij@linaro.org>,
Bartosz Golaszewski <brgl@bgdev.pl>,
Krzysztof Kozlowski <krzk+dt@kernel.org>
Cc: "Peter Griffin" <peter.griffin@linaro.org>,
"Will McVicker" <willmcvicker@google.com>,
kernel-team@android.com, linux-kernel@vger.kernel.org,
linux-samsung-soc@vger.kernel.org, devicetree@vger.kernel.org,
linux-gpio@vger.kernel.org,
"André Draszik" <andre.draszik@linaro.org>
Subject: [PATCH v3 00/20] Samsung S2MPG10 regulator and S2MPG11 PMIC drivers
Date: Mon, 03 Nov 2025 19:14:39 +0000 [thread overview]
Message-ID: <20251103-s2mpg1x-regulators-v3-0-b8b96b79e058@linaro.org> (raw)
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.
Cheers,
Andre'
Signed-off-by: André Draszik <andre.draszik@linaro.org>
---
Changes in v3:
- Krzysztof:
- split s2mpg10 core binding into separate file
- drop PCTRLSEL values that can be described using standard
properties, and update remaining macro names (self)
- drop maxItems:1 where not needed (Krzysztof)
- samsung,ext-control-gpios -> enable-gpios
- fix LDO20M_EN pin name -> VLDO20M_EN
- move all binding patternProperties to top-level
- one (driver) instance per actual rail, not per rail type (LDO or
buck)
- new macro REGULATOR_LINEAR_VRANGE() (patch 10)
- address some (pre-existing) checkpatch warnings)
- various updates to regulator driver (patch 16 & 19).See footer there
- more descriptive commit messages
- Link to v2: https://lore.kernel.org/r/20250606-s2mpg1x-regulators-v2-0-b03feffd2621@linaro.org
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@linaro.org
---
André Draszik (20):
dt-bindings: firmware: google,gs101-acpm-ipc: convert regulators to lowercase
dt-bindings: mfd: samsung,s2mps11: split s2mpg10 into separate file
regulator: dt-bindings: add s2mpg10-pmic regulators
regulator: dt-bindings: add s2mpg11-pmic regulators
dt-bindings: mfd: samsung,s2mpg10: Link s2mpg10-pmic to its regulators
dt-bindings: mfd: samsung,s2mpg10: 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: add REGULATOR_LINEAR_VRANGE macro
regulator: s2mps11: drop two needless variable initialisations
regulator: s2mps11: use dev_err_probe() where appropriate
regulator: s2mps11: place constants on right side of comparison tests
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,s2mpg10.yaml | 124 ++
.../devicetree/bindings/mfd/samsung,s2mps11.yaml | 29 +-
.../regulator/samsung,s2mpg10-regulator.yaml | 158 +++
.../regulator/samsung,s2mpg11-regulator.yaml | 136 +++
MAINTAINERS | 1 +
drivers/mfd/sec-acpm.c | 213 +++-
drivers/mfd/sec-common.c | 88 +-
drivers/mfd/sec-irq.c | 67 +-
drivers/regulator/s2mps11.c | 1193 ++++++++++++++++++--
.../regulator/samsung,s2mpg10-regulator.h | 53 +
include/linux/mfd/samsung/core.h | 1 +
include/linux/mfd/samsung/irq.h | 99 ++
include/linux/mfd/samsung/s2mpg10.h | 24 +
include/linux/mfd/samsung/s2mpg11.h | 434 +++++++
include/linux/regulator/driver.h | 5 +
16 files changed, 2510 insertions(+), 159 deletions(-)
---
base-commit: 131f3d9446a6075192cdd91f197989d98302faa6
change-id: 20250603-s2mpg1x-regulators-7a41c8399abf
Best regards,
--
André Draszik <andre.draszik@linaro.org>
next reply other threads:[~2025-11-03 19:14 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-03 19:14 André Draszik [this message]
2025-11-03 19:14 ` [PATCH v3 01/20] dt-bindings: firmware: google,gs101-acpm-ipc: convert regulators to lowercase André Draszik
2025-11-03 19:14 ` [PATCH v3 02/20] dt-bindings: mfd: samsung,s2mps11: split s2mpg10 into separate file André Draszik
2025-11-04 8:26 ` Krzysztof Kozlowski
2025-11-07 11:01 ` André Draszik
2025-11-09 18:59 ` Krzysztof Kozlowski
2025-11-03 19:14 ` [PATCH v3 03/20] regulator: dt-bindings: add s2mpg10-pmic regulators André Draszik
2025-11-03 19:14 ` [PATCH v3 04/20] regulator: dt-bindings: add s2mpg11-pmic regulators André Draszik
2025-11-04 9:39 ` Krzysztof Kozlowski
2025-11-07 11:14 ` André Draszik
2025-11-09 19:00 ` Krzysztof Kozlowski
2025-11-10 6:30 ` André Draszik
2025-11-03 19:14 ` [PATCH v3 05/20] dt-bindings: mfd: samsung,s2mpg10: Link s2mpg10-pmic to its regulators André Draszik
2025-11-04 8:28 ` Krzysztof Kozlowski
2025-11-08 13:48 ` André Draszik
2025-11-03 19:14 ` [PATCH v3 06/20] dt-bindings: mfd: samsung,s2mpg10: Add s2mpg11-pmic André Draszik
2025-11-04 8:37 ` Krzysztof Kozlowski
2025-11-03 19:14 ` [PATCH v3 07/20] dt-bindings: firmware: google,gs101-acpm-ipc: update PMIC examples André Draszik
2025-11-04 8:31 ` Krzysztof Kozlowski
2025-11-08 14:08 ` André Draszik
2025-11-09 19:02 ` Krzysztof Kozlowski
2025-11-04 9:46 ` Krzysztof Kozlowski
2025-11-03 19:14 ` [PATCH v3 08/20] mfd: sec-common: Instantiate s2mpg10 bucks and ldos separately André Draszik
2025-11-03 19:14 ` [PATCH v3 09/20] mfd: sec: Add support for S2MPG11 PMIC via ACPM André Draszik
2025-11-13 16:25 ` Lee Jones
2025-11-13 21:43 ` André Draszik
2025-11-14 16:46 ` Mark Brown
2025-11-14 21:56 ` André Draszik
2025-11-16 1:14 ` Mark Brown
2025-11-16 12:49 ` André Draszik
2025-11-16 16:46 ` Mark Brown
2025-11-17 6:44 ` André Draszik
2025-11-03 19:14 ` [PATCH v3 10/20] regulator: add REGULATOR_LINEAR_VRANGE macro André Draszik
2025-11-04 14:27 ` Mark Brown
2025-11-05 16:15 ` André Draszik
2025-11-03 19:14 ` [PATCH v3 11/20] regulator: s2mps11: drop two needless variable initialisations André Draszik
2025-11-04 8:41 ` Krzysztof Kozlowski
2025-11-03 19:14 ` [PATCH v3 12/20] regulator: s2mps11: use dev_err_probe() where appropriate André Draszik
2025-11-04 8:41 ` Krzysztof Kozlowski
2025-11-03 19:14 ` [PATCH v3 13/20] regulator: s2mps11: place constants on right side of comparison tests André Draszik
2025-11-04 8:40 ` Krzysztof Kozlowski
2025-11-03 19:14 ` [PATCH v3 14/20] regulator: s2mps11: update node parsing (allow -supply properties) André Draszik
2025-11-03 19:14 ` [PATCH v3 15/20] regulator: s2mps11: refactor handling of external rail control André Draszik
2025-11-03 19:14 ` [PATCH v3 16/20] regulator: s2mps11: add S2MPG10 regulator André Draszik
2025-11-03 19:14 ` [PATCH v3 17/20] regulator: s2mps11: refactor S2MPG10 ::set_voltage_time() for S2MPG11 reuse André Draszik
2025-11-03 19:14 ` [PATCH v3 18/20] regulator: s2mps11: refactor S2MPG10 regulator macros " André Draszik
2025-11-03 19:14 ` [PATCH v3 19/20] regulator: s2mps11: add S2MPG11 regulator André Draszik
2025-11-03 19:14 ` [PATCH v3 20/20] regulator: s2mps11: more descriptive gpio consumer name André Draszik
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20251103-s2mpg1x-regulators-v3-0-b8b96b79e058@linaro.org \
--to=andre.draszik@linaro.org \
--cc=brgl@bgdev.pl \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=kernel-team@android.com \
--cc=krzk+dt@kernel.org \
--cc=krzk@kernel.org \
--cc=lee@kernel.org \
--cc=lgirdwood@gmail.com \
--cc=linus.walleij@linaro.org \
--cc=linux-gpio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=peter.griffin@linaro.org \
--cc=robh@kernel.org \
--cc=tudor.ambarus@linaro.org \
--cc=willmcvicker@google.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).