162306a36Sopenharmony_ciPistachio Reset Controller
262306a36Sopenharmony_ci=============================================================================
362306a36Sopenharmony_ci
462306a36Sopenharmony_ciThis binding describes a reset controller device that is used to enable and
562306a36Sopenharmony_cidisable individual IP blocks within the Pistachio SoC using "soft reset"
662306a36Sopenharmony_cicontrol bits found in the Pistachio SoC top level registers.
762306a36Sopenharmony_ci
862306a36Sopenharmony_ciThe actual action taken when soft reset is asserted is hardware dependent.
962306a36Sopenharmony_ciHowever, when asserted it may not be possible to access the hardware's
1062306a36Sopenharmony_ciregisters, and following an assert/deassert sequence the hardware's previous
1162306a36Sopenharmony_cistate may no longer be valid.
1262306a36Sopenharmony_ci
1362306a36Sopenharmony_ciPlease refer to Documentation/devicetree/bindings/reset/reset.txt
1462306a36Sopenharmony_cifor common reset controller binding usage.
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ciRequired properties:
1762306a36Sopenharmony_ci
1862306a36Sopenharmony_ci- compatible: Contains "img,pistachio-reset"
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_ci- #reset-cells: Contains 1
2162306a36Sopenharmony_ci
2262306a36Sopenharmony_ciExample:
2362306a36Sopenharmony_ci
2462306a36Sopenharmony_ci	cr_periph: clk@18148000 {
2562306a36Sopenharmony_ci		compatible = "img,pistachio-cr-periph", "syscon", "simple-mfd";
2662306a36Sopenharmony_ci		reg = <0x18148000 0x1000>;
2762306a36Sopenharmony_ci		clocks = <&clk_periph PERIPH_CLK_SYS>;
2862306a36Sopenharmony_ci		clock-names = "sys";
2962306a36Sopenharmony_ci		#clock-cells = <1>;
3062306a36Sopenharmony_ci
3162306a36Sopenharmony_ci		pistachio_reset: reset-controller {
3262306a36Sopenharmony_ci			compatible = "img,pistachio-reset";
3362306a36Sopenharmony_ci			#reset-cells = <1>;
3462306a36Sopenharmony_ci		};
3562306a36Sopenharmony_ci	};
3662306a36Sopenharmony_ci
3762306a36Sopenharmony_ciSpecifying reset control of devices
3862306a36Sopenharmony_ci=======================================
3962306a36Sopenharmony_ci
4062306a36Sopenharmony_ciDevice nodes should specify the reset channel required in their "resets"
4162306a36Sopenharmony_ciproperty, containing a phandle to the pistachio reset device node and an
4262306a36Sopenharmony_ciindex specifying which reset to use, as described in
4362306a36Sopenharmony_ciDocumentation/devicetree/bindings/reset/reset.txt.
4462306a36Sopenharmony_ci
4562306a36Sopenharmony_ciExample:
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci	spdif_out: spdif-out@18100d00 {
4862306a36Sopenharmony_ci		...
4962306a36Sopenharmony_ci		resets = <&pistachio_reset PISTACHIO_RESET_SPDIF_OUT>;
5062306a36Sopenharmony_ci		reset-names = "rst";
5162306a36Sopenharmony_ci		...
5262306a36Sopenharmony_ci	};
5362306a36Sopenharmony_ci
5462306a36Sopenharmony_ciMacro definitions for the supported resets can be found in:
5562306a36Sopenharmony_ciinclude/dt-bindings/reset/pistachio-resets.h
56