On 15/06/2022 10:31, Marcel Ziswiler wrote: > Hi > > On Wed, 2022-06-15 at 10:15 -0700, Krzysztof Kozlowski wrote: >> On 15/06/2022 09:10, Max Krummenacher wrote: >>> Hi >>> >>> On Tue, Jun 14, 2022 at 9:22 AM Geert Uytterhoeven <geert@xxxxxxxxxxxxxx> wrote: >>>> >>>> Hi Rob, >>>> >>>> On Mon, Jun 13, 2022 at 9:15 PM Rob Herring <robh@xxxxxxxxxx> wrote: >>>>> On Thu, Jun 09, 2022 at 05:08:46PM +0200, Max Krummenacher wrote: >>>>>> From: Max Krummenacher <max.krummenacher@xxxxxxxxxxx> >>>>>> >>>>>> its power enable by using a regulator. >>>>>> >>>>>> The currently implemented PM domain providers are all specific to >>>>>> a particular system on chip. >>>>> >>>>> Yes, power domains tend to be specific to an SoC... 'power-domains' is >>>>> supposed to be power islands in a chip. Linux 'PM domains' can be >>>>> anything... >>> >>> I don't see why such power islands should be restricted to a SoC. You can >>> build the exact same idea on a PCB or even more modular designs. >> >> In the SoC these power islands are more-or-less defined. These are real >> regions gated by some control knob. >> >> Calling few devices on a board "power domain" does not make it a power >> domain. There is no grouping, there is no control knob. >> >> Aren't you now re-implementing regulator supplies? How is this different >> than existing supplies? > > I believe the biggest difference between power-domains and regulator-supplies lays in the former being driver > agnostic while the later is driver specific. That's one way to look, but the other way (matching the bindings purpose) is to look at hardware. You have physical wire / voltage rail supply - use regulator supply. In the terms of the hardware - what is that power domain? It's a concept, not a physical object. > Meaning with power-domains one can just add such arbitrary > structure to the device tree without any further driver specific changes/handling required. While with > regulator-supplies each and every driver actually needs to have driver specific handling thereof added. Or do I > miss anything? Thanks for clarification but I am not sure if it matches the purpose of bindings and DTS. You can change the implementation as well to have implicit regulators. No need for new bindings for that. > > We are really trying to model something where a single GPIO pin (via a GPIO regulator or whatever) can control > power to a variety of on-board peripherals. And, of course, we envision runtime PM actually making use of it > e.g. when doing suspend/resume. And this GPIO pin controls what? Some power switch which cuts the power of one regulator or many? If many different regulators, how do you handle small differences in ramp up time? Best regards, Krzysztof