stm32wl5: add EXTI support for GPIO

This patch implements working support for EXTI GPIO.

Signed-off-by: Michał Łyszczek <michal.lyszczek@bofc.pl>

--
v1 -> v2:
Suggested by: Petro Karashchenko
- change (1 << n) to (1 << (n)) in macro definition
- change 1 << X to (1 << X) in code
- fix alignment

v2 -> v3:
Suggested by: Petro Karashchenko
- I was supposed to change (1 << pin) to 1 << pin, not the other way around:)
This commit is contained in:
Michał Łyszczek
2022-06-12 14:06:22 +02:00
committed by Xiang Xiao
parent cb8c992914
commit 288b57d5ca
4 changed files with 370 additions and 51 deletions
+13 -3
View File
@@ -30,14 +30,14 @@ Peripheral Support Notes
========== ======= =====
IRQs Yes
GPIO Yes
EXTI No
EXTI Yes
HSE Yes
PLL Yes Tested @ 48MHz
HSI Yes Not tested
MSI Yes Not tested
LSE Yes Not tested
RCC Yes All registers defined, not all peripherals enabled
SYSCFG Yes All registers defined, remapping not tested
SYSCFG Yes All registers defined, GPIO EXTI works, remapping not tested
USART Yes
LPUART Yes full speed with HSE works, low power mode with LSE not implemented
DMA No
@@ -102,7 +102,7 @@ SYSCFG
------
System configuration controller. Can be used to remap memory or
manage external interrupts.
manage GPIO multiplexer for EXTI.
GPIO
----
@@ -123,6 +123,16 @@ IPCC
Inter-processor communication controller. IPCC is used to exchange data
between Cortex-M4 and Cortex-M0 CPUs.
EXTI
----
Extended interrupts and event controller. Extends interrupts not provided
by NVIC. For example, there is only one interrupt for GPIO5..9 in NVIC,
but thanks to EXTI we can differentiate which GPIO caused interrupt. Such
interrupt first goes through EXTI and is then forwarded to main NVIC.
EXTI for gpio can be enabled via `stm32wl5_gpiosetevent` function.
Supported Boards
================