# 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 SERIAL

config UART_CONSOLE
	default CONSOLE

config USB_DEVICE_INITIALIZE_AT_BOOT
	default y if CONSOLE

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
