From 19a8a22eac47328838ce38686af9758819847ca5 Mon Sep 17 00:00:00 2001 From: Gunar Schorcht Date: Sun, 23 Jul 2023 18:47:38 +0200 Subject: [PATCH] cpu/stm32/periph: add FMC support to Kconfig --- cpu/stm32/Kconfig | 2 + cpu/stm32/periph/Kconfig.fmc | 97 ++++++++++++++++++++++++++++++++++++ 2 files changed, 99 insertions(+) create mode 100644 cpu/stm32/periph/Kconfig.fmc diff --git a/cpu/stm32/Kconfig b/cpu/stm32/Kconfig index 07a920dc45..1641e79bc5 100644 --- a/cpu/stm32/Kconfig +++ b/cpu/stm32/Kconfig @@ -74,6 +74,8 @@ config RDP2 bool "RDP2" endchoice +rsource "periph/Kconfig.fmc" + if TEST_KCONFIG rsource "periph/Kconfig" diff --git a/cpu/stm32/periph/Kconfig.fmc b/cpu/stm32/periph/Kconfig.fmc new file mode 100644 index 0000000000..e9304a9622 --- /dev/null +++ b/cpu/stm32/periph/Kconfig.fmc @@ -0,0 +1,97 @@ +# Copyright (c) 2023 Gunar Schorcht +# +# This file is subject to the terms and conditions of the GNU Lesser +# General Public License v2.1. See the file LICENSE in the top level +# directory for more details. +# + +menuconfig MODULE_PERIPH_FMC + bool "FMC/FSMC peripheral driver" + depends on TEST_KCONFIG + depends on HAS_PERIPH_FMC + help + STM32 FMC/FSMC controller + +if MODULE_PERIPH_FMC + +config MODULE_PERIPH_FMC_NOR_SRAM + bool "NOR/PSRAM/SRAM support" + depends on HAS_PERIPH_FMC_NOR_SRAM + help + Enables NOR Flash, PSRAM and SRAM support of the STM32 FMC/FSMC + driver. + +config MODULE_PERIPH_FMC_SDRAM + bool "SDRAM support" + depends on HAS_PERIPH_FMC_SDRAM + help + Enables SDRAM support of the STM32 FMC/FSMC driver. + +config MODULE_PERIPH_FMC_16BIT + bool + default y if HAS_PERIPH_FMC_16BIT + help + Enables 16-bit data bus support of the STM32 FMC/FSMC driver. + +config MODULE_PERIPH_FMC_32BIT + bool + default y if HAS_PERIPH_FMC_32BIT + help + Enables 32-bit data bus support of the STM32 FMC/FSMC driver. + +config MODULE_PERIPH_INIT_FMC + bool "Auto initialize STM32 FMC/FMSC peripheral" + default y if MODULE_PERIPH_INIT + +config MODULE_PERIPH_INIT_FMC_NOR_SRAM + bool "Auto initialize NOR/PSRAM/SRAM support" + default y if MODULE_PERIPH_INIT + depends on MODULE_PERIPH_FMC_NOR_SRAM + +config MODULE_PERIPH_INIT_FMC_SDRAM + bool "Auto initialize SDRAM support" + default y if MODULE_PERIPH_INIT + depends on MODULE_PERIPH_FMC_SDRAM + +config MODULE_PERIPH_INIT_FMC_16BIT + bool "Auto initialize 16-bit data bus" + default y if MODULE_PERIPH_INIT + depends on MODULE_PERIPH_FMC_16BIT + +config MODULE_PERIPH_INIT_FMC_32BIT + bool "Auto initialize 32-bit data bus" + default y if MODULE_PERIPH_INIT + depends on MODULE_PERIPH_FMC_32BIT + +endif + +config HAS_PERIPH_FMC + bool + help + Indicates that a STM32 FMC/FSMC peripheral is present. + +config HAS_PERIPH_FMC_NOR_SRAM + bool + select HAS_PERIPH_FMC + help + Indicates that a NOR Flash, PSRAM or SRAM connected to the + STM32 FMC/FSMC peripheral is present. + +config HAS_PERIPH_FMC_SDRAM + bool + select HAS_PERIPH_FMC + help + Indicates that a SDRAM connected to the STM32 FMC/FSMC peripheral + is present. + +config HAS_PERIPH_FMC_16BIT + bool + select HAS_PERIPH_FMC + help + Indicates that the STM32 FMC/FSMC peripheral uses a 16-bit data bus. + +config HAS_PERIPH_FMC_32BIT + bool + select HAS_PERIPH_FMC + help + Indicates that the STM32 FMC/FSMC peripheral uses a 32-bit data bus.