STM32 External Interrupt Controller Required properties: - compatible: Should be: "st,stm32-exti" "st,stm32h7-exti" "st,stm32mp1-exti" - reg: Specifies base physical address and size of the registers - interrupt-controller: Indentifies the node as an interrupt controller - #interrupt-cells: Specifies the number of cells to encode an interrupt specifier, shall be 2 - interrupts: interrupts references to primary interrupt controller (only needed for exti controller with multiple exti under same parent interrupt: st,stm32-exti and st,stm32h7-exti) Optional properties: - hwlocks: reference to a phandle of a hardware spinlock provider node. Exti could have several parent interrupt controllers. In this case child nodes are used to describe those "extra" parent controllers. Properties to use are: - interrupt-controller: Indentifies the node as an interrupt controller - #interrupt-cells: Specifies the number of cells to encode an interrupt specifier, shall be 2 - interrupt-parent: Phandle to the interrupt parent node. - st,irq-number: Interrupt number mapped on the parent. See example 2. Example 1: exti: 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>; }; Example 2: exti: interrupt-controller@5000d000 { compatible = "st,stm32mp1-exti", "syscon"; interrupt-controller; #interrupt-cells = <2>; reg = <0x5000d000 0x400>; exti_pwr: exti-pwr { interrupt-controller; #interrupt-cells = <2>; interrupt-parent = <&pwr>; st,irq-number = <6>; }; };