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