On 05-11-20, 11:56, Ulf Hansson wrote:
On Thu, 5 Nov 2020 at 11:40, Viresh Kumar viresh.kumar@linaro.org wrote:
Btw, how do we identify if it is a power domain or a regulator ?
To be honest, I was a bit afraid and embarrassed to ask this question, and was hoping people to make fun of me in return :)
Good question. It's not a crystal clear line in between them, I think.
And I was relieved after reading this :)
A power domain to me, means that some part of a silicon (a group of controllers or just a single piece, for example) needs some kind of resource (typically a power rail) to be enabled to be functional, to start with.
Isn't this what a part of regulator does as well ? i.e. enabling/disabling of the regulator or power to a group of controllers.
Over that the regulator does voltage/current scaling as well, which normally the power domains don't do (though we did that in performance-state case).
If there are operating points involved, that's also a clear indication to me, that it's not a regular regulator.
Is there any example of that? I hope by OPP you meant both freq and voltage here. I am not sure if I know of a case where a power domain handles both of them.
Maybe we should try to specify this more exactly in some documentation, somewhere.
I think yes, it is very much required. And in absence of that I think, many (or most) of the platforms that also need to scale the voltage would have modeled their hardware as a regulator and not a PM domain.
What I always thought was:
- Module that can just enable/disable power to a block of SoC is a power domain.
- Module that can enable/disable as well as scale voltage is a regulator.
And so I thought that this patchset has done the right thing. This changed a bit with the qcom stuff where the IP to be configured was in control of RPM and not Linux and so we couldn't add it as a regulator. If it was controlled by Linux, it would have been a regulator in kernel for sure :)