Commit graph

136,983 commits

Author SHA1 Message Date
Tim Pambor
741ce732c0 drivers: ethernet: dwmac_stm32h7x: support MAC address config
Update the dwmac_stm32h7x ethernet driver to use a MAC address
configuration struct.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-03-10 17:59:18 -07:00
Tim Pambor
e3808554d7 drivers: ethernet: dwmac_mmu: support MAC address config
Update the dwmac_mmu ethernet driver to use a MAC address
configuration struct.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-03-10 17:59:18 -07:00
Tim Pambor
fe3dad209b drivers: ethernet: dwmac: Allow to report errors from platform init
Change return value of dwmac_platform_init to int and return error code
in case of failure. This allows to report errors from platform init and
fail the driver probe if platform init fails.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-03-10 17:59:18 -07:00
Tom Burdick
bdcade6646 gpio: infineon: Add shared gpio ports
Infineon PSOC4 parts share many ports with a single IRQ line. Using the
SHARED_INTERRUPT handler feature of Zephyr results in a very large IRQ
vector table. Instead structure in DT the idea that the ports are
sharing an interrupt with a sort of pseudo interrupt controller.

This also rectifies the need to ifdef on CAT1C/M0+. I added a note
making it clear that in those cases we likely need to rework the way
interrupts are done anyways as there's secondary interrupt
muxes/controllers involved.

Signed-off-by: Tom Burdick <thomas.burdick@infineon.com>
2026-03-10 17:58:42 -07:00
Tom Burdick
75132cf2df gpio: infineon: Clean up GPIO driver
Use IF_ENABLED when possible to keep code indents looking nicer rather
than ifdef's. Rename everything to be ifx (drop the cat1 naming). Drops
the unused intc_prio config member.

Signed-off-by: Tom Burdick <thomas.burdick@infineon.com>
2026-03-10 17:58:42 -07:00
Stephanos Ioannidis
57f6c6aab8 samples: tfm_regression_test: Set Python3_EXECUTABLE for external project
Set `Python3_EXECUTABLE` to the Zephyr-wide Python executable when invoking
the TF-M `tests_reg` test build to ensure that the same Python installation
used by the Zephyr build system is used by the TF-M test build process.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2026-03-10 17:58:23 -07:00
Stephanos Ioannidis
91af26572e samples: tfm_psa_test: Set Python3_EXECUTABLE for external project
Set `Python3_EXECUTABLE` to the Zephyr-wide Python executable when invoking
the TF-M `tests_psa_arch` test build to ensure that the same Python
installation used by the Zephyr build system is used by the TF-M test build
process.

Signed-off-by: Stephanos Ioannidis <root@stephanos.io>
2026-03-10 17:58:23 -07:00
Benjamin Cabé
2dc5de7b4f include: drivers: opamp: document driver operations using Doxygen
Use doxygen driver_ops commands to properly document the opamp driver
operations and other symbols useful to driver implementers
(e.g. opamp_functional_mode).

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-03-10 17:57:29 -07:00
Benjamin Cabé
42b31ab5a0 include: drivers: sensor: enhance Doxygen documentation for MAX31790 sensor
Updated the MAX31790 header file to improve documentation for custom
sensor channels and attributes.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-03-10 17:57:10 -07:00
Benjamin Cabé
86a6f7d627 include: drivers: sensor: enhance Doxygen documentation for MAX30210 sensor
Updated the MAX30210 header file to improve documentation for custom
sensor channels and attributes.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-03-10 17:57:10 -07:00
Benjamin Cabé
eb2a3794ec include: drivers: sensor: remove unused MAX30210 upper threshold attribute
Removed the SENSOR_ATTR_MAX30210_UPPER_THRESH attribute as it's likely
a leftover and driver code actually uses SENSOR_ATTR_UPPER_THRESH.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-03-10 17:57:10 -07:00
Benjamin Cabé
d56720da1d include: drivers: sensor: enhance Doxygen documentation for MCP9600 sensor
Updated the MCP9600 header file to improve documentation for custom
sensor channels and attributes.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-03-10 17:57:10 -07:00
Jonas Spinner
03695daaab fs: shell: align mount commands
Align format strings for FAT fs and littlefs commands.

