[PATCH v4 3/5] dt-bindings: Add TI SCI PM Domains
Dave Gerlach
d-gerlach at ti.com
Wed Mar 15 13:14:59 PDT 2017
On 03/15/2017 12:53 PM, Rob Herring wrote:
> On Tue, Mar 07, 2017 at 04:22:32AM -0600, Dave Gerlach wrote:
>> Add a generic power domain implementation, TI SCI PM Domains, that
>> will hook into the genpd framework and allow the TI SCI protocol to
>> control device power states.
>>
>> Also, provide macros representing each device index as understood
>> by TI SCI to be used in the device node power-domain references.
>> These are identifiers for the K2G devices managed by the PMMC.
>>
>> Signed-off-by: Nishanth Menon <nm at ti.com>
>> Signed-off-by: Dave Gerlach <d-gerlach at ti.com>
>> ---
>> .../devicetree/bindings/soc/ti/sci-pm-domain.txt | 59 ++++++++++++++
>> MAINTAINERS | 2 +
>> include/dt-bindings/genpd/k2g.h | 90 ++++++++++++++++++++++
>> 3 files changed, 151 insertions(+)
>> create mode 100644 Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>> create mode 100644 include/dt-bindings/genpd/k2g.h
>>
>> diff --git a/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt b/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>> new file mode 100644
>> index 000000000000..86a6a3d52ed6
>> --- /dev/null
>> +++ b/Documentation/devicetree/bindings/soc/ti/sci-pm-domain.txt
>> @@ -0,0 +1,59 @@
>> +Texas Instruments TI-SCI Generic Power Domain
>> +---------------------------------------------
>> +
>> +Some TI SoCs contain a system controller (like the PMMC, etc...) that is
>> +responsible for controlling the state of the IPs that are present.
>> +Communication between the host processor running an OS and the system
>> +controller happens through a protocol known as TI-SCI [1]. This pm domain
>> +implementation plugs into the generic pm domain framework and makes use of
>> +the TI SCI protocol power on and off each device when needed.
>
> The last sentence is mostly Linux implementation details. The binding is
> power domains. The Linux framework is PM domains. Let's keep those
> distinct and the latter doesn't belong in bindings.
Ok, I will send an update to just this patch and drop the last sentence above.
Regards,
Dave
>
>> +
>> +[1] Documentation/devicetree/bindings/arm/keystone/ti,sci.txt
>> +
>> +PM Domain Node
>> +==============
>> +The PM domain node represents the global PM domain managed by the PMMC, which
>> +in this case is the implementation as documented by the generic PM domain
>> +bindings in Documentation/devicetree/bindings/power/power_domain.txt. Because
>> +this relies on the TI SCI protocol to communicate with the PMMC it must be a
>> +child of the pmmc node.
>> +
>> +Required Properties:
>> +--------------------
>> +- compatible: should be "ti,sci-pm-domain"
>> +- #power-domain-cells: Must be 1 so that an id can be provided in each
>> + device node.
>> +
>> +Example (K2G):
>> +-------------
>> + pmmc: pmmc {
>> + compatible = "ti,k2g-sci";
>> + ...
>> +
>> + k2g_pds: power-controller {
>> + compatible = "ti,sci-pm-domain";
>> + #power-domain-cells = <1>;
>> + };
>> + };
>> +
>> +PM Domain Consumers
>> +===================
>> +Hardware blocks belonging to a PM domain should contain a "power-domains"
>> +property that is a phandle pointing to the corresponding PM domain node
>> +along with an index representing the device id to be passed to the PMMC
>> +for device control.
>> +
>> +Required Properties:
>> +--------------------
>> +- power-domains: phandle pointing to the corresponding PM domain node
>> + and an ID representing the device.
>> +
>> +See dt-bindings/genpd/k2g.h for the list of valid identifiers for k2g.
>> +
>> +Example (K2G):
>> +--------------------
>> + uart0: serial at 02530c00 {
>> + compatible = "ns16550a";
>> + ...
>> + power-domains = <&k2g_pds K2G_DEV_UART0>;
>> + };
More information about the linux-arm-kernel
mailing list