2018-02-28 11:27:46 +01:00
|
|
|
# Copyright (c) 2018 Intel Corporation
|
|
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
|
|
|
|
menuconfig I2C_STM32
|
|
|
|
bool "STM32 I2C driver"
|
2022-07-20 15:44:42 -05:00
|
|
|
default y
|
|
|
|
depends on DT_HAS_ST_STM32_I2C_V1_ENABLED || DT_HAS_ST_STM32_I2C_V2_ENABLED
|
2024-08-29 16:04:49 +02:00
|
|
|
select PINCTRL
|
2018-02-28 11:27:46 +01:00
|
|
|
help
|
|
|
|
Enable I2C support on the STM32 SoCs
|
|
|
|
|
|
|
|
if I2C_STM32
|
|
|
|
|
|
|
|
config I2C_STM32_V1
|
2019-05-24 14:26:26 +02:00
|
|
|
bool
|
2022-07-20 15:44:42 -05:00
|
|
|
default y
|
|
|
|
depends on DT_HAS_ST_STM32_I2C_V1_ENABLED
|
2022-05-23 12:15:02 -05:00
|
|
|
select I2C_STM32_INTERRUPT if I2C_TARGET
|
2018-02-28 11:27:46 +01:00
|
|
|
help
|
2022-06-23 09:52:43 +02:00
|
|
|
Driver variant matching `st,stm32-i2c-v1` compatible.
|
2018-02-28 11:27:46 +01:00
|
|
|
|
|
|
|
config I2C_STM32_V2
|
2019-05-24 14:26:26 +02:00
|
|
|
bool
|
2022-07-20 15:44:42 -05:00
|
|
|
default y
|
|
|
|
depends on DT_HAS_ST_STM32_I2C_V2_ENABLED
|
2022-05-23 12:15:02 -05:00
|
|
|
select I2C_STM32_INTERRUPT if I2C_TARGET
|
2018-02-28 11:27:46 +01:00
|
|
|
help
|
2022-06-23 09:52:43 +02:00
|
|
|
Driver variant matching `st,stm32-i2c-v2` compatible.
|
2022-05-23 12:15:02 -05:00
|
|
|
If I2C_TARGET is enabled it selects I2C_STM32_INTERRUPT, since target mode
|
2018-03-01 10:53:49 +01:00
|
|
|
is only supported by this driver with interrupts enabled.
|
2018-02-28 11:27:46 +01:00
|
|
|
|
|
|
|
config I2C_STM32_INTERRUPT
|
|
|
|
bool "STM32 MCU I2C Interrupt Support"
|
|
|
|
depends on I2C_STM32_V1 || I2C_STM32_V2
|
2020-01-24 15:00:47 +01:00
|
|
|
default y
|
2018-02-28 11:27:46 +01:00
|
|
|
help
|
|
|
|
Enable Interrupt support for the I2C Driver
|
|
|
|
|
|
|
|
config I2C_STM32_COMBINED_INTERRUPT
|
|
|
|
bool
|
|
|
|
depends on I2C_STM32_INTERRUPT
|
2023-05-15 20:06:12 +02:00
|
|
|
default y if SOC_SERIES_STM32C0X || SOC_SERIES_STM32F0X || \
|
2024-09-10 15:18:45 +02:00
|
|
|
SOC_SERIES_STM32G0X || SOC_SERIES_STM32L0X || \
|
2024-10-15 11:15:12 +02:00
|
|
|
SOC_SERIES_STM32U0X || SOC_SERIES_STM32WB0X
|
2018-02-28 11:27:46 +01:00
|
|
|
|
2023-02-17 10:33:01 -07:00
|
|
|
config I2C_STM32_BUS_RECOVERY
|
|
|
|
bool "Bus recovery support"
|
|
|
|
select I2C_BITBANG
|
|
|
|
help
|
|
|
|
Enable STM32 driver bus recovery support via GPIO bitbanging.
|
|
|
|
|
2023-06-28 11:50:22 +02:00
|
|
|
config I2C_STM32_V2_TIMING
|
|
|
|
bool "compute the I2C V2 bus timing"
|
|
|
|
depends on I2C_STM32_V2
|
|
|
|
help
|
|
|
|
Enable STM32 driver bus to calculate the Timing.
|
|
|
|
|
2024-11-23 17:23:34 +00:00
|
|
|
config I2C_STM32_V2_DMA
|
|
|
|
bool "DMA support"
|
|
|
|
depends on I2C_STM32_V2
|
|
|
|
select DMA
|
|
|
|
select CACHE_MANAGEMENT if CPU_HAS_DCACHE
|
|
|
|
select EXPERIMENTAL
|
|
|
|
help
|
|
|
|
Enable DMA support for the STM32 I2C driver.
|
|
|
|
|
2018-02-28 11:27:46 +01:00
|
|
|
endif # I2C_STM32
|