-
Notifications
You must be signed in to change notification settings - Fork 735
Softoff ironside after upmerge #3372
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Draft
meijemac
wants to merge
1,817
commits into
nrfconnect:main
Choose a base branch
from
meijemac:softoff_ironside_after_upmerge
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Draft
Softoff ironside after upmerge #3372
meijemac
wants to merge
1,817
commits into
nrfconnect:main
from
meijemac:softoff_ironside_after_upmerge
+14,395
−1,383
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…ances" This reverts commit 9d98e46. Signed-off-by: Jukka Rissanen <[email protected]>
This reverts commit d324d76. 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]>
This reverts commit 737ba8d. 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]>
…PPI" This reverts commit a83d596. 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]>
This reverts commit 6f1c879. 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)
…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]>
This was referenced Oct 8, 2025
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Soft off example support for NRF54h20 - ironside.