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

config SOC_SERIES_IMXRT118X
	select CPU_CORTEX_M_HAS_DWT
	select SOC_RESET_HOOK
	select INIT_ARCH_HW_AT_BOOT if SOC_MIMXRT1189_CM33
	select ARM
	select CLOCK_CONTROL
	select HAS_MCUX_CACHE
	select ARMV8_M_DSP if SOC_MIMXRT1189_CM33
	select CPU_HAS_ARM_SAU if SOC_MIMXRT1189_CM33
	select HAS_MCUX
	select CPU_HAS_ARM_MPU
	select CPU_HAS_CUSTOM_FIXED_SOC_MPU_REGIONS if SOC_MIMXRT1189_CM7
	select ARM_MPU
	select ARM_TRUSTZONE_M if SOC_MIMXRT1189_CM33
	select CPU_HAS_ICACHE
	select CPU_HAS_DCACHE
	select CPU_HAS_FPU
	select CPU_HAS_FPU_DOUBLE_PRECISION if SOC_MIMXRT1189_CM7
	select HAS_SWO
	select SOC_EARLY_INIT_HOOK

config SOC_MIMXRT1189_CM33
	select CPU_CORTEX_M33
	select HAS_MCUX_XCACHE
	select CACHE_MANAGEMENT

config SOC_MIMXRT1189_CM7
	select CPU_CORTEX_M7

if SOC_SERIES_IMXRT118X

config IMAGE_CONTAINER_OFFSET
	hex "Image container"
	default 0x1000
	help
	  Image container is a boot image format that is used by ROM. Container
	  format consists of container header, image array entry, signature block
	  and user program images and data. The boot ROM expects container data
	  to be saved in external memory.

# Note- This config presents the offset between container header and user
# image. If ROM_START_OFFSET changed, you also need to change CONTAINER_USER_IMAGE_OFFSET
# value. CONTAINER_USER_IMAGE_OFFSET = ROM_START_OFFSET - IMAGE_CONTAINER_OFFSET.
config CONTAINER_USER_IMAGE_OFFSET
	hex "The offset between container header and user image"
	default 0xA000
	help
	  The offset between container and user image. IF change the user image
	  start address, please don't forget to modify CONTAINER_USER_IMAGE_OFFSET
	  value, this will make ROM could get the user image start address.

config MCUX_CORE_SUFFIX
	default "_cm7" if SOC_MIMXRT1189_CM7
	default "_cm33" if SOC_MIMXRT1189_CM33

config TRDC_MCUX_TRDC
	default y
	bool "Use TRDC MCUX Driver"

config S3MU_MCUX_S3MU
	default y
	bool "Use S3MU MCUX Driver"

endif # SOC_SERIES_IMXRT118X
