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