# Nordic Semiconductor nRF91 MCU line

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

if SOC_SERIES_NRF91X

config SOC_NRF9120
	bool

config SOC_NRF9160
	bool

choice
	prompt "nRF91x MCU Selection"

config SOC_NRF9160_SICA
	bool "NRF9160_SICA"
	select SOC_NRF9160

# The nRF9161 is technically a SiP (System-in-Package) that consists of
# the nRF9120 SoC and additional components like PMIC, FEM, and XTAL,
# so for nrfx/MDK the nRF9120 SoC is to be indicated as the build target,
# but since the nRF9161 is what a user can actually see on a board, using
# only nRF9120 in the Zephyr build infrastructure might be confusing.
# That's why in the top level of SoC definitions (for user-configurable
# options in Kconfig, for example) the nRF9161 term is used and nRF9120
# underneath.
config SOC_NRF9161_SICA
	bool "NRF9161_SICA"
	select SOC_NRF9120

endchoice

config NRF_ENABLE_ICACHE
	bool "Instruction cache (I-Cache)"
	default y

endif # SOC_SERIES_NRF91X
