# Copyright (c) 2022 Renesas Electronics Corporation
# SPDX-License-Identifier: Apache-2.0

if SOC_SERIES_DA1469X

source "soc/arm/renesas_smartbond/da1469x/Kconfig.defconfig.da1469*"

config SOC_SERIES
	default "da1469x"

config NUM_IRQS
	default 40

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

config SRAM_VECTOR_TABLE
	default y

config USE_DT_CODE_PARTITION
	default y if MCUBOOT

config FLASH_BASE_ADDRESS
	default $(dt_chosen_reg_addr_hex,$(DT_CHOSEN_Z_FLASH))

config FLASH_LOAD_OFFSET
	default 0x2400 if !USE_DT_CODE_PARTITION

config PLATFORM_SPECIFIC_INIT
	default y

endif # SOC_SERIES_DA1469X
