Back to home page

OSCL-LXR

 
 

    


0001 Altera GPIO controller bindings
0002 
0003 Required properties:
0004 - compatible:
0005   - "altr,pio-1.0"
0006 - reg: Physical base address and length of the controller's registers.
0007 - #gpio-cells : Should be 2
0008   - The first cell is the gpio offset number.
0009   - The second cell is reserved and is currently unused.
0010 - gpio-controller : Marks the device node as a GPIO controller.
0011 - interrupt-controller: Mark the device node as an interrupt controller
0012 - #interrupt-cells : Should be 2. The interrupt type is fixed in the hardware.
0013   - The first cell is the GPIO offset number within the GPIO controller.
0014   - The second cell is the interrupt trigger type and level flags.
0015 - interrupts: Specify the interrupt.
0016 - altr,interrupt-type: Specifies the interrupt trigger type the GPIO
0017   hardware is synthesized. This field is required if the Altera GPIO controller
0018   used has IRQ enabled as the interrupt type is not software controlled,
0019   but hardware synthesized. Required if GPIO is used as an interrupt
0020   controller. The value is defined in <dt-bindings/interrupt-controller/irq.h>
0021   Only the following flags are supported:
0022     IRQ_TYPE_EDGE_RISING
0023     IRQ_TYPE_EDGE_FALLING
0024     IRQ_TYPE_EDGE_BOTH
0025     IRQ_TYPE_LEVEL_HIGH
0026 
0027 Optional properties:
0028 - altr,ngpio: Width of the GPIO bank. This defines how many pins the
0029   GPIO device has. Ranges between 1-32. Optional and defaults to 32 if not
0030   specified.
0031 
0032 Example:
0033 
0034 gpio_altr: gpio@ff200000 {
0035         compatible = "altr,pio-1.0";
0036         reg = <0xff200000 0x10>;
0037         interrupts = <0 45 4>;
0038         altr,ngpio = <32>;
0039         altr,interrupt-type = <IRQ_TYPE_EDGE_RISING>;
0040         #gpio-cells = <2>;
0041         gpio-controller;
0042         #interrupt-cells = <2>;
0043         interrupt-controller;
0044 };