18c2ecf20Sopenharmony_ciTexas Instruments System Control Interface (TI-SCI) Reset Controller 28c2ecf20Sopenharmony_ci===================================================================== 38c2ecf20Sopenharmony_ci 48c2ecf20Sopenharmony_ciSome TI SoCs contain a system controller (like the Power Management Micro 58c2ecf20Sopenharmony_ciController (PMMC) on Keystone 66AK2G SoC) that are responsible for controlling 68c2ecf20Sopenharmony_cithe state of the various hardware modules present on the SoC. Communication 78c2ecf20Sopenharmony_cibetween the host processor running an OS and the system controller happens 88c2ecf20Sopenharmony_cithrough a protocol called TI System Control Interface (TI-SCI protocol). 98c2ecf20Sopenharmony_ciFor TI SCI details, please refer to the document, 108c2ecf20Sopenharmony_ciDocumentation/devicetree/bindings/arm/keystone/ti,sci.txt 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ciTI-SCI Reset Controller Node 138c2ecf20Sopenharmony_ci============================ 148c2ecf20Sopenharmony_ciThis reset controller node uses the TI SCI protocol to perform the reset 158c2ecf20Sopenharmony_cimanagement of various hardware modules present on the SoC. Must be a child 168c2ecf20Sopenharmony_cinode of the associated TI-SCI system controller node. 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ciRequired properties: 198c2ecf20Sopenharmony_ci-------------------- 208c2ecf20Sopenharmony_ci - compatible : Should be "ti,sci-reset" 218c2ecf20Sopenharmony_ci - #reset-cells : Should be 2. Please see the reset consumer node below for 228c2ecf20Sopenharmony_ci usage details. 238c2ecf20Sopenharmony_ci 248c2ecf20Sopenharmony_ciTI-SCI Reset Consumer Nodes 258c2ecf20Sopenharmony_ci=========================== 268c2ecf20Sopenharmony_ciEach of the reset consumer nodes should have the following properties, 278c2ecf20Sopenharmony_ciin addition to their own properties. 288c2ecf20Sopenharmony_ci 298c2ecf20Sopenharmony_ciRequired properties: 308c2ecf20Sopenharmony_ci-------------------- 318c2ecf20Sopenharmony_ci - resets : A phandle and reset specifier pair, one pair for each reset 328c2ecf20Sopenharmony_ci signal that affects the device, or that the device manages. 338c2ecf20Sopenharmony_ci The phandle should point to the TI-SCI reset controller node, 348c2ecf20Sopenharmony_ci and the reset specifier should have 2 cell-values. The first 358c2ecf20Sopenharmony_ci cell should contain the device ID. The second cell should 368c2ecf20Sopenharmony_ci contain the reset mask value used by system controller. 378c2ecf20Sopenharmony_ci Please refer to the protocol documentation for these values 388c2ecf20Sopenharmony_ci to be used for different devices, 398c2ecf20Sopenharmony_ci http://processors.wiki.ti.com/index.php/TISCI#66AK2G02_Data 408c2ecf20Sopenharmony_ci 418c2ecf20Sopenharmony_ciPlease also refer to Documentation/devicetree/bindings/reset/reset.txt for 428c2ecf20Sopenharmony_cicommon reset controller usage by consumers. 438c2ecf20Sopenharmony_ci 448c2ecf20Sopenharmony_ciExample: 458c2ecf20Sopenharmony_ci-------- 468c2ecf20Sopenharmony_ciThe following example demonstrates both a TI-SCI reset controller node and a 478c2ecf20Sopenharmony_ciconsumer (a DSP device) on the 66AK2G SoC. 488c2ecf20Sopenharmony_ci 498c2ecf20Sopenharmony_cipmmc: pmmc { 508c2ecf20Sopenharmony_ci compatible = "ti,k2g-sci"; 518c2ecf20Sopenharmony_ci 528c2ecf20Sopenharmony_ci k2g_reset: reset-controller { 538c2ecf20Sopenharmony_ci compatible = "ti,sci-reset"; 548c2ecf20Sopenharmony_ci #reset-cells = <2>; 558c2ecf20Sopenharmony_ci }; 568c2ecf20Sopenharmony_ci}; 578c2ecf20Sopenharmony_ci 588c2ecf20Sopenharmony_cidsp0: dsp@10800000 { 598c2ecf20Sopenharmony_ci ... 608c2ecf20Sopenharmony_ci resets = <&k2g_reset 0x0046 0x1>; 618c2ecf20Sopenharmony_ci ... 628c2ecf20Sopenharmony_ci}; 63