Commit graph

118,807 commits

Author SHA1 Message Date
Luis Ubieda
4e4ec9c1e2 sensor: icm42688: fix One-shot decoder to only return requested fields
Otherwise clients will get the impression there are frames for values
that have not been retrieved.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-02-11 07:44:12 +01:00
Luis Ubieda
f8506347cd sensor: icm42688: change single-axis data reported as sensor_q31_data
When individual axis is retrieved, it does not require the other values.
Simplify one-shot decoder to follow this pattern.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-02-11 07:44:12 +01:00
Phi Bang Nguyen
0fc4806192 doc: release: 4.1: Move video_buffer_alloc to video section
Move video_buffer_alloc to the video section.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2025-02-11 07:43:58 +01:00
Phi Bang Nguyen
b341d9d6a4 video: Merge video_stream_start/stop driver APIs
The video_stream_start/stop() APIs are counter-symetric and have
the same function signature. Also, the implementation logic for
those driver APIs is generally the same. Merge them to save memory
and code lines.

For the sake of simplicity, still keep the user APIs to preserve
backward compatibility with downstream applications.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2025-02-11 07:43:58 +01:00
Phi Bang Nguyen
db6a4e02ad drivers: video: emul_rx: Fix flush function
When stopping, the framework calls driver's stop callback then driver's
flush callback. Hence, driver's flush callback does not need to call
stop callback again.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2025-02-11 07:43:58 +01:00
Luis Ubieda
caa284e035 spi: rtio: Fix Log module instantiation
This fixes compilation issue coming from having both CONFIG_LOG
and CONFIG_SPI_RTIO enabled.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-02-11 03:07:50 +01:00
Tom Hughes
8218bf6b0a Bluetooth: TBS: Fix -Wsometimes-uninitialized warning
Building bluetooth.shell.audio.only_gtbs with clang warns:

