# BL654 USB adapter board configuration

# Copyright (c) 2021 Laird Connectivity
# SPDX-License-Identifier: Apache-2.0

if BOARD_BL654_USB

config BOARD
	default "bl654_usb"

# To let the nRF5 bootloader load an application, the application
# must be linked after Nordic MBR, that is factory-programmed on the board.

# Nordic nRF5 bootloader exists outside of the partitions specified in the
# DTS file, so we manually override FLASH_LOAD_OFFSET to link the application
# correctly, after Nordic MBR.

# When building MCUBoot, MCUBoot itself will select USE_DT_CODE_PARTITION
# which will make it link into the correct partition specified in DTS file,
# so no override is necessary.

config FLASH_LOAD_OFFSET
	default 0x1000
	depends on !USE_DT_CODE_PARTITION

if USB_DEVICE_STACK

config USB_UART_CONSOLE
	default y

config UART_LINE_CTRL
	default y

endif # USB_DEVICE_STACK

if IEEE802154

config IEEE802154_NRF5
	default y

endif # IEEE802154

config BT_CTLR
	default BT

endif # BOARD_BL654_USB
