Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

DT: Add documentation for gpio-xilinx

Describe gpio-xilinx binding.

Signed-off-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>

authored by

Michal Simek and committed by
Linus Walleij
6090a0fa 9f7f0b2b

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