xref: /freebsd/sys/contrib/device-tree/Bindings/reset/ti,sci-reset.txt (revision c66ec88fed842fbaad62c30d510644ceb7bd2d71)
1*c66ec88fSEmmanuel VadotTexas Instruments System Control Interface (TI-SCI) Reset Controller
2*c66ec88fSEmmanuel Vadot=====================================================================
3*c66ec88fSEmmanuel Vadot
4*c66ec88fSEmmanuel VadotSome TI SoCs contain a system controller (like the Power Management Micro
5*c66ec88fSEmmanuel VadotController (PMMC) on Keystone 66AK2G SoC) that are responsible for controlling
6*c66ec88fSEmmanuel Vadotthe state of the various hardware modules present on the SoC. Communication
7*c66ec88fSEmmanuel Vadotbetween the host processor running an OS and the system controller happens
8*c66ec88fSEmmanuel Vadotthrough a protocol called TI System Control Interface (TI-SCI protocol).
9*c66ec88fSEmmanuel VadotFor TI SCI details, please refer to the document,
10*c66ec88fSEmmanuel VadotDocumentation/devicetree/bindings/arm/keystone/ti,sci.txt
11*c66ec88fSEmmanuel Vadot
12*c66ec88fSEmmanuel VadotTI-SCI Reset Controller Node
13*c66ec88fSEmmanuel Vadot============================
14*c66ec88fSEmmanuel VadotThis reset controller node uses the TI SCI protocol to perform the reset
15*c66ec88fSEmmanuel Vadotmanagement of various hardware modules present on the SoC. Must be a child
16*c66ec88fSEmmanuel Vadotnode of the associated TI-SCI system controller node.
17*c66ec88fSEmmanuel Vadot
18*c66ec88fSEmmanuel VadotRequired properties:
19*c66ec88fSEmmanuel Vadot--------------------
20*c66ec88fSEmmanuel Vadot - compatible	: Should be "ti,sci-reset"
21*c66ec88fSEmmanuel Vadot - #reset-cells	: Should be 2. Please see the reset consumer node below for
22*c66ec88fSEmmanuel Vadot		  usage details.
23*c66ec88fSEmmanuel Vadot
24*c66ec88fSEmmanuel VadotTI-SCI Reset Consumer Nodes
25*c66ec88fSEmmanuel Vadot===========================
26*c66ec88fSEmmanuel VadotEach of the reset consumer nodes should have the following properties,
27*c66ec88fSEmmanuel Vadotin addition to their own properties.
28*c66ec88fSEmmanuel Vadot
29*c66ec88fSEmmanuel VadotRequired properties:
30*c66ec88fSEmmanuel Vadot--------------------
31*c66ec88fSEmmanuel Vadot - resets	: A phandle and reset specifier pair, one pair for each reset
32*c66ec88fSEmmanuel Vadot		  signal that affects the device, or that the device manages.
33*c66ec88fSEmmanuel Vadot		  The phandle should point to the TI-SCI reset controller node,
34*c66ec88fSEmmanuel Vadot		  and the reset specifier should have 2 cell-values. The first
35*c66ec88fSEmmanuel Vadot		  cell should contain the device ID. The second cell should
36*c66ec88fSEmmanuel Vadot		  contain the reset mask value used by system controller.
37*c66ec88fSEmmanuel Vadot		  Please refer to the protocol documentation for these values
38*c66ec88fSEmmanuel Vadot		  to be used for different devices,
39*c66ec88fSEmmanuel Vadot		  http://processors.wiki.ti.com/index.php/TISCI#66AK2G02_Data
40*c66ec88fSEmmanuel Vadot
41*c66ec88fSEmmanuel VadotPlease also refer to Documentation/devicetree/bindings/reset/reset.txt for
42*c66ec88fSEmmanuel Vadotcommon reset controller usage by consumers.
43*c66ec88fSEmmanuel Vadot
44*c66ec88fSEmmanuel VadotExample:
45*c66ec88fSEmmanuel Vadot--------
46*c66ec88fSEmmanuel VadotThe following example demonstrates both a TI-SCI reset controller node and a
47*c66ec88fSEmmanuel Vadotconsumer (a DSP device) on the 66AK2G SoC.
48*c66ec88fSEmmanuel Vadot
49*c66ec88fSEmmanuel Vadotpmmc: pmmc {
50*c66ec88fSEmmanuel Vadot	compatible = "ti,k2g-sci";
51*c66ec88fSEmmanuel Vadot
52*c66ec88fSEmmanuel Vadot	k2g_reset: reset-controller {
53*c66ec88fSEmmanuel Vadot		compatible = "ti,sci-reset";
54*c66ec88fSEmmanuel Vadot		#reset-cells = <2>;
55*c66ec88fSEmmanuel Vadot	};
56*c66ec88fSEmmanuel Vadot};
57*c66ec88fSEmmanuel Vadot
58*c66ec88fSEmmanuel Vadotdsp0: dsp@10800000 {
59*c66ec88fSEmmanuel Vadot	...
60*c66ec88fSEmmanuel Vadot	resets = <&k2g_reset 0x0046 0x1>;
61*c66ec88fSEmmanuel Vadot	...
62*c66ec88fSEmmanuel Vadot};
63