85 lines
2.4 KiB
Plaintext
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
|