linux-pm.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v1 0/5] power: domain: Add driver for a PM domain provider which controls
@ 2022-06-09 15:08 Max Krummenacher
  2022-06-09 15:08 ` [PATCH v1 1/5] dt-bindings: power: Add bindings for a power domain controlled by a regulator Max Krummenacher
                   ` (7 more replies)
  0 siblings, 8 replies; 42+ messages in thread
From: Max Krummenacher @ 2022-06-09 15:08 UTC (permalink / raw)
  To: max.krummenacher
  Cc: Ulf Hansson, linux-pm, Francesco Dolcini, Mark Brown,
	Rafael J . Wysocki, Kevin Hilman, Andrejs Cainikovs, Biju Das,
	Bjorn Andersson, Catalin Marinas, Dmitry Baryshkov,
	Fabio Estevam, Geert Uytterhoeven, Krzysztof Kozlowski,
	Marcel Ziswiler, NXP Linux Team, Pengutronix Kernel Team,
	Rob Herring, Sascha Hauer, Shawn Guo, Vinod Koul, Will Deacon,
	devicetree, linux-arm-kernel, linux-kernel

From: Max Krummenacher <max.krummenacher@toradex.com>

its power enable by using a regulator.

The currently implemented PM domain providers are all specific to
a particular system on chip.

This series adds a PM domain provider driver which enables/disables
a regulator to control its power state. Additionally, marked with RFC,
it adds two commits which actually make use of the new driver to
instantiate a power domain provider and have a number of power
domain consumers use the power domain.

The perceived use case is to control a common power domain used by
several devices for which not all device drivers nessesarily have
a means to control a regulator.

It also handles the suspend / resume use case for such devices,
the generic power domain framework will disable the domain once the
last device has been suspend and will enable it again before resuming
the first device.

The generic power domain code handles a power domain consumer
generically outside of the driver's code. (assuming the 'power-domains'
property references exactly one power domain).
This allows to use the "regulator-pm-pd" driver with an arbitrary
device just by adding the 'power-domains' property to the devices
device tree node. However the device's dt-bindings schema likely does
not allow the property 'power-domains'.
One way to solve this would be to allow 'power-domains' globally
similarly how 'status' and other common properties are allowed as
implicit properties.



Max Krummenacher (5):
  dt-bindings: power: Add bindings for a power domain controlled by a
    regulator
  pm: add regulator power domain controller
  MAINTAINERS: add REGULATOR POWER DOMAIN
  arm64: defconfig: Enable generic power domain controller controlling a
    regulator
  ARM64: verdin-imx8mm: use regulator power domain to model sleep-moci

 .../power/regulator-power-domain.yaml         |  58 +++++++++
 MAINTAINERS                                   |   9 ++
 .../dts/freescale/imx8mm-verdin-dahlia.dtsi   |   1 +
 .../boot/dts/freescale/imx8mm-verdin-dev.dtsi |   2 +
 .../boot/dts/freescale/imx8mm-verdin.dtsi     |  35 ++++--
 arch/arm64/configs/defconfig                  |   1 +
 drivers/power/Kconfig                         |   1 +
 drivers/power/Makefile                        |   5 +-
 drivers/power/domain/Kconfig                  |   7 ++
 drivers/power/domain/Makefile                 |   2 +
 drivers/power/domain/regulator-pdc.c          | 112 ++++++++++++++++++
 11 files changed, 221 insertions(+), 12 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/power/regulator-power-domain.yaml
 create mode 100644 drivers/power/domain/Kconfig
 create mode 100644 drivers/power/domain/Makefile
 create mode 100644 drivers/power/domain/regulator-pdc.c

-- 
2.20.1


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

end of thread, other threads:[~2022-09-28  8:00 UTC | newest]

Thread overview: 42+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-06-09 15:08 [PATCH v1 0/5] power: domain: Add driver for a PM domain provider which controls Max Krummenacher
2022-06-09 15:08 ` [PATCH v1 1/5] dt-bindings: power: Add bindings for a power domain controlled by a regulator Max Krummenacher
2022-06-10  2:57   ` Rob Herring
2022-06-15 15:19     ` Max Krummenacher
2022-06-15 17:16       ` Krzysztof Kozlowski
2022-06-14  7:23   ` Geert Uytterhoeven
2022-06-15 15:18     ` Max Krummenacher
2022-06-09 15:08 ` [PATCH v1 2/5] pm: add regulator power domain controller Max Krummenacher
2022-06-09 15:08 ` [PATCH v1 3/5] MAINTAINERS: add REGULATOR POWER DOMAIN Max Krummenacher
2022-06-09 15:08 ` [RFC PATCH v1 4/5] arm64: defconfig: Enable generic power domain controller controlling a regulator Max Krummenacher
2022-06-09 15:08 ` [RFC PATCH v1 5/5] ARM64: verdin-imx8mm: use regulator power domain to model sleep-moci Max Krummenacher
2022-06-14  7:29   ` Geert Uytterhoeven
2022-06-15 15:32     ` Max Krummenacher
2022-06-13 19:15 ` [PATCH v1 0/5] power: domain: Add driver for a PM domain provider which controls Rob Herring
2022-06-14  7:22   ` Geert Uytterhoeven
2022-06-15 16:10     ` Max Krummenacher
2022-06-15 17:15       ` Krzysztof Kozlowski
2022-06-15 17:31         ` Marcel Ziswiler
2022-06-15 17:37           ` Krzysztof Kozlowski
2022-06-15 18:13             ` Marcel Ziswiler
2022-06-15 18:48               ` Dmitry Baryshkov
2022-06-15 20:48               ` Krzysztof Kozlowski
2022-06-15 18:24           ` Robin Murphy
2022-06-15 19:12             ` Mark Brown
2022-06-15 21:14 ` Ulf Hansson
2022-06-16 12:50 ` Linus Walleij
2022-06-23 16:14   ` Max Krummenacher
2022-07-13 11:43     ` Ulf Hansson
2022-07-18  9:49       ` Linus Walleij
2022-07-26 16:03       ` Francesco Dolcini
2022-07-28  9:37         ` Ulf Hansson
2022-07-28 11:21           ` Francesco Dolcini
2022-08-26 13:50             ` Ulf Hansson
2022-09-09 14:22               ` Francesco Dolcini
2022-09-22 13:49                 ` Ulf Hansson
2022-09-23 18:00                   ` Krzysztof Kozlowski
2022-09-26 10:12                     ` Ulf Hansson
2022-09-26 15:11                       ` Krzysztof Kozlowski
2022-09-27  9:48                         ` Ulf Hansson
2022-09-27 12:49                           ` Geert Uytterhoeven
2022-09-27 14:26                             ` Krzysztof Kozlowski
2022-09-28  7:59                               ` Ulf Hansson

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).