From bddbe5b0c5ee1c46f47a485d065b0ca6c39f5763 Mon Sep 17 00:00:00 2001 From: Philipp Zabel Date: Thu, 30 May 2013 11:09:00 +0200 Subject: reset: Add driver for gpio-controlled reset pins This driver implements a reset controller device that toggle a gpio connected to a reset pin of a peripheral IC. The delay between assertion and de-assertion of the reset signal can be configured via device tree. Signed-off-by: Philipp Zabel Reviewed-by: Stephen Warren Reviewed-by: Pavel Machek [shawn.guo: cherry-pick commit 27e3604c82cb from imx_3.10.y] Signed-off-by: Shawn Guo Conflicts: drivers/reset/Makefile (cherry picked from commit 2c8ba990ad6b33bd28f72384fbd238e0aca6c886) Conflicts: drivers/reset/Kconfig drivers/reset/Makefile --- .../devicetree/bindings/reset/gpio-reset.txt | 35 ++++++++++++++++++++++ 1 file changed, 35 insertions(+) create mode 100644 Documentation/devicetree/bindings/reset/gpio-reset.txt (limited to 'Documentation/devicetree/bindings/reset') diff --git a/Documentation/devicetree/bindings/reset/gpio-reset.txt b/Documentation/devicetree/bindings/reset/gpio-reset.txt new file mode 100644 index 000000000000..bca5348a5131 --- /dev/null +++ b/Documentation/devicetree/bindings/reset/gpio-reset.txt @@ -0,0 +1,35 @@ +GPIO reset controller +===================== + +A GPIO reset controller controls a single GPIO that is connected to the reset +pin of a peripheral IC. Please also refer to reset.txt in this directory for +common reset controller binding usage. + +Required properties: +- compatible: Should be "gpio-reset" +- reset-gpios: A gpio used as reset line. The gpio specifier for this property + depends on the gpio controller that provides the gpio. +- #reset-cells: 0, see below + +Optional properties: +- reset-delay-us: delay in microseconds. The gpio reset line will be asserted for + this duration to reset. +- initially-in-reset: boolean. If not set, the initial state should be a + deasserted reset line. If this property exists, the + reset line should be kept in reset. + +example: + +sii902x_reset: gpio-reset { + compatible = "gpio-reset"; + reset-gpios = <&gpio5 0 GPIO_ACTIVE_LOW>; + reset-delay-us = <10000>; + initially-in-reset; + #reset-cells = <0>; +}; + +/* Device with nRESET pin connected to GPIO5_0 */ +sii902x@39 { + /* ... */ + resets = <&sii902x_reset>; /* active-low GPIO5_0, 10 ms delay */ +}; -- cgit v1.2.3