xref: /openbmc/linux/Documentation/devicetree/bindings/reset/img,pistachio-reset.txt (revision 8c57a5e7b2820f349c95b8c8393fec1e0f4070d2)
1*8859b901SDamien HorsleyPistachio Reset Controller
2*8859b901SDamien Horsley=============================================================================
3*8859b901SDamien Horsley
4*8859b901SDamien HorsleyThis binding describes a reset controller device that is used to enable and
5*8859b901SDamien Horsleydisable individual IP blocks within the Pistachio SoC using "soft reset"
6*8859b901SDamien Horsleycontrol bits found in the Pistachio SoC top level registers.
7*8859b901SDamien Horsley
8*8859b901SDamien HorsleyThe actual action taken when soft reset is asserted is hardware dependent.
9*8859b901SDamien HorsleyHowever, when asserted it may not be possible to access the hardware's
10*8859b901SDamien Horsleyregisters, and following an assert/deassert sequence the hardware's previous
11*8859b901SDamien Horsleystate may no longer be valid.
12*8859b901SDamien Horsley
13*8859b901SDamien HorsleyPlease refer to Documentation/devicetree/bindings/reset/reset.txt
14*8859b901SDamien Horsleyfor common reset controller binding usage.
15*8859b901SDamien Horsley
16*8859b901SDamien HorsleyRequired properties:
17*8859b901SDamien Horsley
18*8859b901SDamien Horsley- compatible: Contains "img,pistachio-reset"
19*8859b901SDamien Horsley
20*8859b901SDamien Horsley- #reset-cells: Contains 1
21*8859b901SDamien Horsley
22*8859b901SDamien HorsleyExample:
23*8859b901SDamien Horsley
24*8859b901SDamien Horsley	cr_periph: clk@18148000 {
25*8859b901SDamien Horsley		compatible = "img,pistachio-cr-periph", "syscon", "simple-mfd";
26*8859b901SDamien Horsley		reg = <0x18148000 0x1000>;
27*8859b901SDamien Horsley		clocks = <&clk_periph PERIPH_CLK_SYS>;
28*8859b901SDamien Horsley		clock-names = "sys";
29*8859b901SDamien Horsley		#clock-cells = <1>;
30*8859b901SDamien Horsley
31*8859b901SDamien Horsley		pistachio_reset: reset-controller {
32*8859b901SDamien Horsley			compatible = "img,pistachio-reset";
33*8859b901SDamien Horsley			#reset-cells = <1>;
34*8859b901SDamien Horsley		};
35*8859b901SDamien Horsley	};
36*8859b901SDamien Horsley
37*8859b901SDamien HorsleySpecifying reset control of devices
38*8859b901SDamien Horsley=======================================
39*8859b901SDamien Horsley
40*8859b901SDamien HorsleyDevice nodes should specify the reset channel required in their "resets"
41*8859b901SDamien Horsleyproperty, containing a phandle to the pistachio reset device node and an
42*8859b901SDamien Horsleyindex specifying which reset to use, as described in
43*8859b901SDamien HorsleyDocumentation/devicetree/bindings/reset/reset.txt.
44*8859b901SDamien Horsley
45*8859b901SDamien HorsleyExample:
46*8859b901SDamien Horsley
47*8859b901SDamien Horsley	spdif_out: spdif-out@18100d00 {
48*8859b901SDamien Horsley		...
49*8859b901SDamien Horsley		resets = <&pistachio_reset PISTACHIO_RESET_SPDIF_OUT>;
50*8859b901SDamien Horsley		reset-names = "rst";
51*8859b901SDamien Horsley		...
52*8859b901SDamien Horsley	};
53*8859b901SDamien Horsley
54*8859b901SDamien HorsleyMacro definitions for the supported resets can be found in:
55*8859b901SDamien Horsleyinclude/dt-bindings/reset/pistachio-resets.h
56