The stm32f3_disco board requires an external AD4114 sensor for the
ADC test to pass. Since this sensor is not available by default in
CI environments, the test fails.
Removing stm32f3 from the allow list prevents false negatives during
automated testing.
Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
As per OCPP 1.6, "State of charge of charging vehicle in percentage" is
"Soc", not "SoCState".
Fixes: zephyrproject-rtos/zephyr#98870
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Bluetooth 6.2 has version number 0x10 and was released in November 2025.
This commit ensures this version number is properly decoded.
Signed-off-by: Aleksandar Stanoev <aleksandar.stanoev@nordicsemi.no>
Add documentation for the DT filtering expressions in 'expr_parser.py',
used by Twister to filter boards based on their DT nodes/properties when
selecting test scenarios.
Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
Rename dt_node_prop_enabled filtering expression to
dt_nodelabel_prop_enabled as it takes a node label as a 1st argument.
Enhance dt_node_has_prop inline doc and param name.
Signed-off-by: Abderrahmane JARMOUNI <git@jarmouni.me>
Fixes two critical bugs in the Fujitsu MB85RCxx I2C FRAM driver when
handling transfers that cross page boundaries:
Fixes incorrect write length: The mb85rcxx_write function was
incorrectly passing the total remaining length (len) to the
underlying I2C transfer instead of the page-limited length (len_in_page).
This resulted in I2C errors or data corruption when writing past a page
boundary.
Fixes buffer pointer update: Corrects the loop's buffer pointer
arithmetic in both mb85rcxx_read and mb85rcxx_write. The original
code used incorrect casting (*(char *)&buf += len_in_page;), leading
to a strict aliasing violation and potentially undefined behavior.
The pointer is now correctly advanced using explicit casting:
- mb85rcxx_read: buf = (char *)buf + len_in_page;
- mb85rcxx_write: buf = (const char *)buf + len_in_page;
Signed-off-by: Badr Bacem KAABIA <badrbacemkaabia@gmail.com>
Update hal_stm32 revision to update the stm32wba link layer
802.15.4 libraries including 802.15.4 data transmission fix.
Signed-off-by: Vincent Tardy <vincent.tardy@st.com>
Fixes a build warning in the hwspinlock context initializer macro that
occurs when struct k_spinlock has no members ("warning: excess elements
in struct initializer"). This change is consistent with other struct
k_spinlock initializers in kernel.h.
Signed-off-by: Maureen Helm <maureen.helm@analog.com>
Configuring the region domain while SAP is enabled may lead to instability
in SAP's state and functionality. This change ensures the region domain
is not set when SAP is active.
Signed-off-by: Maochen Wang <maochen.wang@nxp.com>
Add note about PSM/eDRX modes to make it clear that off-load driver
still important when using in baterry powered devices.
Signed-off-by: BUDKE Gerson Fernando <gerson.budke@leica-geosystems.com>
This commit fixes CYW20829 that was broken on main after the
below commit
https://github.com/zephyrproject-rtos/zephyr/pull/95333
The root cause of the issue is that, bootstrap section is located at
the end of the RAM. So the start address of the section needs to
be calculated based on the size of the section.
Signed-off-by: Sreeram Tatapudi <sreeram.praveen@infineon.com>
This fix multiple issues with command implementation:
- lack of LE to host convertion
- using strtoul() on non-string data
- passing stack variable as attr data (which must be present until
notification is sent)
This was affecting GATT/SR/GAN/BV-02-C qualification test case.
Signed-off-by: Szymon Janc <szymon.janc@codecoup.pl>
Utilize a code spell-checking tool to scan for and correct spelling errors
in `.dts` and `.dtsi` files within the `boards` and `dts` directories.
Note: To pass CI compliance checks, also fix the formatting in
`/dts/arm/infineon/edge/pse84/system_clocks.dtsi`
Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
...checking whether we are in user context and accessing
a kernel mode only variable.
For some unknown reasons only knew to Cadence engineers,
the Cadence toolchain will always read z_sys_boot_kernel
at the beginning of k_is_pre_kernel() instead of after
k_is_user_context() is called. So it would always result
in access violation if this is called in user mode.
Forcing a compiler barrier seems to fix that. So force it
here.
Signed-off-by: Daniel Leung <daniel.leung@intel.com>
The snprintk function returns the number of characters that *would have
been* written if the buffer was large enough. This means if the return
value `ret` is greater than or equal to the buffer size `strsize`, the
output was truncated.
The existing check `(strsize < ret)` was incorrect as it did not
handle the case where `ret == strsize` (output fits exactly, but no
room for null terminator) and did not check for negative return values
which indicate an encoding error.
This commit corrects the check to `(ret < 0 || ret >= strsize)` to
properly detect truncation and errors, returning -ENOMEM in these
cases. This fix is applied to `gnss_dump_nav_data`, `gnss_dump_time`,
and `gnss_dump_satellite` functions.
Signed-off-by: Badr Bacem KAABIA <badrbacemkaabia@gmail.com>
The test_smp_thread_abort_deadlock test assumes all CPUs will
simultaneously establish a circular abort dependency (each thread
aborts the next in a ring). However, on platforms with large
emulator/simulator quantum sizes, one thread's ISR may complete
and return before another thread even calls k_thread_abort() on it,
preventing the circular dependency from forming.
This manifested on ARMv8-R FVP but not on QEMU or ARMv8-A/ARMv9-A FVP
due to different timing characteristics and quantum sizes.
Add a k_busy_wait(100) after k_thread_abort() to give all CPUs time
to call abort before any ISR completes.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
Fix typos in the driver instantiation macro, which leads to page_size
and timeout_erase defaulting to 0 regardless of whether the
devicetree instance has the read-only property or not.
DT_INST_NODE_PROP_OR() -> DT_INST_PROP_OR()
Signed-off-by: Liam Ogletree <liam.ogletree@cirrus.com>
Added check for continuous or gated bit clock. Now clock does
not stop if I2S_OPT_BIT_CLK_CONT is selected.
Signed-off-by: Imran Sajjad <imransajjad89@gmail.com>
Fix incorrect format specifiers in lwm2m_read_cached_data() where
size_t variables were printed using %u and %d instead of %zu. This
caused CI failures on ARM64 platforms where size_t is long unsigned
int, triggering -Werror=format warnings.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
Commit d93561da68 ("samples: zbus: benchmark: Filter SMP from
benchmark_sync test") avoided the SMP race condition for the
SUBSCRIBERS variant (benchmark_sync) by filtering out SMP configurations,
but the MSG_SUBSCRIBERS variant (benchmark_async_msg_sub) has the
identical race condition and needs the same filter.
Both variants use the same threading model:
- Producer thread: priority 5 (lower priority, runs later)
- Consumer threads: priority 3 (higher priority, runs first)
- Both use asynchronous delivery via queues (msgq vs fifo)
The race condition on SMP (detailed in d93561da68):
CPU 0 (Producer): CPU 1-3 (Consumers):
----------------- ----------------------
Publish all messages Still processing...
atomic_get(&count) atomic_add() comes later
→ Reports incomplete count!
The LISTENERS variant (benchmark_async) does NOT need filtering because
listeners are synchronous callbacks. Looking at subsys/zbus/zbus.c:130,
the listener callback executes directly within zbus_chan_pub():
case ZBUS_OBSERVER_LISTENER_TYPE: {
obs->callback(chan); /* Synchronous! */
break;
}
All atomic_add() operations complete before the producer checks the
count, so there is no race condition with LISTENERS.
Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
In order to help search engines pick up _all_ our Doxygen documentation,
ensure that a sitemap.xml file is generated for it.
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Fix several issues related to the incremental CRC API usage:
1. Ensure the lock is not prematurely released in crc_set_config,
preventing semaphore double-release (over-giving).
2. Reset the flag_crc_updated state on all error paths to prevent
incorrect seeding in subsequent attempts.
Signed-off-by: Badr Bacem KAABIA <badrbacemkaabia@gmail.com>
Fixes some recently introduced issues with this file whereby
addresses were wrongly using global addresses instead of relative
to the parent node and whereby parent node names were not used
when they should have been
Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
PR https://github.com/zephyrproject-rtos/zephyr/pull/96980/
changed the pins of lpuart0 from 'FC0_P0_PIO0_16' and
'FC0_P1_PIO0_17' to 'FC0_P2_PIO0_6' and 'FC0_P3_PIO0_7'.
This is actually unnecessary because lpuart0 is not enabled
by default, so micfil applications will not be affected.
Even if lpuart0 were enabled by default, we should disable
lpuart0 at the application layer rather than directly
modifying its default configuration, as this behavior lacks
backward compatibility.
Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
Add test cases that respective ICMPv4/ICMPv6 handlers are not called for
packets where address family doesn't match (i.e. malformed ICMPv4 packet
imitating ICMPv6 one).
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Check the address family of the packet before passing it to a ICMP
handler, to avoid scenarios where ICMPv4 packet is paseed to a ICMPv6
handler and vice versa.
Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
Add documentation describing a TF-M attestation issue that prevents
firmware-over-the-air (FOTA) upgrades between affected Zephyr releases.
Recommend a direct upgrade to Zephyr v4.3.0 to avoid attestation and
upgrade compatibility issues.
Signed-off-by: BUDKE Gerson Fernando <gerson.budke@leica-geosystems.com>
Update TF-M to include fixes restoring FOTA upgrade compatibility
between Zephyr v3.7.1 and v4.3.0. This fix allow both forward and
rollback upgrades.
Signed-off-by: BUDKE Gerson Fernando <gerson.budke@leica-geosystems.com>
SYSTICK is used as the default kernel timer.
The FRO 1M clock source for OSTIMER is trimmed to ± 15%
accuracy over the entire voltage and temperature. The FRO 1M
is not accurate enough on the silicon.
Signed-off-by: Allen Zhang <chunfeng.zhang@nxp.com>
The first 32KB will be used by BOOT ROM.
Added board shared sram bypass first 32KB overlay.
The overlay configure shall bypass first 32KB memory to avoid
being clear during system startup.
Signed-off-by: Allen Zhang <chunfeng.zhang@nxp.com>
Avoid calling the HAL_XSPIM_Config function if the app is running
from flash in order to avoid locking since HAL_XSPIM_Config is once
turning off each XSPI instance when performing the configuration.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
The PSRAM could well be plugged to the XSPI2 instead of XSPI1
hence allow configuration of the IOPort and avoid forcing the
ChipSelect in order to allow working on both XSPI1 or XSPI2.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
Avoid copying the whole XSPI_HandleTypeDef structure into the
init function and use a pointer since the structure is already part
of the _data structure.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
I nominate my self as s collaborator for the State machine framework (SMF).
Rationale: sustained contributions to SMF (performance work, tests,
reviews).
@keith-zephyr @glenn-andrews - PTAL.
Signed-off-by: Vladislav Kulikov <vlad_kulikov_c@pm.me>
Correct the RGB565 format generated by the GC2145 in case of CSI based
RGB565 by setting the Page 0 BYPASS_MODE register switch bit in order
to generate RGB565_LE instead of RGB565_BE.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
On parallel interface, the DCMIPP is expecting data in what
corresponds to the RGB565_BE formats, aka
D7 D6 D5 D4 D3 D2 D1 D0
-----------------------
cycle 1: R4 R3 R2 R1 R0 G5 G4 G3
cycle 2: G2 G1 G0 B4 B3 B2 B1 B0
The Zephyr RGB565 video format corresponds to the RGB565_LE
hence perform a SWAPCYCLE when RGB565 is used as input format
on parallel interface.
Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
`sram0_ns_modem` and `sram0_ns_app` are child nodes of `sram0_ns`, not
`sram`. Addresses should be relative to the former, not the later.
Signed-off-by: Jordan Yates <jordan@embeint.com>