# BL654 USB adapter board configuration

# Copyright (c) 2021-2022 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, and limit the maximum size to not protude into
# the bootloader at the end of flash.

# 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 or limit is necessary.

config FLASH_LOAD_OFFSET
	default 0x1000
	depends on !USE_DT_CODE_PARTITION

config FLASH_LOAD_SIZE
	default 0xdf000
	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
