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

config SOC_FAMILY_NXP_MCX
	select HAS_SEGGER_RTT
	select CLOCK_CONTROL
	select ARM

if SOC_FAMILY_NXP_MCX

rsource "*/Kconfig"

if FLASH_MCUX_FLEXSPI_XIP

# Avoid RWW hazards by defaulting logging to disabled
choice FLASH_LOG_LEVEL_CHOICE
	default FLASH_LOG_LEVEL_OFF
endchoice

choice MEMC_LOG_LEVEL_CHOICE
	default MEMC_LOG_LEVEL_OFF
endchoice

endif

if FLASH_MCUX_FLEXSPI_XIP

# Code relocation is needed when FLASH_MCUX_FLEXSPI_XIP is enabled
config CODE_DATA_RELOCATION_SRAM
	default y

config FLASH_MCUX_FLEXSPI_XIP_MEM
	string
	default "RAM"

endif # FLASH_MCUX_FLEXSPI_XIP

endif # SOC_FAMILY_NXP_MCX
