Thread (24 messages) 24 messages, 5 authors, 2021-03-31

Re: [PATCH v3 2/6] PCI: brcmstb: Add control of EP voltage regulators

From: Mark Brown <broonie@kernel.org>
Date: 2021-03-29 21:32:30
Also in: linux-pci, lkml

On Mon, Mar 29, 2021 at 02:09:58PM -0700, Florian Fainelli wrote:
On 3/29/21 1:45 PM, Mark Brown wrote:
quoted
management in the driver anyway?  Just mark the regualtors as always on
and set up an appropriate suspend mode configuration and everything
should work without the drivers doing anything.  Unless your PMIC isn't
able to provide separate suspend mode configuration for the regulators?
We have typically GPIO-controlled and PMIC (via SCMI) controlled
regulators. During PCIe enumeration we need these regulators turned on
to be successful in training the PCIe link and discover the end-point
attached, so there an always on regulator would work.
When we enter a system suspend state however there are really two cases:
- the end-point supports Wake-on (typically wake-on-WLAN) and we need
its power supplied kept on to support that
- the end-point does not support or participate in any wake-up, there we
want to turn its supplies off to save power
How would we go about supporting such an use case with an always on
regulator?
With a PMIC most PMICs have a system suspend mode with separate
regulator configuration for that and there's seprate regulator API
control for those, including DT bindings.  If that needs runtime
configuration for something hidden by SCMI I'd hope the SCMI regulator
stuff has facilities for that, if not then I guess a spec extension is
needed.  If you want to dynamically select if something is on during
suspend there's not really a way around regulator API support.

For a GPIO regulator you probably need something that does a disable on
the way down, assuming that the GPIO/pin controller doesn't end up
having it's own suspend mode control that ends up powering things off
anyway.  With GPIOs pinctrl on the pins rather than exposing as a
regulator might be enough.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help