1c66ec88fSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2c66ec88fSEmmanuel Vadot%YAML 1.2
3c66ec88fSEmmanuel Vadot---
4c66ec88fSEmmanuel Vadot$id: http://devicetree.org/schemas/interrupt-controller/st,stm32-exti.yaml#
5c66ec88fSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml#
6c66ec88fSEmmanuel Vadot
7*7ef62cebSEmmanuel Vadottitle: STM32 External Interrupt Controller
8c66ec88fSEmmanuel Vadot
9c66ec88fSEmmanuel Vadotmaintainers:
108cc087a1SEmmanuel Vadot  - Alexandre Torgue <alexandre.torgue@foss.st.com>
118cc087a1SEmmanuel Vadot  - Ludovic Barre <ludovic.barre@foss.st.com>
12c66ec88fSEmmanuel Vadot
13c66ec88fSEmmanuel Vadotproperties:
14c66ec88fSEmmanuel Vadot  compatible:
15c66ec88fSEmmanuel Vadot    oneOf:
16c66ec88fSEmmanuel Vadot      - items:
17c66ec88fSEmmanuel Vadot          - enum:
18c66ec88fSEmmanuel Vadot              - st,stm32-exti
19c66ec88fSEmmanuel Vadot              - st,stm32h7-exti
20c66ec88fSEmmanuel Vadot      - items:
21c66ec88fSEmmanuel Vadot          - enum:
22c66ec88fSEmmanuel Vadot              - st,stm32mp1-exti
23c9ccf3a3SEmmanuel Vadot              - st,stm32mp13-exti
24c66ec88fSEmmanuel Vadot          - const: syscon
25c66ec88fSEmmanuel Vadot
26c66ec88fSEmmanuel Vadot  "#interrupt-cells":
27c66ec88fSEmmanuel Vadot    const: 2
28c66ec88fSEmmanuel Vadot
29c66ec88fSEmmanuel Vadot  reg:
30c66ec88fSEmmanuel Vadot    maxItems: 1
31c66ec88fSEmmanuel Vadot
32c66ec88fSEmmanuel Vadot  interrupt-controller: true
33c66ec88fSEmmanuel Vadot
34c66ec88fSEmmanuel Vadot  hwlocks:
35c66ec88fSEmmanuel Vadot    maxItems: 1
36c66ec88fSEmmanuel Vadot    description:
37c66ec88fSEmmanuel Vadot      Reference to a phandle of a hardware spinlock provider node.
38c66ec88fSEmmanuel Vadot
39c66ec88fSEmmanuel Vadot  interrupts:
405def4c47SEmmanuel Vadot    minItems: 1
415def4c47SEmmanuel Vadot    maxItems: 96
42c66ec88fSEmmanuel Vadot    description:
43c66ec88fSEmmanuel Vadot      Interrupts references to primary interrupt controller
44c66ec88fSEmmanuel Vadot
45c66ec88fSEmmanuel Vadotrequired:
46c66ec88fSEmmanuel Vadot  - "#interrupt-cells"
47c66ec88fSEmmanuel Vadot  - compatible
48c66ec88fSEmmanuel Vadot  - reg
49c66ec88fSEmmanuel Vadot  - interrupt-controller
50c66ec88fSEmmanuel Vadot
51c66ec88fSEmmanuel VadotallOf:
52c66ec88fSEmmanuel Vadot  - $ref: /schemas/interrupt-controller.yaml#
53c66ec88fSEmmanuel Vadot  - if:
54c66ec88fSEmmanuel Vadot      properties:
55c66ec88fSEmmanuel Vadot        compatible:
56c66ec88fSEmmanuel Vadot          contains:
57c66ec88fSEmmanuel Vadot            enum:
58c66ec88fSEmmanuel Vadot              - st,stm32-exti
59c66ec88fSEmmanuel Vadot    then:
60c66ec88fSEmmanuel Vadot      properties:
61c66ec88fSEmmanuel Vadot        interrupts:
62c66ec88fSEmmanuel Vadot          minItems: 1
63c66ec88fSEmmanuel Vadot          maxItems: 32
64c66ec88fSEmmanuel Vadot      required:
65c66ec88fSEmmanuel Vadot        - interrupts
66c66ec88fSEmmanuel Vadot  - if:
67c66ec88fSEmmanuel Vadot      properties:
68c66ec88fSEmmanuel Vadot        compatible:
69c66ec88fSEmmanuel Vadot          contains:
70c66ec88fSEmmanuel Vadot            enum:
71c66ec88fSEmmanuel Vadot              - st,stm32h7-exti
72c66ec88fSEmmanuel Vadot    then:
73c66ec88fSEmmanuel Vadot      properties:
74c66ec88fSEmmanuel Vadot        interrupts:
75c66ec88fSEmmanuel Vadot          minItems: 1
76c66ec88fSEmmanuel Vadot          maxItems: 96
77c66ec88fSEmmanuel Vadot      required:
78c66ec88fSEmmanuel Vadot        - interrupts
79c66ec88fSEmmanuel Vadot
80c66ec88fSEmmanuel VadotadditionalProperties: false
81c66ec88fSEmmanuel Vadot
82c66ec88fSEmmanuel Vadotexamples:
83c66ec88fSEmmanuel Vadot  - |
84c66ec88fSEmmanuel Vadot    //Example 1
85c66ec88fSEmmanuel Vadot    exti1: interrupt-controller@5000d000 {
86c66ec88fSEmmanuel Vadot        compatible = "st,stm32mp1-exti", "syscon";
87c66ec88fSEmmanuel Vadot        interrupt-controller;
88c66ec88fSEmmanuel Vadot        #interrupt-cells = <2>;
89c66ec88fSEmmanuel Vadot        reg = <0x5000d000 0x400>;
90c66ec88fSEmmanuel Vadot    };
91c66ec88fSEmmanuel Vadot
92c66ec88fSEmmanuel Vadot    //Example 2
93c66ec88fSEmmanuel Vadot    exti2: interrupt-controller@40013c00 {
94c66ec88fSEmmanuel Vadot        compatible = "st,stm32-exti";
95c66ec88fSEmmanuel Vadot        interrupt-controller;
96c66ec88fSEmmanuel Vadot        #interrupt-cells = <2>;
97c66ec88fSEmmanuel Vadot        reg = <0x40013C00 0x400>;
98c66ec88fSEmmanuel Vadot        interrupts = <1>, <2>, <3>, <6>, <7>, <8>, <9>, <10>, <23>, <40>, <41>, <42>, <62>, <76>;
99c66ec88fSEmmanuel Vadot    };
100c66ec88fSEmmanuel Vadot
101c66ec88fSEmmanuel Vadot...
102