diff --git a/cpu/native/Kconfig b/cpu/native/Kconfig index 2250080b7e..e45e0cbaf0 100644 --- a/cpu/native/Kconfig +++ b/cpu/native/Kconfig @@ -21,6 +21,7 @@ config CPU_ARCH_NATIVE select HAS_PERIPH_PWM select HAS_PERIPH_TIMER_PERIODIC select HAS_SSP + select HAVE_MTD_NATIVE # needed modules select MODULE_PERIPH if TEST_KCONFIG @@ -88,5 +89,4 @@ rsource "backtrace/Kconfig" endmenu # Native modules -rsource "mtd/Kconfig" rsource "periph/Kconfig" diff --git a/cpu/native/mtd/Kconfig b/cpu/native/mtd/Kconfig deleted file mode 100644 index a97959fb3e..0000000000 --- a/cpu/native/mtd/Kconfig +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright (c) 2021 HAW Hamburg -# -# 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. -# - -config MODULE_MTD_NATIVE - bool - default y if MODULE_MTD - depends on NATIVE_OS_LINUX - depends on TEST_KCONFIG diff --git a/drivers/Kconfig b/drivers/Kconfig index 2cd1475318..145f9f7d35 100644 --- a/drivers/Kconfig +++ b/drivers/Kconfig @@ -144,11 +144,8 @@ menu "Storage Device Drivers" rsource "at24cxxx/Kconfig" rsource "at25xxx/Kconfig" rsource "mtd/Kconfig" -rsource "mtd_flashpage/Kconfig" rsource "mtd_mapper/Kconfig" -rsource "mtd_mci/Kconfig" rsource "mtd_sdcard/Kconfig" -rsource "mtd_spi_nor/Kconfig" rsource "nvram/Kconfig" rsource "nvram_spi/Kconfig" rsource "sdcard_spi/Kconfig" diff --git a/drivers/at24cxxx/Kconfig b/drivers/at24cxxx/Kconfig index 1b0af3bd59..9b62401da0 100644 --- a/drivers/at24cxxx/Kconfig +++ b/drivers/at24cxxx/Kconfig @@ -63,7 +63,6 @@ config MODULE_AT24CXXX bool depends on HAS_PERIPH_I2C depends on TEST_KCONFIG + select HAVE_MTD_AT24CXXX select MODULE_PERIPH_I2C select MODULE_XTIMER - -rsource "mtd/Kconfig" diff --git a/drivers/at24cxxx/mtd/Kconfig b/drivers/at24cxxx/mtd/Kconfig deleted file mode 100644 index f70ef0622a..0000000000 --- a/drivers/at24cxxx/mtd/Kconfig +++ /dev/null @@ -1,13 +0,0 @@ -# Copyright (c) 2020 HAW Hamburg -# -# 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. -# - -config MODULE_MTD_AT24CXXX - bool "MTD implementation for AT24CXXX" - default y - depends on MODULE_AT24CXXX - depends on MODULE_MTD - depends on TEST_KCONFIG diff --git a/drivers/at25xxx/Kconfig b/drivers/at25xxx/Kconfig index 83b28c7af2..bdda9e9e25 100644 --- a/drivers/at25xxx/Kconfig +++ b/drivers/at25xxx/Kconfig @@ -9,10 +9,9 @@ config MODULE_AT25XXX bool "AT25xxx SPI-EEPROMs" depends on HAS_PERIPH_SPI depends on TEST_KCONFIG + select HAVE_MTD_AT25XXX select MODULE_PERIPH_SPI select MODULE_XTIMER help This driver also supports M95xxx, 25AAxxx, 25LCxxx, CAT25xxx & BR25Sxxx families. - -rsource "mtd/Kconfig" diff --git a/drivers/at25xxx/mtd/Kconfig b/drivers/at25xxx/mtd/Kconfig deleted file mode 100644 index 89496e0356..0000000000 --- a/drivers/at25xxx/mtd/Kconfig +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright (c) 2020 HAW Hamburg -# -# 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. -# - -config MODULE_MTD_AT25XXX - bool "MTD implementation for AT25XXX" - depends on MODULE_AT25XXX - depends on MODULE_MTD - depends on TEST_KCONFIG diff --git a/drivers/mtd/Kconfig b/drivers/mtd/Kconfig index a969e5cb54..21deb947a7 100644 --- a/drivers/mtd/Kconfig +++ b/drivers/mtd/Kconfig @@ -5,6 +5,90 @@ # directory for more details. # -config MODULE_MTD +config HAVE_MTD_AT24CXXX + bool + depends on MODULE_AT24CXXX + select MODULE_MTD_AT24CXXX if MODULE_MTD + help + Indicates that a at24cxxx EEPROM MTD is present + +config HAVE_MTD_AT25XXX + bool + depends on MODULE_AT25XXX + select MODULE_MTD_AT25XXX if MODULE_MTD + help + Indicates that a at25xxx SPI-EEPROM MTD is present + +config HAVE_MTD_NATIVE + bool + select MODULE_MTD_NATIVE if MODULE_MTD + help + Indicates that a native MTD is present. + +config HAVE_MTD_SD_SCARD + bool + select MODULE_MTD_SD_CARD if MODULE_MTD + help + Indicates that a sdcard MTD is present + +config HAVE_MTD_SPI_NOR + bool + select MODULE_MTD_SPI_NOR if MODULE_MTD + help + Indicates that a spi-nor MTD is present + +config HAVE_MTD_SPI_MCI + bool + select MODULE_MTD_MCI if MODULE_MTD + help + Indicates that a Multimedia Card Interface (MCI) MTD is present + +menuconfig MODULE_MTD bool "Memory Technology Device interface (MTD)" depends on TEST_KCONFIG + +if MODULE_MTD + +menu "MTD Interefaces" + +config MODULE_MTD_SPI_NOR + bool "MTD interface for SPI NOR Flash" + depends on HAS_PERIPH_SPI + select MODULE_PERIPH_SPI + +config MODULE_MTD_FLASHPAGE + bool "MTD interface for Flashpage" + depends on HAS_PERIPH_FLASHPAGE + depends on HAS_PERIPH_FLASHPAGE_PAGEWISE + select MODULE_PERIPH_FLASHPAGE + select MODULE_PERIPH_FLASHPAGE_PAGEWISE + help + Driver for internal flash devices implementing flashpage interface. + +config MODULE_MTD_NATIVE + bool "MTD native driver" + depends on NATIVE_OS_LINUX + +config MODULE_MTD_AT24CXXX + bool "MTD implementation for AT24CXXX" + depends on MODULE_AT24CXXX + +config MODULE_MTD_AT25XXX + bool "MTD implementation for AT25XXX" + depends on MODULE_AT25XXX + +config MODULE_MTD_MCI + bool "MTD interface for LPC23XX MCI" + depends on CPU_FAM_LPC23XX + select MODULE_MCI + +config MODULE_MTD_SDCARD + bool "MTD interface for SPI SD-Card" + depends on MODULE_SDCARD_SPI + +endmenu # MTD Interfacs + +config MODULE_MTD_WRITE_PAGE + bool "MTD write page API" + +endif diff --git a/drivers/mtd_flashpage/Kconfig b/drivers/mtd_flashpage/Kconfig deleted file mode 100644 index cb3262976b..0000000000 --- a/drivers/mtd_flashpage/Kconfig +++ /dev/null @@ -1,17 +0,0 @@ -# Copyright (c) 2020 HAW Hamburg -# -# 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. -# - -config MODULE_MTD_FLASHPAGE - bool "MTD interface for Flashpage" - depends on HAS_PERIPH_FLASHPAGE - depends on HAS_PERIPH_FLASHPAGE_PAGEWISE - depends on TEST_KCONFIG - select MODULE_PERIPH_FLASHPAGE - select MODULE_PERIPH_FLASHPAGE_PAGEWISE - select MODULE_MTD - help - Driver for internal flash devices implementing flashpage interface. diff --git a/drivers/mtd_mci/Kconfig b/drivers/mtd_mci/Kconfig deleted file mode 100644 index 626cacb76a..0000000000 --- a/drivers/mtd_mci/Kconfig +++ /dev/null @@ -1,12 +0,0 @@ -# Copyright (c) 2020 HAW Hamburg -# -# 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. -# - -config MODULE_MTD_MCI - bool "MTD interface for LPC23XX MCI" - depends on TEST_KCONFIG - depends on MODULE_MCI - select MODULE_MTD diff --git a/drivers/mtd_sdcard/Kconfig b/drivers/mtd_sdcard/Kconfig index 2265bfe774..e3d91253e0 100644 --- a/drivers/mtd_sdcard/Kconfig +++ b/drivers/mtd_sdcard/Kconfig @@ -5,13 +5,6 @@ # General Public License v2.1. See the file LICENSE in the top level # directory for more details. # - -config MODULE_MTD_SDCARD - bool "MTD interface for SPI SD-Card" - depends on MODULE_SDCARD_SPI - depends on TEST_KCONFIG - select MODULE_MTD - menuconfig KCONFIG_USEMODULE_MTD_SDCARD bool "Configure MTD_SDCARD driver" depends on USEMODULE_MTD_SDCARD diff --git a/drivers/mtd_spi_nor/Kconfig b/drivers/mtd_spi_nor/Kconfig deleted file mode 100644 index a633b76312..0000000000 --- a/drivers/mtd_spi_nor/Kconfig +++ /dev/null @@ -1,13 +0,0 @@ -# Copyright (c) 2020 HAW Hamburg -# -# 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. -# - -config MODULE_MTD_SPI_NOR - bool "MTD interface for SPI NOR Flash" - depends on HAS_PERIPH_SPI - depends on TEST_KCONFIG - select MODULE_PERIPH_SPI - select MODULE_MTD diff --git a/tests/mtd_flashpage/app.config.test b/tests/mtd_flashpage/app.config.test index 5ce587cc4d..f801742643 100644 --- a/tests/mtd_flashpage/app.config.test +++ b/tests/mtd_flashpage/app.config.test @@ -1,4 +1,5 @@ # this file enables modules defined in Kconfig. Do not use this file for # application configuration. This is only needed during migration. +CONFIG_MODULE_MTD=y CONFIG_MODULE_MTD_FLASHPAGE=y CONFIG_MODULE_EMBUNIT=y diff --git a/tests/mtd_raw/app.config.test b/tests/mtd_raw/app.config.test new file mode 100644 index 0000000000..8101ab68e0 --- /dev/null +++ b/tests/mtd_raw/app.config.test @@ -0,0 +1,7 @@ +# this file enables modules defined in Kconfig. Do not use this file for +# application configuration. This is only needed during migration. +CONFIG_MODULE_MTD=y +CONFIG_MODULE_MTD_WRITE_PAGE=y +CONFIG_MODULE_OD=y +CONFIG_MODULE_SHELL=y +CONFIG_MODULE_SHELL_COMMANDS=y