# Adafruit ItsyBitsy nRF52840 Express board configuration

# Copyright (c) 2022 Embla Flatlandsmo <embla.flatlandsmo@gmail.com>
# SPDX-License-Identifier: Apache-2.0

if BOARD_ADAFRUIT_ITSYBITSY_NRF52840

config BOARD
	default "adafruit_itsybitsy_nrf52840"

config BT_CTLR
	default BT

if BOARD_SERIAL_BACKEND_CDC_ACM

config USB_DEVICE_STACK
	default y

config USB_CDC_ACM
	default y

config UART_CONSOLE
	default CONSOLE

config USB_DEVICE_INITIALIZE_AT_BOOT
	default y

config SHELL_BACKEND_SERIAL_CHECK_DTR
	default SHELL
	depends on UART_LINE_CTRL

config UART_LINE_CTRL
	default SHELL

config USB_DEVICE_REMOTE_WAKEUP
	default n

if LOG

# Logger cannot use itself to log
config USB_CDC_ACM_LOG_LEVEL
	default 0

# Set USB log level to error only
config USB_DEVICE_LOG_LEVEL
	default 1

# Wait 1500ms at startup for logging
config LOG_PROCESS_THREAD_STARTUP_DELAY_MS
	default 1500

endif # LOG

endif # BOARD_SERIAL_BACKEND_CDC_ACM

endif # BOARD_ADAFRUIT_ITSYBITSY_NRF52840
