blob: c0ab49a8bd11551a1a4e360e294d57553e3d2044 [file] [log] [blame]
# 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