1c66ec88fSEmmanuel VadotXilinx plb/axi GPIO controller 2c66ec88fSEmmanuel Vadot 3c66ec88fSEmmanuel VadotDual channel GPIO controller with configurable number of pins 4c66ec88fSEmmanuel Vadot(from 1 to 32 per channel). Every pin can be configured as 5c66ec88fSEmmanuel Vadotinput/output/tristate. Both channels share the same global IRQ but 6c66ec88fSEmmanuel Vadotlocal interrupts can be enabled on channel basis. 7c66ec88fSEmmanuel Vadot 8c66ec88fSEmmanuel VadotRequired properties: 9c66ec88fSEmmanuel Vadot- compatible : Should be "xlnx,xps-gpio-1.00.a" 10c66ec88fSEmmanuel Vadot- reg : Address and length of the register set for the device 11c66ec88fSEmmanuel Vadot- #gpio-cells : Should be two. The first cell is the pin number and the 12c66ec88fSEmmanuel Vadot second cell is used to specify optional parameters (currently unused). 13c66ec88fSEmmanuel Vadot- gpio-controller : Marks the device node as a GPIO controller. 14c66ec88fSEmmanuel Vadot 15c66ec88fSEmmanuel VadotOptional properties: 16*5def4c47SEmmanuel Vadot- clocks : Input clock specifier. Refer to common clock bindings. 17c66ec88fSEmmanuel Vadot- interrupts : Interrupt mapping for GPIO IRQ. 18c66ec88fSEmmanuel Vadot- xlnx,all-inputs : if n-th bit is setup, GPIO-n is input 19c66ec88fSEmmanuel Vadot- xlnx,dout-default : if n-th bit is 1, GPIO-n default value is 1 20c66ec88fSEmmanuel Vadot- xlnx,gpio-width : gpio width 21c66ec88fSEmmanuel Vadot- xlnx,tri-default : if n-th bit is 1, GPIO-n is in tristate mode 22c66ec88fSEmmanuel Vadot- xlnx,is-dual : if 1, controller also uses the second channel 23c66ec88fSEmmanuel Vadot- xlnx,all-inputs-2 : as above but for the second channel 24c66ec88fSEmmanuel Vadot- xlnx,dout-default-2 : as above but the second channel 25c66ec88fSEmmanuel Vadot- xlnx,gpio2-width : as above but for the second channel 26c66ec88fSEmmanuel Vadot- xlnx,tri-default-2 : as above but for the second channel 27c66ec88fSEmmanuel Vadot 28c66ec88fSEmmanuel Vadot 29c66ec88fSEmmanuel VadotExample: 30c66ec88fSEmmanuel Vadotgpio: gpio@40000000 { 31c66ec88fSEmmanuel Vadot #gpio-cells = <2>; 32c66ec88fSEmmanuel Vadot compatible = "xlnx,xps-gpio-1.00.a"; 33*5def4c47SEmmanuel Vadot clocks = <&clkc25>; 34c66ec88fSEmmanuel Vadot gpio-controller ; 35c66ec88fSEmmanuel Vadot interrupt-parent = <µblaze_0_intc>; 36c66ec88fSEmmanuel Vadot interrupts = < 6 2 >; 37c66ec88fSEmmanuel Vadot reg = < 0x40000000 0x10000 >; 38c66ec88fSEmmanuel Vadot xlnx,all-inputs = <0x0>; 39c66ec88fSEmmanuel Vadot xlnx,all-inputs-2 = <0x0>; 40c66ec88fSEmmanuel Vadot xlnx,dout-default = <0x0>; 41c66ec88fSEmmanuel Vadot xlnx,dout-default-2 = <0x0>; 42c66ec88fSEmmanuel Vadot xlnx,gpio-width = <0x2>; 43c66ec88fSEmmanuel Vadot xlnx,gpio2-width = <0x2>; 44c66ec88fSEmmanuel Vadot xlnx,interrupt-present = <0x1>; 45c66ec88fSEmmanuel Vadot xlnx,is-dual = <0x1>; 46c66ec88fSEmmanuel Vadot xlnx,tri-default = <0xffffffff>; 47c66ec88fSEmmanuel Vadot xlnx,tri-default-2 = <0xffffffff>; 48c66ec88fSEmmanuel Vadot} ; 49