Linux Audio

Check our new training course

Embedded Linux Audio

Check our new training course
with Creative Commons CC-BY-SA
lecture materials

Bootlin logo

Elixir Cross Referencer

Loading...
# Nordic Semiconductor nRFx MCU line

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

config SOC_FAMILY_NRF
	select SOC_COMPATIBLE_NRF
	select PLATFORM_SPECIFIC_INIT
	bool

if SOC_FAMILY_NRF
config SOC_FAMILY
	string
	default "nordic_nrf"

source "soc/arm/nordic_nrf/Kconfig.peripherals"
source "soc/arm/nordic_nrf/*/Kconfig.soc"

config NRF_SOC_SECURE_SUPPORTED
	def_bool !TRUSTED_EXECUTION_NONSECURE || (BUILD_WITH_TFM && TFM_PARTITION_PLATFORM)
	help
	  Hidden function to indicate that that the soc_secure functions are
	  available.
	  The functions are always available when not in non-secure.
	  For non-secure the functions must redirect to secure services exposed
	  by the secure firmware.

config NRF_MPU_FLASH_REGION_SIZE
	hex
	default 0x1000
	depends on HAS_HW_NRF_MPU
	help
	  FLASH region size for the NRF_MPU peripheral.

config NRF_BPROT_FLASH_REGION_SIZE
	hex
	default $(dt_node_int_prop_hex,$(DT_CHOSEN_ZEPHYR_FLASH),erase-block-size)
	depends on HAS_HW_NRF_BPROT
	help
	  FLASH region size for the NRF_BPROT peripheral (nRF52).

config NRF_ACL_FLASH_REGION_SIZE
	hex
	default $(dt_node_int_prop_hex,$(DT_CHOSEN_ZEPHYR_FLASH),erase-block-size)
	depends on HAS_HW_NRF_ACL
	help
	  FLASH region size for the NRF_ACL peripheral.

config NFCT_PINS_AS_GPIOS
	bool "NFCT pins as GPIOs"
	depends on $(dt_has_compat,$(DT_COMPAT_NORDIC_NRF_NFCT))
	help
	  Two pins are usually reserved for NFC in SoCs that implement the
	  NFCT peripheral. This option switches them to normal GPIO mode.
	  HW enabling happens once in the device lifetime, during the first
	  system startup. Disabling this option will not switch back these
	  pins to NFCT mode. Doing this requires UICR erase prior to
	  flashing device using the image which has this option disabled.

	  NFC pins in nRF52 series: P0.09 and P0.10
	  NFC pins in nRF5340: P0.02 and P0.03

choice NRF_APPROTECT_HANDLING
	bool "APPROTECT handling"
	depends on SOC_SERIES_NRF52X || SOC_NRF5340_CPUNET || \
		   (SOC_NRF5340_CPUAPP && !TRUSTED_EXECUTION_NONSECURE) || \
		   SOC_SERIES_NRF91X
	default NRF_APPROTECT_USE_UICR
	help
	  Specifies how the SystemInit() function should handle the APPROTECT
	  mechanism.

config NRF_APPROTECT_USE_UICR
	bool "Use UICR"
	help
	  When this option is selected, the SystemInit() function loads the
	  firmware branch state of the APPROTECT mechanism from UICR, so if
	  UICR->APPROTECT is disabled, CTRLAP->APPROTECT will be disabled.

config NRF_APPROTECT_LOCK
	bool "Lock"
	help
	  When this option is selected, the SystemInit() function locks
	  the firmware branch of the APPROTECT mechanism, preventing it
	  from being opened.

config NRF_APPROTECT_USER_HANDLING
	bool "Allow user handling"
	depends on !SOC_SERIES_NRF52X
	help
	  When this option is selected, the SystemInit() function does not
	  touch the APPROTECT mechanism, allowing the user code to handle it
	  at later stages, for example, to implement authenticated debug.

endchoice

choice NRF_SECURE_APPROTECT_HANDLING
	bool "Secure APPROTECT handling"
	depends on (SOC_NRF5340_CPUAPP && !TRUSTED_EXECUTION_NONSECURE)
	default NRF_SECURE_APPROTECT_USE_UICR
	help
	  Specifies how the SystemInit() function should handle the secure
	  APPROTECT mechanism.

config NRF_SECURE_APPROTECT_USE_UICR
	bool "Use UICR"
	help
	  When this option is selected, the SystemInit() function loads the
	  firmware branch state of the secure APPROTECT mechanism from UICR,
	  so if UICR->SECUREAPPROTECT is disabled, CTRLAP->SECUREAPPROTECT
	  will be disabled.

config NRF_SECURE_APPROTECT_LOCK
	bool "Lock"
	help
	  When this option is selected, the SystemInit() function locks the
	  firmware branch of the secure APPROTECT mechanism, preventing it
	  from being opened.

config NRF_SECURE_APPROTECT_USER_HANDLING
	bool "Allow user handling"
	depends on !SOC_SERIES_NRF52X
	help
	  When this option is selected, the SystemInit() function does not
	  touch the secure APPROTECT mechanism, allowing the user code to
	  handle it at later stages, for example, to implement authenticated
	  debug.

endchoice

config NRF_TRACE_PORT
	bool "nRF TPIU"
	depends on !SOC_SERIES_NRF51X
	help
	  Enable this option to initialize the TPIU (Trace Port Interface
	  Unit) for tracing using a hardware probe. If disabled, the trace
	  pins will be used as GPIO.

config NRF_STORE_REBOOT_TYPE_GPREGRET
	bool "Set GPREGRET to reboot type (DEPRECATED)"
	depends on SOC_SERIES_NRF51X || SOC_SERIES_NRF52X
	depends on REBOOT
	depends on !RETENTION_BOOT_MODE
	select DEPRECATED
	help
	  If this option is enabled, then the parameter supplied to the
	  sys_reboot() function will be set in the GPREGRET register.

	  This has been replaced with the bootmode part of the retention
	  subsystem, which should be used instead.

endif # SOC_FAMILY_NRF