1b9da2fccSAlexandre Torgue# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 2b9da2fccSAlexandre Torgue%YAML 1.2 3b9da2fccSAlexandre Torgue--- 4b9da2fccSAlexandre Torgue$id: http://devicetree.org/schemas/interrupt-controller/st,stm32-exti.yaml# 5b9da2fccSAlexandre Torgue$schema: http://devicetree.org/meta-schemas/core.yaml# 6b9da2fccSAlexandre Torgue 7dd3cb467SAndrew Lunntitle: STM32 External Interrupt Controller 8b9da2fccSAlexandre Torgue 9b9da2fccSAlexandre Torguemaintainers: 10f4eedebdSPatrice Chotard - Alexandre Torgue <alexandre.torgue@foss.st.com> 11f4eedebdSPatrice Chotard - Ludovic Barre <ludovic.barre@foss.st.com> 12b9da2fccSAlexandre Torgue 13b9da2fccSAlexandre Torgueproperties: 14b9da2fccSAlexandre Torgue compatible: 15b9da2fccSAlexandre Torgue oneOf: 16b9da2fccSAlexandre Torgue - items: 17b9da2fccSAlexandre Torgue - enum: 18b9da2fccSAlexandre Torgue - st,stm32-exti 19b9da2fccSAlexandre Torgue - st,stm32h7-exti 20b9da2fccSAlexandre Torgue - items: 21b9da2fccSAlexandre Torgue - enum: 22b9da2fccSAlexandre Torgue - st,stm32mp1-exti 23d3350929SAlexandre Torgue - st,stm32mp13-exti 24b9da2fccSAlexandre Torgue - const: syscon 25b9da2fccSAlexandre Torgue 26b9da2fccSAlexandre Torgue "#interrupt-cells": 27b9da2fccSAlexandre Torgue const: 2 28b9da2fccSAlexandre Torgue 29b9da2fccSAlexandre Torgue reg: 30b9da2fccSAlexandre Torgue maxItems: 1 31b9da2fccSAlexandre Torgue 32b9da2fccSAlexandre Torgue interrupt-controller: true 33b9da2fccSAlexandre Torgue 34b9da2fccSAlexandre Torgue hwlocks: 35b9da2fccSAlexandre Torgue maxItems: 1 36b9da2fccSAlexandre Torgue description: 37b9da2fccSAlexandre Torgue Reference to a phandle of a hardware spinlock provider node. 38b9da2fccSAlexandre Torgue 39b9da2fccSAlexandre Torgue interrupts: 400499220dSRob Herring minItems: 1 410499220dSRob Herring maxItems: 96 42b9da2fccSAlexandre Torgue description: 43b9da2fccSAlexandre Torgue Interrupts references to primary interrupt controller 44b9da2fccSAlexandre Torgue 45b9da2fccSAlexandre Torguerequired: 46b9da2fccSAlexandre Torgue - "#interrupt-cells" 47b9da2fccSAlexandre Torgue - compatible 48b9da2fccSAlexandre Torgue - reg 49b9da2fccSAlexandre Torgue - interrupt-controller 50b9da2fccSAlexandre Torgue 51b9da2fccSAlexandre TorgueallOf: 52b9da2fccSAlexandre Torgue - $ref: /schemas/interrupt-controller.yaml# 53b9da2fccSAlexandre Torgue - if: 54b9da2fccSAlexandre Torgue properties: 55b9da2fccSAlexandre Torgue compatible: 56b9da2fccSAlexandre Torgue contains: 57b9da2fccSAlexandre Torgue enum: 58b9da2fccSAlexandre Torgue - st,stm32-exti 59b9da2fccSAlexandre Torgue then: 60b9da2fccSAlexandre Torgue properties: 61b9da2fccSAlexandre Torgue interrupts: 62b9da2fccSAlexandre Torgue minItems: 1 63b9da2fccSAlexandre Torgue maxItems: 32 64b9da2fccSAlexandre Torgue required: 65b9da2fccSAlexandre Torgue - interrupts 66b9da2fccSAlexandre Torgue - if: 67b9da2fccSAlexandre Torgue properties: 68b9da2fccSAlexandre Torgue compatible: 69b9da2fccSAlexandre Torgue contains: 70b9da2fccSAlexandre Torgue enum: 71b9da2fccSAlexandre Torgue - st,stm32h7-exti 72b9da2fccSAlexandre Torgue then: 73b9da2fccSAlexandre Torgue properties: 74b9da2fccSAlexandre Torgue interrupts: 75b9da2fccSAlexandre Torgue minItems: 1 76b9da2fccSAlexandre Torgue maxItems: 96 77b9da2fccSAlexandre Torgue required: 78b9da2fccSAlexandre Torgue - interrupts 79b9da2fccSAlexandre Torgue 80b9da2fccSAlexandre TorgueadditionalProperties: false 81b9da2fccSAlexandre Torgue 82b9da2fccSAlexandre Torgueexamples: 83b9da2fccSAlexandre Torgue - | 84b9da2fccSAlexandre Torgue //Example 1 85b9da2fccSAlexandre Torgue exti1: interrupt-controller@5000d000 { 86b9da2fccSAlexandre Torgue compatible = "st,stm32mp1-exti", "syscon"; 87b9da2fccSAlexandre Torgue interrupt-controller; 88b9da2fccSAlexandre Torgue #interrupt-cells = <2>; 89b9da2fccSAlexandre Torgue reg = <0x5000d000 0x400>; 90b9da2fccSAlexandre Torgue }; 91b9da2fccSAlexandre Torgue 92*e9c17d91SAntonio Borneo - | 93b9da2fccSAlexandre Torgue //Example 2 94*e9c17d91SAntonio Borneo #include <dt-bindings/interrupt-controller/arm-gic.h> 95*e9c17d91SAntonio Borneo exti2: interrupt-controller@5000d000 { 96*e9c17d91SAntonio Borneo compatible = "st,stm32mp1-exti", "syscon"; 97*e9c17d91SAntonio Borneo interrupt-controller; 98*e9c17d91SAntonio Borneo #interrupt-cells = <2>; 99*e9c17d91SAntonio Borneo reg = <0x5000d000 0x400>; 100*e9c17d91SAntonio Borneo interrupts-extended = 101*e9c17d91SAntonio Borneo <&intc GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>, 102*e9c17d91SAntonio Borneo <0>, 103*e9c17d91SAntonio Borneo <&intc GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>; 104*e9c17d91SAntonio Borneo }; 105*e9c17d91SAntonio Borneo 106*e9c17d91SAntonio Borneo - | 107*e9c17d91SAntonio Borneo //Example 3 108*e9c17d91SAntonio Borneo exti3: interrupt-controller@40013c00 { 109b9da2fccSAlexandre Torgue compatible = "st,stm32-exti"; 110b9da2fccSAlexandre Torgue interrupt-controller; 111b9da2fccSAlexandre Torgue #interrupt-cells = <2>; 112b9da2fccSAlexandre Torgue reg = <0x40013C00 0x400>; 113b9da2fccSAlexandre Torgue interrupts = <1>, <2>, <3>, <6>, <7>, <8>, <9>, <10>, <23>, <40>, <41>, <42>, <62>, <76>; 114b9da2fccSAlexandre Torgue }; 115b9da2fccSAlexandre Torgue 116b9da2fccSAlexandre Torgue... 117