1# STMicroelectronics STM32G0 MCU line
2
3# Copyright (c) 2019 Philippe Retornaz <philippe@shapescale.com>
4# Copyright (c) 2019 STMicroelectronics
5# Copyright (c) 2021 G-Technologies Sdn. Bhd.
6# SPDX-License-Identifier: Apache-2.0
7
8if SOC_SERIES_STM32G0X
9
10rsource "Kconfig.defconfig.stm32g0*"
11
12if UART_STM32
13
14configdefault 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
35config 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
50endif # UART_STM32
51
52endif # SOC_SERIES_STM32G0X
53