117 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			117 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
 | |
| %YAML 1.2
 | |
| ---
 | |
| $id: http://devicetree.org/schemas/interrupt-controller/st,stm32-exti.yaml#
 | |
| $schema: http://devicetree.org/meta-schemas/core.yaml#
 | |
| 
 | |
| title: STM32 External Interrupt Controller
 | |
| 
 | |
| maintainers:
 | |
|   - Alexandre Torgue <alexandre.torgue@foss.st.com>
 | |
|   - Ludovic Barre <ludovic.barre@foss.st.com>
 | |
| 
 | |
| properties:
 | |
|   compatible:
 | |
|     oneOf:
 | |
|       - items:
 | |
|           - enum:
 | |
|               - st,stm32-exti
 | |
|               - st,stm32h7-exti
 | |
|       - items:
 | |
|           - enum:
 | |
|               - st,stm32mp1-exti
 | |
|               - st,stm32mp13-exti
 | |
|           - const: syscon
 | |
| 
 | |
|   "#interrupt-cells":
 | |
|     const: 2
 | |
| 
 | |
|   reg:
 | |
|     maxItems: 1
 | |
| 
 | |
|   interrupt-controller: true
 | |
| 
 | |
|   hwlocks:
 | |
|     maxItems: 1
 | |
|     description:
 | |
|       Reference to a phandle of a hardware spinlock provider node.
 | |
| 
 | |
|   interrupts:
 | |
|     minItems: 1
 | |
|     maxItems: 96
 | |
|     description:
 | |
|       Interrupts references to primary interrupt controller
 | |
| 
 | |
| required:
 | |
|   - "#interrupt-cells"
 | |
|   - compatible
 | |
|   - reg
 | |
|   - interrupt-controller
 | |
| 
 | |
| allOf:
 | |
|   - $ref: /schemas/interrupt-controller.yaml#
 | |
|   - if:
 | |
|       properties:
 | |
|         compatible:
 | |
|           contains:
 | |
|             enum:
 | |
|               - st,stm32-exti
 | |
|     then:
 | |
|       properties:
 | |
|         interrupts:
 | |
|           minItems: 1
 | |
|           maxItems: 32
 | |
|       required:
 | |
|         - interrupts
 | |
|   - if:
 | |
|       properties:
 | |
|         compatible:
 | |
|           contains:
 | |
|             enum:
 | |
|               - st,stm32h7-exti
 | |
|     then:
 | |
|       properties:
 | |
|         interrupts:
 | |
|           minItems: 1
 | |
|           maxItems: 96
 | |
|       required:
 | |
|         - interrupts
 | |
| 
 | |
| additionalProperties: false
 | |
| 
 | |
| examples:
 | |
|   - |
 | |
|     //Example 1
 | |
|     exti1: interrupt-controller@5000d000 {
 | |
|         compatible = "st,stm32mp1-exti", "syscon";
 | |
|         interrupt-controller;
 | |
|         #interrupt-cells = <2>;
 | |
|         reg = <0x5000d000 0x400>;
 | |
|     };    
 | |
| 
 | |
|   - |
 | |
|     //Example 2
 | |
|     #include <dt-bindings/interrupt-controller/arm-gic.h>
 | |
|     exti2: interrupt-controller@5000d000 {
 | |
|         compatible = "st,stm32mp1-exti", "syscon";
 | |
|         interrupt-controller;
 | |
|         #interrupt-cells = <2>;
 | |
|         reg = <0x5000d000 0x400>;
 | |
|         interrupts-extended =
 | |
|             <&intc GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
 | |
|             <0>,
 | |
|             <&intc GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>;
 | |
|     };    
 | |
| 
 | |
|   - |
 | |
|     //Example 3
 | |
|     exti3: interrupt-controller@40013c00 {
 | |
|         compatible = "st,stm32-exti";
 | |
|         interrupt-controller;
 | |
|         #interrupt-cells = <2>;
 | |
|         reg = <0x40013C00 0x400>;
 | |
|         interrupts = <1>, <2>, <3>, <6>, <7>, <8>, <9>, <10>, <23>, <40>, <41>, <42>, <62>, <76>;
 | |
|     };    
 | |
| 
 | |
| ...
 |