Merge tag 'perf-tools-for-v5.15-2021-09-04' of git://git.kernel.org/pub/scm/linux...
[linux-2.6-microblaze.git] / Documentation / devicetree / bindings / interrupt-controller / st,stm32-exti.yaml
1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 %YAML 1.2
3 ---
4 $id: http://devicetree.org/schemas/interrupt-controller/st,stm32-exti.yaml#
5 $schema: http://devicetree.org/meta-schemas/core.yaml#
6
7 title: STM32 External Interrupt Controller Device Tree Bindings
8
9 maintainers:
10   - Alexandre Torgue <alexandre.torgue@st.com>
11   - Ludovic Barre <ludovic.barre@st.com>
12
13 properties:
14   compatible:
15     oneOf:
16       - items:
17           - enum:
18               - st,stm32-exti
19               - st,stm32h7-exti
20       - items:
21           - enum:
22               - st,stm32mp1-exti
23           - const: syscon
24
25   "#interrupt-cells":
26     const: 2
27
28   reg:
29     maxItems: 1
30
31   interrupt-controller: true
32
33   hwlocks:
34     maxItems: 1
35     description:
36       Reference to a phandle of a hardware spinlock provider node.
37
38   interrupts:
39     minItems: 1
40     maxItems: 96
41     description:
42       Interrupts references to primary interrupt controller
43
44 required:
45   - "#interrupt-cells"
46   - compatible
47   - reg
48   - interrupt-controller
49
50 allOf:
51   - $ref: /schemas/interrupt-controller.yaml#
52   - if:
53       properties:
54         compatible:
55           contains:
56             enum:
57               - st,stm32-exti
58     then:
59       properties:
60         interrupts:
61           minItems: 1
62           maxItems: 32
63       required:
64         - interrupts
65   - if:
66       properties:
67         compatible:
68           contains:
69             enum:
70               - st,stm32h7-exti
71     then:
72       properties:
73         interrupts:
74           minItems: 1
75           maxItems: 96
76       required:
77         - interrupts
78
79 additionalProperties: false
80
81 examples:
82   - |
83     //Example 1
84     exti1: interrupt-controller@5000d000 {
85         compatible = "st,stm32mp1-exti", "syscon";
86         interrupt-controller;
87         #interrupt-cells = <2>;
88         reg = <0x5000d000 0x400>;
89     };
90
91     //Example 2
92     exti2: interrupt-controller@40013c00 {
93         compatible = "st,stm32-exti";
94         interrupt-controller;
95         #interrupt-cells = <2>;
96         reg = <0x40013C00 0x400>;
97         interrupts = <1>, <2>, <3>, <6>, <7>, <8>, <9>, <10>, <23>, <40>, <41>, <42>, <62>, <76>;
98     };
99
100 ...