18c2ecf20Sopenharmony_ciTexas Instruments System Control Interface (TI-SCI) Message Protocol 28c2ecf20Sopenharmony_ci-------------------------------------------------------------------- 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ciTexas Instrument's processors including those belonging to Keystone generation 58c2ecf20Sopenharmony_ciof processors have separate hardware entity which is now responsible for the 68c2ecf20Sopenharmony_cimanagement of the System on Chip (SoC) system. These include various system 78c2ecf20Sopenharmony_cilevel functions as well. 88c2ecf20Sopenharmony_ci 98c2ecf20Sopenharmony_ciAn example of such an SoC is K2G, which contains the system control hardware 108c2ecf20Sopenharmony_ciblock called Power Management Micro Controller (PMMC). This hardware block is 118c2ecf20Sopenharmony_ciinitialized early into boot process and provides services to Operating Systems 128c2ecf20Sopenharmony_cion multiple processors including ones running Linux. 138c2ecf20Sopenharmony_ci 148c2ecf20Sopenharmony_ciSee http://processors.wiki.ti.com/index.php/TISCI for protocol definition. 158c2ecf20Sopenharmony_ci 168c2ecf20Sopenharmony_ciTI-SCI controller Device Node: 178c2ecf20Sopenharmony_ci============================= 188c2ecf20Sopenharmony_ci 198c2ecf20Sopenharmony_ciThe TI-SCI node describes the Texas Instrument's System Controller entity node. 208c2ecf20Sopenharmony_ciThis parent node may optionally have additional children nodes which describe 218c2ecf20Sopenharmony_cispecific functionality such as clocks, power domain, reset or additional 228c2ecf20Sopenharmony_cifunctionality as may be required for the SoC. This hierarchy also describes the 238c2ecf20Sopenharmony_cirelationship between the TI-SCI parent node to the child node. 248c2ecf20Sopenharmony_ci 258c2ecf20Sopenharmony_ciRequired properties: 268c2ecf20Sopenharmony_ci------------------- 278c2ecf20Sopenharmony_ci- compatible: should be "ti,k2g-sci" for TI 66AK2G SoC 288c2ecf20Sopenharmony_ci should be "ti,am654-sci" for for TI AM654 SoC 298c2ecf20Sopenharmony_ci- mbox-names: 308c2ecf20Sopenharmony_ci "rx" - Mailbox corresponding to receive path 318c2ecf20Sopenharmony_ci "tx" - Mailbox corresponding to transmit path 328c2ecf20Sopenharmony_ci 338c2ecf20Sopenharmony_ci- mboxes: Mailboxes corresponding to the mbox-names. Each value of the mboxes 348c2ecf20Sopenharmony_ci property should contain a phandle to the mailbox controller device 358c2ecf20Sopenharmony_ci node and an args specifier that will be the phandle to the intended 368c2ecf20Sopenharmony_ci sub-mailbox child node to be used for communication. 378c2ecf20Sopenharmony_ci 388c2ecf20Sopenharmony_ciSee Documentation/devicetree/bindings/mailbox/mailbox.txt for more details 398c2ecf20Sopenharmony_ciabout the generic mailbox controller and client driver bindings. Also see 408c2ecf20Sopenharmony_ciDocumentation/devicetree/bindings/mailbox/ti,message-manager.txt for typical 418c2ecf20Sopenharmony_cicontroller that is used to communicate with this System controllers. 428c2ecf20Sopenharmony_ci 438c2ecf20Sopenharmony_ciOptional Properties: 448c2ecf20Sopenharmony_ci------------------- 458c2ecf20Sopenharmony_ci- reg-names: 468c2ecf20Sopenharmony_ci debug_messages - Map the Debug message region 478c2ecf20Sopenharmony_ci- reg: register space corresponding to the debug_messages 488c2ecf20Sopenharmony_ci- ti,system-reboot-controller: If system reboot can be triggered by SoC reboot 498c2ecf20Sopenharmony_ci- ti,host-id: Integer value corresponding to the host ID assigned by Firmware 508c2ecf20Sopenharmony_ci for identification of host processing entities such as virtual 518c2ecf20Sopenharmony_ci machines 528c2ecf20Sopenharmony_ci 538c2ecf20Sopenharmony_ciExample (K2G): 548c2ecf20Sopenharmony_ci------------- 558c2ecf20Sopenharmony_ci pmmc: pmmc { 568c2ecf20Sopenharmony_ci compatible = "ti,k2g-sci"; 578c2ecf20Sopenharmony_ci ti,host-id = <2>; 588c2ecf20Sopenharmony_ci mbox-names = "rx", "tx"; 598c2ecf20Sopenharmony_ci mboxes= <&msgmgr &msgmgr_proxy_pmmc_rx>, 608c2ecf20Sopenharmony_ci <&msgmgr &msgmgr_proxy_pmmc_tx>; 618c2ecf20Sopenharmony_ci reg-names = "debug_messages"; 628c2ecf20Sopenharmony_ci reg = <0x02921800 0x800>; 638c2ecf20Sopenharmony_ci }; 648c2ecf20Sopenharmony_ci 658c2ecf20Sopenharmony_ci 668c2ecf20Sopenharmony_ciTI-SCI Client Device Node: 678c2ecf20Sopenharmony_ci========================= 688c2ecf20Sopenharmony_ci 698c2ecf20Sopenharmony_ciClient nodes are maintained as children of the relevant TI-SCI device node. 708c2ecf20Sopenharmony_ci 718c2ecf20Sopenharmony_ciExample (K2G): 728c2ecf20Sopenharmony_ci------------- 738c2ecf20Sopenharmony_ci pmmc: pmmc { 748c2ecf20Sopenharmony_ci compatible = "ti,k2g-sci"; 758c2ecf20Sopenharmony_ci ... 768c2ecf20Sopenharmony_ci 778c2ecf20Sopenharmony_ci my_clk_node: clk_node { 788c2ecf20Sopenharmony_ci ... 798c2ecf20Sopenharmony_ci ... 808c2ecf20Sopenharmony_ci }; 818c2ecf20Sopenharmony_ci 828c2ecf20Sopenharmony_ci my_pd_node: pd_node { 838c2ecf20Sopenharmony_ci ... 848c2ecf20Sopenharmony_ci ... 858c2ecf20Sopenharmony_ci }; 868c2ecf20Sopenharmony_ci }; 87