Pistachio Reset Controller ============================================================================= This binding describes a reset controller device that is used to enable and disable individual IP blocks within the Pistachio SoC using "soft reset" control bits found in the Pistachio SoC top level registers. The actual action taken when soft reset is asserted is hardware dependent. However, when asserted it may not be possible to access the hardware's registers, and following an assert/deassert sequence the hardware's previous state may no longer be valid. Please refer to Documentation/devicetree/bindings/reset/reset.txt for common reset controller binding usage. Required properties: - compatible: Contains "img,pistachio-reset" - #reset-cells: Contains 1 Example: cr_periph: clk@18148000 { compatible = "img,pistachio-cr-periph", "syscon", "simple-mfd"; reg = <0x18148000 0x1000>; clocks = <&clk_periph PERIPH_CLK_SYS>; clock-names = "sys"; #clock-cells = <1>; pistachio_reset: reset-controller { compatible = "img,pistachio-reset"; #reset-cells = <1>; }; }; Specifying reset control of devices ======================================= Device nodes should specify the reset channel required in their "resets" property, containing a phandle to the pistachio reset device node and an index specifying which reset to use, as described in Documentation/devicetree/bindings/reset/reset.txt. Example: spdif_out: spdif-out@18100d00 { ... resets = <&pistachio_reset PISTACHIO_RESET_SPDIF_OUT>; reset-names = "rst"; ... }; Macro definitions for the supported resets can be found in: include/dt-bindings/reset/pistachio-resets.h |