# # Copyright (c) 2024 Nordic Semiconductor ASA # # SPDX-License-Identifier: Apache-2.0 # menuconfig SOC_FLASH_NRF_RRAM bool "Nordic Semiconductor flash driver for nRF RRAM" default y depends on DT_HAS_NORDIC_RRAM_CONTROLLER_ENABLED select NRFX_RRAMC if !BUILD_WITH_TFM select FLASH_HAS_DRIVER_ENABLED select FLASH_HAS_PAGE_LAYOUT select FLASH_HAS_NO_EXPLICIT_ERASE select FLASH_NRF_FORCE_ALT select MPU_ALLOW_FLASH_WRITE if ARM_MPU help Enables Nordic Semiconductor flash driver for nRF RRAM controllers. The entire contiguous block of RRAM gets logically divided into pages, but partial erase is always supported. if SOC_FLASH_NRF_RRAM config NRF_RRAM_WRITE_BUFFER_SIZE int "Internal write-buffer size" default 32 if !SOC_FLASH_NRF_RADIO_SYNC_NONE default 0 range 0 32 help Number of 128-bit words. Maximum buffer size can be configured to the value of 32 (128-bit words). Set 0 to disable write-buffer. config NRF_RRAM_READYNEXT_TIMEOUT_VALUE int "Preload timeout value for waiting for a next write in RRAMC clock cycles" default 128 range 0 4095 help Set 0 to disable ready next timeout counter. choice SOC_FLASH_NRF_RADIO_SYNC_CHOICE prompt "Nordic nRFx flash driver synchronization" default SOC_FLASH_NRF_RADIO_SYNC_TICKER if BT_LL_SW_SPLIT default SOC_FLASH_NRF_RADIO_SYNC_NONE help synchronization between flash memory driver and radio. config SOC_FLASH_NRF_RADIO_SYNC_TICKER bool "Nordic nRFx flash driver synchronized with radio" depends on BT_LL_SW_SPLIT help Enable synchronization between flash memory driver and radio using BLE LL controller ticker API. config SOC_FLASH_NRF_RADIO_SYNC_NONE bool "none" help disable synchronization between flash memory driver and radio. endchoice config SOC_FLASH_NRF_TIMEOUT_MULTIPLIER int "Multiplier for flash operation timeouts [x0.1]" depends on !SOC_FLASH_NRF_RADIO_SYNC_NONE default 15 help This is a multiplier that will be divided by 10 that is applied to the flash erase and write operations timeout. The base for the multiplication would allow erasing all nRF flash pages in blocking mode. config NRF_RRAM_REGION_ADDRESS_RESOLUTION hex default 0x400 help RRAMC's region protection address resolution. Applies to region with configurable start address. config NRF_RRAM_REGION_SIZE_UNIT hex default 0x400 help Base unit for the size of RRAMC's region protection. endif # SOC_FLASH_NRF_RRAM