| 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: 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@02530c00 { |
| compatible = "ns16550a"; |
| ... |
| power-domains = <&k2g_pds K2G_DEV_UART0>; |
| }; |