subsys/bluetooth/audio/tbs.c:1646:6: error: variable 'ret' is used
uninitialized whenever 'if' condition is false
[-Werror,-Wsometimes-uninitialized]
        if (param->gtbs) {
            ^~~~~~~~~~~
subsys/bluetooth/audio/tbs.c:1667:9: note: uninitialized use occurs here
        return ret;
               ^~~
subsys/bluetooth/audio/tbs.c:1646:2: note: remove the 'if' if its
condition is always true
        if (param->gtbs) {
        ^~~~~~~~~~~~~~~~~
subsys/bluetooth/audio/tbs.c:1626:9: note: initialize the variable 'ret'
to silence this warning
        int ret;
               ^
                = 0

Signed-off-by: Tom Hughes <tomhughes@chromium.org>
2025-02-11 03:07:39 +01:00
Emil Gydesen
9fca7ee3a5 Bluetooth: Controller: Fix casting in radio_aa_set for BASE0
We have previously fixed an issue with shifting and
assigning the value without a cast, but coverity
is still complaining about aa[1] and aa[0] with:

"Casting narrower unsigned aa[1] to wider signed type
int effectively tests its lower bound."

Using the common function, sys_get_le24, should fix this issue.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-02-11 03:07:27 +01:00
Guillaume Gautier
a46315fe9a tests: drivers: dma: loop_transfer: add stm32n6 boards overlays
Add DMA loop transfer test overlays for Nucleo N657x0-Q and STM32N6570 DK
boards.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-02-11 03:07:12 +01:00
Guillaume Gautier
ebce302541 boards: st: stm32n6: enable dma for stm32n6 boards
Update documentation to indicate that DMA is available on Nucleo N657x0-Q
and STM32N6570 DK boards.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-02-11 03:07:12 +01:00
Guillaume Gautier
498dd5d13a dts: arm: st: n6: add gpdma
Add GPDMA support to STM32N6

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-02-11 03:07:12 +01:00
Guillaume Gautier
12d950b3b1 drivers: dma: configure channel in secure execution mode
Configure the DMA so it works in secure execution mode

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-02-11 03:07:12 +01:00
Guillaume Gautier
07fec01141 boards: st: stm32n6: enable mpu for stm32n6 boards
Enable MPU and HW Stack Protection for Nucleo N657x0-Q and STM32N6570 DK
boards.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-02-11 03:07:12 +01:00
Guillaume Gautier
a024d5b984 soc: st: stm32n6: add missing kconfig for init hook
Add missing SOC_EARLY_INIT_HOOK Kconfig to STM32N6.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-02-11 03:07:12 +01:00
Emilio Benavente
e40ad1c901 dts: arm: nxp: Enable RTC Counter for MCXW7X
Enabled the RTC Counter for the MCXW71 and MCXW72.

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2025-02-11 03:07:01 +01:00
Emilio Benavente
8640147c34 driver: counter: mcux_rtc: Move FSL check
Move FSL Check to after the code decided
that FSL has been defined.

Signed-off-by: Emilio Benavente <emilio.benavente@nxp.com>
2025-02-11 03:07:01 +01:00
Abe Kohandel
bc236f98ee drivers: timer: Add MMU awareness to TI DM Timer
Map the timer register space using DEVICE_MMIO_NAMED_MAP so if the MMU
is enabled, the register space is mapped correctly in the virtual
memory.

Signed-off-by: Abe Kohandel <abe.kohandel@gmail.com>
2025-02-11 03:06:42 +01:00
Andriy Gelman
fb635f6327 soc: arm: infineon_xmc: Use cacheable flash address space
The infineon xmc4xxx series has two ways to access flash: one is the
cacheable address space at 0x8000000 which may return pre-fetched/cached
data to reduce flash access latency, the second is non-cached space
at 0xc000000 which is mainly used for write and erase operations.

Currently the LMA is set to the non-cachable address which is not
efficient for executing in place (XIP). Instead use the cacheable
address for the LMA.

Even though the cacheable address is used for the LMA, the J-Link
probe properly figures that it has to use non-cached space for erasing
and writing to flash.

Signed-off-by: Andriy Gelman <andriy.gelman@gmail.com>
2025-02-11 03:06:28 +01:00
Benjamin Cabé
154d5adb18 doc: ci: exclude unneeded files from documentation tarball
There is no point in including source .rst files in html-output.tar.xz
as it unnecessarily slows down the creation of html-output.tar.xz as well
as transfer to/decompression on S3. Same for Doxygen XML output which is
only useful at build time.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-02-11 00:44:06 +01:00
Jonathon Penix
dad2d65cfa sw_isr_table: Force align _isr_list_sname instances
For some target and optimization level combinations (aarch64 and -O2, for
example), GCC will over align _isr_list_sname instances. The local isr
declaration parser doesn't expect the extra padding that may be introduced
and will produce unexpected errors about bad IRQs (`error: IRQ 1903323438
(offset=0) exceeds the maximum of 42`, for example). Prevent this issue by
forcing the expected alignment of _isr_list_sname.

Fixes #81254

Signed-off-by: Jonathon Penix <jpenix@quicinc.com>
2025-02-11 00:43:55 +01:00
Lucien Zhao
0584f30139 manifest: update hal_nxp
update hal_nxp to remove including gpio sdk drivers
for zephyr gpio_mcux driver

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-02-10 22:27:34 +01:00
Lucien Zhao
3636182a0a drivers: gpio: gpio_mcux: remove including fsl_gpio.h file
There is no need to include sdk gpio driver.

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-02-10 22:27:34 +01:00
Tahsin Mutlugun
1f625c94fd tests: drivers: gpio: gpio_basic_api: Change pins for MAX32690EVKIT
Current test gpios conflict with I2C SCL and SDA lines. In order to run
both I2C and GPIO test on hardware, change pins used used in
gpio_basic_api test.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
2025-02-10 22:26:47 +01:00
Pavel Vasilyev
b7f16f1041 bluetooth: mesh: delayable_msg: cast to avoid truncation issue
Explicitly cast Kconfig option value to avoid truncation issue reported
by Coverity.

Fixes #84697
Coverity-CID: 487737

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2025-02-10 22:26:31 +01:00
Pavel Vasilyev
038173acda bluetooth: mesh: proxy_msg: check that att mtu is big enough
This commit checks that ATT MTU value returned by `bt_gatt_get_mtu` is
greater or equal to 3 to prevent integer overflow.

Fixes #84693
Coverity-CID: 487743

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2025-02-10 22:26:31 +01:00
Pavel Vasilyev
f82c0e85b0 bluetooth: mesh: access: cast to uint8_t to avoid potential overflow
Explicitly cast `BT_MESH_TRANSMIT` output to avoid potential overflow.

Fixes #84759
Fixes #84749
Fixes #84702
Coverity-CID: 487624
Coverity-CID: 487648
Coverity-CID: 487722

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2025-02-10 22:26:31 +01:00
Pavel Vasilyev
fcf09dd0ad bluetooth: mesh: pb_adv: ensure that bitwise NOT doesn't result in 0
Ensure that ~(link.rx.seg) & SEG_NVAL doesn't result in 0.

Fixes #84804
Coverity-CID: 393090

Signed-off-by: Pavel Vasilyev <pavel.vasilyev@nordicsemi.no>
2025-02-10 22:26:31 +01:00
Andy Ross
cc411ffe69 tests/kernel/threads: Correct essential thread abort test
Thread abort of essential threads had a buglet where the panic would
be signaled but, if caught by k_sys_fatal_error_handler(), the thread
would not actually be aborted.  This test wasn't validating that the
thread was actually dead (in fac, it RELIED on the thread to signal a
semaphore after its "abort"!).

Make sure it's dead and that the panic is caught.  Also add a case for
aborting _current which is a separate code path that needs coverage.

Signed-off-by: Andy Ross <andyross@google.com>
2025-02-10 22:26:10 +01:00
Andy Ross
f6239c52ae kernel/sched: Panic after aborting essential thread, not before
The essential thread check and panic happens at the top of
k_thread_abort().  This is arguably a performance bug: the system is
going to blow up anyway no matter where we put the test, we shouldn't
add instructions to the path taken by systems that DON'T blow up.

But really it's more of a testability/robustness glitch: if you have a
fatal error handler that wants to catch this panic (say, a test using
ztest_set_fault_valid()), then the current code will panic and
early-exit BEFORE THE THREAD IS DEAD.  And so it won't actually die,
and will continue on causing mayhem when presumably the handler code
expected it to have been aborted.

It's sort of an unanswerable question as to what the "right" behavior
is here (the system is, after all, supposed to have panicked!).  But
this seems preferable for definable practical reasons.

Kill the thread, then panic.  Unless it's _current, in which case
panic as late as possible for maximum coverage of the abort path.

Fixes: #84460

Signed-off-by: Andy Ross <andyross@google.com>
2025-02-10 22:26:10 +01:00
Emil Gydesen
446ad0948d Bluetooth: PACS: Test and fix PACS Kconfig combinations
Add unit tests for all possible PACS combinations and
fix issues found.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-02-10 22:25:47 +01:00
Emil Gydesen
e7b6fd0b4b Bluetooth: PACS: Fix several issues with pacs_register
Fixed the following issues:
1) Missing guard before accessing parameters
2) Fixed bad sizeof when resetting
3) Fixed several bad offsets when removing attributes

