Training courses

Kernel and Embedded Linux

Bootlin training courses

Embedded Linux, kernel,
Yocto Project, Buildroot, real-time,
graphics, boot time, debugging...

Bootlin logo

Elixir Cross Referencer

Texas Instruments System Control Interface (TI-SCI) Reset Controller
=====================================================================

Some TI SoCs contain a system controller (like the Power Management Micro
Controller (PMMC) on Keystone 66AK2G SoC) that are responsible for controlling
the state of the various hardware modules present on the SoC. Communication
between the host processor running an OS and the system controller happens
through a protocol called TI System Control Interface (TI-SCI protocol).
For TI SCI details, please refer to the document,
Documentation/devicetree/bindings/arm/keystone/ti,sci.txt

TI-SCI Reset Controller Node
============================
This reset controller node uses the TI SCI protocol to perform the reset
management of various hardware modules present on the SoC. Must be a child
node of the associated TI-SCI system controller node.

Required properties:
--------------------
 - compatible	: Should be "ti,sci-reset"
 - #reset-cells	: Should be 2. Please see the reset consumer node below for
		  usage details.

TI-SCI Reset Consumer Nodes
===========================
Each of the reset consumer nodes should have the following properties,
in addition to their own properties.

Required properties:
--------------------
 - resets	: A phandle and reset specifier pair, one pair for each reset
		  signal that affects the device, or that the device manages.
		  The phandle should point to the TI-SCI reset controller node,
		  and the reset specifier should have 2 cell-values. The first
		  cell should contain the device ID. The second cell should
		  contain the reset mask value used by system controller.
		  Please refer to the protocol documentation for these values
		  to be used for different devices,
		  http://processors.wiki.ti.com/index.php/TISCI#66AK2G02_Data

Please also refer to Documentation/devicetree/bindings/reset/reset.txt for
common reset controller usage by consumers.

Example:
--------
The following example demonstrates both a TI-SCI reset controller node and a
consumer (a DSP device) on the 66AK2G SoC.

pmmc: pmmc {
	compatible = "ti,k2g-sci";

	k2g_reset: reset-controller {
		compatible = "ti,sci-reset";
		#reset-cells = <2>;
	};
};

dsp0: dsp@10800000 {
	...
	resets = <&k2g_reset 0x0046 0x1>;
	...
};