Signed-off-by: Jonas Spinner <jonas.spinner@burkert.com>
2026-03-10 17:56:46 -07:00
Jonas Spinner
cc6ed8f0e0 fs: shell: fix null pointer access
Add an early check whether FAT fs is already mounted similar to
littlefs mount command. This fixes a null pointer access if the mount
command is used twice.

Fixes #104777

Signed-off-by: Jonas Spinner <jonas.spinner@burkert.com>
2026-03-10 17:56:46 -07:00
Alain Volmat
d813229565 tests: display: reuse driver display sample code for display_check
display_check is sharing same code as sample driver display.
Avoid duplicating the code and directly reuse the sample code for
the test.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-03-10 17:56:12 -07:00
Ryan McClelland
33c6ddcc4a drivers: i3c: shell: reject RSTACT set with defining byte >= 0x80
Per MIPI I3C spec Table 38, RSTACT defining bytes >= 0x80 are only
valid for get operations (Format 3). Reject attempts to use them with
set (Format 2) early with -EINVAL rather than sending an invalid CCC
on the bus.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2026-03-10 17:55:29 -07:00
Ryan McClelland
7730659f6f drivers: i3c: shell: fix wrong argv index in reattach command
The reattach command takes <device> <target> [<old_dyn_addr>], so the
optional old dynamic address is argv[3], not argv[2]. The check also
used argc > 2 which is always true since the minimum argc is 3.

This caused the target device name string to be parsed as a hex
address via strtol, resulting in incorrect old_dyn_addr values.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2026-03-10 17:55:29 -07:00
Ryan McClelland
5faf33e2dd drivers: i3c: shell: fix wrong variable in read error message
i3c_read_to_buffer printed the controller device name (s_dev_name)
instead of the target device name (s_tdev_name) when the target
device lookup failed.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2026-03-10 17:55:29 -07:00
Ryan McClelland
e84061accf drivers: i3c: shell: use shell_device_get_binding in ibi_hj_response
cmd_i3c_ibi_hj_response used device_get_binding() while every other
function in the file uses shell_device_get_binding(). Use the correct
shell variant for consistent device lookup semantics.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2026-03-10 17:55:29 -07:00
Ryan McClelland
42a0e54f6a drivers: i3c: cdns: fix cancel transfer timeout detection
The cancel-and-wait loop uses `while (retry_count--)` with a post-loop
check of `retry_count == 0`. This is broken in two ways:

1. When all retries are exhausted, the final post-decrement wraps the
   uint32_t from 0 to UINT32_MAX, so the timeout check never fires and
   the error is silently ignored.

2. When the controller goes idle on the last retry, retry_count is
   legitimately 0 after the break, causing a false timeout report.

Replace with a simple for-loop and a bool flag to correctly distinguish
between the idle and timeout cases.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2026-03-10 17:55:14 -07:00
Ryan McClelland
bb85f99cd4 drivers: i3c: cdns: fix wrong register used for IBI FIFO depth
CONF_STATUS1_IBI_DEPTH extracts bits [12:10] from the CONF_STATUS1
register, but cfg0 (CONF_STATUS0) was being passed instead of cfg1.
This resulted in reading the wrong bits and computing an incorrect
IBI FIFO depth.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2026-03-10 17:55:14 -07:00
Ryan McClelland
8bc4795570 drivers: i3c: cdns: fix wrong bit shift in CONF_STATUS0_IBIR_DEPTH
The IBIR depth field occupies bits [7:6], a 2-bit field, but was
right-shifted by 7 instead of 6. This lost the lower bit of the
field, causing incorrect IBIR FIFO depth calculation for half of
the possible hardware configurations.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2026-03-10 17:55:14 -07:00
Ryan McClelland
2ed80b34f2 drivers: i3c: cdns: fix missing parentheses in DDR preamble macros
The DDR preamble macros were missing parentheses around the shift
expressions. Without them, using these in bitwise OR expressions
produces wrong results due to C operator precedence, since | binds
tighter than <<.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2026-03-10 17:55:14 -07:00
Ryan McClelland
5f8f8e2194 drivers: i3c: cdns: fix CMD1_FIFO_DB macro producing zero for byte values
CMD1_FIFO_DB masked bits [15:8] then shifted left by 8, which always
produced zero when the input is a byte value (0-255) since bits [15:8]
are zero for a uint8_t. The defining byte field is at bits [15:8] of
the command word.

