forked from Minki/linux
4fd9bbc6e0
Adds a new driver device tree binding for Altera soft GPIO IP Signed-off-by: Tien Hock Loh <thloh@altera.com> Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
44 lines
1.5 KiB
Plaintext
44 lines
1.5 KiB
Plaintext
Altera GPIO controller bindings
|
|
|
|
Required properties:
|
|
- compatible:
|
|
- "altr,pio-1.0"
|
|
- reg: Physical base address and length of the controller's registers.
|
|
- #gpio-cells : Should be 2
|
|
- The first cell is the gpio offset number.
|
|
- The second cell is reserved and is currently unused.
|
|
- gpio-controller : Marks the device node as a GPIO controller.
|
|
- interrupt-controller: Mark the device node as an interrupt controller
|
|
- #interrupt-cells : Should be 1. The interrupt type is fixed in the hardware.
|
|
- The first cell is the GPIO offset number within the GPIO controller.
|
|
- interrupts: Specify the interrupt.
|
|
- altr,interrupt-trigger: Specifies the interrupt trigger type the GPIO
|
|
hardware is synthesized. This field is required if the Altera GPIO controller
|
|
used has IRQ enabled as the interrupt type is not software controlled,
|
|
but hardware synthesized. Required if GPIO is used as an interrupt
|
|
controller. The value is defined in <dt-bindings/interrupt-controller/irq.h>
|
|
Only the following flags are supported:
|
|
IRQ_TYPE_EDGE_RISING
|
|
IRQ_TYPE_EDGE_FALLING
|
|
IRQ_TYPE_EDGE_BOTH
|
|
IRQ_TYPE_LEVEL_HIGH
|
|
|
|
Optional properties:
|
|
- altr,ngpio: Width of the GPIO bank. This defines how many pins the
|
|
GPIO device has. Ranges between 1-32. Optional and defaults to 32 if not
|
|
specified.
|
|
|
|
Example:
|
|
|
|
gpio_altr: gpio@0xff200000 {
|
|
compatible = "altr,pio-1.0";
|
|
reg = <0xff200000 0x10>;
|
|
interrupts = <0 45 4>;
|
|
altr,ngpio = <32>;
|
|
altr,interrupt-trigger = <IRQ_TYPE_EDGE_RISING>;
|
|
#gpio-cells = <2>;
|
|
gpio-controller;
|
|
#interrupt-cells = <1>;
|
|
interrupt-controller;
|
|
};
|