tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: Regulator




> On Jan 12, 2022, at 9:08 AM, Jason Thorpe <thorpej%me.com@localhost> wrote:
> 
>> On Jan 12, 2022, at 8:02 AM, Taylor R Campbell <campbell+netbsd-tech-kern%mumble.net@localhost> wrote:
>> 
>>> Date: Wed, 12 Jan 2022 15:42:17 +0000
>>> From: Robert Swindells <rjs%fdy2.co.uk@localhost>
>>> 
>>> I'm guessing this is a platform that doesn't use FDT.
>>> 
>>> Maybe we need a more general API for regulators.
>> 
>> What other instances would a more general API cover?  Is there some
>> ACPI interface for regulators?
> 
> The ACPI interface for regulators is usually "put device into power state X", but of course that depends on the right ASL being present in the node for the device.

I guess I forgot to mention, it's not necessarily about setting the device into a specific power state (like "soft-suspend" vs "deep-sleep" vs "off").  In addition to "on" and "off", the regulator API can be used to step voltages.  This is useful when you want to consume as little power as possible for a given performance requirement... like if you're running an interface at a slower clock rate (for whatever reason), you can sometimes step down the voltage because you don't need as much drive strength to defeat the capacitances of the physical device, for example.  I don't know that ACPI really encapsulates that (unless there are DSMs or whatever defined for the device type that know how to do such stepping).

In general, the philosophy between ACPI and Device Tree are different in this regard.  ACPI aims to encapsulate the knowledge in methods that the firmware provides, and Device Tree aims to describe the connections between the elements and then provides generic interfaces to interact with those elements.

-- thorpej



Home | Main Index | Thread Index | Old Index