| # |
| # 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 |