Skip to content

Commit c666c4d

Browse files
djiatsaf-stkartben
authored andcommitted
soc: st: stm32: stm32g0x: add soc configs for i2c shared irq
check if multiples UART instances with same irq are enabled at same time then enable shared_interrupt handler. set the default value of SHARED_IRQ_MAX_NUM_CLIENTS config if we have more than 2 usarts instances enabled. Signed-off-by: Fabrice DJIATSA <[email protected]>
1 parent b6b70a0 commit c666c4d

File tree

1 file changed

+40
-0
lines changed

1 file changed

+40
-0
lines changed

soc/st/stm32/stm32g0x/Kconfig.defconfig

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,44 @@ if SOC_SERIES_STM32G0X
99

1010
rsource "Kconfig.defconfig.stm32g0*"
1111

12+
if UART_STM32
13+
14+
configdefault SHARED_IRQ_MAX_NUM_CLIENTS
15+
# LPUART1 - USART3/4/5/6 instances are all enabled
16+
default 5 if $(dt_nodelabel_enabled,usart3) && $(dt_nodelabel_enabled,usart4) && $(dt_nodelabel_enabled,usart5) && $(dt_nodelabel_enabled,usart6) && $(dt_nodelabel_enabled,lpuart1)
17+
# 4 out of 5 USART instances are enabled
18+
default 4 if $(dt_nodelabel_enabled,usart3) && $(dt_nodelabel_enabled,usart4) && $(dt_nodelabel_enabled,usart5) && $(dt_nodelabel_enabled,usart6)
19+
default 4 if $(dt_nodelabel_enabled,usart3) && $(dt_nodelabel_enabled,usart4) && $(dt_nodelabel_enabled,usart5) && $(dt_nodelabel_enabled,lpuart1)
20+
default 4 if $(dt_nodelabel_enabled,usart3) && $(dt_nodelabel_enabled,usart4) && $(dt_nodelabel_enabled,usart6) && $(dt_nodelabel_enabled,lpuart1)
21+
default 4 if $(dt_nodelabel_enabled,usart3) && $(dt_nodelabel_enabled,usart5) && $(dt_nodelabel_enabled,usart6) && $(dt_nodelabel_enabled,lpuart1)
22+
default 4 if $(dt_nodelabel_enabled,usart4) && $(dt_nodelabel_enabled,usart5) && $(dt_nodelabel_enabled,usart6) && $(dt_nodelabel_enabled,lpuart1)
23+
# 3 out of 5 USART instances are enabled
24+
default 3 if $(dt_nodelabel_enabled,usart3) && $(dt_nodelabel_enabled,usart4) && $(dt_nodelabel_enabled,usart5)
25+
default 3 if $(dt_nodelabel_enabled,usart3) && $(dt_nodelabel_enabled,usart4) && $(dt_nodelabel_enabled,usart6)
26+
default 3 if $(dt_nodelabel_enabled,usart3) && $(dt_nodelabel_enabled,usart5) && $(dt_nodelabel_enabled,usart6)
27+
default 3 if $(dt_nodelabel_enabled,usart3) && $(dt_nodelabel_enabled,usart4) && $(dt_nodelabel_enabled,lpuart1)
28+
default 3 if $(dt_nodelabel_enabled,usart3) && $(dt_nodelabel_enabled,usart5) && $(dt_nodelabel_enabled,lpuart1)
29+
default 3 if $(dt_nodelabel_enabled,usart3) && $(dt_nodelabel_enabled,usart6) && $(dt_nodelabel_enabled,lpuart1)
30+
default 3 if $(dt_nodelabel_enabled,usart4) && $(dt_nodelabel_enabled,usart5) && $(dt_nodelabel_enabled,usart6)
31+
default 3 if $(dt_nodelabel_enabled,usart4) && $(dt_nodelabel_enabled,usart5) && $(dt_nodelabel_enabled,lpuart1)
32+
default 3 if $(dt_nodelabel_enabled,usart4) && $(dt_nodelabel_enabled,usart6) && $(dt_nodelabel_enabled,lpuart1)
33+
default 3 if $(dt_nodelabel_enabled,usart5) && $(dt_nodelabel_enabled,usart6) && $(dt_nodelabel_enabled,lpuart1)
34+
35+
config SHARED_INTERRUPTS
36+
# LPUART1 - USART3/4/5/6 : irq 29
37+
default y if $(dt_nodelabel_enabled,usart3) && $(dt_nodelabel_enabled,usart4)
38+
default y if $(dt_nodelabel_enabled,usart3) && $(dt_nodelabel_enabled,usart5)
39+
default y if $(dt_nodelabel_enabled,usart3) && $(dt_nodelabel_enabled,usart6)
40+
default y if $(dt_nodelabel_enabled,usart3) && $(dt_nodelabel_enabled,lpuart1)
41+
default y if $(dt_nodelabel_enabled,usart4) && $(dt_nodelabel_enabled,usart5)
42+
default y if $(dt_nodelabel_enabled,usart4) && $(dt_nodelabel_enabled,usart6)
43+
default y if $(dt_nodelabel_enabled,usart4) && $(dt_nodelabel_enabled,lpuart1)
44+
default y if $(dt_nodelabel_enabled,usart5) && $(dt_nodelabel_enabled,usart6)
45+
default y if $(dt_nodelabel_enabled,usart5) && $(dt_nodelabel_enabled,lpuart1)
46+
default y if $(dt_nodelabel_enabled,usart6) && $(dt_nodelabel_enabled,lpuart1)
47+
# USART2 - LPUART2 : irq 28
48+
default y if $(dt_nodelabel_enabled,lpuart2) && $(dt_nodelabel_enabled,usart2)
49+
50+
endif # UART_STM32
51+
1252
endif # SOC_SERIES_STM32G0X

0 commit comments

Comments
 (0)