zephyr/modules/hal_nordic/Kconfig.nrf_regtool

30 lines
1019 B
Plaintext
Raw Permalink Normal View History

modules: hal_nordic: Integrate nrf-regtool nrf-regtool is a Python utility from Nordic Semiconductor, which is used for generating binary files with register values for given peripherals. It sources the descriptions of peripheral registers from CMSIS-SVD files (typically ones bundled with nRF MDK). For some peripherals, such as UICR, nrf-regtool supports parsing values from devicetree as well, based on the bindings already found in Zephyr. Currently, this tool is not submitted as a script to Zephyr, but it can be installed from PyPI. Having nrf-regtool installed is recommended when working with nRF54H20. Booting the Application or Radiocore CPU requires flashing not only its firmware, but also its respective UICR instance. On this SoC, the UICR is used to assign ownership of global hardware resources, including memory and peripherals, to individual cores. The Zephyr build system can call nrf-regtool to generate the UICR based on devicetree, to reflect the boot-time hardware configuration required for a given application. The generated `uicr.hex` is then merged with `zephyr.hex`, so that they can be flashed together using west. The build system integration takes the form of a CMake package, which includes a version check and reusable components; over time, some of these components can be reused by sysbuild. This package is located in the `hal_nordic` module, because it depends on the `SOC_SVD_FILE` CMake variable, which is defined there as well. Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-01-30 21:30:20 +08:00
# Copyright (c) 2024 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
menu "nrf-regtool options"
depends on SOC_SERIES_NRF54HX || SOC_SERIES_NRF92X
modules: hal_nordic: Integrate nrf-regtool nrf-regtool is a Python utility from Nordic Semiconductor, which is used for generating binary files with register values for given peripherals. It sources the descriptions of peripheral registers from CMSIS-SVD files (typically ones bundled with nRF MDK). For some peripherals, such as UICR, nrf-regtool supports parsing values from devicetree as well, based on the bindings already found in Zephyr. Currently, this tool is not submitted as a script to Zephyr, but it can be installed from PyPI. Having nrf-regtool installed is recommended when working with nRF54H20. Booting the Application or Radiocore CPU requires flashing not only its firmware, but also its respective UICR instance. On this SoC, the UICR is used to assign ownership of global hardware resources, including memory and peripherals, to individual cores. The Zephyr build system can call nrf-regtool to generate the UICR based on devicetree, to reflect the boot-time hardware configuration required for a given application. The generated `uicr.hex` is then merged with `zephyr.hex`, so that they can be flashed together using west. The build system integration takes the form of a CMake package, which includes a version check and reusable components; over time, some of these components can be reused by sysbuild. This package is located in the `hal_nordic` module, because it depends on the `SOC_SVD_FILE` CMake variable, which is defined there as well. Signed-off-by: Grzegorz Swiderski <grzegorz.swiderski@nordicsemi.no>
2024-01-30 21:30:20 +08:00
config NRF_REGTOOL_GENERATE_UICR
bool "Generate UICR"
help
Generate a UICR hex based on devicetree contents using nrf-regtool.
CPU domains that require UICR allocation aren't bootable without it
being programmed alongside the firmware.
config NRF_REGTOOL_VERBOSITY
int "Verbosity level of console output"
range 0 3
default 0
help
Level of verbose output that nrf-regtool will print to the console.
0. Only critical information and warnings.
1. Print a pretty, human-readable representation of a peripheral's
configuration. This is recommended for inspecting register values.
2. Print extra details for debugging purposes, such as memory maps of
the peripheral configurations, but in a less readable format.
3. Print even more details, which are typically only useful for
nrf-regtool developers.
endmenu