xref: /freebsd-src/sys/contrib/device-tree/Bindings/gpio/gpio-zynq.yaml (revision f126890ac5386406dadf7c4cfa9566cbb56537c5)
15956d97fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
25956d97fSEmmanuel Vadot%YAML 1.2
35956d97fSEmmanuel Vadot---
45956d97fSEmmanuel Vadot$id: http://devicetree.org/schemas/gpio/gpio-zynq.yaml#
55956d97fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
65956d97fSEmmanuel Vadot
77ef62cebSEmmanuel Vadottitle: Xilinx Zynq GPIO controller
85956d97fSEmmanuel Vadot
95956d97fSEmmanuel Vadotmaintainers:
10*f126890aSEmmanuel Vadot  - Michal Simek <michal.simek@amd.com>
115956d97fSEmmanuel Vadot
125956d97fSEmmanuel Vadotproperties:
135956d97fSEmmanuel Vadot  compatible:
14b97ee269SEmmanuel Vadot    enum:
15b97ee269SEmmanuel Vadot      - xlnx,zynq-gpio-1.0
16b97ee269SEmmanuel Vadot      - xlnx,zynqmp-gpio-1.0
17b97ee269SEmmanuel Vadot      - xlnx,versal-gpio-1.0
18b97ee269SEmmanuel Vadot      - xlnx,pmc-gpio-1.0
195956d97fSEmmanuel Vadot
205956d97fSEmmanuel Vadot  reg:
215956d97fSEmmanuel Vadot    maxItems: 1
225956d97fSEmmanuel Vadot
235956d97fSEmmanuel Vadot  "#gpio-cells":
245956d97fSEmmanuel Vadot    const: 2
255956d97fSEmmanuel Vadot
265956d97fSEmmanuel Vadot  interrupts:
275956d97fSEmmanuel Vadot    maxItems: 1
285956d97fSEmmanuel Vadot
295956d97fSEmmanuel Vadot  gpio-controller: true
305956d97fSEmmanuel Vadot
31b97ee269SEmmanuel Vadot  gpio-line-names:
32b97ee269SEmmanuel Vadot    description: strings describing the names of each gpio line
33b97ee269SEmmanuel Vadot    minItems: 58
34b97ee269SEmmanuel Vadot    maxItems: 174
35b97ee269SEmmanuel Vadot
365956d97fSEmmanuel Vadot  interrupt-controller: true
375956d97fSEmmanuel Vadot
385956d97fSEmmanuel Vadot  "#interrupt-cells":
395956d97fSEmmanuel Vadot    const: 2
405956d97fSEmmanuel Vadot
415956d97fSEmmanuel Vadot  clocks:
425956d97fSEmmanuel Vadot    maxItems: 1
435956d97fSEmmanuel Vadot
44b97ee269SEmmanuel Vadot  power-domains:
45b97ee269SEmmanuel Vadot    maxItems: 1
46b97ee269SEmmanuel Vadot
47b97ee269SEmmanuel VadotallOf:
48b97ee269SEmmanuel Vadot  - if:
49b97ee269SEmmanuel Vadot      properties:
50b97ee269SEmmanuel Vadot        compatible:
51b97ee269SEmmanuel Vadot          enum:
52b97ee269SEmmanuel Vadot            - xlnx,zynqmp-gpio-1.0
53b97ee269SEmmanuel Vadot    then:
54b97ee269SEmmanuel Vadot      properties:
55b97ee269SEmmanuel Vadot        gpio-line-names:
56b97ee269SEmmanuel Vadot          minItems: 174
57b97ee269SEmmanuel Vadot          maxItems: 174
58b97ee269SEmmanuel Vadot
59b97ee269SEmmanuel Vadot  - if:
60b97ee269SEmmanuel Vadot      properties:
61b97ee269SEmmanuel Vadot        compatible:
62b97ee269SEmmanuel Vadot          enum:
63b97ee269SEmmanuel Vadot            - xlnx,zynq-gpio-1.0
64b97ee269SEmmanuel Vadot    then:
65b97ee269SEmmanuel Vadot      properties:
66b97ee269SEmmanuel Vadot        gpio-line-names:
67b97ee269SEmmanuel Vadot          minItems: 118
68b97ee269SEmmanuel Vadot          maxItems: 118
69b97ee269SEmmanuel Vadot
70b97ee269SEmmanuel Vadot  - if:
71b97ee269SEmmanuel Vadot      properties:
72b97ee269SEmmanuel Vadot        compatible:
73b97ee269SEmmanuel Vadot          enum:
74b97ee269SEmmanuel Vadot            - xlnx,versal-gpio-1.0
75b97ee269SEmmanuel Vadot    then:
76b97ee269SEmmanuel Vadot      properties:
77b97ee269SEmmanuel Vadot        gpio-line-names:
78b97ee269SEmmanuel Vadot          minItems: 58
79b97ee269SEmmanuel Vadot          maxItems: 58
80b97ee269SEmmanuel Vadot
81b97ee269SEmmanuel Vadot  - if:
82b97ee269SEmmanuel Vadot      properties:
83b97ee269SEmmanuel Vadot        compatible:
84b97ee269SEmmanuel Vadot          enum:
85b97ee269SEmmanuel Vadot            - xlnx,pmc-gpio-1.0
86b97ee269SEmmanuel Vadot    then:
87b97ee269SEmmanuel Vadot      properties:
88b97ee269SEmmanuel Vadot        gpio-line-names:
89b97ee269SEmmanuel Vadot          minItems: 116
90b97ee269SEmmanuel Vadot          maxItems: 116
91b97ee269SEmmanuel Vadot
925956d97fSEmmanuel Vadotrequired:
935956d97fSEmmanuel Vadot  - compatible
945956d97fSEmmanuel Vadot  - reg
955956d97fSEmmanuel Vadot  - "#gpio-cells"
965956d97fSEmmanuel Vadot  - interrupts
975956d97fSEmmanuel Vadot  - gpio-controller
985956d97fSEmmanuel Vadot  - interrupt-controller
995956d97fSEmmanuel Vadot  - "#interrupt-cells"
1005956d97fSEmmanuel Vadot  - clocks
1015956d97fSEmmanuel Vadot
1025956d97fSEmmanuel VadotadditionalProperties: false
1035956d97fSEmmanuel Vadot
1045956d97fSEmmanuel Vadotexamples:
1055956d97fSEmmanuel Vadot  - |
1065956d97fSEmmanuel Vadot    gpio@e000a000 {
1075956d97fSEmmanuel Vadot      #gpio-cells = <2>;
1085956d97fSEmmanuel Vadot      compatible = "xlnx,zynq-gpio-1.0";
1095956d97fSEmmanuel Vadot      clocks = <&clkc 42>;
1105956d97fSEmmanuel Vadot      gpio-controller;
1115956d97fSEmmanuel Vadot      interrupt-parent = <&intc>;
1125956d97fSEmmanuel Vadot      interrupts = <0 20 4>;
1135956d97fSEmmanuel Vadot      interrupt-controller;
1145956d97fSEmmanuel Vadot      #interrupt-cells = <2>;
1155956d97fSEmmanuel Vadot      reg = <0xe000a000 0x1000>;
1165956d97fSEmmanuel Vadot    };
117