Commit graph

126,787 commits

Author SHA1 Message Date
Mahesh Mahadevan
0d4d0cf8b7 modules: hal_nxp: Pull in SDK cmc, spc, vbat, wuu drivers
Add bindings for the power related modules. Use the bindings
Kconfig to pull in SDK drivers for cmc, spc, vbat and wuu.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-10-24 01:11:33 +03:00
Mahesh Mahadevan
776b659192 dts: mcxw7x: Add Power Management support
Add support for power management states

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-10-24 01:11:33 +03:00
Tim Pambor
91c5e82e7b tests: boot: test_mcuboot: add stm32h573i_dk
Add stm32h573i_dk and the ext_flash_app board to the allowed boards
for the mcuboot tests.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2025-10-24 01:11:22 +03:00
Tim Pambor
7a7f6db04d samples: sysbuild: with_mcuboot: Replace overlay with new board variant
Replace overlay for stm32h573i_dk with new board variant designed to
run in external flash. Keep stm32h573i_dk as it also can run mcuboot.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2025-10-24 01:11:22 +03:00
Tim Pambor
c275d4ebcc samples: mgmt: hawkbit: Replace overlay with new board variant
Replace overlay for stm32h573i_dk with new board variant designed to
run from external flash.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2025-10-24 01:11:22 +03:00
Tim Pambor
f6a9f1f44e boards: st: stm32h573i_dk: Add board variant for app in external flash
Restore old internal flash layout as default and make app in external
flash a new board variant

Switch mcuboot to use swap mode and remove the no longer required
scratch partitions from the internal and external flash layout.

Introduce a 'soc-nv-flash' node in the stm32h573i_dk board DTS file
to define the external flash memory parameters used for MCUBoot
integration. This way BOOT_MAX_IMG_SECTORS_AUTO can be used to
automatically calculate the maximum number of image sectors based
on the actual external flash configuration.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2025-10-24 01:11:22 +03:00
Tim Pambor
7845481eba soc: st: stm32: Use flash-controller to detect running from external flash
Use the zephyr,flash-controller node and the respective compatible
'st,stm32-xspi-nor' to detect if the device is running from external
flash, instead of assuming that the parent node of the flash is the
SPI controller. This fixes an issue when soc-nv-flash is used as the
zephyr,flash node.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2025-10-24 01:11:22 +03:00
Kyle Bonnici
0df11fc46b DTS: Align *-map-mask, *-map-pass-thru types
This PR aligns all the bindings types for Nexus nodes.

Now all are the same as ./zephyr/dts/bindings/pwm/pwm-nexus.yaml

Signed-off-by: Kyle Bonnici <kyle.bonnici@nordicsemi.no>
2025-10-24 01:11:12 +03:00
Siratul Islam
0974e9b471 drivers: display: add HUB12 LED matrix driver
Add driver for HUB12 interface monochrome LED matrix displays.

Features:
- 32x16 pixel resolution, 1-bit monochrome (PIXEL_FORMAT_MONO01)
- SPI-based data transfer with shift registers
- Configurable brightness control
- Thread-safe framebuffer access with semaphore

The driver implements the standard Zephyr display API

Signed-off-by: Siratul Islam <sirat4757@gmail.com>
2025-10-24 01:10:57 +03:00
Siratul Islam
1230358e4c dts: bindings: display: add HUB12 LED matrix binding
Add device tree binding for HUB12 interface monochrome LED matrix
displays (32x16 pixels).

The HUB12 interface uses SPI for data transfer to shift registers,
with additional GPIO pins for row address selection (PA, PB),
output enable (PE), and data latching (PLAT).

Signed-off-by: Siratul Islam <sirat4757@gmail.com>
2025-10-24 01:10:57 +03:00
Fabio Baltieri
700a1a5a28 lib, kernel: use single evaluation min/max/clamp
Replace all in-function instances of MIN/MAX/CLAMP with the single
evaluation version min/max/clamp.

There's probably no race conditions in these files, but the single
evaluation ones save a couple of instructions each so they should save
few code bytes and potentially perform better, so they should be
preferred in general.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2025-10-24 01:10:40 +03:00
Peter Mitsis
3d93fa23e0 tests: Fix warning found with arcmwdt toolchain
In the lib/notify test, the callback function pointer should be cast
to the proper type when calling it. This fixes a warning found when
using the arcmwdt toolchain.

