1# Copyright (c) 2018 Intel Corporation
2# SPDX-License-Identifier: Apache-2.0
3
4DT_COMPAT_ST_STM32_I2C_V1 := st,stm32-i2c-v1
5DT_COMPAT_ST_STM32_I2C_V2 := st,stm32-i2c-v2
6
7menuconfig I2C_STM32
8	bool "STM32 I2C driver"
9	default $(dt_compat_enabled,$(DT_COMPAT_ST_STM32_I2C_V1)) || $(dt_compat_enabled,$(DT_COMPAT_ST_STM32_I2C_V2))
10	depends on SOC_FAMILY_STM32
11	help
12	  Enable I2C support on the STM32 SoCs
13
14if I2C_STM32
15
16config I2C_STM32_V1
17	bool
18	default $(dt_compat_enabled,$(DT_COMPAT_ST_STM32_I2C_V1))
19	select USE_STM32_LL_I2C
20	select I2C_STM32_INTERRUPT if I2C_SLAVE
21	help
22	  Enable I2C support on the STM32 F1 and F4X family of processors. This
23	  driver also supports the F2 and L1 series.
24
25config I2C_STM32_V2
26	bool
27	default $(dt_compat_enabled,$(DT_COMPAT_ST_STM32_I2C_V2))
28	select USE_STM32_LL_I2C
29	select USE_STM32_LL_RCC if SOC_SERIES_STM32F0X || SOC_SERIES_STM32F3X
30	select I2C_STM32_INTERRUPT if I2C_SLAVE
31	help
32	  Enable I2C support on the STM32 F0, F3, F7, L4, WBX, MP1, G0, G4, WL and
33	  H7 family of processors.
34	  This driver also supports the L0 series.
35	  If I2C_SLAVE is enabled it selects I2C_STM32_INTERRUPT, since slave mode
36	  is only supported by this driver with interrupts enabled.
37
38config I2C_STM32_INTERRUPT
39	bool "STM32 MCU I2C Interrupt Support"
40	depends on I2C_STM32_V1 || I2C_STM32_V2
41	default y
42	help
43	  Enable Interrupt support for the I2C Driver
44
45config I2C_STM32_COMBINED_INTERRUPT
46	bool
47	depends on I2C_STM32_INTERRUPT
48	default y if SOC_SERIES_STM32F0X || SOC_SERIES_STM32G0X || SOC_SERIES_STM32L0X
49
50endif # I2C_STM32
51