Michal Simek | 6090a0f | 2013-06-03 14:31:21 +0200 | [diff] [blame^] | 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 | } ; |