Signed-off-by: Peter Mitsis <peter.mitsis@intel.com>
2025-10-24 01:10:29 +03:00
George Stefan
e25a7417f1 drivers: ieee802154: mcxw: disable poll optimization
The 802.15.4 PHY has the poll optimization enabled by default.
Disable it until the driver state machine is updated.

Signed-off-by: George Stefan <george.stefan@nxp.com>
2025-10-24 01:10:20 +03:00
Axel Le Bourhis
4e886d4d39 soc: nxp: mcxw72: update shared memory placement
mcxw72 shared memory placement has been changed with MCUXSDK 25.09
update.
Moving the shared memory declaration to mcxw71 and mcxw72 specific dts
since the placement is now different.

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
2025-10-24 01:10:20 +03:00
Axel Le Bourhis
e038b27e95 manifest: update hal_nxp
Update MCXW7x nbu_ble blobs for MCUXSDK 25.09.

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
2025-10-24 01:10:20 +03:00
Kyle Micallef Bonnici
1dc7eb995d CI: devicetree: linting to check_compliance.py
Use dts-linter to check each touched file in PR

Signed-off-by: Kyle Micallef Bonnici <kylebonnici@hotmail.com>
2025-10-23 16:04:38 -04:00
Abhinav Kulkarni
0d2e8954a0 boards: shields: nxp_m2_wifi_bt: overlay update
- Updated shield overlay file for RT1060 with sdio power and reset pins
- added device tree node in sdhc for sd reset pin
- added power gpio toggle logic

Signed-off-by: Abhinav Kulkarni <abhinav.kulkarni@nxp.com>
2025-10-23 16:04:22 -04:00
Sanjay Yadav
84b2bd5ccc samples: net: wifi: nxp: update conf for memory optimization
Updated config file to optimize memory by configuring net related settings
and thread priority settings

Signed-off-by: Sanjay Yadav <sanjay.yadav@nxp.com>
2025-10-23 16:04:22 -04:00
Alain Volmat
66b8139053 samples: usb: uvc: select applicable resolutions from range
Select from commonly used resolution when the video device
advertise capabilities using range.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-10-23 16:03:10 -04:00
Alain Volmat
4642de5d40 samples: usb: uvc: use video_set_compose_format
Use the helper video_set_compose_format in order to
allow controlling the compose.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-10-23 16:03:10 -04:00
Alain Volmat
1257c50122 samples: usb: uvc: ensure video buffer is properly aligned
Honor the CONFIG_VIDEO_BUFFER_POOL_ALIGN config by using the
video_buffer_aligned_alloc function instead of video_buffer_alloc
in order to provide properly aligned buffers to drivers.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-10-23 16:03:10 -04:00
Alain Volmat
e7bae6ce88 samples: video: capture: use video_set_compose_format helper
Simplify the code by using the video_set_compose_format helper.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-10-23 16:03:10 -04:00
Alain Volmat
38a21cc1a2 video: introduce video_set_compose_format helper
Some devices allow for downscale / upscale via the set_selection
compose API. When using it, it is necessary to perform a
set_selection of the compose target prior to setting the format.
In order to allow non-compose aware application to benefit from
it, introduce a helper which take care of setting the compose
prior to setting the format.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-10-23 16:03:10 -04:00
Alain Volmat
126aaf6b72 video: dcmipp: expose dcmipp caps for all 3 pipes.
Currently the DCMIPP driver rely on a Kconfig in order to
select the right sensor resolution / format to pick.
This also makes the exposure of caps easier since it can
be exposed as:
  DUMP pipe: same caps as mentioned in Kconfig
  MAIN pipe: any format supported on this pipe and resolution
             starting at sensor selected resolution down to
             64 times smaller (which is the maximum of the
             downscale)
  AUX pipe: same as MAIN except without the semi-planar and
            planar formats

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-10-23 16:03:10 -04:00
Mario Paja
c8092a647d samples: i2s: output: add nucleo_wba55cg
Add nucleo_wba55cg in samples/drivers/i2s/output

