Documentation/devicetree: document cavium-pip rx-delay/tx-delay properties
[deliverable/linux.git] / Documentation / devicetree / bindings / gpio / 8xxx_gpio.txt
CommitLineData
1e16dfc1
PK
1GPIO controllers on MPC8xxx SoCs
2
3This is for the non-QE/CPM/GUTs GPIO controllers as found on
48349, 8572, 8610 and compatible.
5
6Every GPIO controller node must have #gpio-cells property defined,
7this information will be used to translate gpio-specifiers.
2c0e641a
GS
8See bindings/gpio/gpio.txt for details of how to specify GPIO
9information for devices.
10
11The GPIO module usually is connected to the SoC's internal interrupt
12controller, see bindings/interrupt-controller/interrupts.txt (the
13interrupt client nodes section) for details how to specify this GPIO
14module's interrupt.
15
16The GPIO module may serve as another interrupt controller (cascaded to
17the SoC's internal interrupt controller). See the interrupt controller
18nodes section in bindings/interrupt-controller/interrupts.txt for
19details.
1e16dfc1
PK
20
21Required properties:
2c0e641a
GS
22- compatible: "fsl,<chip>-gpio" followed by "fsl,mpc8349-gpio"
23 for 83xx, "fsl,mpc8572-gpio" for 85xx, or
24 "fsl,mpc8610-gpio" for 86xx.
25- #gpio-cells: Should be two. The first cell is the pin number
26 and the second cell is used to specify optional
27 parameters (currently unused).
28- interrupt-parent: Phandle for the interrupt controller that
29 services interrupts for this device.
30- interrupts: Interrupt mapping for GPIO IRQ.
31- gpio-controller: Marks the port as GPIO controller.
32
33Optional properties:
34- interrupt-controller: Empty boolean property which marks the GPIO
35 module as an IRQ controller.
36- #interrupt-cells: Should be two. Defines the number of integer
37 cells required to specify an interrupt within
38 this interrupt controller. The first cell
39 defines the pin number, the second cell
40 defines additional flags (trigger type,
41 trigger polarity). Note that the available
42 set of trigger conditions supported by the
43 GPIO module depends on the actual SoC.
1e16dfc1
PK
44
45Example of gpio-controller nodes for a MPC8347 SoC:
46
47 gpio1: gpio-controller@c00 {
48 #gpio-cells = <2>;
49 compatible = "fsl,mpc8347-gpio", "fsl,mpc8349-gpio";
50 reg = <0xc00 0x100>;
1e16dfc1 51 interrupt-parent = <&ipic>;
2c0e641a 52 interrupts = <74 0x8>;
1e16dfc1 53 gpio-controller;
2c0e641a
GS
54 interrupt-controller;
55 #interrupt-cells = <2>;
1e16dfc1
PK
56 };
57
58 gpio2: gpio-controller@d00 {
59 #gpio-cells = <2>;
60 compatible = "fsl,mpc8347-gpio", "fsl,mpc8349-gpio";
61 reg = <0xd00 0x100>;
1e16dfc1 62 interrupt-parent = <&ipic>;
2c0e641a 63 interrupts = <75 0x8>;
1e16dfc1
PK
64 gpio-controller;
65 };
66
2c0e641a 67Example of a peripheral using the GPIO module as an IRQ controller:
345e5c8a
PK
68
69 funkyfpga@0 {
70 compatible = "funky-fpga";
71 ...
345e5c8a 72 interrupt-parent = <&gpio1>;
2c0e641a 73 interrupts = <4 3>;
345e5c8a 74 };
This page took 0.425913 seconds and 5 git commands to generate.