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

if SOC_SERIES_ESP32S2

config SYS_CLOCK_HW_CYCLES_PER_SEC
	default $(dt_node_int_prop_int,/cpus/cpu@0,clock-frequency)

config XTENSA_CCOUNT_HZ
	default SYS_CLOCK_HW_CYCLES_PER_SEC

config MP_MAX_NUM_CPUS
	default 1

config ISR_STACK_SIZE
	default 2048

config ESPTOOLPY_FLASHFREQ_80M
	default y

config FLASH_SIZE
	default $(dt_node_reg_size_int,/soc/flash-controller@3f402000/flash@0,0)

config FLASH_BASE_ADDRESS
	default $(dt_node_reg_addr_hex,/soc/flash-controller@3f402000/flash@0)

endif # SOC_SERIES_ESP32S2
