[v2025.12] Cherry-pick upstream PRs#11
Merged
Johan Hedberg (jhedberg) merged 30 commits intoFeb 18, 2026
Merged
Conversation
f1196f9 to
0707a19
Compare
Johan Hedberg (jhedberg)
previously approved these changes
Feb 17, 2026
Author
|
Added 8 commit to make the uart_async_dual test work. See this during my sanity test. |
685eeda to
0707a19
Compare
Author
|
Removed the last PR that I tried to add for the uart_async_dual test because it creates too much compliance failure. uart_asyn_dual is then a non working testcase (because of how the test is written) |
SiWx917 does not support concurrent read and write on the flash. sli_mv_m4_app_from_flash_to_ram() ensure that requirement. Especially, it disable the Zephyr scheduler. However, to guaranty the instruction cache won't access to the flash, this function has to be located in RAM. Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com> (cherry picked from commit de64c00) Upstream-status: available
Update the GSPI DMA configuration to conditionally register the DMA callback based on transfer direction and RX buffer presence. The callback is enabled for TX-only transfers when the RX buffer is NULL and for RX transfers when a valid RX buffer is provided. Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com> (cherry picked from commit 84a5255) Upstream-status: available
The Siwx91x GSPI controller requires the FIFO reset bits to be held high for a minimum of one GSPI bus clock cycle. Currently, the driver asserts and deasserts the reset back-to-back, which may result in an insufficient reset pulse width at higher frequencies. Add a small, frequency-based delay after asserting the FIFO reset bits to guarantee the minimum reset duration, ensuring reliable FIFO reset behavior. Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com> (cherry picked from commit 5052511) Upstream-status: available
Reduce the transfer duration scaling used by test_spi_complete_multiple_timed. The recent increase in QSPI frequency improves overall siwx91x performance, resulting in faster SPI transfers. Adjust the scaling factor to keep the test timing expectations aligned with the updated SPI transfer rates. Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com> (cherry picked from commit ef4237b) Upstream-status: available
Doing this increases the QSPI peripheral clock from 40 MHz to 80 MHz. This improves flash access throughput and overall performance on siwx91x devices, as QSPI is used for external flash operations. Signed-off-by: Sai Santhosh Malae <Santhosh.Malae@silabs.com> (cherry picked from commit 2ed5082) Upstream-status: available
When an async transfer finished quickly, the internal state of the driver could come out of sync with the hardware. The tx/rx enabled flag and PM lock was taken after starting the DMA transaction, which caused issues if the DMA complete callback was called before the flags were updated. Set the flag and take the PM lock prior to starting the DMA transaction to avoid this. Also release the PM rx lock upon successful completion of a transfer. The lock was previously only released when the user manually called `uart_rx_disable()`. Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com> (cherry picked from commit 54bc315) Upstream-status: available
Enable two-uart test for xg24_rb4187c. Modify the pinout for the uart_loopback fixture to support two complete UARTs including flow control by connecting pins EXP[4,6,8,10] with EXP[7,9,11,13] on the expansion header. Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com> (cherry picked from commit e995e0c) Upstream-status: available
Update the expected network coprocessor (nwp) firmware version. Signed-off-by: Martin Hoff <martin.hoff@silabs.com> Upstream-status: n/a
Make sure that arch.mode is set with appropriate flags before setting up the privileged stack start. Fixes zephyrproject-rtos#99895 Signed-off-by: Sudan Landge <sudan.landge@arm.com> (cherry picked from commit 9962bc1) Upstream-status: available
Fixes an issue where input events which have the sync flag set but are neither X/Y coordiante updates nor press/release updates triggers a false reporting of input to LVGL. Signed-off-by: Fabian Blatz <fabianblatz@gmail.com> (cherry picked from commit 25d96b2) Upstream-status: available
Depending on the IP's `IC_TX_CMD_BLOCK_DEFAULT` parameter, we might have to clear the `TX_CMD_BLOCK` bit on init so that Controller mode works. Signed-off-by: Yong Cong Sin <ycsin@meta.com> Signed-off-by: Yong Cong Sin <yongcong.sin@gmail.com> (cherry picked from commit a028d8f) Upstream-status: available
Enable PWM tests on xg24_rb4187c. Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com> (cherry picked from commit 8e6c936) Upstream-status: available
Change the spi_loopback fixture to connect EXP4 to EXP7 instead of EXP6 to be consistent with other loopback fixtures for this board. Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com> (cherry picked from commit cc46fc2) Upstream-status: available
Add overlay to enable test on xg24_rb4187c. Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com> (cherry picked from commit b7767e9) Upstream-status: available
The GPIO port test modifies the state of the entire port (gpio
controller) associated with the test pin (typically a LED).
Support running GPIO port tests on a port that is also used for
other functions by saving and restoring the output state of the
GPIO port between each testcase.
This is required on certain Silicon Labs boards where the LED
used for the test is on the same port as the GPIO used to enable
console output ("vcom enable"). If the port state isn't restored
after the test, subsequent console output isn't received by the
debugger.
Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
(cherry picked from commit 1d398ae)
Upstream-status: available
The FW loader reports and manages exactly two slots: - slot 0: this is the slot for the application code to update - slot 1: this is the slot, in which the FW loader is placed The slot 1 is reported, so tools can fetch metadata about the FW loader installed on the device. Unfortunately, currently SMP-based FW loader allows to issue slot erase command for the slot 1, effectively erasing the FW loader code that is being executed. This change correctly identifies the slot 1 as an active one, marking it as used and blocking erase operation on that slot. Signed-off-by: Tomasz Chyrowicz <tomasz.chyrowicz@nordicsemi.no> (cherry picked from commit 26128ab) Upstream-status: available
…down In case network interface goes down, all underlying TCP contexts are being dereferenced, however they are not released until application dereferences them as well (i.e. closed the socket). If the application does not do so however timely, and network interface goes down again, the TCP context would still be present on the active contexts list and could've been dereferenced for the second time. Fix this by checking the context state before dereferencing it on the stack behalf. Non-listening TCP context are being set to CLOSED state upon dereferencing. For the listening contexts, the TCP context has only one ref from the application side, so use the `accept_cb` pointer value as an indicator that the accept callback, indicating an error, has already been called for the context. Additionally, add a mutex lock when releasing listening context on network down even, to avoid potential races with yet unprocessed incoming packets. Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no> (cherry picked from commit 913fae5) Upstream-status: available
If the underlying listening TCP context reported an error, it's no longer usable, therefore accept() call for such a socket should report an error as well, otherwise it may block indefinitely. Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no> (cherry picked from commit 1a2d9f7) Upstream-status: available
The mdns_responder sample has a simple TCP echo server running, however the accept() function errors were ignored, making the server defunct in case server socket started to report errors (for example when network went down). Update the sample to restart the echo server in case of accept() errors to make the sample more reliable. Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no> (cherry picked from commit 735f16f) Upstream-status: available
According to the docs the millis were in the format `.SSSSSS`. In reality though, it only accepted exactly `.SSS`, not `.SS` or `.SSSS` and specifically also not `.SSSSSS`, contrary to the docs. Further, it did not fail with an error message but simply produced the wrong value. With this change it accepts everything from `.` to `.SSSSSS` and produces the correct result. This is compatible with the previous behavior, with the documentation and with everything in between. Signed-off-by: Martin Stumpf <finomnis@gmail.com> (cherry picked from commit ffb046b) Upstream-status: available
The "check warns" workflow in CI warned over the use of `unsigned` as a shorthand for `unsigned int` in several locations in `lib/libc/minimal/include/ctype.h`. ``` UNSPECIFIED_INT: Prefer 'unsigned int' to bare use of 'unsigned' File:lib/libc/minimal/include/ctype.h ``` Adjust `unsigned` to `unsigned int` to avoid linter warnings. Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com> (cherry picked from commit 8a2442f) Upstream-status: available
Based on review feedback, it was suggested to express ctype character checks in a more direct fashion, rather than using arithmetic, and allow the compiler to optimize as it sees fit. https://github.com/zephyrproject-rtos/zephyr/pull/99451#\ discussion_r2530339430 Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com> (cherry picked from commit 6b393c7) Upstream-status: available
A review comment in the PR below requested that unnecessary casts were removed from ctype.h in the PR below. zephyrproject-rtos#99451 Tested with manual compilation in C and C++ mode with the arguments ```shell gcc -Wconversion -Werror -Wall -Wextra -Wint-conversion clang -Wconversion -Werror -Wall -Wextra -Wint-conversion gcc -Wconversion -Werror -Wall -Wimplicit--Wextra clang++ -Wconversion -Werror -Wall -Wextra ``` and also with `-- -DCONFIG_COMPILER_WARNINGS_AS_ERRORS=y` Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com> (cherry picked from commit 6b6a259) Upstream-status: available
Add the functions below to the minimal libc ctype.h since they are missing, and are required as of C89 (C99 for `isblank()`) * `isblank()` * `islower()` * `ispunct()` Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com> (cherry picked from commit de91735) Upstream-status: available
A regression in 936d027 introduced a subtle bug in the way that escaped expressions were handled. The regression originated with the assumption that test data (originally adapted from a 3rd-party testsuite) was correct when it was in fact flawed. Specifically, `fnmatch("[[?*\\]", "\\", 0)` should fail (`FNM_NOMATCH`), since the "\\" sequence (a single backslash after compilation) escapes the following ']' character, thus leaving the bracket expression incomplete. As @keith-packard has pointed out, https://pubs.opengroup.org/onlinepubs/9699919799/utilities/\ V3_chap02.html#tag_18_13_01 says that a bracket expression is only interpreted as a bracket expression, when a proper bracket expression is formed. Therefore, the pattern is interpreted as the sequence `'['`, `'['`, `'?'`, `*` (wildcard), `']'` and the call should return `FNM_NOMATCH` to indicate failure rather than 0 to indicate success. Added new test cases from zephyrproject-rtos#98827 and some commentary for subsequent reviewers. This change does not completely fix zephyrproject-rtos#55186 but is related to it. Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com> (cherry picked from commit 637080e) Upstream-status: available
A couple of tests were inconsistent with glibc and picolibc. Significant rework done to the `fnmatch()` implementation which included refreshing that and the `rangematch()` implementations from commit 0a3b2e376d150258c8294c12a85bec99546ab84b in https://github.com/lattera/freebsd Removed `match_posix_class()` and implemented that functionality as `rangematch_cc()`, which uses 64-bit integer comparison for matching `[:alnum:]` et al instead of string comparison. That likely only works for the "C" locale. Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com> Signed-off-by: Harun Spago <harun.spago.code@gmail.com> (cherry picked from commit de2d0c9) Upstream-status: available
The tolower() function takes an int parameter. LLVM compilers generate a warning if a char is passed instead. Signed-off-by: Keith Short <keithshort@google.com> (cherry picked from commit 4d81bdb) Upstream-status: available
xg24_rb4187c has an external SPI NOR flash in addition to the internal flash. Disable the NOR flash to make the test run on the internal flash. Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com> (cherry picked from commit 15a43f6) Upstream-status: available
Enable DMA tests on xg24_rb4187c. Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com> (cherry picked from commit ec072cb) Upstream-status: available
0707a19 to
7f024ed
Compare
Jérôme Pouiller (jerome-pouiller)
approved these changes
Feb 18, 2026
Johan Hedberg (jhedberg)
approved these changes
Feb 18, 2026
af205b8
into
SiliconLabsSoftware:silabs/v2025.12
2 checks passed
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
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.
Cherry-pick bugfixes from 18 upstream PRs.