Added tests to verify that it works now.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-02-10 22:25:47 +01:00
Emil Gydesen
58605542a6 tests: Bluetooth: PACS: Add unit test of PACS register
Adds initiation unittesting of PACS by testing
the bt_pacs_register API.

Signed-off-by: Emil Gydesen <emil.gydesen@nordicsemi.no>
2025-02-10 22:25:47 +01:00
Ryan McClelland
37e4af63a9 kernel: thread: fix warning of always false
K_KERNEL_STACK_RESERVED can be 0 which can give a warning with
-Wtype-limits. Only perform the check if ARCH_KERNEL_STACK_RESERVED
is set. Also remove the the unncessary sets in arch.h where it's
manually set to 0, it defaults to 0 anyways.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-02-10 22:25:32 +01:00
Sylvio Alves
a0bdafb021 espressif: add console and RTC kconfig entries
Add hidden console and RTC configurations used in hal
to common SoC folder.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-02-10 19:05:40 +01:00
Jamie McCrae
b33c87caa0 tests: boot: test_mcuboot: Add swap using offset test
Adds a variation of the test which tests swap using offset mode,
based on the swap using move test

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-02-10 19:05:25 +01:00
Jamie McCrae
141f7fa427 tests: boot: with_mcumgr: Add swap using offset test
Adds a variation of the test which tests swap using offset mode,
based on the swap using move test

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-02-10 19:05:25 +01:00
Jamie McCrae
9b8b418a2c scripts: ci: check_compliance: Add Kconfig to allow list
Adds a Kconfig used for configuring MCUboot to the allow list

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-02-10 19:05:25 +01:00
Jamie McCrae
b62007972a doc: migration/release: 4.1: Add notes on MCUboot operating modes
Adds details on how to select this new operating mode when using
and when not using sysbuild, also includes a note about a Kconfig
being deprecated and the name of the replacement symbol

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-02-10 19:05:25 +01:00
Jamie McCrae
29217b48a5 sysbuild: mcuboot: Add support for swap using offset mode
Adds a new Kconfig to allow selecting this newly introduced MCUboot
swapping algorithm

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-02-10 19:05:25 +01:00
Jamie McCrae
0e8cc3e52d dfu: Add support for new MCUboot swap using offset mode
Allows using this newly introduced MCUboot algorithm

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-02-10 19:05:25 +01:00
Jamie McCrae
55dba488a4 sysbuild: Update MCUboot swap using move Kconfig name
Deprecates the old Kconfig and adds a new one which lines up with
the name of the Kconfig used by MCUboot

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-02-10 19:05:25 +01:00
Jamie McCrae
6d35cc5e85 kconfig: Add new Kconfig for MCUboot swap using move
Adds a new Kconfig for selecting swap using move in MCUboot which
aligns with the proper MCUboot symbol and allows for adding
additional mode Kconfigs

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-02-10 19:05:25 +01:00
Jamie McCrae
38f98f05ee west.yml: MCUboot synchronization from upstream
Update Zephyr fork of MCUboot to revision:
  9a02794a14fa2e539ffe039a986360590d9e025f

