xref: /OK3568_Linux_fs/kernel/Documentation/devicetree/bindings/arm/keystone/ti,sci.txt (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunTexas Instruments System Control Interface (TI-SCI) Message Protocol
2*4882a593Smuzhiyun--------------------------------------------------------------------
3*4882a593Smuzhiyun
4*4882a593SmuzhiyunTexas Instrument's processors including those belonging to Keystone generation
5*4882a593Smuzhiyunof processors have separate hardware entity which is now responsible for the
6*4882a593Smuzhiyunmanagement of the System on Chip (SoC) system. These include various system
7*4882a593Smuzhiyunlevel functions as well.
8*4882a593Smuzhiyun
9*4882a593SmuzhiyunAn example of such an SoC is K2G, which contains the system control hardware
10*4882a593Smuzhiyunblock called Power Management Micro Controller (PMMC). This hardware block is
11*4882a593Smuzhiyuninitialized early into boot process and provides services to Operating Systems
12*4882a593Smuzhiyunon multiple processors including ones running Linux.
13*4882a593Smuzhiyun
14*4882a593SmuzhiyunSee http://processors.wiki.ti.com/index.php/TISCI for protocol definition.
15*4882a593Smuzhiyun
16*4882a593SmuzhiyunTI-SCI controller Device Node:
17*4882a593Smuzhiyun=============================
18*4882a593Smuzhiyun
19*4882a593SmuzhiyunThe TI-SCI node describes the Texas Instrument's System Controller entity node.
20*4882a593SmuzhiyunThis parent node may optionally have additional children nodes which describe
21*4882a593Smuzhiyunspecific functionality such as clocks, power domain, reset or additional
22*4882a593Smuzhiyunfunctionality as may be required for the SoC. This hierarchy also describes the
23*4882a593Smuzhiyunrelationship between the TI-SCI parent node to the child node.
24*4882a593Smuzhiyun
25*4882a593SmuzhiyunRequired properties:
26*4882a593Smuzhiyun-------------------
27*4882a593Smuzhiyun- compatible:	should be "ti,k2g-sci" for TI 66AK2G SoC
28*4882a593Smuzhiyun		should be "ti,am654-sci" for for TI AM654 SoC
29*4882a593Smuzhiyun- mbox-names:
30*4882a593Smuzhiyun	"rx" - Mailbox corresponding to receive path
31*4882a593Smuzhiyun	"tx" - Mailbox corresponding to transmit path
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun- mboxes: Mailboxes corresponding to the mbox-names. Each value of the mboxes
34*4882a593Smuzhiyun	  property should contain a phandle to the mailbox controller device
35*4882a593Smuzhiyun	  node and an args specifier that will be the phandle to the intended
36*4882a593Smuzhiyun	  sub-mailbox child node to be used for communication.
37*4882a593Smuzhiyun
38*4882a593SmuzhiyunSee Documentation/devicetree/bindings/mailbox/mailbox.txt for more details
39*4882a593Smuzhiyunabout the generic mailbox controller and client driver bindings. Also see
40*4882a593SmuzhiyunDocumentation/devicetree/bindings/mailbox/ti,message-manager.txt for typical
41*4882a593Smuzhiyuncontroller that is used to communicate with this System controllers.
42*4882a593Smuzhiyun
43*4882a593SmuzhiyunOptional Properties:
44*4882a593Smuzhiyun-------------------
45*4882a593Smuzhiyun- reg-names:
46*4882a593Smuzhiyun	debug_messages - Map the Debug message region
47*4882a593Smuzhiyun- reg:  register space corresponding to the debug_messages
48*4882a593Smuzhiyun- ti,system-reboot-controller: If system reboot can be triggered by SoC reboot
49*4882a593Smuzhiyun- ti,host-id: Integer value corresponding to the host ID assigned by Firmware
50*4882a593Smuzhiyun	for identification of host processing entities such as virtual
51*4882a593Smuzhiyun	machines
52*4882a593Smuzhiyun
53*4882a593SmuzhiyunExample (K2G):
54*4882a593Smuzhiyun-------------
55*4882a593Smuzhiyun	pmmc: pmmc {
56*4882a593Smuzhiyun		compatible = "ti,k2g-sci";
57*4882a593Smuzhiyun		ti,host-id = <2>;
58*4882a593Smuzhiyun		mbox-names = "rx", "tx";
59*4882a593Smuzhiyun		mboxes= <&msgmgr &msgmgr_proxy_pmmc_rx>,
60*4882a593Smuzhiyun			<&msgmgr &msgmgr_proxy_pmmc_tx>;
61*4882a593Smuzhiyun		reg-names = "debug_messages";
62*4882a593Smuzhiyun		reg = <0x02921800 0x800>;
63*4882a593Smuzhiyun	};
64*4882a593Smuzhiyun
65*4882a593Smuzhiyun
66*4882a593SmuzhiyunTI-SCI Client Device Node:
67*4882a593Smuzhiyun=========================
68*4882a593Smuzhiyun
69*4882a593SmuzhiyunClient nodes are maintained as children of the relevant TI-SCI device node.
70*4882a593Smuzhiyun
71*4882a593SmuzhiyunExample (K2G):
72*4882a593Smuzhiyun-------------
73*4882a593Smuzhiyun	pmmc: pmmc {
74*4882a593Smuzhiyun		compatible = "ti,k2g-sci";
75*4882a593Smuzhiyun		...
76*4882a593Smuzhiyun
77*4882a593Smuzhiyun		my_clk_node: clk_node {
78*4882a593Smuzhiyun			...
79*4882a593Smuzhiyun			...
80*4882a593Smuzhiyun		};
81*4882a593Smuzhiyun
82*4882a593Smuzhiyun		my_pd_node: pd_node {
83*4882a593Smuzhiyun			...
84*4882a593Smuzhiyun			...
85*4882a593Smuzhiyun		};
86*4882a593Smuzhiyun	};
87