Commit | Line | Data |
---|---|---|
6090a0fa MS |
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 = <µblaze_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 | } ; |