Skip to content

Conversation

@meijemac
Copy link
Contributor

@meijemac meijemac commented Oct 8, 2025

Soft off example support for NRF54h20 - ironside.

jukkar and others added 30 commits September 22, 2025 18:52
…ances"

This reverts commit 9d98e46.

Signed-off-by: Jukka Rissanen <[email protected]>
…ate nrfx 3.12.1"

This reverts commit 29c0626.

Signed-off-by: Jukka Rissanen <[email protected]>
…tion"

This reverts commit e6cec3e.

Signed-off-by: Jukka Rissanen <[email protected]>
… configuration"

This reverts commit 27c091a.

Signed-off-by: Jukka Rissanen <[email protected]>
…ate nrfx 3.12.0"

This reverts commit 6648c9d.

Signed-off-by: Jukka Rissanen <[email protected]>
…e application"

This reverts commit fced75e.

Signed-off-by: Jukka Rissanen <[email protected]>
… config in dBm"

This reverts commit 8d09c7c.

Signed-off-by: Jukka Rissanen <[email protected]>
…terprise security"

This reverts commit 7cad1bb.

Signed-off-by: Jukka Rissanen <[email protected]>
…tions"

This reverts commit 80b7b93.

Signed-off-by: Jukka Rissanen <[email protected]>
…g procedures""

This reverts commit eb17e7d.

Signed-off-by: Jukka Rissanen <[email protected]>
…property for DPPIC"

This reverts commit 73bd5ef.

Signed-off-by: Jukka Rissanen <[email protected]>
…d info"

This reverts commit e40777b.

Signed-off-by: Jukka Rissanen <[email protected]>
…r nRF54H20""

This reverts commit ec41d05.

Signed-off-by: Jukka Rissanen <[email protected]>
…size"

This reverts commit 6e85928.

Signed-off-by: Jukka Rissanen <[email protected]>
…S_SHA512""

This reverts commit 2e2beca.

Signed-off-by: Robert Lubos <[email protected]>
Regular upmerge.

Signed-off-by: Robert Lubos <[email protected]>
…ns for nrf9280

- Correct test by adding ISR offset definitions for nrf9280 ppr and flrp.

Signed-off-by: Aymen LAOUINI <[email protected]>
(cherry picked from commit 07d9f15)
Timer property indicates which TIMER instance should be used for
byte counting. If timer property is present then given instance
is using TIMER to count received bytes.

Upstream PR #: 92767

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit b836287)
Add reporting about the test progress. Test lasts few seconds and
progress report helps to see if test stuck or how it is progressing.

Upstream PR #: 92767

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit 249e3bf)
Extend test with a mode where HWFC is off and receiver is providing
buffers on time. In that case receiver should be able to continuously
receive data without losing any byte (even without HWFC). Additionally,
TX data is chopped to verify that receiver does not loose bytes when
new TX data collides with detected RX timeout.

Upstream PR #: 92767

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

Add timer property to the uart device under test.
Add zephyr,pm-device-runtime-auto to the uart device under test.

Upstream PR #: 92767

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

Add workaround timer to instances that are used for reception in the
test.

Upstream PR #: 92767

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

Stress test is executed on CPUs with slow clock (16MHz). Handling of test
data in UART_RX_RDY event is optimized to reduce time spent in the
interrupt context. Since payload is always a decrementing sequence, fixed
array is used to compare memory which allows to use standard memcmp
instead of byte by byte comparison.

Upstream PR #: 92767

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit 29526b1)
Rearrange code to prepare for upcoming extension that adds special
receive mode.

Upstream PR #: 92767

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

Add mode to be used on UARTE with frame timeout which is using a bounce
buffers and TIMER to count bytes. This mode shall be used to reliably
receive data without HWFC as frame timeout approach is not 100% reliable
because it can loose or corrupt a byte when new byte arrives after
frame timeout is detected but before it is fully handled. This mode is
similar to the one enabled with CONFIG_UART_x_NRF_HW_ASYNC but
additional bounce buffers are used and UARTE is receiving data to
internal buffers and copies data to the user buffer. Legacy apporach
cannot be used because in new SoC DMA attempts to copy data in words
so when byte is received it stays in the DMA internal buffer until
4 bytes are received or end of transfer happens then internal DMA
buffer is flushed.

Upstream PR #: 92767

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit a07f73b)
(cherry picked from commit 2b7fae8)
Add `DT_NODE_EXISTS` check to ensure cpurad partition
nodes exist before referencing their addresses.
This prevents build errors when these partitions are not
defined in the devicetree.

Upstream PR #: 93815

Signed-off-by: Triveni Danda <[email protected]>
(cherry picked from commit 1b785f5)
anangl and others added 26 commits October 6, 2025 08:01
…g flash_mspi_nor

