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

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

config USB_DEVICE_REMOTE_WAKEUP
	default n

if LOG

# Set USB and CDC log level to error only
config USB_CDC_ACM_LOG_LEVEL
	default 1

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_ENABLE_USB_CDC

endif # BOARD_ADAFRUIT_ITSYBITSY_NRF52840
