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