Signed-off-by: Mario Paja <mariopaja@hotmail.com>
2025-10-23 16:03:01 -04:00
Mario Paja
6108065ee5 dts: st: wba: add sai1 node
Add SAI1 A & B to STM32WBA55/65 Series

Signed-off-by: Mario Paja <mariopaja@hotmail.com>
2025-10-23 16:03:01 -04:00
Mario Paja
2029ef309f dts: bindings: clock: stm32wba pll clock add div-p
Add missing div-p division factor for pll clock and
respective tests in test/clock_control/stm32_clock_configuration

Signed-off-by: Mario Paja <mariopaja@hotmail.com>
2025-10-23 16:03:01 -04:00
Mario Paja
6ee8d74a0d dt-bindings: clock: stm32wba add SAI1_SEL()
Add SAI1_SEL() clock sourse for SAI1

Signed-off-by: Mario Paja <mariopaja@hotmail.com>
2025-10-23 16:03:01 -04:00
Ryan Erickson
631dbd98b4 drivers: can: tcan4x5x: Add device PM support
Add support for device runtime power management.
Suspending the device will place it into sleep mode, its lowest
power state.
All config will be lost when suspending the device.
Do not allow suspending the device if it is started or has
RX filters registered.
The application has to reconfigure the CAN device to resume
expected operation.

Signed-off-by: Ryan Erickson <ryan.erickson@ezurio.com>
2025-10-23 16:02:36 -04:00
Nilesh Vyas
9ca3cad57d script: footprint: Improve C++ static variable reporting
Enhance the `size_report` script to correctly categorize static C++
variables in the memory report.

Static C++ variables are currently listed under the "No paths"
category in the size report. This occurs because the script's
address-based mapping logic is designed for functions, which
occupy an address range, but fails to handle variables that
have only a single memory address.

This commit improves the `do_address_range_matching` function
to handle single-address mappings. The updated logic now correctly
identifies and assigns static C++ variables to their corresponding
source file paths in the report tree, providing a more accurate and
comprehensive memory footprint analysis for C++ applications.

This enhancement ensures that all symbols, regardless of their
linkage or type, are correctly placed in the report, providing a
more accurate overview of memory usage.

Signed-off-by: Nilesh Vyas <nileshvyas1112@gmail.com>
2025-10-23 16:02:23 -04:00
Tomas Barak
bb5df8e150 samples: i2s_codec: enable i2s_codec sample for mcx_n5xx_evk
- in order to test the loopback from PDM to I2S on the mcx_n5xx_evk
  it is necessary to add the dts nodes for SAI1 and MICFIL channels
- note that the configuration is using the newly introduced stream
  parameters (bytes_per_sample, sample_width, extra_blocks)
- add mcx_n5xx_evk/mcxn547/cpu0 to sample.yaml in order to allow this
  platform to be part of the CI tests

Signed-off-by: Tomas Barak <tomas.barak@nxp.com>
2025-10-23 16:02:09 -04:00
Tomas Barak
12ce37e7de board: mcx_nx4x: format board.c
- format mcx_nx4x_evk board.c which is not formatted according to the
  coding standards
- improve code readability and maintainability

Signed-off-by: Tomas Barak <tomas.barak@nxp.com>
2025-10-23 16:02:09 -04:00
Tomas Barak
c0b505b07b board: mcx_n5xx: Enable MICFIL and da7212 codec on mcx_n5xx
- in order to enable micfil on the mcx_n5xx board, it is necessary to
  enable the appropriate clock in the board.c
- create the proper pin_mux for micfil and da7212 codec and i2c which is
  used to communicate with the codec to enable micfil and da7212 codec
  in the mcx_n5xx dts

Signed-off-by: Tomas Barak <tomas.barak@nxp.com>
2025-10-23 16:02:09 -04:00
Tomas Barak
9f5d7374e4 soc: nxp: mcxn: remove trgmux dependency
- since trgmux IP is not present on mcxn5xx platform, remove
  the dependency to fix build issues

Signed-off-by: Tomas Barak <tomas.barak@nxp.com>
2025-10-23 16:02:09 -04:00
Vit Stanicek
8650b623f5 soc: mcxnx4x: Instantiate MICFIL
Add the micfil node to nxp_mcxnx4x_common.dtsi.