Use FIELD_PREP with the correct field mask to place the defining byte
in the right position.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2026-03-10 17:55:14 -07:00
Ryan McClelland
30d843ea76 drivers: i3c: cdns: fix swapped #endif comments
The #endif comments for CONFIG_I3C_CONTROLLER and
CONFIG_I3C_TARGET were swapped, and the outermost #endif
was missing its CONFIG_I3C_USE_IBI comment.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2026-03-10 17:55:14 -07:00
Ryan McClelland
10c97a0523 drivers: i3c: cdns: fix missing parentheses in REV_ID_VERSION macro
Add missing parentheses around macro parameter `m` in
REV_ID_VERSION to prevent operator precedence issues when
a complex expression is passed.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2026-03-10 17:55:14 -07:00
Felix Wang
bdbd54c3b0 samples: sensor: qdec: Add board overlay for mcx_n5xx_evk_mcxn547
Hardware connections required: J19 3 -> J3 3, J19 4 -> J2 15.

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2026-03-10 22:22:28 +01:00
Felix Wang
6edbe2543e samples: sensor: qdec: Add board overlay for frdm_mcxn947
Hardware connections required: J5 -> J1, J7 -> J3.

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2026-03-10 22:22:28 +01:00
Felix Wang
37f6d15e28 dts: arm: nxp: mcxnx4x: Add QDC peripheral nodes
Add device tree nodes for the two Quadrature Decoder (QDC) peripherals
available on NXP MCXNx4x SoCs:
- QDC0 at 0xcf000 with interrupts 124-127
- QDC1 at 0xd1000 with interrupts 128-131

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2026-03-10 22:22:28 +01:00
Felix Wang
6dcaf24cc4 modules: hal_nxp: mcux: Add QDC driver component to build
Add the MCUX QDC (Quadrature Decoder) driver component to the
drivers.cmake build configuration. This enables the QDC HAL driver
to be included when CONFIG_QDC_MCUX is enabled.

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2026-03-10 22:22:28 +01:00
Felix Wang
7a27272c46 drivers: sensor: nxp: Add QDC MCUX driver
Add driver support for NXP MCUX Quadrature Decoder (QDC) sensor.
The driver provides:
- Position tracking via SENSOR_CHAN_ROTATION channel
- Configurable counts per revolution
- Single phase and normal decoder work modes
- Input filtering with configurable count and sample period
- INPUTMUX integration for flexible signal routing
- Modulo count mode support

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2026-03-10 22:22:28 +01:00
Felix Wang
a212a7eb89 dts: bindings: sensor: Add NXP MCUX QDC binding
Add device tree binding for NXP MCUX Quadrature Decoder (QDC).

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2026-03-10 22:22:28 +01:00
Farsin Nasar V A
1023e50ec6 tests: drivers: dac: Add the dac test support files
Add the pic32cx_sg41_cult  overlay files for running the test on hardware

Signed-off-by: Farsin Nasar V A <farsin.nasarva@microchip.com>
2026-03-10 22:21:44 +01:00
Farsin Nasar V A
d571abe13f boards: microchip: pic32cx_sg61_cult: Add DAC pinctrl and feature support
Add DAC pinctrl definitions and update the board metadata
to list DAC as a supported feature on the pic32cx_sg61_cult board.

Signed-off-by: Farsin Nasar V A <farsin.nasarva@microchip.com>
2026-03-10 22:21:44 +01:00
Farsin Nasar V A
607b593d47 boards: microchip: pic32cx_sg41_cult: Add DAC pinctrl and feature support
Add DAC pinctrl definitions and update the board metadata
to list DAC as a supported feature on the pic32cx_sg41_cult board.

Signed-off-by: Farsin Nasar V A <farsin.nasarva@microchip.com>
2026-03-10 22:21:44 +01:00
Farsin Nasar V A
399e58d962 drivers: dac: microchip: Update DAC G1 driver for PIC32CX_SG
Update DAC G1 driver implementation to support PIC32CX_SG

Signed-off-by: Farsin Nasar V A <farsin.nasarva@microchip.com>
2026-03-10 22:21:44 +01:00
Farsin Nasar V A
83da4a0984 dts: arm: microchip: Add DAC node for PIC32CX_SG
Add device tree node

