18c2ecf20Sopenharmony_ci* Abilis TB10x GPIO controller 28c2ecf20Sopenharmony_ci 38c2ecf20Sopenharmony_ciRequired Properties: 48c2ecf20Sopenharmony_ci- compatible: Should be "abilis,tb10x-gpio" 58c2ecf20Sopenharmony_ci- reg: Address and length of the register set for the device 68c2ecf20Sopenharmony_ci- gpio-controller: Marks the device node as a gpio controller. 78c2ecf20Sopenharmony_ci- #gpio-cells: Should be <2>. The first cell is the pin number and the 88c2ecf20Sopenharmony_ci second cell is used to specify optional parameters: 98c2ecf20Sopenharmony_ci - bit 0 specifies polarity (0 for normal, 1 for inverted). 108c2ecf20Sopenharmony_ci- abilis,ngpio: the number of GPIO pins this driver controls. 118c2ecf20Sopenharmony_ci 128c2ecf20Sopenharmony_ciOptional Properties: 138c2ecf20Sopenharmony_ci- interrupt-controller: Marks the device node as an interrupt controller. 148c2ecf20Sopenharmony_ci- #interrupt-cells: Should be <1>. Interrupts are triggered on both edges. 158c2ecf20Sopenharmony_ci- interrupts: Defines the interrupt line connecting this GPIO controller to 168c2ecf20Sopenharmony_ci its parent interrupt controller. 178c2ecf20Sopenharmony_ci 188c2ecf20Sopenharmony_ciGPIO ranges are specified as described in 198c2ecf20Sopenharmony_ciDocumentation/devicetree/bindings/gpio/gpio.txt 208c2ecf20Sopenharmony_ci 218c2ecf20Sopenharmony_ciExample: 228c2ecf20Sopenharmony_ci 238c2ecf20Sopenharmony_ci gpioa: gpio@ff140000 { 248c2ecf20Sopenharmony_ci compatible = "abilis,tb10x-gpio"; 258c2ecf20Sopenharmony_ci interrupt-controller; 268c2ecf20Sopenharmony_ci #interrupt-cells = <1>; 278c2ecf20Sopenharmony_ci interrupt-parent = <&tb10x_ictl>; 288c2ecf20Sopenharmony_ci interrupts = <27 2>; 298c2ecf20Sopenharmony_ci reg = <0xFF140000 0x1000>; 308c2ecf20Sopenharmony_ci gpio-controller; 318c2ecf20Sopenharmony_ci #gpio-cells = <2>; 328c2ecf20Sopenharmony_ci abilis,ngpio = <3>; 338c2ecf20Sopenharmony_ci gpio-ranges = <&iomux 0 0 0>; 348c2ecf20Sopenharmony_ci gpio-ranges-group-names = "gpioa_pins"; 358c2ecf20Sopenharmony_ci }; 36