blob: 9967e57b449b0a7bfca9bcd65fe5ef549b0b78f6 [file] [log] [blame]
Tom Rini53633a82024-02-29 12:33:36 -05001# 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
7title: STM32 External Interrupt Controller
8
9maintainers:
10 - Alexandre Torgue <alexandre.torgue@foss.st.com>
11 - Ludovic Barre <ludovic.barre@foss.st.com>
12
13properties:
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 - st,stm32mp13-exti
24 - const: syscon
25
26 "#interrupt-cells":
27 const: 2
28
29 reg:
30 maxItems: 1
31
32 interrupt-controller: true
33
34 hwlocks:
35 maxItems: 1
36 description:
37 Reference to a phandle of a hardware spinlock provider node.
38
39 interrupts:
40 minItems: 1
41 maxItems: 96
42 description:
43 Interrupts references to primary interrupt controller
44
45required:
46 - "#interrupt-cells"
47 - compatible
48 - reg
49 - interrupt-controller
50
51allOf:
52 - $ref: /schemas/interrupt-controller.yaml#
53 - if:
54 properties:
55 compatible:
56 contains:
57 enum:
58 - st,stm32-exti
59 then:
60 properties:
61 interrupts:
62 minItems: 1
63 maxItems: 32
64 required:
65 - interrupts
66 - if:
67 properties:
68 compatible:
69 contains:
70 enum:
71 - st,stm32h7-exti
72 then:
73 properties:
74 interrupts:
75 minItems: 1
76 maxItems: 96
77 required:
78 - interrupts
79
80additionalProperties: false
81
82examples:
83 - |
84 //Example 1
85 exti1: interrupt-controller@5000d000 {
86 compatible = "st,stm32mp1-exti", "syscon";
87 interrupt-controller;
88 #interrupt-cells = <2>;
89 reg = <0x5000d000 0x400>;
90 };
91
Tom Rini762f85b2024-07-20 11:15:10 -060092 - |
Tom Rini53633a82024-02-29 12:33:36 -050093 //Example 2
Tom Rini762f85b2024-07-20 11:15:10 -060094 #include <dt-bindings/interrupt-controller/arm-gic.h>
95 exti2: interrupt-controller@5000d000 {
96 compatible = "st,stm32mp1-exti", "syscon";
97 interrupt-controller;
98 #interrupt-cells = <2>;
99 reg = <0x5000d000 0x400>;
100 interrupts-extended =
101 <&intc GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
102 <0>,
103 <&intc GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
104 };
105
106 - |
107 //Example 3
108 exti3: interrupt-controller@40013c00 {
Tom Rini53633a82024-02-29 12:33:36 -0500109 compatible = "st,stm32-exti";
110 interrupt-controller;
111 #interrupt-cells = <2>;
112 reg = <0x40013C00 0x400>;
113 interrupts = <1>, <2>, <3>, <6>, <7>, <8>, <9>, <10>, <23>, <40>, <41>, <42>, <62>, <76>;
114 };
115
116...