Linux 4.1.18
[linux/fpc-iii.git] / Documentation / devicetree / bindings / gpio / gpio-vf610.txt
blob436cc99c659832253cd7feb2358135e1da05c858
1 * Freescale VF610 PORT/GPIO module
3 The Freescale PORT/GPIO modules are two adjacent modules providing GPIO
4 functionality. Each pair serves 32 GPIOs. The VF610 has 5 instances of
5 each, and each PORT module has its own interrupt.
7 Required properties for GPIO node:
8 - compatible : Should be "fsl,<soc>-gpio", currently "fsl,vf610-gpio"
9 - reg : The first reg tuple represents the PORT module, the second tuple
10   the GPIO module.
11 - interrupts : Should be the port interrupt shared by all 32 pins.
12 - gpio-controller : Marks the device node as a gpio controller.
13 - #gpio-cells : Should be two. The first cell is the pin number and
14   the second cell is used to specify the gpio polarity:
15       0 = active high
16       1 = active low
17 - interrupt-controller: Marks the device node as an interrupt controller.
18 - #interrupt-cells : Should be 2.  The first cell is the GPIO number.
19   The second cell bits[3:0] is used to specify trigger type and level flags:
20       1 = low-to-high edge triggered.
21       2 = high-to-low edge triggered.
22       4 = active high level-sensitive.
23       8 = active low level-sensitive.
25 Note: Each GPIO port should have an alias correctly numbered in "aliases"
26 node.
28 Examples:
30 aliases {
31         gpio0 = &gpio1;
32         gpio1 = &gpio2;
35 gpio1: gpio@40049000 {
36         compatible = "fsl,vf610-gpio";
37         reg = <0x40049000 0x1000 0x400ff000 0x40>;
38         interrupts = <0 107 IRQ_TYPE_LEVEL_HIGH>;
39         gpio-controller;
40         #gpio-cells = <2>;
41         interrupt-controller;
42         #interrupt-cells = <2>;
43         gpio-ranges = <&iomuxc 0 0 32>;
46 gpio2: gpio@4004a000 {
47         compatible = "fsl,vf610-gpio";
48         reg = <0x4004a000 0x1000 0x400ff040 0x40>;
49         interrupts = <0 108 IRQ_TYPE_LEVEL_HIGH>;
50         gpio-controller;
51         #gpio-cells = <2>;
52         interrupt-controller;
53         #interrupt-cells = <2>;
54         gpio-ranges = <&iomuxc 0 32 32>;