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>,
Linus Walleij <linusw@kernel.org>,
Bartosz Golaszewski <brgl@kernel.org>
Cc: "Peter Griffin" <peter.griffin@linaro.org>,
"Will McVicker" <willmcvicker@google.com>,
"Juan Yescas" <jyescas@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>,
"Bartosz Golaszewski" <bartosz.golaszewski@oss.qualcomm.com>,
"Krzysztof Kozlowski" <krzk@kernel.org>
Subject: [PATCH v7 00/20] Samsung S2MPG10 regulator and S2MPG11 PMIC drivers
Date: Thu, 22 Jan 2026 15:43:27 +0000 [thread overview]
Message-ID: <20260122-s2mpg1x-regulators-v7-0-3b1f9831fffd@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.
--- dependency note ---
This series must be applied in-order, due to the regulator drivers
depending on headers & definitions added by the bindings and core
drivers.
Due to patch context, there are dependencies on previous Samsung MFD
patches, hence this series is against current for-mfd-next.
While these patches compile, regulator probe will only be successful
with my deferrable regulators patches from
https://lore.kernel.org/r/20251227-regulators-defer-v1-0-3104b22d84cb@linaro.org
(already in linux-next).
I think patches up to and including mfd changes could go via the MFD
tree, and regulator patches using an immutable branch via the regulator
tree on top.
--- end ---
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 v7:
- rebase against for-mfd-next
- add 'domain_suffix' to s2mpg11_irq_chip_pmic (patch 9)
- Link to v6: https://lore.kernel.org/r/20260105-s2mpg1x-regulators-v6-0-80f4b6d1bf9d@linaro.org
Changes in v6:
- merge patch 21 into 15 (Bartosz)
- merge 'con-id' handling into patch 15
- collect tags
- Link to v5: https://lore.kernel.org/r/20251227-s2mpg1x-regulators-v5-0-0c04b360b4c9@linaro.org
Changes in v5:
- rebase against mfd/sec alarm IRQ rework
https://lore.kernel.org/all/20251217-s5m-alarm-v2-0-b7bff003e94c@linaro.org/
- switch to async probe for mfd
- Mark: one MFD cell per PMIC, not per PMIC rail - drop or update
related patches
- making the series runtime depend on
https://lore.kernel.org/r/20251227-regulators-defer-v1-0-3104b22d84cb@linaro.org
- new patch:
- mfd: sec: s2mpg10: reorder regulators for better probe performance
- collect tags
- Link to v4: https://lore.kernel.org/r/20251110-s2mpg1x-regulators-v4-0-94c9e726d4ba@linaro.org
Changes in v4:
- Krzysztof:
- s2mpg10-regulator.yaml: move additionalProperties to after allOf
- s2mpg10-regulator.yaml: use $defs, not definitions
- split samsung,s2mpg10-pmic.yaml and samsung,s2mpg11-pmic.yaml
- add full example for samsung,s2mpg10-pmic.yaml and 11
- acpm binding: commit message update
- acpm binding: pmic -> pmic-1, pmic2 -> pmic-2
- ensure binding file names match bindings
- fix typos in s2mpg11-regulator.yaml description text
- collect tags
- Link to v3: https://lore.kernel.org/r/20251103-s2mpg1x-regulators-v3-0-b8b96b79e058@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
regulator: dt-bindings: add s2mpg10-pmic regulators
regulator: dt-bindings: add s2mpg11-pmic regulators
dt-bindings: mfd: samsung,s2mps11: Split s2mpg10-pmic into separate file
dt-bindings: mfd: samsung,s2mpg10-pmic: Link to its regulators
dt-bindings: mfd: Add samsung,s2mpg11-pmic
dt-bindings: firmware: google,gs101-acpm-ipc: add S2MPG11 secondary PMIC
mfd: sec: s2mpg10: reorder regulators for better probe performance
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 | 54 +-
.../bindings/mfd/samsung,s2mpg10-pmic.yaml | 120 ++
.../bindings/mfd/samsung,s2mpg11-pmic.yaml | 88 ++
.../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 | 171 ++-
drivers/mfd/sec-common.c | 17 +-
drivers/mfd/sec-irq.c | 86 +-
drivers/regulator/s2mps11.c | 1186 ++++++++++++++++++--
.../regulator/samsung,s2mpg10-regulator.h | 53 +
include/linux/mfd/samsung/core.h | 1 +
include/linux/mfd/samsung/irq.h | 105 ++
include/linux/mfd/samsung/s2mpg10.h | 44 +-
include/linux/mfd/samsung/s2mpg11.h | 434 +++++++
include/linux/regulator/driver.h | 5 +
17 files changed, 2527 insertions(+), 161 deletions(-)
---
base-commit: 76246f598ee3e8ba8796360f24cc8ea491350937
change-id: 20250603-s2mpg1x-regulators-7a41c8399abf
Best regards,
--
André Draszik <andre.draszik@linaro.org>
next reply other threads:[~2026-01-22 15:43 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-01-22 15:43 André Draszik [this message]
2026-01-22 15:43 ` [PATCH v7 01/20] dt-bindings: firmware: google,gs101-acpm-ipc: convert regulators to lowercase André Draszik
2026-01-22 15:43 ` [PATCH v7 02/20] regulator: dt-bindings: add s2mpg10-pmic regulators André Draszik
2026-01-22 15:43 ` [PATCH v7 03/20] regulator: dt-bindings: add s2mpg11-pmic regulators André Draszik
2026-01-22 15:43 ` [PATCH v7 04/20] dt-bindings: mfd: samsung,s2mps11: Split s2mpg10-pmic into separate file André Draszik
2026-01-22 15:43 ` [PATCH v7 05/20] dt-bindings: mfd: samsung,s2mpg10-pmic: Link to its regulators André Draszik
2026-01-22 15:43 ` [PATCH v7 06/20] dt-bindings: mfd: Add samsung,s2mpg11-pmic André Draszik
2026-01-22 15:43 ` [PATCH v7 07/20] dt-bindings: firmware: google,gs101-acpm-ipc: add S2MPG11 secondary PMIC André Draszik
2026-01-22 15:43 ` [PATCH v7 08/20] mfd: sec: s2mpg10: reorder regulators for better probe performance André Draszik
2026-01-22 15:43 ` [PATCH v7 09/20] mfd: sec: Add support for S2MPG11 PMIC via ACPM André Draszik
2026-01-22 15:43 ` [PATCH v7 10/20] regulator: add REGULATOR_LINEAR_VRANGE macro André Draszik
2026-01-22 15:43 ` [PATCH v7 11/20] regulator: s2mps11: drop two needless variable initialisations André Draszik
2026-01-22 15:43 ` [PATCH v7 12/20] regulator: s2mps11: use dev_err_probe() where appropriate André Draszik
2026-01-22 15:43 ` [PATCH v7 13/20] regulator: s2mps11: place constants on right side of comparison tests André Draszik
2026-01-22 15:43 ` [PATCH v7 14/20] regulator: s2mps11: update node parsing (allow -supply properties) André Draszik
2026-01-22 15:43 ` [PATCH v7 15/20] regulator: s2mps11: refactor handling of external rail control André Draszik
2026-01-22 15:43 ` [PATCH v7 16/20] regulator: s2mps11: add S2MPG10 regulator André Draszik
2026-01-22 15:43 ` [PATCH v7 17/20] regulator: s2mps11: refactor S2MPG10 ::set_voltage_time() for S2MPG11 reuse André Draszik
2026-01-22 15:43 ` [PATCH v7 18/20] regulator: s2mps11: refactor S2MPG10 regulator macros " André Draszik
2026-01-22 15:43 ` [PATCH v7 19/20] regulator: s2mps11: add S2MPG11 regulator André Draszik
2026-01-22 15:43 ` [PATCH v7 20/20] regulator: s2mps11: more descriptive gpio consumer name André Draszik
2026-01-22 16:35 ` (subset) [PATCH v7 00/20] Samsung S2MPG10 regulator and S2MPG11 PMIC drivers Lee Jones
2026-01-22 16:37 ` Lee Jones
2026-01-23 9:39 ` André Draszik
2026-01-23 11:59 ` Mark Brown
2026-02-03 16:48 ` Lee Jones
2026-02-04 10:42 ` [GIT PULL] Immutable branch for Regulator and Firmware containing MFD and RTC due for the v6.20 merge window Lee Jones
2026-02-05 11:05 ` (subset) [PATCH v7 00/20] Samsung S2MPG10 regulator and S2MPG11 PMIC drivers Mark Brown
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=20260122-s2mpg1x-regulators-v7-0-3b1f9831fffd@linaro.org \
--to=andre.draszik@linaro.org \
--cc=bartosz.golaszewski@oss.qualcomm.com \
--cc=brgl@bgdev.pl \
--cc=brgl@kernel.org \
--cc=broonie@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jyescas@google.com \
--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=linusw@kernel.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 read-only IMAP folder(s) and NNTP newsgroup(s).