[PATCH 09/12] ARM: dts: stm32: Use exti interrupt-map on stm32mp131

From: Antonio Borneo
Date: Fri Feb 16 2024 - 04:52:42 EST


Stop using the internal table of the exti driver and use the more
flexible interrupt-map feature in DT.
By switching away from using the internal table, there is no need
anymore to use the specific compatible "st,stm32mp13-exti", which
was introduced to select the proper internal table.

Convert the driver table to interrupt-map property.
Switch the compatible string to the generic "st,stm32mp1-exti", in
place of the specific "st,stm32mp13-exti".

Older DT using compatible "st,stm32mp13-exti" will still work as
the driver remains backward compatible.

Signed-off-by: Antonio Borneo <antonio.borneo@xxxxxxxxxxx>
---
arch/arm/boot/dts/st/stm32mp131.dtsi | 49 +++++++++++++++++++++++++++-
1 file changed, 48 insertions(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/st/stm32mp131.dtsi b/arch/arm/boot/dts/st/stm32mp131.dtsi
index b04d24c939c3..14bd1c9bedd9 100644
--- a/arch/arm/boot/dts/st/stm32mp131.dtsi
+++ b/arch/arm/boot/dts/st/stm32mp131.dtsi
@@ -1093,10 +1093,57 @@ rcc: rcc@50000000 {
};

exti: interrupt-controller@5000d000 {
- compatible = "st,stm32mp13-exti", "syscon";
+ compatible = "st,stm32mp1-exti", "syscon";
interrupt-controller;
#interrupt-cells = <2>;
+ #address-cells = <0>;
reg = <0x5000d000 0x400>;
+
+ exti-interrupt-map {
+ #address-cells = <0>;
+ #interrupt-cells = <2>;
+ interrupt-map-mask = <0xffffffff 0>;
+ interrupt-map =
+ <0 0 &intc GIC_SPI 6 IRQ_TYPE_LEVEL_HIGH>,
+ <1 0 &intc GIC_SPI 7 IRQ_TYPE_LEVEL_HIGH>,
+ <2 0 &intc GIC_SPI 8 IRQ_TYPE_LEVEL_HIGH>,
+ <3 0 &intc GIC_SPI 9 IRQ_TYPE_LEVEL_HIGH>,
+ <4 0 &intc GIC_SPI 10 IRQ_TYPE_LEVEL_HIGH>,
+ <5 0 &intc GIC_SPI 24 IRQ_TYPE_LEVEL_HIGH>,
+ <6 0 &intc GIC_SPI 65 IRQ_TYPE_LEVEL_HIGH>,
+ <7 0 &intc GIC_SPI 66 IRQ_TYPE_LEVEL_HIGH>,
+ <8 0 &intc GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
+ <9 0 &intc GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
+ <10 0 &intc GIC_SPI 41 IRQ_TYPE_LEVEL_HIGH>,
+ <11 0 &intc GIC_SPI 43 IRQ_TYPE_LEVEL_HIGH>,
+ <12 0 &intc GIC_SPI 77 IRQ_TYPE_LEVEL_HIGH>,
+ <13 0 &intc GIC_SPI 78 IRQ_TYPE_LEVEL_HIGH>,
+ <14 0 &intc GIC_SPI 106 IRQ_TYPE_LEVEL_HIGH>,
+ <15 0 &intc GIC_SPI 109 IRQ_TYPE_LEVEL_HIGH>,
+ <16 0 &intc GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>,
+ <19 0 &intc GIC_SPI 3 IRQ_TYPE_LEVEL_HIGH>,
+ <21 0 &intc GIC_SPI 32 IRQ_TYPE_LEVEL_HIGH>,
+ <22 0 &intc GIC_SPI 34 IRQ_TYPE_LEVEL_HIGH>,
+ <23 0 &intc GIC_SPI 73 IRQ_TYPE_LEVEL_HIGH>,
+ <24 0 &intc GIC_SPI 93 IRQ_TYPE_LEVEL_HIGH>,
+ <25 0 &intc GIC_SPI 114 IRQ_TYPE_LEVEL_HIGH>,
+ <26 0 &intc GIC_SPI 38 IRQ_TYPE_LEVEL_HIGH>,
+ <27 0 &intc GIC_SPI 39 IRQ_TYPE_LEVEL_HIGH>,
+ <28 0 &intc GIC_SPI 40 IRQ_TYPE_LEVEL_HIGH>,
+ <29 0 &intc GIC_SPI 72 IRQ_TYPE_LEVEL_HIGH>,
+ <30 0 &intc GIC_SPI 53 IRQ_TYPE_LEVEL_HIGH>,
+ <31 0 &intc GIC_SPI 54 IRQ_TYPE_LEVEL_HIGH>,
+ <32 0 &intc GIC_SPI 83 IRQ_TYPE_LEVEL_HIGH>,
+ <33 0 &intc GIC_SPI 84 IRQ_TYPE_LEVEL_HIGH>,
+ <44 0 &intc GIC_SPI 96 IRQ_TYPE_LEVEL_HIGH>,
+ <47 0 &intc GIC_SPI 92 IRQ_TYPE_LEVEL_HIGH>,
+ <48 0 &intc GIC_SPI 116 IRQ_TYPE_LEVEL_HIGH>,
+ <50 0 &intc GIC_SPI 117 IRQ_TYPE_LEVEL_HIGH>,
+ <52 0 &intc GIC_SPI 118 IRQ_TYPE_LEVEL_HIGH>,
+ <53 0 &intc GIC_SPI 119 IRQ_TYPE_LEVEL_HIGH>,
+ <68 0 &intc GIC_SPI 63 IRQ_TYPE_LEVEL_HIGH>,
+ <70 0 &intc GIC_SPI 98 IRQ_TYPE_LEVEL_HIGH>;
+ };
};

syscfg: syscon@50020000 {
--
2.34.1