All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v7 00/20] Samsung S2MPG10 regulator and S2MPG11 PMIC drivers
@ 2026-01-22 15:43 André Draszik
  2026-01-22 15:43 ` [PATCH v7 01/20] dt-bindings: firmware: google,gs101-acpm-ipc: convert regulators to lowercase André Draszik
                   ` (22 more replies)
  0 siblings, 23 replies; 28+ messages in thread
From: André Draszik @ 2026-01-22 15:43 UTC (permalink / raw)
  To: Tudor Ambarus, Rob Herring, Conor Dooley, Krzysztof Kozlowski,
	Liam Girdwood, Mark Brown, Lee Jones, Linus Walleij,
	Bartosz Golaszewski, Krzysztof Kozlowski, Linus Walleij,
	Bartosz Golaszewski
  Cc: Peter Griffin, Will McVicker, Juan Yescas, kernel-team,
	linux-kernel, linux-samsung-soc, devicetree, linux-gpio,
	André Draszik, Bartosz Golaszewski, Krzysztof Kozlowski

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>


^ permalink raw reply	[flat|nested] 28+ messages in thread

end of thread, other threads:[~2026-02-05 11:05 UTC | newest]

Thread overview: 28+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-01-22 15:43 [PATCH v7 00/20] Samsung S2MPG10 regulator and S2MPG11 PMIC drivers André Draszik
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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.