gpio: mt7621: Add DT bindings
authorSergio Paracuellos <sergio.paracuellos@gmail.com>
Thu, 5 Jul 2018 13:43:11 +0000 (15:43 +0200)
committerLinus Walleij <linus.walleij@linaro.org>
Mon, 9 Jul 2018 11:35:59 +0000 (13:35 +0200)
Add a devicetree binding documentation for the mt7621 gpio.

Signed-off-by: Sergio Paracuellos <sergio.paracuellos@gmail.com>
Reviewed-by: NeilBrown <neil@brown.name>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
Documentation/devicetree/bindings/gpio/mediatek,mt7621-gpio.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/gpio/mediatek,mt7621-gpio.txt b/Documentation/devicetree/bindings/gpio/mediatek,mt7621-gpio.txt
new file mode 100644 (file)
index 0000000..ba45558
--- /dev/null
@@ -0,0 +1,35 @@
+Mediatek MT7621 SoC GPIO controller bindings
+
+The IP core used inside these SoCs has 3 banks of 32 GPIOs each.
+The registers of all the banks are interwoven inside one single IO range.
+We load one GPIO controller instance per bank. Also the GPIO controller can receive
+interrupts on any of the GPIOs, either edge or level. It then interrupts the CPU
+using GIC INT12.
+
+Required properties for the top level node:
+- #gpio-cells : Should be two. The first cell is the GPIO pin number and the
+   second cell specifies GPIO flags, as defined in <dt-bindings/gpio/gpio.h>.
+   Only the GPIO_ACTIVE_HIGH and GPIO_ACTIVE_LOW flags are supported.
+- #interrupt-cells : Specifies the number of cells needed to encode an
+   interrupt. Should be 2. The first cell defines the interrupt number,
+   the second encodes the triger flags encoded as described in
+   Documentation/devicetree/bindings/interrupt-controller/interrupts.txt
+- compatible:
+  - "mediatek,mt7621-gpio" for Mediatek controllers
+- reg : Physical base address and length of the controller's registers
+- interrupt-parent : phandle of the parent interrupt controller.
+- interrupts : Interrupt specifier for the controllers interrupt.
+- interrupt-controller : Mark the device node as an interrupt controller.
+- gpio-controller : Marks the device node as a GPIO controller.
+
+Example:
+       gpio@600 {
+               #gpio-cells = <2>;
+               #interrupt-cells = <2>;
+               compatible = "mediatek,mt7621-gpio";
+               gpio-controller;
+               interrupt-controller;
+               reg = <0x600 0x100>;
+               interrupt-parent = <&gic>;
+               interrupts = <GIC_SHARED 12 IRQ_TYPE_LEVEL_HIGH>;
+       };