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