Linux Audio

Check our new training course

Embedded Linux Audio

Check our new training course
with Creative Commons CC-BY-SA
lecture materials

Bootlin logo

Elixir Cross Referencer

Loading...
# 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