Brings following Zephyr relevant fixes:
  - 9a02794a boot: bootutil: swap_offset: Skip erasing/copying
    empty sectors
  - 96b70086 zephyr: Fix image encryption configuration for
    mbedTLS.
  - e5b89529 boot: boot_serial: Add support for swap using offset
    mode
  - 18fee817 zephyr: Add support for swap using offset mode
  - 4af73169 boot: bootutil: Add swap using offset algorithm
  - 9668469f zephyr: Add Kconfig option to select PureEdDS
  - 96f01aad zephyr: Add Kconfig and configuration for SHA on
    storage
  - 30e6adfe zephyr: Allow SHA512 with TinyCrypt
  - de9bc3d0 bootutil: PureEdDSA using ED25519
  - b43b8c80 bootutil: Enable hash calculation directly on storage
  - f72158ff bootutil: Allow SHA512 with TinyCrypt
  - 4b8a37bb zephyr: Add imgtool/cbor to pip packages installed by
    west
  - 3f672134 zephyr: Fix usage of CONFIG_MBEDTLS_BUILTIN and ASN1
  - c6f5db29 bootutil: Add missing MBEDTLS_ASN1_PARSE_C

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-02-10 19:05:25 +01:00
Pieter De Gendt
e574b019ce drivers: dac: dac_dam: Fix samx7x builds
Commit a21e9f02e6 introduced a regression for Atmel SAMX7X series.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-02-10 18:55:35 +01:00
Adrian Warecki
99e9cdce67 mm: tlb: Fix mmu support in update page flags function
Revise the sys_mm_drv_update_page_flags function to pass a cacheable
virtual address as the second parameter to the arch_mem_map function.
This approach aligns with the implementation of the sys_mm_drv_map_page
function.

Signed-off-by: Adrian Warecki <adrian.warecki@intel.com>
2025-02-10 18:55:24 +01:00
Yuval Peress
a455440570 cpp: Add c++ version number
Several downstream libraries need to specify that they work with c++ 17+
or 20+ and there's no easy way to do this without constantly updating
the Kconfig file and supporting different Kconfig versions for different
Zephyr versions (since I can't add a dependency on a new c++ standard
and have it backwards compatible.

Signed-off-by: Yuval Peress <peress@google.com>
2025-02-10 15:57:26 +00:00
Kamil Krzyzanowski
d9b59f12de drivers: flash: spi_nor: swap depends on and help in Kconfig.nor
Change order of `depends on` and `help`, so `help` comes last.

Signed-off-by: Kamil Krzyzanowski <kamnxt@kamnxt.com>
2025-02-10 15:57:08 +00:00
Torsten Rasmussen
642e9484e3 sysbuild: populate build_info with list of images
Populate the build_info.yml created by sysbuild CMake with list of
images and write the build info file afterwards.

This allows users and external tools to examine which images was
included in the build even if one or more of those images fails CMake
configure or generate stage.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2025-02-10 15:56:52 +00:00
Torsten Rasmussen
4061311da3 scripts: support list of images in build info
Add 'images' as valid list in build info schema.
This allow sysbuild and regular Zephyr images to populate build_info.yml
with images included in the build.

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2025-02-10 15:56:52 +00:00
Torsten Rasmussen
0828d0b0ef cmake: support array of maps in yaml module
This commit introduce support for maps in a yaml list.

The yaml_set() function has been extended with the following signature:
> yaml_set(NAME <name> KEY <key>...
>          [APPEND] LIST MAP <map1> MAP <map2> MAP ...
> )

where a `MAP <map>` has the form:
`MAP "<key1>: <value1>, <key2>: <value2>, ...`

Signed-off-by: Torsten Rasmussen <Torsten.Rasmussen@nordicsemi.no>
2025-02-10 15:56:52 +00:00