| 
     1 * Microchip PIC32 GPIO devices (PIO).
    2 
    3 Required properties:
    4  - compatible: "microchip,pic32mzda-gpio"
    5  - reg: Base address and length for the device.
    6  - interrupts: The port interrupt shared by all pins.
    7  - gpio-controller: Marks the port as GPIO controller.
    8  - #gpio-cells: Two. The first cell is the pin number and
    9    the second cell is used to specify the gpio polarity as defined in
   10    defined in <dt-bindings/gpio/gpio.h>:
   11       0 = GPIO_ACTIVE_HIGH
   12       1 = GPIO_ACTIVE_LOW
   13       2 = GPIO_OPEN_DRAIN
   14  - interrupt-controller: Marks the device node as an interrupt controller.
   15  - #interrupt-cells: Two. The first cell is the GPIO number and second cell
   16    is used to specify the trigger type as defined in
   17    <dt-bindings/interrupt-controller/irq.h>:
   18       IRQ_TYPE_EDGE_RISING
   19       IRQ_TYPE_EDGE_FALLING
   20       IRQ_TYPE_EDGE_BOTH
   21  - clocks: Clock specifier (see clock bindings for details).
   22  - microchip,gpio-bank: Specifies which bank a controller owns.
   23  - gpio-ranges: Interaction with the PINCTRL subsystem.
   24 
   25 Example:
   26 
   27 /* PORTA */
   28 gpio0: gpio0@1f860000 {
   29         compatible = "microchip,pic32mzda-gpio";
   30         reg = <0x1f860000 0x100>;
   31         interrupts = <118 IRQ_TYPE_LEVEL_HIGH>;
   32         #gpio-cells = <2>;
   33         gpio-controller;
   34         interrupt-controller;
   35         #interrupt-cells = <2>;
   36         clocks = <&rootclk PB4CLK>;
   37         microchip,gpio-bank = <0>;
   38         gpio-ranges = <&pic32_pinctrl 0 0 16>;
   39 };
   40 
   41 keys {
   42         ...
   43 
   44         button@sw1 {
   45                 label = "ESC";
   46                 linux,code = <1>;
   47                 gpios = <&gpio0 12 0>;
   48         };
   49 };
Cache object: d5ae2991a174bb939c4a5af282245b4c 
 
 |