1111 *
1212 * Driver is currently implemented to support following EXTI lines
1313 * STM32F1/STM32F3: Lines 0 to 15. Lines > 15 not supported
14- * STM32F0/STM32L0/STM32L4: Lines 0 to 15. Lines > 15 are not mapped on an IRQ
14+ * STM32F0/STM32L0/STM32L4/STM32G0 : Lines 0 to 15. Lines > 15 are not mapped on an IRQ
1515 * STM32F2/STM32F4: Lines 0 to 15, 16, 17 18, 21 and 22. Others not supported
1616 * STM32F7: Lines 0 to 15, 16, 17 18, 21, 22 and 23. Others not supported
1717 *
2222#include "exti_stm32.h"
2323
2424#if defined(CONFIG_SOC_SERIES_STM32F0X ) || \
25- defined(CONFIG_SOC_SERIES_STM32L0X )
25+ defined(CONFIG_SOC_SERIES_STM32L0X ) || \
26+ defined(CONFIG_SOC_SERIES_STM32G0X )
2627const IRQn_Type exti_irq_table [] = {
2728 EXTI0_1_IRQn , EXTI0_1_IRQn , EXTI2_3_IRQn , EXTI2_3_IRQn ,
2829 EXTI4_15_IRQn , EXTI4_15_IRQn , EXTI4_15_IRQn , EXTI4_15_IRQn ,
@@ -132,7 +133,7 @@ void stm32_exti_disable(int line)
132133static inline int stm32_exti_is_pending (int line )
133134{
134135 if (line < 32 ) {
135- #if defined(CONFIG_SOC_SERIES_STM32MP1X )
136+ #if defined(CONFIG_SOC_SERIES_STM32MP1X ) || defined( CONFIG_SOC_SERIES_STM32G0X )
136137 return (LL_EXTI_IsActiveRisingFlag_0_31 (1 << line ) ||
137138 LL_EXTI_IsActiveFallingFlag_0_31 (1 << line ));
138139#else
@@ -152,7 +153,7 @@ static inline int stm32_exti_is_pending(int line)
152153static inline void stm32_exti_clear_pending (int line )
153154{
154155 if (line < 32 ) {
155- #if defined(CONFIG_SOC_SERIES_STM32MP1X )
156+ #if defined(CONFIG_SOC_SERIES_STM32MP1X ) || defined( CONFIG_SOC_SERIES_STM32G0X )
156157 LL_EXTI_ClearRisingFlag_0_31 (1 << line );
157158 LL_EXTI_ClearFallingFlag_0_31 (1 << line );
158159#else
@@ -214,7 +215,9 @@ static void __stm32_exti_isr(int min, int max, void *arg)
214215 }
215216}
216217
217- #if defined(CONFIG_SOC_SERIES_STM32F0X ) || defined(CONFIG_SOC_SERIES_STM32L0X )
218+ #if defined(CONFIG_SOC_SERIES_STM32F0X ) || \
219+ defined(CONFIG_SOC_SERIES_STM32L0X ) || \
220+ defined(CONFIG_SOC_SERIES_STM32G0X )
218221static inline void __stm32_exti_isr_0_1 (void * arg )
219222{
220223 __stm32_exti_isr (0 , 2 , arg );
@@ -409,7 +412,8 @@ static void __stm32_exti_connect_irqs(struct device *dev)
409412 ARG_UNUSED (dev );
410413
411414#if defined(CONFIG_SOC_SERIES_STM32F0X ) || \
412- defined(CONFIG_SOC_SERIES_STM32L0X )
415+ defined(CONFIG_SOC_SERIES_STM32L0X ) || \
416+ defined(CONFIG_SOC_SERIES_STM32G0X )
413417 IRQ_CONNECT (EXTI0_1_IRQn ,
414418 CONFIG_EXTI_STM32_EXTI1_0_IRQ_PRI ,
415419 __stm32_exti_isr_0_1 , DEVICE_GET (exti_stm32 ),
0 commit comments