dt: binding: reword PowerPC 8xxx GPIO documentation
re-format and re-word the device tree binding documentation for MPC8xxx and compatibles, reference the common document for interrupt controllers and remove outdated duplicate SoC specific information Cc: Mark Rutland <mark.rutland@arm.com> Cc: Rob Herring <rob.herring@calxeda.com> Cc: Pawel Moll <Pawel.Moll@arm.com> Cc: Arnd Bergmann <arnd@arndb.de> Cc: <devicetree@vger.kernel.org> Acked-by: Arnd Bergmann <arnd@arndb.de> Signed-off-by: Gerhard Sittig <gsi@denx.de> Signed-off-by: Rob Herring <rob.herring@calxeda.com>
This commit is contained in:
Родитель
72d944ec7e
Коммит
2c0e641a96
|
@ -5,16 +5,42 @@ This is for the non-QE/CPM/GUTs GPIO controllers as found on
|
||||||
|
|
||||||
Every GPIO controller node must have #gpio-cells property defined,
|
Every GPIO controller node must have #gpio-cells property defined,
|
||||||
this information will be used to translate gpio-specifiers.
|
this information will be used to translate gpio-specifiers.
|
||||||
|
See bindings/gpio/gpio.txt for details of how to specify GPIO
|
||||||
|
information for devices.
|
||||||
|
|
||||||
|
The GPIO module usually is connected to the SoC's internal interrupt
|
||||||
|
controller, see bindings/interrupt-controller/interrupts.txt (the
|
||||||
|
interrupt client nodes section) for details how to specify this GPIO
|
||||||
|
module's interrupt.
|
||||||
|
|
||||||
|
The GPIO module may serve as another interrupt controller (cascaded to
|
||||||
|
the SoC's internal interrupt controller). See the interrupt controller
|
||||||
|
nodes section in bindings/interrupt-controller/interrupts.txt for
|
||||||
|
details.
|
||||||
|
|
||||||
Required properties:
|
Required properties:
|
||||||
- compatible : "fsl,<CHIP>-gpio" followed by "fsl,mpc8349-gpio" for
|
- compatible: "fsl,<chip>-gpio" followed by "fsl,mpc8349-gpio"
|
||||||
83xx, "fsl,mpc8572-gpio" for 85xx and "fsl,mpc8610-gpio" for 86xx.
|
for 83xx, "fsl,mpc8572-gpio" for 85xx, or
|
||||||
- #gpio-cells : Should be two. The first cell is the pin number and the
|
"fsl,mpc8610-gpio" for 86xx.
|
||||||
second cell is used to specify optional parameters (currently unused).
|
- #gpio-cells: Should be two. The first cell is the pin number
|
||||||
- interrupts : Interrupt mapping for GPIO IRQ.
|
and the second cell is used to specify optional
|
||||||
- interrupt-parent : Phandle for the interrupt controller that
|
parameters (currently unused).
|
||||||
services interrupts for this device.
|
- interrupt-parent: Phandle for the interrupt controller that
|
||||||
- gpio-controller : Marks the port as GPIO controller.
|
services interrupts for this device.
|
||||||
|
- interrupts: Interrupt mapping for GPIO IRQ.
|
||||||
|
- gpio-controller: Marks the port as GPIO controller.
|
||||||
|
|
||||||
|
Optional properties:
|
||||||
|
- interrupt-controller: Empty boolean property which marks the GPIO
|
||||||
|
module as an IRQ controller.
|
||||||
|
- #interrupt-cells: Should be two. Defines the number of integer
|
||||||
|
cells required to specify an interrupt within
|
||||||
|
this interrupt controller. The first cell
|
||||||
|
defines the pin number, the second cell
|
||||||
|
defines additional flags (trigger type,
|
||||||
|
trigger polarity). Note that the available
|
||||||
|
set of trigger conditions supported by the
|
||||||
|
GPIO module depends on the actual SoC.
|
||||||
|
|
||||||
Example of gpio-controller nodes for a MPC8347 SoC:
|
Example of gpio-controller nodes for a MPC8347 SoC:
|
||||||
|
|
||||||
|
@ -22,39 +48,27 @@ Example of gpio-controller nodes for a MPC8347 SoC:
|
||||||
#gpio-cells = <2>;
|
#gpio-cells = <2>;
|
||||||
compatible = "fsl,mpc8347-gpio", "fsl,mpc8349-gpio";
|
compatible = "fsl,mpc8347-gpio", "fsl,mpc8349-gpio";
|
||||||
reg = <0xc00 0x100>;
|
reg = <0xc00 0x100>;
|
||||||
interrupts = <74 0x8>;
|
|
||||||
interrupt-parent = <&ipic>;
|
interrupt-parent = <&ipic>;
|
||||||
|
interrupts = <74 0x8>;
|
||||||
gpio-controller;
|
gpio-controller;
|
||||||
|
interrupt-controller;
|
||||||
|
#interrupt-cells = <2>;
|
||||||
};
|
};
|
||||||
|
|
||||||
gpio2: gpio-controller@d00 {
|
gpio2: gpio-controller@d00 {
|
||||||
#gpio-cells = <2>;
|
#gpio-cells = <2>;
|
||||||
compatible = "fsl,mpc8347-gpio", "fsl,mpc8349-gpio";
|
compatible = "fsl,mpc8347-gpio", "fsl,mpc8349-gpio";
|
||||||
reg = <0xd00 0x100>;
|
reg = <0xd00 0x100>;
|
||||||
interrupts = <75 0x8>;
|
|
||||||
interrupt-parent = <&ipic>;
|
interrupt-parent = <&ipic>;
|
||||||
|
interrupts = <75 0x8>;
|
||||||
gpio-controller;
|
gpio-controller;
|
||||||
};
|
};
|
||||||
|
|
||||||
See booting-without-of.txt for details of how to specify GPIO
|
Example of a peripheral using the GPIO module as an IRQ controller:
|
||||||
information for devices.
|
|
||||||
|
|
||||||
To use GPIO pins as interrupt sources for peripherals, specify the
|
|
||||||
GPIO controller as the interrupt parent and define GPIO number +
|
|
||||||
trigger mode using the interrupts property, which is defined like
|
|
||||||
this:
|
|
||||||
|
|
||||||
interrupts = <number trigger>, where:
|
|
||||||
- number: GPIO pin (0..31)
|
|
||||||
- trigger: trigger mode:
|
|
||||||
2 = trigger on falling edge
|
|
||||||
3 = trigger on both edges
|
|
||||||
|
|
||||||
Example of device using this is:
|
|
||||||
|
|
||||||
funkyfpga@0 {
|
funkyfpga@0 {
|
||||||
compatible = "funky-fpga";
|
compatible = "funky-fpga";
|
||||||
...
|
...
|
||||||
interrupts = <4 3>;
|
|
||||||
interrupt-parent = <&gpio1>;
|
interrupt-parent = <&gpio1>;
|
||||||
|
interrupts = <4 3>;
|
||||||
};
|
};
|
||||||
|
|
Загрузка…
Ссылка в новой задаче