50 lines
1.4 KiB
Plaintext
50 lines
1.4 KiB
Plaintext
* Microchip PIC32 GPIO devices (PIO).
|
|
|
|
Required properties:
|
|
- compatible: "microchip,pic32mzda-gpio"
|
|
- reg: Base address and length for the device.
|
|
- interrupts: The port interrupt shared by all pins.
|
|
- gpio-controller: Marks the port as GPIO controller.
|
|
- #gpio-cells: Two. The first cell is the pin number and
|
|
the second cell is used to specify the gpio polarity as defined in
|
|
defined in <dt-bindings/gpio/gpio.h>:
|
|
0 = GPIO_ACTIVE_HIGH
|
|
1 = GPIO_ACTIVE_LOW
|
|
2 = GPIO_OPEN_DRAIN
|
|
- interrupt-controller: Marks the device node as an interrupt controller.
|
|
- #interrupt-cells: Two. The first cell is the GPIO number and second cell
|
|
is used to specify the trigger type as defined in
|
|
<dt-bindings/interrupt-controller/irq.h>:
|
|
IRQ_TYPE_EDGE_RISING
|
|
IRQ_TYPE_EDGE_FALLING
|
|
IRQ_TYPE_EDGE_BOTH
|
|
- clocks: Clock specifier (see clock bindings for details).
|
|
- microchip,gpio-bank: Specifies which bank a controller owns.
|
|
- gpio-ranges: Interaction with the PINCTRL subsystem.
|
|
|
|
Example:
|
|
|
|
/* PORTA */
|
|
gpio0: gpio0@1f860000 {
|
|
compatible = "microchip,pic32mzda-gpio";
|
|
reg = <0x1f860000 0x100>;
|
|
interrupts = <118 IRQ_TYPE_LEVEL_HIGH>;
|
|
#gpio-cells = <2>;
|
|
gpio-controller;
|
|
interrupt-controller;
|
|
#interrupt-cells = <2>;
|
|
clocks = <&rootclk PB4CLK>;
|
|
microchip,gpio-bank = <0>;
|
|
gpio-ranges = <&pic32_pinctrl 0 0 16>;
|
|
};
|
|
|
|
keys {
|
|
...
|
|
|
|
button@sw1 {
|
|
label = "ESC";
|
|
linux,code = <1>;
|
|
gpios = <&gpio0 12 0>;
|
|
};
|
|
};
|