[PATCH v2 00/11] irqchip/stm32-exti: add irq map in DT and STM32MP25 support

From: Antonio Borneo
Date: Mon Apr 15 2024 - 09:51:32 EST


This series adds support for STM32MP25 to stm32-exti driver.
The STM32MP25 includes two instances of the EXTI irq controller,
each mapping their EXTI events to different GIC irq sets.

In the current driver code, the mapping between events and irqs
would require adding to the driver two new compatibles and two
new mapping tables for this new SoC. This way of working starts
showing it's limits; it doesn't scale and is not flexible.

This series uses the optional DT property interrupts-extended to
provide the mapping between EXTI events and GIC irqs, thus moving
in the DT the description of the HW connections between the EXTI
and the GIC.
Being the DT property interrupts-extended optional, it guarantees
the backward compatibility with the existing DT for STM32MP1xx.
Nevertheless the series updates and uniforms the existing DT by
adding to them the property interrupts-extended too.

At last, this series enables GPIO irqs on STM32MP25 by using the
new exti node as interrupt parent of the pinctrl nodes.


V1 -> V2
- Switch away from the clever abuse of interrupt-map to a more
humble use of interrupts-extended.
- Drop the addition of the v2m child node in GIC, as it is not
anymore required in this series.
- Drop Fixes tag on trivial whitespace cleanup.
- Fix S-O-B chain.
- Move the variable's declarations in the condition block where
they are used.
- When appropriate, change/use uniformly in the commit messages
the terms s/exti/EXTI/ and s/interrupt/event/ .


Antonio Borneo (11):
irqchip/stm32-exti: Fix minor indentation issue
dt-bindings: interrupt-controller: stm32-exti: Add irq mapping to
parent
irqchip/stm32-exti: Map interrupts through interrupts-extended
irqchip/stm32-exti: Convert driver to standard PM
irqchip/stm32-exti: Skip secure events
irqchip/stm32-exti: Mark events reserved with RIF configuration check
arm64: Kconfig.platforms: Enable STM32_EXTI for ARCH_STM32
ARM: dts: stm32: List exti parent interrupts on stm32mp151
ARM: dts: stm32: List exti parent interrupts on stm32mp131
arm64: dts: st: Add exti1 and exti2 nodes on stm32mp251
arm64: dts: st: Add interrupt parent to pinctrl on stm32mp251

.../interrupt-controller/st,stm32-exti.yaml | 17 +-
arch/arm/boot/dts/st/stm32mp131.dtsi | 74 +++++++-
arch/arm/boot/dts/st/stm32mp151.dtsi | 75 ++++++++
arch/arm64/Kconfig.platforms | 1 +
arch/arm64/boot/dts/st/stm32mp251.dtsi | 176 ++++++++++++++++++
drivers/irqchip/irq-stm32-exti.c | 139 +++++++++-----
6 files changed, 438 insertions(+), 44 deletions(-)


base-commit: 4cece764965020c22cff7665b18a012006359095
--
2.34.1