Signed-off-by: Vit Stanicek <vit.stanicek@nxp.com>
2025-10-23 16:02:09 -04:00
The Nguyen
69bd248b3d soc: ra8t2: add linker cmake generation directive
Add section define for ra8t2 when using with cmake linker generator

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2025-10-23 16:01:59 -04:00
Jérôme Pouiller
d30c4ec76c test: siwx91x: Align SPI tests
We now support GPDMA with SPI. So update the tests to reflect this changes.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-10-23 16:01:37 -04:00
Jérôme Pouiller
f6f3dcfd86 test: siwx91x: Fix undefined CS
No GPIO was defined for CS 1. It caused NULL pointer exception during the
test.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-10-23 16:01:37 -04:00
Jérôme Pouiller
1f1f3e4594 drivers: spi: siwx91x: Use GPDMA rather than UDMA
Silabs siwx91x offer two DMA hardware block: GPDMA and UDMA.

While UDMA has some benefit when running in low power modes, GPDMA offer
better performances. So GDMA is probably better suited for SPI device.

Ideally, we would like to leave the ability to switch back to UDMA.
Unfortunately, UDMA and GPDMA are not configured in the same way:
  - the maximum length of the block are different (1024 or 2048 for UDMA
    and 4096 for GPDMA)
  - the burst length is different

So, we only support GPDMA.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-10-23 16:01:37 -04:00
Jérôme Pouiller
0594a1872c drivers: spi: siwx91x: Fix indentation
Since various macros don't end with a colon, the code formatters give bad
results. Let's fix that.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-10-23 16:01:37 -04:00
Jérôme Pouiller
f563f123aa drivers: spi: siwx91x: Add support for dma_slot attribute
The siwx91x platform provides two DMA block: UDMA and GPDMA. GPDMA require
the dma_slot attribute.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-10-23 16:01:37 -04:00
Jérôme Pouiller
627aeb84f7 drivers: spi: siwx91x: Fix memory alignements
The DMAs expect a 32 bits aligned address as source.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-10-23 16:01:37 -04:00
Jérôme Pouiller
fb0dd841ff drivers: dma: siwx91x: Check buffers alignments
GPDMA hardware block has some requirement regarding the buffers alignments.

Note the previous condition was too permissive. It ignored
source_burst_length during the check of the transaction size.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-10-23 16:01:37 -04:00
Jérôme Pouiller
7e90e45b7a drivers: dma: siwx91x: Fix log messages
LOG_*() macros automatically add \n at the end of the messages. Code
shouldn't add one.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-10-23 16:01:37 -04:00
Jérôme Pouiller
4901638d85 boards: silabs: swix91x: Reorder DMA nodes
Group the DMA nodes in the same place.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-10-23 16:01:37 -04:00
Raffael Rostagno
d18ecc06bd soc: esp32h2: esp32c6: Add coex support
Add coexistance support when enabling IEEE802.15.4 with another
radio device (BT or Wi-Fi), for ESP32-H2 and ESP32-C6.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-10-23 16:01:25 -04:00
Raffael Rostagno
5f5466e302 west.yml: hal_espressif: Update for coex support
Update HAL to add IEEE802.15.4. coex support for ESP32-C6 and
ESP32-H2.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2025-10-23 16:01:25 -04:00
Jamie McCrae
4023752a5c arch: riscv: core: vector_table: Fix local ISR generation
Fixes local ISR generation so that devices actually boot, also
allows enabling LTO for these builds (tested working on nrf54l15
flpr device)

Signed-off-by: Jamie McCrae <spam@helper3000.net>
2025-10-23 16:01:12 -04:00
Vladislav Kulikov
ffd1403093 lib: smf: rename share_parent() to is_descendant_of()
Make the name more descriptive.

Signed-off-by: Vladislav Kulikov <vlad_kulikov_c@pm.me>
2025-10-23 16:00:50 -04:00
Jilay Pandya
7c87d89bf5 drivers: stepper: adi_tmc: refactor common headers
currently adi_tmc5xxx_common.h and adi_tmc_reg.h are placed
directly in the adi_tmc folder, however placing them in a
common folder and adding to the include directories results
in the drivers not having to include these files using relative
paths.

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-10-23 16:00:41 -04:00