Commit | Line | Data |
---|---|---|
ad2db351 JH |
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>; | |
dd317403 | 36 | clocks = <&rootclk PB4CLK>; |
ad2db351 JH |
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 | }; |