Skip to content

Conversation

hakonfam
Copy link
Contributor

@hakonfam hakonfam commented Jun 5, 2025

No description provided.

adamkondraciuk and others added 30 commits May 14, 2025 17:00
Add TDM support for nRF54H20 and nRF54L20

Upstream PR #: 82144

Signed-off-by: Adam Kondraciuk <[email protected]>
Support for list of images in build info was added with commit
4061311 and is used by sysbuild.

Zephyr itself also uses CMake's External Project feature when including
TF-M or TF-A in a Zephyr build.

Populate build info with TF-M / TF-A information when said image is
included in the build.

Upstream PR #: 86881

Signed-off-by: Torsten Rasmussen <[email protected]>
(cherry picked from commit 92dddd4)
…nfiguration

On nrf54h20 there are additional analog pins (AIN8+). When differential
mode is used they must not be mixed with AIN0-AIN7. Add build time
validation which detects if configuration is invalid.

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit 2f7d799)
…vref_mv

Sample is reading vref-mv property to get reference voltage and then if
reference source is set to ADC_REF_INTERNAL this value is overwritten.
If vref-mv property is provided then it should not be overwritten.

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit 2174e16)
…nfiguration

AIN9 source needs special handling (all from AIN8-AIN14). Conversion
result needs to be scaled up by 3.6 additionally to gain and reference
voltage. In order to achieve correct value in the sample vref-mv is
used as reference voltage instead of predefined internal reference
source.

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit 7a16284)
Add number of channels implemented by the local DPPIC instances.

Upstream PR #: 85853

Signed-off-by: Adam Kondraciuk <[email protected]>
(cherry picked from commit b212602)
… for DPPIC

The `owned-channels` property specifies which channels are assigned to
a given target. Additionally, the `source-channels` or `sink-channels`
property defines channels that can be used to forward an event outside
the DPPI domain, otherwise they can only be used within it.

Upstream PR #: 85853

Signed-off-by: Adam Kondraciuk <[email protected]>
(cherry picked from commit 4b7ada0)
…ures"

The marking procedures can be reverted, since at this stage
it is already allowed to use the stack.
The MSP is temporairly set to interrupt stack in `reset.S` file before
calling s2ram procedures..

Upstream PR #: 87304

Signed-off-by: Adam Kondraciuk <[email protected]>

This reverts commit e68d110f7c175f2a9275659d023c9d37d1e4b4f1.

(cherry picked from commit 00f4271)
Optimize `pm_s2ram_mark_check_and_clear()` function.

Upstream PR #: 87304

Signed-off-by: Adam Kondraciuk <[email protected]>
(cherry picked from commit 7740ccf)
Added added node for audio clock on nRF54L20 with
fixed frequency of 24 MHz.

Signed-off-by: Michał Stasiak <[email protected]>
(cherry picked from commit 894cbed)
When deleting a settings entry the linked list is updated by removing
the deleted node. This operation is time consuming and add some delays.
For applications that use almost the same set of Setting entries, add an
option to make this operation faster at a cost of having some empty
nodes in the linked list.
These empty nodes can be used later when the deleted entry is written
again.
Each empty node occupies 16B of storage.

Upstream PR #: 87792

Signed-off-by: Riadh Ghaddab <[email protected]>
(cherry picked from commit 68f7cc5)
When the CONFIG_ZMS_NO_DOUBLE_WRITE is not enabled there is no need to
search in the cache for matching ID

Upstream PR #: 87792

Signed-off-by: Riadh Ghaddab <[email protected]>
(cherry picked from commit 4c93775)
Settings subsystem is storing the name ID and the linked list node ID
with only one bit difference at BIT(0).
Settings subsystem is also storing the name ID and the data ID in two
different ZMS entries at an exact offset of ZMS_DATA_ID_OFFSET.
Using the regular lookup function could result in many cache misses.

Therefore, to assure the least number of collisions in the lookup cache,
the BIT(0) of the hash indicates whether the given ZMS ID represents a
linked list entry or not, the BIT(1) indicates whether the ZMS ID is a
name or data and the remaining bits of the hash are set to a truncated
part of the original hash generated by Settings.

Upstream PR #: 87792

Signed-off-by: Riadh Ghaddab <[email protected]>
If the subtree argument is not NULL in the settings_load function, load
only the setting entry that corresponds to that subtree.
If the subtree argument is NULL or it is not found in the storage, load
all the existing entries in the storage.

Upstream PR #: 87792

Signed-off-by: Riadh Ghaddab <[email protected]>
(cherry picked from commit 676b3e5)
Increase the load performance by adding an optional cache for the linked
list hashes.
This is used only when the settings_load is called with NULL parameter
and we need to load all Settings that exist in the persistent storage.
Cache is enabled using SETTINGS_ZMS_LL_CACHE and the size of the cache
is set using SETTINGS_ZMS_LL_CACHE_SIZE.
Each cache entry will add 8 bytes of RAM usage.

Upstream PR #: 87792

Signed-off-by: Riadh Ghaddab <[email protected]>
(cherry picked from commit 959ce6a)
…s entry

