# Nordic Semiconductor nRF54 MCU line

# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

config SOC_SERIES_NRF54L
	select SOC_COMPATIBLE_NRF54LX
	select HAS_NRFX
	select HAS_NORDIC_DRIVERS
	select HAS_SEGGER_RTT if ZEPHYR_SEGGER_MODULE
	select NRF_PLATFORM_LUMOS

config SOC_SERIES_NRF54LX
	select DEPRECATED

config SOC_NRF54L_CPUAPP_COMMON
	bool
	select ARM
	select CPU_CORTEX_M33
	select CPU_CORTEX_M_HAS_DWT
	select CPU_HAS_ICACHE
	select HAS_POWEROFF
	select HAS_NORDIC_RAM_CTRL

config SOC_NRF54L05_CPUAPP
	select SOC_NRF54L_CPUAPP_COMMON
	select ARMV8_M_DSP
	select CPU_HAS_ARM_MPU
	select CPU_HAS_ARM_SAU
	select CPU_HAS_FPU
	select HAS_SWO

config SOC_NRF54L10_CPUAPP
	select SOC_NRF54L_CPUAPP_COMMON
	select ARMV8_M_DSP
	select CPU_HAS_ARM_MPU
	select CPU_HAS_ARM_SAU
	select CPU_HAS_FPU
	select HAS_SWO

config SOC_NRF54L15_CPUAPP
	select SOC_NRF54L_CPUAPP_COMMON
	select SOC_COMPATIBLE_NRF54L15
	select SOC_COMPATIBLE_NRF54L15_CPUAPP
	select ARMV8_M_DSP
	select CPU_HAS_ARM_MPU
	select CPU_HAS_ARM_SAU
	select CPU_HAS_FPU
	select HAS_SWO

config SOC_NRF54LM20A_CPUAPP
	select SOC_NRF54L_CPUAPP_COMMON
	select SOC_COMPATIBLE_NRF54LM20A
	select SOC_COMPATIBLE_NRF54LM20A_CPUAPP
	select ARMV8_M_DSP
	select CPU_HAS_ARM_MPU
	select CPU_HAS_ARM_SAU
	select CPU_HAS_FPU
	select HAS_SWO

config SOC_NRF54LM20B_CPUAPP
	select SOC_NRF54L_CPUAPP_COMMON
	select SOC_COMPATIBLE_NRF54LM20A
	select SOC_COMPATIBLE_NRF54LM20A_CPUAPP
	select ARMV8_M_DSP
	select CPU_HAS_ARM_MPU
	select CPU_HAS_ARM_SAU
	select CPU_HAS_FPU
	select HAS_SWO

config SOC_NRF54L05_CPUFLPR
	select RISCV_CORE_NORDIC_VPR

config SOC_NRF54L10_CPUFLPR
	select RISCV_CORE_NORDIC_VPR

config SOC_NRF54L15_CPUFLPR
	select RISCV_CORE_NORDIC_VPR
	select SOC_COMPATIBLE_NRF54L15

config SOC_NRF54LM20A_CPUFLPR
	select RISCV_CORE_NORDIC_VPR

config SOC_NRF54LM20B_CPUFLPR
	select RISCV_CORE_NORDIC_VPR

if SOC_SERIES_NRF54L

config SOC_NRF54LX_DISABLE_FICR_TRIMCNF
	bool "Disable trimming of the device"
	default y if TRUSTED_EXECUTION_NONSECURE
	help
	  Disable trimming of the device. When the device is trimmed it
	  will copy all the trimming values from FICR into the target
	  addresses.

config SOC_NRF54LX_SKIP_GLITCHDETECTOR_DISABLE
	bool "Skip disabling glitch detector"
	default y if TRUSTED_EXECUTION_NONSECURE || MCUBOOT
	help
	  With this option, the glitch detector is not disabled during system initialization.
	  The CPU runs with the default state of glitch detector.

config SOC_NRF54L_ANOMALY_56_WORKAROUND
	bool "Apply workaround 56 for nRF54L SoCs"
	default y
	help
	   This option enables configuration workaround 56 for nRF54L Series SoCs.

config SOC_NRF54LM20A_DEVELOP_IN_NRF54LM20B
	bool
	help
	  The nrf54lm20dk board can be used to develop the nRF54LM20A or nRF54LM20B SoCs
	  onto the nRF54LM20B DK. This symbol needs to be considered by certain system
	  initialization functionality residing in SoC erratas.

config SOC_NRF54L10_DEVELOP_IN_NRF54L15
	bool
	help
	  The nrf54l15dk board can be used to develop the nRF54L10 SoC onto the nRF54L15 DK.
	  This symbol needs to be considered by certain system initialization functionality
	  residing in system_nrf54l.c and SoC erratas.

config SOC_NRF54L05_DEVELOP_IN_NRF54L15
	bool
	help
	  The nrf54l15dk board can be used to develop the nRF54L05 SoC onto the nRF54L15 DK.
	  This symbol needs to be considered by certain system initialization functionality
	  residing in system_nrf54l.c and SoC erratas.

endif # SOC_SERIES_NRF54L
