| # Copyright (c) 2018 Intel Corporation |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| DT_COMPAT_ST_STM32_I2C_V1 := st,stm32-i2c-v1 |
| DT_COMPAT_ST_STM32_I2C_V2 := st,stm32-i2c-v2 |
| |
| menuconfig I2C_STM32 |
| bool "STM32 I2C driver" |
| default $(dt_compat_enabled,$(DT_COMPAT_ST_STM32_I2C_V1)) || $(dt_compat_enabled,$(DT_COMPAT_ST_STM32_I2C_V2)) |
| depends on SOC_FAMILY_STM32 |
| help |
| Enable I2C support on the STM32 SoCs |
| |
| if I2C_STM32 |
| |
| config I2C_STM32_V1 |
| bool |
| default $(dt_compat_enabled,$(DT_COMPAT_ST_STM32_I2C_V1)) |
| select USE_STM32_LL_I2C |
| select I2C_STM32_INTERRUPT if I2C_SLAVE |
| help |
| Enable I2C support on the STM32 F1 and F4X family of processors. This |
| driver also supports the F2 and L1 series. |
| |
| config I2C_STM32_V2 |
| bool |
| default $(dt_compat_enabled,$(DT_COMPAT_ST_STM32_I2C_V2)) |
| select USE_STM32_LL_I2C |
| select USE_STM32_LL_RCC if SOC_SERIES_STM32F0X || SOC_SERIES_STM32F3X |
| select I2C_STM32_INTERRUPT if I2C_SLAVE |
| help |
| Enable I2C support on the STM32 F0, F3, F7, L4, WBX, MP1, G0, G4, WL and |
| H7 family of processors. |
| This driver also supports the L0 series. |
| If I2C_SLAVE is enabled it selects I2C_STM32_INTERRUPT, since slave mode |
| is only supported by this driver with interrupts enabled. |
| |
| config I2C_STM32_INTERRUPT |
| bool "STM32 MCU I2C Interrupt Support" |
| depends on I2C_STM32_V1 || I2C_STM32_V2 |
| default y |
| help |
| Enable Interrupt support for the I2C Driver |
| |
| config I2C_STM32_COMBINED_INTERRUPT |
| bool |
| depends on I2C_STM32_INTERRUPT |
| default y if SOC_SERIES_STM32F0X || SOC_SERIES_STM32G0X || SOC_SERIES_STM32L0X |
| |
| endif # I2C_STM32 |