# ESP32S2 board configuration

# Copyright (c) 2021 Espressif Systems (Shanghai) Co., Ltd.
# SPDX-License-Identifier: Apache-2.0

if SOC_ESP32S2

if BOOTLOADER_MCUBOOT

config HAS_FLASH_LOAD_OFFSET
	default y

config MCUBOOT_GENERATE_UNSIGNED_IMAGE
	default y

config MCUBOOT_GENERATE_CONFIRMED_IMAGE
	default y

config ROM_START_OFFSET
	default 0x20

endif

config SOC
	default "esp32s2"

config GEN_ISR_TABLES
	default y

config GEN_IRQ_VECTOR_TABLE
	default n

config ISR_STACK_SIZE
	default 2048

config HEAP_MEM_POOL_SIZE
	default 32768

config MP_NUM_CPUS
	default 1

config MINIMAL_LIBC_OPTIMIZE_STRING_FOR_SIZE
	default n

config LOG_DETECT_MISSED_STRDUP
	default n

endif
