mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-22 01:48:52 +09:00
![Andreas Dannenberg](/assets/img/avatar_default.png)
Some TI Keystone 2 and K3 family of SoCs contain a system controller (like the Power Management Micro Controller (PMMC) on 66AK2G SoCs and the Device Management and Security Controller on AM65x SoCs) that manage the low-level device control (like clocks, resets etc) for the various hardware modules present on the SoC. These device control operations are provided to the host processor OS through a communication protocol called the TI System Control Interface (TI SCI) protocol. This patch adds a power domain driver that communicates to the system controller over the TI SCI protocol for performing power management of various devices present on the SoC. Various power domain functionalities are achieved by the means of different TI SCI device operations provided by the TI SCI framework. This code is loosely based on the drivers/soc/ti/ti_sci_pm_domains.c driver of the Linux kernel. Reviewed-by: Tom Rini <trini@konsulko.com> Signed-off-by: Andreas Dannenberg <dannenberg@ti.com> Signed-off-by: Lokesh Vutla <lokeshvutla@ti.com>
53 lines
1.5 KiB
Plaintext
53 lines
1.5 KiB
Plaintext
Texas Instruments TI SCI Generic Power Domain
|
|
=============================================
|
|
|
|
Some TI SoCs contain a system controller (like the SYSFW, 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] http://processors.wiki.ti.com/index.php/TISCI
|
|
|
|
PM Domain Node
|
|
==============
|
|
The PM domain node represents the global PM domain managed by the SYSFW. Because
|
|
this relies on the TI SCI protocol to communicate with the SYSFW it must be a
|
|
child of the sysfw node.
|
|
|
|
Required Properties:
|
|
--------------------
|
|
- compatible: Must be "ti,sci-pm-domain"
|
|
- #power-domain-cells: Must be 1 so that an id can be provided in each
|
|
device node.
|
|
|
|
Example (AM65x):
|
|
----------------
|
|
sysfw: sysfw {
|
|
compatible = "ti,am654-system-controller";
|
|
...
|
|
k3_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.
|
|
|
|
Example (AM65x):
|
|
----------------
|
|
uart2: serial@02800000 {
|
|
compatible = "ti,omap4-uart";
|
|
...
|
|
power-domains = <&k3_pds 0x3f>;
|
|
};
|