[Linux-stm32] STM32MP1 level triggered interrupts
Alexandre Torgue
alexandre.torgue at st.com
Tue Jan 21 17:12:49 UTC 2020
Hi Marek,
On 1/20/20 7:32 PM, Marek Vasut wrote:
> Hi,
>
> I have a device connected to STM32MP157C which requires active-low
> level-triggered interrupt sink. The device interrupt line is connected
> to the SoC gpio-C bank, which has it's interrupt line routed into EXTI,
> which can only handle edge triggered interrupts to my understanding.
correct.
>
> However, ARM GIC should be able to do both and EXTI has this irqmux /
> EXTImux functionality, which -- if my understanding is correct -- is
> capable of routing a select GPIO line directly into the GIC as an EXTIn
> interrupt signal. Thus, this might permit handling active low
> level-triggered interrupts. Is there some DT binding to configure this yet ?
>
> Or is there some other, better, way ?
>
For SPIs, GIC controller handles rising edge triggered interrupt and
active high level-sensitive. GIC integration in STM32MP157c makes that
only active high level-sensitive configuration for SPI interrupts is
supported.
Concerning, your question:
Setting your gpioC interruption as "falling edge" should be enough. On
gpioCx falling edge, a high-level signal is generated by exti and sent
to GIC (which triggers GIC interrupt). This signal remains high until
stm32_irq_ack is called.
So you only need: (ex for gpioc 1).
interrupt-parent = <&gpioc>;
interrupts = <1 IRQ_TYPE_EDGE_FALLING>;
regards
Alex
More information about the Linux-stm32
mailing list