xref: /openbmc/u-boot/doc/device-tree-bindings/firmware/ti,sci.txt (revision 32cd25128bd8497db7a239e1eb9c338398fb42bc)
1*32cd2512SLokesh VutlaTexas Instruments System Control Interface (TI-SCI) Message Protocol
2*32cd2512SLokesh Vutla--------------------------------------------------------------------
3*32cd2512SLokesh Vutla
4*32cd2512SLokesh VutlaTexas Instrument's processors including those belonging to Keystone generation
5*32cd2512SLokesh Vutlaof processors have separate hardware entity which is now responsible for the
6*32cd2512SLokesh Vutlamanagement of the System on Chip (SoC) system. These include various system
7*32cd2512SLokesh Vutlalevel functions as well.
8*32cd2512SLokesh Vutla
9*32cd2512SLokesh VutlaAn example of such an SoC is K2G, which contains the system control hardware
10*32cd2512SLokesh Vutlablock called Power Management Micro Controller (PMMC). This hardware block is
11*32cd2512SLokesh Vutlainitialized early into boot process and provides services to Operating Systems
12*32cd2512SLokesh Vutlaon multiple processors including ones running Linux.
13*32cd2512SLokesh Vutla
14*32cd2512SLokesh VutlaSee http://processors.wiki.ti.com/index.php/TISCI for protocol definition.
15*32cd2512SLokesh Vutla
16*32cd2512SLokesh VutlaTI-SCI controller Device Node:
17*32cd2512SLokesh Vutla=============================
18*32cd2512SLokesh Vutla
19*32cd2512SLokesh VutlaThe TI-SCI node describes the Texas Instrument's System Controller entity node.
20*32cd2512SLokesh VutlaThis parent node may optionally have additional children nodes which describe
21*32cd2512SLokesh Vutlaspecific functionality such as clocks, power domain, reset or additional
22*32cd2512SLokesh Vutlafunctionality as may be required for the SoC. This hierarchy also describes the
23*32cd2512SLokesh Vutlarelationship between the TI-SCI parent node to the child node.
24*32cd2512SLokesh Vutla
25*32cd2512SLokesh VutlaRequired properties:
26*32cd2512SLokesh Vutla-------------------
27*32cd2512SLokesh Vutla- compatible: should be "ti,k2g-sci"
28*32cd2512SLokesh Vutla- mbox-names:
29*32cd2512SLokesh Vutla	"rx" - Mailbox corresponding to receive path
30*32cd2512SLokesh Vutla	"tx" - Mailbox corresponding to transmit path
31*32cd2512SLokesh Vutla
32*32cd2512SLokesh Vutla- mboxes: Mailboxes corresponding to the mbox-names. Each value of the mboxes
33*32cd2512SLokesh Vutla	  property should contain a phandle to the mailbox controller device
34*32cd2512SLokesh Vutla	  node and an args specifier that will be the phandle to the intended
35*32cd2512SLokesh Vutla	  sub-mailbox child node to be used for communication.
36*32cd2512SLokesh Vutla
37*32cd2512SLokesh VutlaOptional Properties:
38*32cd2512SLokesh Vutla-------------------
39*32cd2512SLokesh Vutla- reg-names:
40*32cd2512SLokesh Vutla	debug_messages - Map the Debug message region
41*32cd2512SLokesh Vutla- reg:  register space corresponding to the debug_messages
42*32cd2512SLokesh Vutla- ti,system-reboot-controller: If system reboot can be triggered by SoC reboot
43*32cd2512SLokesh Vutla- ti,secure-host: If the host is defined as secure.
44*32cd2512SLokesh Vutla
45*32cd2512SLokesh VutlaExample:
46*32cd2512SLokesh Vutla-------------
47*32cd2512SLokesh Vutla	dmsc: dmsc {
48*32cd2512SLokesh Vutla		compatible = "ti,k2g-sci";
49*32cd2512SLokesh Vutla		ti,host-id = <12>;
50*32cd2512SLokesh Vutla		#address-cells = <1>;
51*32cd2512SLokesh Vutla		#size-cells = <1>;
52*32cd2512SLokesh Vutla		ranges;
53*32cd2512SLokesh Vutla	}
54*32cd2512SLokesh Vutla
55*32cd2512SLokesh Vutla
56*32cd2512SLokesh VutlaTI-SCI Client Device Node:
57*32cd2512SLokesh Vutla=========================
58*32cd2512SLokesh Vutla
59*32cd2512SLokesh VutlaClient nodes are maintained as children of the relevant TI-SCI device node.
60*32cd2512SLokesh Vutla
61*32cd2512SLokesh VutlaExample:
62*32cd2512SLokesh Vutla-------------
63*32cd2512SLokesh Vutla	dmsc: dmsc {
64*32cd2512SLokesh Vutla		compatible = "ti,k2g-sci";
65*32cd2512SLokesh Vutla		...
66*32cd2512SLokesh Vutla
67*32cd2512SLokesh Vutla		my_clk_node: clk_node {
68*32cd2512SLokesh Vutla			...
69*32cd2512SLokesh Vutla			...
70*32cd2512SLokesh Vutla		};
71*32cd2512SLokesh Vutla
72*32cd2512SLokesh Vutla		my_pd_node: pd_node {
73*32cd2512SLokesh Vutla			...
74*32cd2512SLokesh Vutla			...
75*32cd2512SLokesh Vutla		};
76*32cd2512SLokesh Vutla	};
77