zephyr/drivers/flash/Kconfig.nrf_rram

85 lines
2.4 KiB
Plaintext

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