1*c66ec88fSEmmanuel VadotXilinx Zynq GPIO controller Device Tree Bindings 2*c66ec88fSEmmanuel Vadot------------------------------------------- 3*c66ec88fSEmmanuel Vadot 4*c66ec88fSEmmanuel VadotRequired properties: 5*c66ec88fSEmmanuel Vadot- #gpio-cells : Should be two 6*c66ec88fSEmmanuel Vadot - First cell is the GPIO line number 7*c66ec88fSEmmanuel Vadot - Second cell is used to specify optional 8*c66ec88fSEmmanuel Vadot parameters (unused) 9*c66ec88fSEmmanuel Vadot- compatible : Should be "xlnx,zynq-gpio-1.0" or 10*c66ec88fSEmmanuel Vadot "xlnx,zynqmp-gpio-1.0" or "xlnx,versal-gpio-1.0 11*c66ec88fSEmmanuel Vadot or "xlnx,pmc-gpio-1.0 12*c66ec88fSEmmanuel Vadot- clocks : Clock specifier (see clock bindings for details) 13*c66ec88fSEmmanuel Vadot- gpio-controller : Marks the device node as a GPIO controller. 14*c66ec88fSEmmanuel Vadot- interrupts : Interrupt specifier (see interrupt bindings for 15*c66ec88fSEmmanuel Vadot details) 16*c66ec88fSEmmanuel Vadot- interrupt-controller : Marks the device node as an interrupt controller. 17*c66ec88fSEmmanuel Vadot- #interrupt-cells : Should be 2. The first cell is the GPIO number. 18*c66ec88fSEmmanuel Vadot The second cell bits[3:0] is used to specify trigger type and level flags: 19*c66ec88fSEmmanuel Vadot 1 = low-to-high edge triggered. 20*c66ec88fSEmmanuel Vadot 2 = high-to-low edge triggered. 21*c66ec88fSEmmanuel Vadot 4 = active high level-sensitive. 22*c66ec88fSEmmanuel Vadot 8 = active low level-sensitive. 23*c66ec88fSEmmanuel Vadot- reg : Address and length of the register set for the device 24*c66ec88fSEmmanuel Vadot 25*c66ec88fSEmmanuel VadotExample: 26*c66ec88fSEmmanuel Vadot gpio@e000a000 { 27*c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 28*c66ec88fSEmmanuel Vadot compatible = "xlnx,zynq-gpio-1.0"; 29*c66ec88fSEmmanuel Vadot clocks = <&clkc 42>; 30*c66ec88fSEmmanuel Vadot gpio-controller; 31*c66ec88fSEmmanuel Vadot interrupt-parent = <&intc>; 32*c66ec88fSEmmanuel Vadot interrupts = <0 20 4>; 33*c66ec88fSEmmanuel Vadot interrupt-controller; 34*c66ec88fSEmmanuel Vadot #interrupt-cells = <2>; 35*c66ec88fSEmmanuel Vadot reg = <0xe000a000 0x1000>; 36*c66ec88fSEmmanuel Vadot }; 37