diff --git a/.murdock b/.murdock index 9c7b455c88d7..f985e303e57a 100755 --- a/.murdock +++ b/.murdock @@ -8,6 +8,7 @@ : ${TEST_BOARDS_LLVM_COMPILE:=""} : ${TEST_KCONFIG_BOARDS_AVAILABLE:=" +adafruit-itsybitsy-m4 arduino-due arduino-leonardo arduino-mega2560 diff --git a/boards/adafruit-itsybitsy-m4/Kconfig b/boards/adafruit-itsybitsy-m4/Kconfig index 1a1ff60fb41e..828b0b0a08cb 100644 --- a/boards/adafruit-itsybitsy-m4/Kconfig +++ b/boards/adafruit-itsybitsy-m4/Kconfig @@ -22,7 +22,11 @@ config BOARD_ADAFRUIT_ITSYBITSY_M4 select HAS_PERIPH_TIMER select HAS_PERIPH_UART select HAS_PERIPH_USBDEV + select HAVE_SAUL_GPIO + select MODULE_USB_BOARD_RESET if MODULE_STDIO_CDC_ACM select HAVE_MTD_SPI_NOR # This specific board requires SPI_ON_QSPI for the MTD_SPI_NOR select MODULE_PERIPH_SPI_ON_QSPI if MODULE_MTD_SPI_NOR + +source "$(RIOTBOARD)/common/samdx1-arduino-bootloader/Kconfig" diff --git a/boards/adafruit-itsybitsy-m4/Makefile.features b/boards/adafruit-itsybitsy-m4/Makefile.features index 9f48a1e4c3a9..c0d35785389a 100644 --- a/boards/adafruit-itsybitsy-m4/Makefile.features +++ b/boards/adafruit-itsybitsy-m4/Makefile.features @@ -13,3 +13,9 @@ FEATURES_PROVIDED += periph_spi FEATURES_PROVIDED += periph_timer FEATURES_PROVIDED += periph_uart FEATURES_PROVIDED += periph_usbdev + +# This configuration enables modules that are only available when using Kconfig +# module modelling +ifeq (1, $(TEST_KCONFIG)) + KCONFIG_ADD_CONFIG += $(BOARDDIR)/adafruit-itsybitsy-m4.config +endif diff --git a/boards/adafruit-itsybitsy-m4/adafruit-itsybitsy-m4.config b/boards/adafruit-itsybitsy-m4/adafruit-itsybitsy-m4.config new file mode 100644 index 000000000000..7699f35a5c02 --- /dev/null +++ b/boards/adafruit-itsybitsy-m4/adafruit-itsybitsy-m4.config @@ -0,0 +1,3 @@ +CONFIG_MODULE_USBUS=y +CONFIG_MODULE_USBUS_CDC_ACM=y +CONFIG_MODULE_STDIO_CDC_ACM=y diff --git a/boards/common/samdx1-arduino-bootloader/Kconfig b/boards/common/samdx1-arduino-bootloader/Kconfig new file mode 100644 index 000000000000..15eee855cfa7 --- /dev/null +++ b/boards/common/samdx1-arduino-bootloader/Kconfig @@ -0,0 +1,12 @@ +# 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_BOARDS_COMMON_SAMDX1-ARDUINO-BOOTLOADER + bool + default y if MODULE_STDIO_CDC_ACM + depends on TEST_KCONFIG + help + Common code of samdx1 boards with an arduino bootloader diff --git a/sys/Kconfig b/sys/Kconfig index 4548ca4a5611..f132f813b1e4 100644 --- a/sys/Kconfig +++ b/sys/Kconfig @@ -79,6 +79,7 @@ rsource "timex/Kconfig" rsource "tsrb/Kconfig" rsource "uri_parser/Kconfig" rsource "usb/Kconfig" +rsource "usb_board_reset/Kconfig" rsource "vfs/Kconfig" rsource "xtimer/Kconfig" rsource "ztimer/Kconfig" diff --git a/sys/Kconfig.stdio b/sys/Kconfig.stdio index db9577e413ef..aa2610f29b92 100644 --- a/sys/Kconfig.stdio +++ b/sys/Kconfig.stdio @@ -13,7 +13,7 @@ choice STDIO_IMPLEMENTATION default MODULE_STDIO_NATIVE if CPU_ARCH_NATIVE default MODULE_STDIO_UART -# TODO: Add MODULE_STDIO_CDC_ACM, MODULE_STDIO_RTT, and MODULE_STDIO_ETHOS +# TODO: Add MODULE_STDIO_RTT, and MODULE_STDIO_ETHOS config MODULE_SLIPDEV_STDIO bool "SLIP network device" diff --git a/sys/usb_board_reset/Kconfig b/sys/usb_board_reset/Kconfig new file mode 100644 index 000000000000..9962368c0eb9 --- /dev/null +++ b/sys/usb_board_reset/Kconfig @@ -0,0 +1,11 @@ +# 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_USB_BOARD_RESET + bool "Trigger a board reset via USB CDC ACM" + depends on TEST_KCONFIG + depends on MODULE_USBUS_CDC_ACM