blob: 5e2496379a3c863ce75a8d6d3a0bf722d0953d12 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/gpio/gpio-zynq.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: Xilinx Zynq GPIO controller
8
9maintainers:
10 - Michal Simek <michal.simek@amd.com>
11
12properties:
13 compatible:
14 enum:
15 - xlnx,zynq-gpio-1.0
16 - xlnx,zynqmp-gpio-1.0
17 - xlnx,versal-gpio-1.0
18 - xlnx,pmc-gpio-1.0
19
20 reg:
21 maxItems: 1
22
23 "#gpio-cells":
24 const: 2
25
26 interrupts:
27 maxItems: 1
28
29 gpio-controller: true
30
31 gpio-line-names:
32 description: strings describing the names of each gpio line
33 minItems: 58
34 maxItems: 174
35
36 interrupt-controller: true
37
38 "#interrupt-cells":
39 const: 2
40
41 clocks:
42 maxItems: 1
43
44 power-domains:
45 maxItems: 1
46
47allOf:
48 - if:
49 properties:
50 compatible:
51 enum:
52 - xlnx,zynqmp-gpio-1.0
53 then:
54 properties:
55 gpio-line-names:
56 minItems: 174
57 maxItems: 174
58
59 - if:
60 properties:
61 compatible:
62 enum:
63 - xlnx,zynq-gpio-1.0
64 then:
65 properties:
66 gpio-line-names:
67 minItems: 118
68 maxItems: 118
69
70 - if:
71 properties:
72 compatible:
73 enum:
74 - xlnx,versal-gpio-1.0
75 then:
76 properties:
77 gpio-line-names:
78 minItems: 58
79 maxItems: 58
80
81 - if:
82 properties:
83 compatible:
84 enum:
85 - xlnx,pmc-gpio-1.0
86 then:
87 properties:
88 gpio-line-names:
89 minItems: 116
90 maxItems: 116
91
92required:
93 - compatible
94 - reg
95 - "#gpio-cells"
96 - interrupts
97 - gpio-controller
98 - interrupt-controller
99 - "#interrupt-cells"
100 - clocks
101
102additionalProperties: false
103
104examples:
105 - |
106 gpio@e000a000 {
107 #gpio-cells = <2>;
108 compatible = "xlnx,zynq-gpio-1.0";
109 clocks = <&clkc 42>;
110 gpio-controller;
111 interrupt-parent = <&intc>;
112 interrupts = <0 20 4>;
113 interrupt-controller;
114 #interrupt-cells = <2>;
115 reg = <0xe000a000 0x1000>;
116 };