# SPDX-License-Identifier: Apache-2.0

# Only v1 model has choice for SoC selection, therefore the optional source
# Sourced here and not in Kconfig.v1 to keep current SoC/CPU selection menu
# side-by-side with "Hardware Configuration" in the menu structure.
menu "Hardware Configuration"

rsource "Kconfig.v2"

# Source Zephyr Kconfig specifics from SoC roots.
osource "$(KCONFIG_BINARY_DIR)/soc/Kconfig"

# Source common Kconfig file
osource "soc/common/Kconfig"

module = SOC
module-str = SOC
source "subsys/logging/Kconfig.template.log_config"

endmenu

# The helper symbols below are put here due to an unusual setup: The simulated
# nrf5x_bsim boards use the POSIX arch, but are compatible with Nordic ARM boards

config SOC_COMPATIBLE_NRF
	bool

config SOC_COMPATIBLE_NRF52X
	bool

config SOC_COMPATIBLE_NRF53X
	bool

config SOC_COMPATIBLE_NRF54LX
	bool

config SOC_COMPATIBLE_NRF52833
	bool

config SOC_COMPATIBLE_NRF5340_CPUNET
	bool

config SOC_COMPATIBLE_NRF5340_CPUAPP
	bool

config SOC_COMPATIBLE_NRF54L15
	bool

config SOC_COMPATIBLE_NRF54L15_CPUAPP
	bool

config SOC_DEPRECATED_RELEASE
	string
	help
	  This hidden option is set in the SoC configuration and indicates
	  the Zephyr release that the SoC configuration will be removed.
	  When set, any build for that SoC will generate a clearly visible
	  deprecation warning.
	  When adding this to a SOC, remember to follow the instructions in
	  https://docs.zephyrproject.org/latest/develop/api/api_lifecycle.html#deprecated

config SOC_HAS_TIMING_FUNCTIONS
	bool
	help
	  Should be selected if SoC provides custom method for retrieving
	  timestamps and cycle count.

config SOC_HAS_RUNTIME_NUM_CPUS
	bool
	help
	  Should be selected if SoC handles determining the number of CPUs
	  at runtime.