From 9580992b3e03edda0f3186cd172235338ba19ab2 Mon Sep 17 00:00:00 2001 From: Erwan Gouriou Date: Sun, 12 Apr 2020 15:53:44 +0200 Subject: [PATCH] drivers/i2c: stm32: Configure driver by compatible Use compatible information to configure i2c stm32. With this, driver version selection is done thanks to compatible and it is not needed anymore to do this via Kconfig symbol selection under soc/ Signed-off-by: Erwan Gouriou --- drivers/i2c/Kconfig.stm32 | 12 ++++++------ soc/arm/st_stm32/common/Kconfig.defconfig.series | 4 ---- soc/arm/st_stm32/stm32f0/Kconfig.defconfig.series | 4 ---- soc/arm/st_stm32/stm32f1/Kconfig.defconfig.series | 4 ---- soc/arm/st_stm32/stm32f3/Kconfig.defconfig.series | 4 ---- soc/arm/st_stm32/stm32f4/Kconfig.defconfig.series | 4 ---- soc/arm/st_stm32/stm32f7/Kconfig.defconfig.series | 4 ---- soc/arm/st_stm32/stm32g0/Kconfig.defconfig.series | 4 ---- soc/arm/st_stm32/stm32g4/Kconfig.defconfig.series | 4 ---- soc/arm/st_stm32/stm32h7/Kconfig.defconfig.series | 4 ---- soc/arm/st_stm32/stm32l0/Kconfig.defconfig.series | 4 ---- soc/arm/st_stm32/stm32l0/soc.h | 2 +- soc/arm/st_stm32/stm32l1/Kconfig.defconfig.series | 4 ---- soc/arm/st_stm32/stm32l4/Kconfig.defconfig.series | 4 ---- soc/arm/st_stm32/stm32mp1/Kconfig.defconfig.series | 4 ---- soc/arm/st_stm32/stm32wb/Kconfig.defconfig.series | 4 ---- 16 files changed, 7 insertions(+), 63 deletions(-) diff --git a/drivers/i2c/Kconfig.stm32 b/drivers/i2c/Kconfig.stm32 index 90d1febceb1..2666b590a9e 100644 --- a/drivers/i2c/Kconfig.stm32 +++ b/drivers/i2c/Kconfig.stm32 @@ -1,9 +1,12 @@ # 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" - depends on SOC_FAMILY_STM32 + default $(dt_compat_enabled,$(DT_COMPAT_ST_STM32_I2C_V1)) || $(dt_compat_enabled,$(DT_COMPAT_ST_STM32_I2C_V2)) help Enable I2C support on the STM32 SoCs @@ -11,7 +14,7 @@ if I2C_STM32 config I2C_STM32_V1 bool - depends on SOC_SERIES_STM32F1X || SOC_SERIES_STM32F4X || SOC_SERIES_STM32L1X + default $(dt_compat_enabled,$(DT_COMPAT_ST_STM32_I2C_V1)) select USE_STM32_LL_I2C select I2C_STM32_INTERRUPT if I2C_SLAVE help @@ -20,10 +23,7 @@ config I2C_STM32_V1 config I2C_STM32_V2 bool - depends on (SOC_SERIES_STM32F0X || SOC_SERIES_STM32F3X || \ - SOC_SERIES_STM32F7X || SOC_SERIES_STM32L0X || SOC_SERIES_STM32L4X || \ - SOC_SERIES_STM32WBX || SOC_SERIES_STM32MP1X || SOC_SERIES_STM32G0X || \ - SOC_SERIES_STM32G4X || SOC_SERIES_STM32H7X) + 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 diff --git a/soc/arm/st_stm32/common/Kconfig.defconfig.series b/soc/arm/st_stm32/common/Kconfig.defconfig.series index a1f19708992..68e9ac1a856 100644 --- a/soc/arm/st_stm32/common/Kconfig.defconfig.series +++ b/soc/arm/st_stm32/common/Kconfig.defconfig.series @@ -49,10 +49,6 @@ config SPI_STM32 default y depends on SPI -config I2C_STM32 - default y - depends on I2C - config USB_DC_STM32 default y depends on USB diff --git a/soc/arm/st_stm32/stm32f0/Kconfig.defconfig.series b/soc/arm/st_stm32/stm32f0/Kconfig.defconfig.series index 75d0df2237f..b162a0b6879 100644 --- a/soc/arm/st_stm32/stm32f0/Kconfig.defconfig.series +++ b/soc/arm/st_stm32/stm32f0/Kconfig.defconfig.series @@ -12,10 +12,6 @@ source "soc/arm/st_stm32/stm32f0/Kconfig.defconfig.stm32f0*" config SOC_SERIES default "stm32f0" -config I2C_STM32_V2 - default y - depends on I2C_STM32 - config DMA_STM32_V2 default y depends on DMA_STM32 diff --git a/soc/arm/st_stm32/stm32f1/Kconfig.defconfig.series b/soc/arm/st_stm32/stm32f1/Kconfig.defconfig.series index ef11b69cff1..245d6176a15 100644 --- a/soc/arm/st_stm32/stm32f1/Kconfig.defconfig.series +++ b/soc/arm/st_stm32/stm32f1/Kconfig.defconfig.series @@ -12,10 +12,6 @@ source "soc/arm/st_stm32/stm32f1/Kconfig.defconfig.stm32f1*" config SOC_SERIES default "stm32f1" -config I2C_STM32_V1 - default y - depends on I2C_STM32 - config DMA_STM32_V2 default y depends on DMA_STM32 diff --git a/soc/arm/st_stm32/stm32f3/Kconfig.defconfig.series b/soc/arm/st_stm32/stm32f3/Kconfig.defconfig.series index 4981dcad453..12d203bb0ab 100644 --- a/soc/arm/st_stm32/stm32f3/Kconfig.defconfig.series +++ b/soc/arm/st_stm32/stm32f3/Kconfig.defconfig.series @@ -12,10 +12,6 @@ source "soc/arm/st_stm32/stm32f3/Kconfig.defconfig.stm32f3*" config SOC_SERIES default "stm32f3" -config I2C_STM32_V2 - default y - depends on I2C_STM32 - config DMA_STM32_V2 default y depends on DMA_STM32 diff --git a/soc/arm/st_stm32/stm32f4/Kconfig.defconfig.series b/soc/arm/st_stm32/stm32f4/Kconfig.defconfig.series index 9661861cd92..cd4bd15d1c8 100644 --- a/soc/arm/st_stm32/stm32f4/Kconfig.defconfig.series +++ b/soc/arm/st_stm32/stm32f4/Kconfig.defconfig.series @@ -12,10 +12,6 @@ source "soc/arm/st_stm32/stm32f4/Kconfig.defconfig.stm32f4*" config SOC_SERIES default "stm32f4" -config I2C_STM32_V1 - default y - depends on I2C_STM32 - config DMA_STM32_V1 default y depends on DMA_STM32 diff --git a/soc/arm/st_stm32/stm32f7/Kconfig.defconfig.series b/soc/arm/st_stm32/stm32f7/Kconfig.defconfig.series index 14b60e9b291..789f7930ebb 100644 --- a/soc/arm/st_stm32/stm32f7/Kconfig.defconfig.series +++ b/soc/arm/st_stm32/stm32f7/Kconfig.defconfig.series @@ -12,10 +12,6 @@ source "soc/arm/st_stm32/stm32f7/Kconfig.defconfig.stm32f7*" config SOC_SERIES default "stm32f7" -config I2C_STM32_V2 - default y - depends on I2C_STM32 - config DMA_STM32_V1 default y depends on DMA_STM32 diff --git a/soc/arm/st_stm32/stm32g0/Kconfig.defconfig.series b/soc/arm/st_stm32/stm32g0/Kconfig.defconfig.series index 4d58e046c58..039b6900cc6 100644 --- a/soc/arm/st_stm32/stm32g0/Kconfig.defconfig.series +++ b/soc/arm/st_stm32/stm32g0/Kconfig.defconfig.series @@ -11,8 +11,4 @@ source "soc/arm/st_stm32/stm32g0/Kconfig.defconfig.stm32g0*" config SOC_SERIES default "stm32g0" -config I2C_STM32_V2 - default y - depends on I2C_STM32 - endif # SOC_SERIES_STM32G0X diff --git a/soc/arm/st_stm32/stm32g4/Kconfig.defconfig.series b/soc/arm/st_stm32/stm32g4/Kconfig.defconfig.series index 3cfd05713da..b0043b2956c 100644 --- a/soc/arm/st_stm32/stm32g4/Kconfig.defconfig.series +++ b/soc/arm/st_stm32/stm32g4/Kconfig.defconfig.series @@ -10,8 +10,4 @@ source "soc/arm/st_stm32/stm32g4/Kconfig.defconfig.stm32g4*" config SOC_SERIES default "stm32g4" -config I2C_STM32_V2 - default y - depends on I2C_STM32 - endif # SOC_SERIES_STM32G4X diff --git a/soc/arm/st_stm32/stm32h7/Kconfig.defconfig.series b/soc/arm/st_stm32/stm32h7/Kconfig.defconfig.series index 314c0008f07..665f05e1315 100644 --- a/soc/arm/st_stm32/stm32h7/Kconfig.defconfig.series +++ b/soc/arm/st_stm32/stm32h7/Kconfig.defconfig.series @@ -12,8 +12,4 @@ source "soc/arm/st_stm32/stm32h7/Kconfig.defconfig.stm32h7*" config SOC_SERIES default "stm32h7" -config I2C_STM32_V2 - default y - depends on I2C_STM32 - endif # SOC_SERIES_STM32H7X diff --git a/soc/arm/st_stm32/stm32l0/Kconfig.defconfig.series b/soc/arm/st_stm32/stm32l0/Kconfig.defconfig.series index 0bf5da3435b..fbc2a8f1af6 100644 --- a/soc/arm/st_stm32/stm32l0/Kconfig.defconfig.series +++ b/soc/arm/st_stm32/stm32l0/Kconfig.defconfig.series @@ -12,10 +12,6 @@ source "soc/arm/st_stm32/stm32l0/Kconfig.defconfig.stm32l0*" config SOC_SERIES default "stm32l0" -config I2C_STM32_V2 - default y - depends on I2C_STM32 - config DMA_STM32_V2 default y depends on DMA_STM32 diff --git a/soc/arm/st_stm32/stm32l0/soc.h b/soc/arm/st_stm32/stm32l0/soc.h index 9a254a9cc6e..244cd3ae23d 100644 --- a/soc/arm/st_stm32/stm32l0/soc.h +++ b/soc/arm/st_stm32/stm32l0/soc.h @@ -44,7 +44,7 @@ #include #endif /* CONFIG_CLOCK_CONTROL_STM32_CUBE */ -#ifdef CONFIG_I2C_STM32_V2 +#ifdef CONFIG_I2C_STM32 #include #endif diff --git a/soc/arm/st_stm32/stm32l1/Kconfig.defconfig.series b/soc/arm/st_stm32/stm32l1/Kconfig.defconfig.series index d77d7ec8f49..c2f50628a63 100644 --- a/soc/arm/st_stm32/stm32l1/Kconfig.defconfig.series +++ b/soc/arm/st_stm32/stm32l1/Kconfig.defconfig.series @@ -10,8 +10,4 @@ source "soc/arm/st_stm32/stm32l1/Kconfig.defconfig.stm32l1*" config SOC_SERIES default "stm32l1" -config I2C_STM32_V1 - default y - depends on I2C_STM32 - endif # SOC_SERIES_STM32L1X diff --git a/soc/arm/st_stm32/stm32l4/Kconfig.defconfig.series b/soc/arm/st_stm32/stm32l4/Kconfig.defconfig.series index e6f3f06016c..899ec412d52 100644 --- a/soc/arm/st_stm32/stm32l4/Kconfig.defconfig.series +++ b/soc/arm/st_stm32/stm32l4/Kconfig.defconfig.series @@ -13,10 +13,6 @@ source "soc/arm/st_stm32/stm32l4/Kconfig.defconfig.stm32l4*" config SOC_SERIES default "stm32l4" -config I2C_STM32_V2 - default y - depends on I2C_STM32 - config DMA_STM32_V2 default y depends on DMA_STM32 diff --git a/soc/arm/st_stm32/stm32mp1/Kconfig.defconfig.series b/soc/arm/st_stm32/stm32mp1/Kconfig.defconfig.series index 5a10cdb06bf..9c980c86d3e 100644 --- a/soc/arm/st_stm32/stm32mp1/Kconfig.defconfig.series +++ b/soc/arm/st_stm32/stm32mp1/Kconfig.defconfig.series @@ -14,8 +14,4 @@ config IPM_STM32_IPCC default y depends on IPM -config I2C_STM32_V2 - default y - depends on I2C_STM32 - endif # SOC_SERIES_STM32MP1X diff --git a/soc/arm/st_stm32/stm32wb/Kconfig.defconfig.series b/soc/arm/st_stm32/stm32wb/Kconfig.defconfig.series index 9083bcb32cd..9a5459a7b0c 100644 --- a/soc/arm/st_stm32/stm32wb/Kconfig.defconfig.series +++ b/soc/arm/st_stm32/stm32wb/Kconfig.defconfig.series @@ -10,8 +10,4 @@ source "soc/arm/st_stm32/stm32wb/Kconfig.defconfig.stm32wb*" config SOC_SERIES default "stm32wb" -config I2C_STM32_V2 - default y - depends on I2C_STM32 - endif # SOC_SERIES_STM32WBX