GNU Linux-libre 4.14.266-gnu1
[releases.git] / Documentation / devicetree / bindings / gpio / gpio-xlp.txt
1 Netlogic XLP Family GPIO
2 ========================
3
4 This GPIO driver is used for following Netlogic XLP SoCs:
5         XLP832, XLP316, XLP208, XLP980, XLP532
6 This GPIO driver is also compatible with GPIO controller found on
7 Broadcom Vulcan ARM64.
8
9 Required properties:
10 -------------------
11
12 - compatible: Should be one of the following:
13   - "netlogic,xlp832-gpio": For Netlogic XLP832
14   - "netlogic,xlp316-gpio": For Netlogic XLP316
15   - "netlogic,xlp208-gpio": For Netlogic XLP208
16   - "netlogic,xlp980-gpio": For Netlogic XLP980
17   - "netlogic,xlp532-gpio": For Netlogic XLP532
18   - "brcm,vulcan-gpio": For Broadcom Vulcan ARM64
19 - reg: Physical base address and length of the controller's registers.
20 - #gpio-cells: Should be two. The first cell is the pin number and the second
21   cell is used to specify optional parameters (currently unused).
22 - gpio-controller: Marks the device node as a GPIO controller.
23 - nr-gpios: Number of GPIO pins supported by the controller.
24 - interrupt-cells: Should be two. The first cell is the GPIO Number. The
25   second cell is used to specify flags. The following subset of flags is
26   supported:
27   - trigger type:
28         1 = low to high edge triggered.
29         2 = high to low edge triggered.
30         4 = active high level-sensitive.
31         8 = active low level-sensitive.
32 - interrupts: Interrupt number for this device.
33 - interrupt-parent: phandle of the parent interrupt controller.
34 - interrupt-controller: Identifies the node as an interrupt controller.
35
36 Example:
37
38         gpio: xlp_gpio@34000 {
39                 compatible = "netlogic,xlp316-gpio";
40                 reg = <0 0x34100 0x1000
41                        0 0x35100 0x1000>;
42                 #gpio-cells = <2>;
43                 gpio-controller;
44                 nr-gpios = <57>;
45
46                 #interrupt-cells = <2>;
47                 interrupt-parent = <&pic>;
48                 interrupts = <39>;
49                 interrupt-controller;
50         };