Add test scenario for the flash_mspi_nor driver used in a configuration
with disable multithreading.

Signed-off-by: Andrzej Głąbek <[email protected]>
(cherry picked from commit 804508f)
…andling

Refactor a bit the RX FIFO handling to prevent RX transfers performed
in Single IO mode from getting stuck when they are suspended due to
the empty TX FIFO and cannot be resumed because there is no further
interrupt in which the TX FIFO could be filled properly with dummy
bytes above its transfer start level.

Signed-off-by: Andrzej Głąbek <[email protected]>
(cherry picked from commit f0f5f8c)
It is very common to see a comment stating that the
"No Space Before Opening Brackets" style guide is not followed.
To avoid putting this burdon on reviewers, let the compliance
check catch this instead.

Checking for tab indentation was also very simple, so also added
this.

Running this check on all files finds many violations:
 - Space before opening brackets: 141 violations
 - Tab indentation: 420 violations

Fixing these will not be done as part of this PR. Adding the check
will prevent us from adding new violations.

Signed-off-by: Rubin Gerritsen <[email protected]>
(cherry picked from commit e9abaf4)
…roperties

Our build system DT API has a dt_comp_path() function used to look up
paths of nodes with a given compatible. This relies on the generated
edt.pickle.cmake file in the build directory to look inside the
concrete devicetree for the current application build.

The script gen_dts_cmake.py is responsible for generating
edt.pickle.cmake. It currently generates the data needed by
dt_comp_path() by looking inside each edtlib.Node object's "props"
attribute. This attribute in turn is fed by the "properties:" key in
the node's YAML binding. This leads to an edge case which is breaking
the dt_comp_path() API.

In most cases, we don't notice this edge case because base.yaml, which
is included by nearly all bindings, has a definition for "compatible"
in its "properties:" map. However, bindings are not required to
include base.yaml, and bindings do not have to explicitliy define a
"compatible" entry in their "properties:". An example of a binding
that does neither is fixed-partitions.yaml: it only has #address-cells
and #size-cells in its "properties:".

Nonetheless, "compatible:" is always a valid property name because
it's defined in the DT spec, and we should make the CMake API robustly
detect all nodes with a given compatible, regardless of whether that
node's binding explicitly defines it or not.

To make this happen, rely on the edtlib.Node.compats attribute instead
of edtlib.Node.props. The compats attribute is always defined even if
the node's YAML binding doesn't have an explicit entry for
"compatible".

Signed-off-by: Martí Bolívar <[email protected]>
Signed-off-by: Tomasz Chyrowicz <[email protected]>
(cherry picked from commit 0907a05)
Update spsdk version to fix dependency confliction with other software.

Signed-off-by: Jiafei Pan <[email protected]>
(cherry picked from commit 77b000f)
…early init

GRTC is used by the logger, so it must be initialized
as early as possible. On the other hand, clock requests
are allowed once the clock control API has been initialized.
This PR introduces a two-stage GRTC initialization to meet
these requirements.

Upstream PR #: 96837

Signed-off-by: Adam Kondraciuk <[email protected]>
nrf-squash! [nrf noup] soc: nrf54l: Add custom section for KMU

This adds the required parts for nrf54l kmu in
cmake linker generator.

Signed-off-by: Robin Kastberg <[email protected]>
Add timing measurement to the test to allow DMM profiling.

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit f06e050)
Default memcpy used in zephyr is not optimized and performs simple
byte by byte copying. Using double word or word access can significantly
reduce copying time especially for RAM3 (slow peripheral RAM).

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit ff3e018)
Add micro heap implementation which is using one or more 32 bit masks
to allocate quickly blocks. It is significantly better than using
sys_heap. Difference is especially big on RAM3 heap because heap
control data is in RAM3 space so operations there were extremely
slowly (15 us to allocate a buffer).

Simplified implementation of the heap requires DMM API change as
release functions need to know the length of the allocated buffer as
simple heap requires that (buffer address is enough for the standard
heap).

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit decdb30)
Align to API changes.

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit 8cc4da3)
Add support for getting usage statistics for DMM.

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit d10ee98)
Extended test to check usage stats and longer buffer alloc.

Signed-off-by: Krzysztof Chruściński <[email protected]>
(cherry picked from commit 3d31042)
Add stress test which validates that allocator is thread safe
and has no memory leaks.

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

Skip stress test if null memory region. That's the case if DMM is
disabled.

Upstream PR #: 96831

Signed-off-by: Krzysztof Chruściński <[email protected]>
There were some corner cases and stress test could fail. Reworking
tail bits handling to make the stress test pass.

Upstream PR #: 96831

