# LPCXpresso55S36 board

# Copyright 2022 NXP
# SPDX-License-Identifier: Apache-2.0

if BOARD_LPCXPRESSO55S36

if BOOTLOADER_MCUBOOT
choice MCUBOOT_BOOTLOADER_MODE
	# Board only supports MCUBoot via "upgrade only" method:
	default MCUBOOT_BOOTLOADER_MODE_OVERWRITE_ONLY
endchoice
endif #BOOTLOADER_MCUBOOT

endif # BOARD_LPCXPRESSO55S36