Add a a function settings_load_one that allows to load only one settings
entry instead of a complete subtree.
Add as well its implementation for ZMS backend.
This will allow a faster return if the Settings entry doesn't exist in
the persistent storage.

Upstream PR #: 87792

Signed-off-by: Riadh Ghaddab <[email protected]>
…ad_one

Add a test for the new API settings_load_one that loads only one path
from the persistent storage.

Upstream PR #: 87792

Signed-off-by: Riadh Ghaddab <[email protected]>
(cherry picked from commit ec1032b)
Add the functional test for the new backend of ZMS

Upstream PR #: 87792

Signed-off-by: Riadh Ghaddab <[email protected]>
When a power off happens after writing the settings name and before
writing the linked list node we cannot write the settings name again in
the future.
Fix this by writing the linked list node before writing the name.
When loading all settings, we already delete linked list node that do
not have any name or value written.
Adds as well a recover path if a power down happens in the middle of
unlinking an LL node after a delete.

Upstream PR #: 87792

Signed-off-by: Riadh Ghaddab <[email protected]>
(cherry picked from commit 0e6b78e)
When the linked list is broken, recover it instead of reinitializing it.

Upstream PR #: 87792

Signed-off-by: Riadh Ghaddab <[email protected]>
(cherry picked from commit 8b446e2)
Add a function to get the value's length of a Key. If it doesn't exist
returns 0.
Add ZMS implementation for csi_get_val_len() and a default implementation
for the other storage systems.
Add some functional tests to verify it.

Upstream PR #: 87792

Signed-off-by: Riadh Ghaddab <[email protected]>
…f strlen

if the provided name in argument is not null this could lead to un
undefined behavior.
Use strnlen to make this safe

Upstream PR #: 87792

Signed-off-by: Riadh Ghaddab <[email protected]>
Add references to the new API functions that were added
"csi_load_one" and "csi_get_val_len"

Upstream PR #: 87792

Signed-off-by: Riadh Ghaddab <[email protected]>
Clean some parts of the code and refactor it to avoid multiple nested
conditions.

Upstream PR #: 87792

Signed-off-by: Riadh Ghaddab <[email protected]>
Cache was not enabled when s2ram did not completed which
lead to system malfunction. Always power up cache when
returning from s2ram function.

Upstream PR #: 88709

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit a5364b6)
… in nRF devices

This change plays with situation in nRF54L devices where XOTUNE make
LF clock calibration process starts a bit longer. Now HF clock
is configured to be ready right before LF calibration test.

Signed-off-by: Karol Lasończyk <[email protected]>
(cherry picked from commit c6413c3)
…s on nRF54

Added support for audio clock for nRF54L20 and AudioPLL
for nRF54H20 in DMIC PDM driver.

Signed-off-by: Michał Stasiak <[email protected]>
(cherry picked from commit 16b9f60)
… security

Add support for configuring enterprise mode security.
Fixes SHEL-3573.

Upstream PR #: 88653

Signed-off-by: Ravi Dondaputi <[email protected]>
(cherry picked from commit 43689e6)
Enable Wi-Fi credentials support. Update the heap sizes as
required for enterprise mode.

Upstream PR #: 88653

Signed-off-by: Ravi Dondaputi <[email protected]>
(cherry picked from commit 545c4b4)
…P is re-enabled

Add a simple non-XIP transaction before deactivating the QSPI after
a XIP transaction is performed. This prevents a CPU hang from occuring
when another XIP transaction is attempted after the QSPI is activated
again.

Signed-off-by: Andrzej Głąbek <[email protected]>
(cherry picked from commit fb1d078)
rugeGerritsen and others added 25 commits May 28, 2025 17:12
This default matches the default before it got changed in
nrfconnect/sdk-nrf#22369. This ensures
that the current consumption when using Bluetooth remains unchanged.

The default of 854 is slightly smaller than what is recommended
by the documentation provided for MPSL_HFCLK_LATENCY.
It is still likely good enough for this board and its use cases.

This noup commit can be replaced once:
* HFXO startup latency is defined in device tree:
  zephyrproject-rtos/zephyr#90615
* The startup latency is configured per board and not per SoC.
  The startup latency is board specific as the HFXO is an SOC-external
  component.

Signed-off-by: Rubin Gerritsen <[email protected]>
Add request to enable/disable dPlus pullup.

Upstream PR #: 88429

Signed-off-by: Maciej Meijer <[email protected]>
…ady with timer on nRF54LM20A"

This reverts commit ce7b5e8.

Signed-off-by: Piotr Koziar <[email protected]>
Allow to add an image-specific DTS overlay, that is applied based on the
FILE_SUFFIX.
Up to this point, it was possible to specify such Kconfig files
(sysbuild/<image>_<file_suffix>.conf),
but it did not work with dts overlays
(sysbuild/<image>_<file_suffix>.overlay).
This commit aligns the logic of finding configuration files for both
scenarios mentioned above.

Ref: NCSDK-NONE

Upstream PR #: 90643

Signed-off-by: Tomasz Chyrowicz <[email protected]>
…te service"

