mirror of
https://github.com/zephyrproject-rtos/zephyr
synced 2025-09-15 23:42:47 +00:00
Update flash drivers to use DT_HAS_<compat>_ENABLED Kconfig symbol to expose the driver and enable it by default based on devicetree. We remove 'depend on' Kconfig for symbols that would be implied by the devicetree node existing. Signed-off-by: Kumar Gala <galak@kernel.org>
85 lines
2.8 KiB
Plaintext
85 lines
2.8 KiB
Plaintext
# 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"
|
|
default y
|
|
depends on DT_HAS_NORDIC_NRF51_FLASH_CONTROLLER_ENABLED || \
|
|
DT_HAS_NORDIC_NRF52_FLASH_CONTROLLER_ENABLED || \
|
|
DT_HAS_NORDIC_NRF53_FLASH_CONTROLLER_ENABLED || \
|
|
DT_HAS_NORDIC_NRF91_FLASH_CONTROLLER_ENABLED
|
|
depends on !FLASH_NRF_FORCE_ALT
|
|
select FLASH_HAS_PAGE_LAYOUT
|
|
select FLASH_HAS_DRIVER_ENABLED
|
|
select NRFX_NVMC
|
|
select MPU_ALLOW_FLASH_WRITE if ARM_MPU
|
|
help
|
|
Enables Nordic Semiconductor nRF flash driver.
|
|
|
|
if SOC_FLASH_NRF
|
|
|
|
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_PARTIAL_ERASE
|
|
bool "Nordic nRFx flash driver partial erase"
|
|
depends on HAS_HW_NRF_NVMC_PE
|
|
help
|
|
Enable partial erase feature. Partial erase is performed in time
|
|
slices instead of blocking MCU, for the time it is needed to
|
|
complete operation over given area.
|
|
This allows interrupting flash erase between operations
|
|
to perform other task by MCU.
|
|
This feature may also be used for better syncing flash erase
|
|
operations, when compiled with SOC_FLASH_NRF_RADIO_SYNC_TICKER,
|
|
with Bluetooth.
|
|
|
|
config SOC_FLASH_NRF_PARTIAL_ERASE_MS
|
|
int "Partial erase timeout in MS"
|
|
depends on SOC_FLASH_NRF_PARTIAL_ERASE
|
|
default 3
|
|
help
|
|
This is maximum time, in ms, that NVMC will use to erase part
|
|
of Flash, before stopping to let CPU resume operation.
|
|
Minimal timeout is 2ms maximum should not exceed half of
|
|
FLASH_PAGE_ERASE_MAX_TIME_US im ms.
|
|
|
|
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
|