xref: /freebsd/sys/contrib/device-tree/Bindings/gpio/gpio-xlp.txt (revision 7fdf597e96a02165cfe22ff357b857d5fa15ed8a)
1Netlogic XLP Family GPIO
2========================
3
4This GPIO driver is used for following Netlogic XLP SoCs:
5	XLP832, XLP316, XLP208, XLP980, XLP532
6This GPIO driver is also compatible with GPIO controller found on
7Broadcom Vulcan ARM64.
8
9Required 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-controller: Identifies the node as an interrupt controller.
34
35Example:
36
37	gpio: xlp_gpio@34000 {
38		compatible = "netlogic,xlp316-gpio";
39		reg = <0 0x34100 0x1000
40		       0 0x35100 0x1000>;
41		#gpio-cells = <2>;
42		gpio-controller;
43		nr-gpios = <57>;
44
45		#interrupt-cells = <2>;
46		interrupt-parent = <&pic>;
47		interrupts = <39>;
48		interrupt-controller;
49	};
50