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