Signed-off-by: Farsin Nasar V A <farsin.nasarva@microchip.com>
2026-03-10 22:21:44 +01:00
Jordan Yates
27bf824579 modules: trusted-firmware-m: Enable OTA upgrades from Zephyr v4.x
Add support for upgrading TF-M applications built from Zephyr v4.0 to
v4.2 to version v4.3 and beyond.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2026-03-10 22:21:26 +01:00
Nicolas Pitre
5199bc1005 boards: arm: fvp_base_revc_2xaem: fix FVP reference link
Update the Fixed Virtual Platforms reference URL to point to the
Arm Architecture FVPs download page instead of the general product
overview page.

Signed-off-by: Nicolas Pitre <npitre@baylibre.com>
2026-03-10 22:21:00 +01:00
Camille BAUD
fc8808ec39 samples: gpio: Add BFLB GPIO FIFO / Wire Out Sample
Add a sample to demonstrate FIFOWO usage in apps

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-03-10 22:20:46 +01:00
Camille BAUD
0fdda30623 drivers: gpio: Introduce BFLB BL61x GPIO FIFO / Wire Out
Introduce a fast GPIO output system with pulse width modifications

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-03-10 22:20:46 +01:00
Camille BAUD
358b954dda drivers: gpios: Various BL61x improvement and support GPIO > 31
Various BL61x GPIO improvements

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-03-10 22:20:46 +01:00
Lutz Dittrich
4bf6cad3d8 drivers: sensor: lm75: return full resolution
There are many lm75 variants differing in temperature resolution.
Typical values are 9, 10, 11, and 12 bit. They all use the same
format (16 bit signed integer with LSB at 1/256 degree C).
Depending on the on the actual variant some of the LSB are not
defined. The new calculation scheme uses all 16 bits independent
on the actual sensor resolution. In the worst this leads to
some pseudo-resolution in case the undefined bits are not
reported as 0 by the sensor.

Signed-off-by: Lutz Dittrich <dittrich@netwake.com>
2026-03-10 22:20:01 +01:00
Axel Le Bourhis
b164aec540 soc: nxp: mcxw70: fix build issue due to wrong selection of HAS_PM
PR #103203 introduced a regression for mcxw70 builds by incorrectly
moving `HAS_PM` from MCXW72 to MCXW70.
This fix restores the correct configuration.

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
2026-03-10 14:22:08 -05:00
Zhaoxiang Jin
790411ab48 dt-bindings: clock: syscon: correct FLEXSPI clock identifiers
Move MCUX_FLEXSPI_CLK and MCUX_FLEXSPI2_CLK definitions
to use correct clock ID 0x24 instead of 0x0A, which
conflicts with MCUX_DMIC_CLK. This ensures each
peripheral has a unique clock identifier.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-03-10 14:21:46 -05:00
Atilla Filiz
9c14845fce drivers: flash: spi_nand: ignore ECC errors on the parameter page
The parameter page is not ECC protected, but can return ECC errors under
some conditions. These errors should be ignored so drivers can
initialize.

Signed-off-by: Atilla Filiz <atilla@fi-tech.be>
2026-03-10 14:21:04 -05:00
Michele Sardo
26b67398b4 samples: net: openthread: fix in documentation
Aligned building instruction for RCP to the style
of the one for NCP

Signed-off-by: Michele Sardo <msmttchr@gmail.com>
2026-03-10 14:20:18 -05:00
Michele Sardo
ed3e8125e2 samples: net: openthread: fix NUCLEO-WBA65RI support
Enable circular mode and disable console, since it is used by RCP

Signed-off-by: Michele Sardo <msmttchr@gmail.com>
2026-03-10 14:20:18 -05:00
Michele Sardo
04a82751ba modules: openthread: fix UART async RX offset and timeout
The UART async callback was incorrectly using the base buffer address
without considering the offset provided by the UART event data.
This resulted in data corruption or missed bytes during
high-throughput transfers.

Additionally, replaced SYS_FOREVER_MS with a 100ms RX timeout. This
allows the driver to trigger the UART_RX_RDY event for packets smaller
than the total buffer size, preventing data from being stalled in the
hardware FIFO until the buffer fills.

Signed-off-by: Michele Sardo <msmttchr@gmail.com>
2026-03-10 14:20:18 -05:00
Fabian Blatz
3cafa5476d boards: Add SolderedElectronics Inkplate 6Color board
Adds the SolderedElectronics Inkplate 6Color board with a 6 color eink
display.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2026-03-10 14:19:44 -05:00