18c2ecf20Sopenharmony_ci# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
28c2ecf20Sopenharmony_ci%YAML 1.2
38c2ecf20Sopenharmony_ci---
48c2ecf20Sopenharmony_ci$id: http://devicetree.org/schemas/interrupt-controller/st,stm32-exti.yaml#
58c2ecf20Sopenharmony_ci$schema: http://devicetree.org/meta-schemas/core.yaml#
68c2ecf20Sopenharmony_ci
78c2ecf20Sopenharmony_cititle: STM32 External Interrupt Controller Device Tree Bindings
88c2ecf20Sopenharmony_ci
98c2ecf20Sopenharmony_cimaintainers:
108c2ecf20Sopenharmony_ci  - Alexandre Torgue <alexandre.torgue@st.com>
118c2ecf20Sopenharmony_ci  - Ludovic Barre <ludovic.barre@st.com>
128c2ecf20Sopenharmony_ci
138c2ecf20Sopenharmony_ciproperties:
148c2ecf20Sopenharmony_ci  compatible:
158c2ecf20Sopenharmony_ci    oneOf:
168c2ecf20Sopenharmony_ci      - items:
178c2ecf20Sopenharmony_ci          - enum:
188c2ecf20Sopenharmony_ci              - st,stm32-exti
198c2ecf20Sopenharmony_ci              - st,stm32h7-exti
208c2ecf20Sopenharmony_ci      - items:
218c2ecf20Sopenharmony_ci          - enum:
228c2ecf20Sopenharmony_ci              - st,stm32mp1-exti
238c2ecf20Sopenharmony_ci          - const: syscon
248c2ecf20Sopenharmony_ci
258c2ecf20Sopenharmony_ci  "#interrupt-cells":
268c2ecf20Sopenharmony_ci    const: 2
278c2ecf20Sopenharmony_ci
288c2ecf20Sopenharmony_ci  reg:
298c2ecf20Sopenharmony_ci    maxItems: 1
308c2ecf20Sopenharmony_ci
318c2ecf20Sopenharmony_ci  interrupt-controller: true
328c2ecf20Sopenharmony_ci
338c2ecf20Sopenharmony_ci  hwlocks:
348c2ecf20Sopenharmony_ci    maxItems: 1
358c2ecf20Sopenharmony_ci    description:
368c2ecf20Sopenharmony_ci      Reference to a phandle of a hardware spinlock provider node.
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_ci  interrupts:
398c2ecf20Sopenharmony_ci    description:
408c2ecf20Sopenharmony_ci      Interrupts references to primary interrupt controller
418c2ecf20Sopenharmony_ci
428c2ecf20Sopenharmony_cirequired:
438c2ecf20Sopenharmony_ci  - "#interrupt-cells"
448c2ecf20Sopenharmony_ci  - compatible
458c2ecf20Sopenharmony_ci  - reg
468c2ecf20Sopenharmony_ci  - interrupt-controller
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ciallOf:
498c2ecf20Sopenharmony_ci  - $ref: /schemas/interrupt-controller.yaml#
508c2ecf20Sopenharmony_ci  - if:
518c2ecf20Sopenharmony_ci      properties:
528c2ecf20Sopenharmony_ci        compatible:
538c2ecf20Sopenharmony_ci          contains:
548c2ecf20Sopenharmony_ci            enum:
558c2ecf20Sopenharmony_ci              - st,stm32-exti
568c2ecf20Sopenharmony_ci    then:
578c2ecf20Sopenharmony_ci      properties:
588c2ecf20Sopenharmony_ci        interrupts:
598c2ecf20Sopenharmony_ci          minItems: 1
608c2ecf20Sopenharmony_ci          maxItems: 32
618c2ecf20Sopenharmony_ci      required:
628c2ecf20Sopenharmony_ci        - interrupts
638c2ecf20Sopenharmony_ci  - if:
648c2ecf20Sopenharmony_ci      properties:
658c2ecf20Sopenharmony_ci        compatible:
668c2ecf20Sopenharmony_ci          contains:
678c2ecf20Sopenharmony_ci            enum:
688c2ecf20Sopenharmony_ci              - st,stm32h7-exti
698c2ecf20Sopenharmony_ci    then:
708c2ecf20Sopenharmony_ci      properties:
718c2ecf20Sopenharmony_ci        interrupts:
728c2ecf20Sopenharmony_ci          minItems: 1
738c2ecf20Sopenharmony_ci          maxItems: 96
748c2ecf20Sopenharmony_ci      required:
758c2ecf20Sopenharmony_ci        - interrupts
768c2ecf20Sopenharmony_ci
778c2ecf20Sopenharmony_ciadditionalProperties: false
788c2ecf20Sopenharmony_ci
798c2ecf20Sopenharmony_ciexamples:
808c2ecf20Sopenharmony_ci  - |
818c2ecf20Sopenharmony_ci    //Example 1
828c2ecf20Sopenharmony_ci    exti1: interrupt-controller@5000d000 {
838c2ecf20Sopenharmony_ci        compatible = "st,stm32mp1-exti", "syscon";
848c2ecf20Sopenharmony_ci        interrupt-controller;
858c2ecf20Sopenharmony_ci        #interrupt-cells = <2>;
868c2ecf20Sopenharmony_ci        reg = <0x5000d000 0x400>;
878c2ecf20Sopenharmony_ci    };
888c2ecf20Sopenharmony_ci
898c2ecf20Sopenharmony_ci    //Example 2
908c2ecf20Sopenharmony_ci    exti2: interrupt-controller@40013c00 {
918c2ecf20Sopenharmony_ci        compatible = "st,stm32-exti";
928c2ecf20Sopenharmony_ci        interrupt-controller;
938c2ecf20Sopenharmony_ci        #interrupt-cells = <2>;
948c2ecf20Sopenharmony_ci        reg = <0x40013C00 0x400>;
958c2ecf20Sopenharmony_ci        interrupts = <1>, <2>, <3>, <6>, <7>, <8>, <9>, <10>, <23>, <40>, <41>, <42>, <62>, <76>;
968c2ecf20Sopenharmony_ci    };
978c2ecf20Sopenharmony_ci
988c2ecf20Sopenharmony_ci...
99