66 lines
2.1 KiB
Plaintext
66 lines
2.1 KiB
Plaintext
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].
|
|
|
|
[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: Can be one of the following:
|
|
1: Containing the device id of each node
|
|
2: First entry should be device id
|
|
Second entry should be one of the floowing:
|
|
TI_SCI_PD_EXCLUSIVE: To allow device to be
|
|
exclusively controlled by
|
|
the requesting hosts.
|
|
TI_SCI_PD_SHARED: To allow device to be shared
|
|
by multiple hosts.
|
|
|
|
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 http://processors.wiki.ti.com/index.php/TISCI#66AK2G02_Data for the list
|
|
of valid identifiers for k2g.
|
|
|
|
Example (K2G):
|
|
--------------------
|
|
uart0: serial@2530c00 {
|
|
compatible = "ns16550a";
|
|
...
|
|
power-domains = <&k2g_pds 0x002c>;
|
|
};
|