Signed-off-by: Krzysztof Chruściński <[email protected]>
…state

The s2ram power state is a "suspend-to-ram" state which is not
supported by the radio core, so delete it from the overlay.

Signed-off-by: Bjarki Arge Andreasen <[email protected]>
Signed-off-by: Adam Kondraciuk <[email protected]>
(cherry picked from commit 91c8c07)
nrf_squash! [nrf noup] soc/nordic/nf54h/pm_s2ram: S2RAM resume hardening

Extended mcuboot_resume_s suture by slot_info field intended to
be used by MCUboot for recognize proper boot slot in direct-xp
mode.

Signed-off-by: Andrzej Puzdrowski <[email protected]>
…sh config

This adds a Kconfig dependency on FLASH_PAGE_LAYOUT when using flash
with explicit erase, removing all code dependencies on flash
configuration from the erasure logic. This module already requires
FLASH_PAGE_LAYOUT to be set when using it with flash with explicit
erase, as a silent requirement. The current code does not work without
this option enabled except for the case where a BLOB has a size which is
a multiple of the page size (since, without it, trying to erase flash
space for the final block, which is of variable size, will fail). Also
cleans up the code a bit.

Signed-off-by: Ludvig Jordet <[email protected]>
(cherry picked from commit 294a2cd)
…ocks

Only erase a page when starting the first block on that page.
This fixes a bug where, if the block size is smaller than the page size,
the entire page would be erased upon start of each block when writing,
meaning only the final block on each page would be retained. This works
because blocks are always received in order.

Signed-off-by: Ludvig Jordet <[email protected]>
(cherry picked from commit 99190cb)
…flash

This fully decouples blob_io_flash from specific flash device details,
by not reading the write block size from a hard-coded device tree node,
instead pulling this from the actual flash device used.

The block write routine has been updated to be more generic and fix a
few bugs:

  * The write buffer is now sized based on a KConfig option instead of
    basing it off the device tree - this makes the module usable with
    any flash device, not just the internal memory. The configured value
    is checked during initialization, to ensure that the configured size
    will fit the write block size required by the device passed to the
    init function.
  * The erase value used to fill the buffer when using a device with
    explicit erase is now pulled from the flash parameters instead of
    being hard-coded to `0xff`.
  * An additional write block sized piece of buffer is allocated - the
    previous buffer sizing with rounding up only worked if
    `BLOB_RX_CHUNK_SIZE % WRITE_BLOCK_SIZE` was 0 or 1 (which
    coincidentally worked in all testing because the chunk size defaults
    to 161, and for internal flash w/write block size of 4,
    `161 % 4 == 1`).
  * The choice of whether to just write the chunk as-is or to
    write-block align it is now based on the erase cap pulled from the
    flash parameters, instead of checking the type of memory in the SOC.
    This means the module dos _not_ currently support the case where
    memory has to be written write-block aligned, but the memory does
    _not_ use explicit erase. It uses a trick of filling the write
    buffer with the erase value to avoid overwriting existing chunks,
    which will not work in this case. This trick is required to support
    random ordered chunks while still writing write-block aligned.
  * The code has been cleaned up a bit in general.

Signed-off-by: Ludvig Jordet <[email protected]>
(cherry picked from commit db207b0)
…ions

The only reason to keep these would be to enable conditional compilation
of some parts of the code. However, we can't see enough benefit in doing
this, particularly since the flash driver itself will conditionally
handle certain paths depending on erase caps, so the options are
deprecated to reduce complexity.

Signed-off-by: Ludvig Jordet <[email protected]>
(cherry picked from commit 8720ab7)
…platforms

The swapped_app image, added via ExternalZephyrProject_Add,
wasn't receiving the swap method configuration from sysbuild.
If trying to build the test with a different configuration that
SWAP_USING_OFFSET (for example SWAP_USING_MOVE)
this resulted in a boot loop due to configuration mismatch
between swapped_image and mcuboot.

This fix ensures proper configuration propagation and prevents
similar mismatches in future scenarios.

Signed-off-by: Artur Hadasz <[email protected]>
(cherry picked from commit 7c1721d)
Added option to use system channel for setup wakeup from soft off.
In Lilium there is insuficcient grtc channels and no spare channel
that can be used as wake up source. Added function to disable all
grtc channels, except the one used for wake up to be able to enter
soft off stated on local domain (disable uncexpected grtc wake ups).

Signed-off-by: Łukasz Stępnicki <[email protected]>
Enabled LATCH reading on sw1 this need additiona REATAIN bits
manipulation. Changed console to be handled automatically,
otherwise there are some unknown characters when console
is suspended. Removed obsolete configs.

Signed-off-by: Łukasz Stępnicki <[email protected]>
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.