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