# SPDX-License-Identifier: Apache-2.0

config FLASH_NRF_FORCE_ALT
	bool
	depends on SOC_COMPATIBLE_NRF
	help
	  This option can be enabled to force an alternative implementation
	  of the flash driver.

menuconfig SOC_FLASH_NRF
	bool "Nordic Semiconductor nRF flash driver"
	depends on SOC_FAMILY_NRF
	depends on !FLASH_NRF_FORCE_ALT
	select FLASH_HAS_PAGE_LAYOUT
	select FLASH_HAS_DRIVER_ENABLED
	select NRFX_NVMC
	default y
	help
	  Enables Nordic Semiconductor nRF flash driver.

if SOC_FLASH_NRF

config SOC_FLASH_NRF_RADIO_SYNC
	bool "Nordic nRFx flash driver synchronized with radio"
	default y
	depends on BT_CTLR
	help
	  Enable synchronization between flash memory driver and radio.

config SOC_FLASH_NRF_UICR
	bool "Access to UICR"
	depends on !TRUSTED_EXECUTION_NONSECURE
	help
	  Enable operations on UICR. Once enabled UICR are written or read as
	  ordinary flash memory. Erase is possible for whole UICR at once.

config SOC_FLASH_NRF_EMULATE_ONE_BYTE_WRITE_ACCESS
	bool "8-bit write block size emulation"
	help
	  When this option is enabled writing chunks less than minimal write
	  block size parameter (imposed by manufacturer) is possible but operation
	  is more complex and requires basic user knowledge about NVMC controller.

endif # SOC_FLASH_NRF
