18c2ecf20Sopenharmony_ci* Microchip PIC32 GPIO devices (PIO).
28c2ecf20Sopenharmony_ci
38c2ecf20Sopenharmony_ciRequired properties:
48c2ecf20Sopenharmony_ci - compatible: "microchip,pic32mzda-gpio"
58c2ecf20Sopenharmony_ci - reg: Base address and length for the device.
68c2ecf20Sopenharmony_ci - interrupts: The port interrupt shared by all pins.
78c2ecf20Sopenharmony_ci - gpio-controller: Marks the port as GPIO controller.
88c2ecf20Sopenharmony_ci - #gpio-cells: Two. The first cell is the pin number and
98c2ecf20Sopenharmony_ci   the second cell is used to specify the gpio polarity as defined in
108c2ecf20Sopenharmony_ci   defined in <dt-bindings/gpio/gpio.h>:
118c2ecf20Sopenharmony_ci      0 = GPIO_ACTIVE_HIGH
128c2ecf20Sopenharmony_ci      1 = GPIO_ACTIVE_LOW
138c2ecf20Sopenharmony_ci      2 = GPIO_OPEN_DRAIN
148c2ecf20Sopenharmony_ci - interrupt-controller: Marks the device node as an interrupt controller.
158c2ecf20Sopenharmony_ci - #interrupt-cells: Two. The first cell is the GPIO number and second cell
168c2ecf20Sopenharmony_ci   is used to specify the trigger type as defined in
178c2ecf20Sopenharmony_ci   <dt-bindings/interrupt-controller/irq.h>:
188c2ecf20Sopenharmony_ci      IRQ_TYPE_EDGE_RISING
198c2ecf20Sopenharmony_ci      IRQ_TYPE_EDGE_FALLING
208c2ecf20Sopenharmony_ci      IRQ_TYPE_EDGE_BOTH
218c2ecf20Sopenharmony_ci - clocks: Clock specifier (see clock bindings for details).
228c2ecf20Sopenharmony_ci - microchip,gpio-bank: Specifies which bank a controller owns.
238c2ecf20Sopenharmony_ci - gpio-ranges: Interaction with the PINCTRL subsystem.
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ciExample:
268c2ecf20Sopenharmony_ci
278c2ecf20Sopenharmony_ci/* PORTA */
288c2ecf20Sopenharmony_cigpio0: gpio0@1f860000 {
298c2ecf20Sopenharmony_ci	compatible = "microchip,pic32mzda-gpio";
308c2ecf20Sopenharmony_ci	reg = <0x1f860000 0x100>;
318c2ecf20Sopenharmony_ci	interrupts = <118 IRQ_TYPE_LEVEL_HIGH>;
328c2ecf20Sopenharmony_ci	#gpio-cells = <2>;
338c2ecf20Sopenharmony_ci	gpio-controller;
348c2ecf20Sopenharmony_ci	interrupt-controller;
358c2ecf20Sopenharmony_ci	#interrupt-cells = <2>;
368c2ecf20Sopenharmony_ci	clocks = <&rootclk PB4CLK>;
378c2ecf20Sopenharmony_ci	microchip,gpio-bank = <0>;
388c2ecf20Sopenharmony_ci	gpio-ranges = <&pic32_pinctrl 0 0 16>;
398c2ecf20Sopenharmony_ci};
408c2ecf20Sopenharmony_ci
418c2ecf20Sopenharmony_cikeys {
428c2ecf20Sopenharmony_ci	...
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ci	button@sw1 {
458c2ecf20Sopenharmony_ci		label = "ESC";
468c2ecf20Sopenharmony_ci		linux,code = <1>;
478c2ecf20Sopenharmony_ci		gpios = <&gpio0 12 0>;
488c2ecf20Sopenharmony_ci	};
498c2ecf20Sopenharmony_ci};
50