This reverts commit e54729f.

Signed-off-by: Jonathan Nilsen <[email protected]>
…onside update service"

This reverts commit 796c0e1.

Signed-off-by: Jonathan Nilsen <[email protected]>
…nrf54h20/cpuapp/iron"

This reverts commit 6118016.

Signed-off-by: Jonathan Nilsen <[email protected]>
…c_late_init_hook"

This reverts commit cb7ed2d.

Signed-off-by: Jonathan Nilsen <[email protected]>
…CPUCONF service"

This reverts commit 3823cef.

Signed-off-by: Jonathan Nilsen <[email protected]>
…t_hook"

This reverts commit 5d33965.

Signed-off-by: Jonathan Nilsen <[email protected]>
…d variants"

This reverts commit e1c9150.

Signed-off-by: Jonathan Nilsen <[email protected]>
This reverts commit f32cef9.

Signed-off-by: Jonathan Nilsen <[email protected]>
…riants

Define `ipc_conf_iron.dtsi` and `memory_map_iron.dtsi`. In the future,
they will be merged with the base `ipc_conf.dtsi` and `memory_map.dtsi`
respectively. For now, they are used to replace a few devicetree nodes
when building for `nrf54h20dk/nrf54h20/*/iron` board targets.

Additional changes are included:

  * The IPC configuration includes new "nordic,ironside-call" nodes.
  * The memory map includes an updated RAM20 layout. Its subregions are
    placed under the `/reserved-memory` node like before.
  * The memory map also includes an updated MRAM layout. Partitions are
    now placed under a plain "fixed-partitions" node. MCUboot-specific
    node labels are applied in `cpuapp.dts`.

Signed-off-by: Grzegorz Swiderski <[email protected]>
(cherry picked from commit d370451)
This is needed for next generation Secure Domain firmware.

Signed-off-by: Sebastian Bøe <[email protected]>
Signed-off-by: Jonathan Nilsen <[email protected]>
(cherry picked from commit 2ba5d46)
Port SYS_INIT to use soc_early_init_hook as SYS_INITs are legacy.

Due to moving dmm_init() from PRE_KERNEL_1 SYS_INIT to
soc_early_init_hook(), the DMM test is also updated to ensure that
its setup function runs before dmm_init().

Signed-off-by: Sebastian Bøe <[email protected]>
Signed-off-by: Jonathan Nilsen <[email protected]>
(cherry picked from commit c0c4170)
…service

Add an IPC service API for booting local domain cores.

Signed-off-by: Sebastian Bøe <[email protected]>
Signed-off-by: Jonathan Nilsen <[email protected]>
(cherry picked from commit 14a47cb)
…nit_hook

Boot the radiocore from the app in soc_late_init_hook.

Signed-off-by: Sebastian Bøe <[email protected]>
(cherry picked from commit d949932)
…/cpuapp/iron

Add support for nrf54h20dk/nrf54h20/cpuapp/iron to the
samples/sysbuild/hello_world sample.

Signed-off-by: Sebastian Bøe <[email protected]>
(cherry picked from commit afc8389)
…ervice

Add an IPC service API for triggering updates of the Nordic IRONside SE
firmware using the IRONside call module.

Co-authored-by: Håkon Amundsen <[email protected]>
Signed-off-by: Jonathan Nilsen <[email protected]>
(cherry picked from commit 51609f0)
…pdate service

Add a sample demonstrating how to use the IRONside update service to
update the IRONside SE firmware on the nrf54h20dk/nrf54h20/cpuapp/iron
board.

Co-authored-by: Håkon Amundsen <[email protected]>
Signed-off-by: Jonathan Nilsen <[email protected]>
(cherry picked from commit eb7b978)
Upstream PR #: 90569

The boot report is used to pass information from IRONside to a CPU
being booted.

Integrate the boot report to the update service sample.

Signed-off-by: Håkon Amundsen <[email protected]>
Add support for generating UICR and associated artifacts in a
format compatible with IRONside SE, to be used for nRF SoCs
in the Haltium family.

The main feature added with this is the ability to configure certain
global domain peripherals that are managed by the secure domain
through setting UICR.PERIPHCONF. This register points at a blob of
(register address, register value) pairs which are loaded
into the peripherals by IRONside SE ahead of the application boot.

The added helper macros in uicr.h can be used to add register
configurations to the PERIPHCONF. Entries added through these macros
are then extracted by a script, post-processed and placed in a blob
located at specific part of MRAM.

A default PERIPHCONF configuration has been added for the nrf54h20
soc to support the standard BLE use case.

Signed-off-by: Jonathan Nilsen <[email protected]>
Program the new UICR and PERIPHCONF artifacts if they are generated.
These are required for the application to operate properly if they
are in use.

Signed-off-by: Jonathan Nilsen <[email protected]>
Make it so the 54h20 'iron' variants have the same flashing
behavior as the other 54h20 targets.

Signed-off-by: Jonathan Nilsen <[email protected]>
Copy link

sonarqubecloud bot commented Jun 5, 2025

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.