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