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