Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

gpio: ixp4xx: Add DT bindings

This adds DT bindings for the IXP4xx GPIO controller.

Cc: devicetree@vger.kernel.org
Reviewed-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
Reviewed-by: Rob Herring <robh@kernel.org>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

+38
+38
Documentation/devicetree/bindings/gpio/intel,ixp4xx-gpio.txt
··· 1 + Intel IXP4xx XScale Networking Processors GPIO 2 + 3 + This GPIO controller is found in the Intel IXP4xx processors. 4 + It supports 16 GPIO lines. 5 + 6 + The interrupt portions of the GPIO controller is hierarchical: 7 + the synchronous edge detector is part of the GPIO block, but the 8 + actual enabling/disabling of the interrupt line is done in the 9 + main IXP4xx interrupt controller which has a 1:1 mapping for 10 + the first 12 GPIO lines to 12 system interrupts. 11 + 12 + The remaining 4 GPIO lines can not be used for receiving 13 + interrupts. 14 + 15 + The interrupt parent of this GPIO controller must be the 16 + IXP4xx interrupt controller. 17 + 18 + Required properties: 19 + 20 + - compatible : Should be 21 + "intel,ixp4xx-gpio" 22 + - reg : Should contain registers location and length 23 + - gpio-controller : marks this as a GPIO controller 24 + - #gpio-cells : Should be 2, see gpio/gpio.txt 25 + - interrupt-controller : marks this as an interrupt controller 26 + - #interrupt-cells : a standard two-cell interrupt, see 27 + interrupt-controller/interrupts.txt 28 + 29 + Example: 30 + 31 + gpio0: gpio@c8004000 { 32 + compatible = "intel,ixp4xx-gpio"; 33 + reg = <0xc8004000 0x1000>; 34 + gpio-controller; 35 + #gpio-cells = <2>; 36 + interrupt-controller; 37 + #interrupt-cells = <2>; 38 + };