dt-bindings: brcmstb-gpio: document properties for wakeup
authorGregory Fong <gregory.0xf0@gmail.com>
Thu, 18 Jun 2015 01:00:41 +0000 (18:00 -0700)
committerLinus Walleij <linus.walleij@linaro.org>
Wed, 15 Jul 2015 22:11:02 +0000 (00:11 +0200)
Some brcmstb GPIO controllers can be used to wake from suspend, so use
the de facto standard property 'wakeup-source' to mark the nodes of
controllers with that capability.

Also document interrupts-extended, which will be used for wakeup
handling because the interrupt parent for the wake IRQ is different
from the regular IRQ.

While we're at it, a few more fixes: We don't actually use the
"interrupt-names" property, so remove it from the listed optional
properties and from the examples.  And since we're modifying the
examples, also follow Brian's suggestions to:
- change #gpio-cells, #interrupt-cells, and brcm,gpio-bank-widths from
  hex to dec
- use phandles

Reviewed-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Gregory Fong <gregory.0xf0@gmail.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Documentation/devicetree/bindings/gpio/brcm,brcmstb-gpio.txt

index 435f1bcca3415df7feb7a988c2b8945e3702e693..b405b4410bfb8968756447772108702a9317c989 100644 (file)
@@ -33,6 +33,13 @@ Optional properties:
 - interrupt-parent:
     phandle of the parent interrupt controller
 
+- interrupts-extended:
+    Alternate form of specifying interrupts and parents that allows for
+    multiple parents.  This takes precedence over 'interrupts' and
+    'interrupt-parent'.  Wakeup-capable GPIO controllers often route their
+    wakeup interrupt lines through a different interrupt controller than the
+    primary interrupt line, making this property necessary.
+
 - #interrupt-cells:
     Should be <2>.  The first cell is the GPIO number, the second should specify
     flags.  The following subset of flags is supported:
@@ -47,19 +54,33 @@ Optional properties:
 - interrupt-controller:
     Marks the device node as an interrupt controller
 
-- interrupt-names:
-    The name of the IRQ resource used by this controller
+- wakeup-source:
+    GPIOs for this controller can be used as a wakeup source
 
 Example:
        upg_gio: gpio@f040a700 {
-               #gpio-cells = <0x2>;
-               #interrupt-cells = <0x2>;
+               #gpio-cells = <2>;
+               #interrupt-cells = <2>;
                compatible = "brcm,bcm7445-gpio", "brcm,brcmstb-gpio";
                gpio-controller;
                interrupt-controller;
                reg = <0xf040a700 0x80>;
-               interrupt-parent = <0xf>;
+               interrupt-parent = <&irq0_intc>;
+               interrupts = <0x6>;
+               brcm,gpio-bank-widths = <32 32 32 24>;
+       };
+
+       upg_gio_aon: gpio@f04172c0 {
+               #gpio-cells = <2>;
+               #interrupt-cells = <2>;
+               compatible = "brcm,bcm7445-gpio", "brcm,brcmstb-gpio";
+               gpio-controller;
+               interrupt-controller;
+               reg = <0xf04172c0 0x40>;
+               interrupt-parent = <&irq0_aon_intc>;
                interrupts = <0x6>;
-               interrupt-names = "upg_gio";
-               brcm,gpio-bank-widths = <0x20 0x20 0x20 0x18>;
+               interrupts-extended = <&irq0_aon_intc 0x6>,
+                       <&aon_pm_l2_intc 0x5>;
+               wakeup-source;
+               brcm,gpio-bank-widths = <18 4>;
        };