1*4882a593Smuzhiyun* Abilis TB10x GPIO controller 2*4882a593Smuzhiyun 3*4882a593SmuzhiyunRequired Properties: 4*4882a593Smuzhiyun- compatible: Should be "abilis,tb10x-gpio" 5*4882a593Smuzhiyun- reg: Address and length of the register set for the device 6*4882a593Smuzhiyun- gpio-controller: Marks the device node as a gpio controller. 7*4882a593Smuzhiyun- #gpio-cells: Should be <2>. The first cell is the pin number and the 8*4882a593Smuzhiyun second cell is used to specify optional parameters: 9*4882a593Smuzhiyun - bit 0 specifies polarity (0 for normal, 1 for inverted). 10*4882a593Smuzhiyun- abilis,ngpio: the number of GPIO pins this driver controls. 11*4882a593Smuzhiyun 12*4882a593SmuzhiyunOptional Properties: 13*4882a593Smuzhiyun- interrupt-controller: Marks the device node as an interrupt controller. 14*4882a593Smuzhiyun- #interrupt-cells: Should be <1>. Interrupts are triggered on both edges. 15*4882a593Smuzhiyun- interrupts: Defines the interrupt line connecting this GPIO controller to 16*4882a593Smuzhiyun its parent interrupt controller. 17*4882a593Smuzhiyun 18*4882a593SmuzhiyunGPIO ranges are specified as described in 19*4882a593SmuzhiyunDocumentation/devicetree/bindings/gpio/gpio.txt 20*4882a593Smuzhiyun 21*4882a593SmuzhiyunExample: 22*4882a593Smuzhiyun 23*4882a593Smuzhiyun gpioa: gpio@ff140000 { 24*4882a593Smuzhiyun compatible = "abilis,tb10x-gpio"; 25*4882a593Smuzhiyun interrupt-controller; 26*4882a593Smuzhiyun #interrupt-cells = <1>; 27*4882a593Smuzhiyun interrupt-parent = <&tb10x_ictl>; 28*4882a593Smuzhiyun interrupts = <27 2>; 29*4882a593Smuzhiyun reg = <0xFF140000 0x1000>; 30*4882a593Smuzhiyun gpio-controller; 31*4882a593Smuzhiyun #gpio-cells = <2>; 32*4882a593Smuzhiyun abilis,ngpio = <3>; 33*4882a593Smuzhiyun gpio-ranges = <&iomux 0 0 0>; 34*4882a593Smuzhiyun gpio-ranges-group-names = "gpioa_pins"; 35*4882a593Smuzhiyun }; 36