Commit graph

28,390 commits

Author SHA1 Message Date
Jiafei Pan
e7ad32472a drivers: gpio: rgpio: fix access protection for A-Core
For Cortex-A Core, Zephyr runs on non-secure world, the bit in PCNS
or ICNS for corresponding GPIO pin is 1, no need to clear it and
Cortex-A Core could access the corresponding pin's regitsters, so
disable this feature for Cortex-A Core.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2026-03-17 18:23:22 -04:00
Peter Marheine
5fec964b23 soc: ite: remove unnecessary __soc_handle_irq trampoline
Defining `__soc_handle_irq` (part of the code path run on every
interrupt) as a jump to `get_irq` introduces unnecessary latency to
interrupt handling and inflates code size. Since `get_irq` is not
otherwise called, rename it to `__soc_handle_irq` and delete the old
trampoline.

The signature of the function is changed to match the declaration of
`__soc_handle_irq`, which is possible since commit
495a3281d4679c19703810afbac9607d16ac6788 corrected its declaration.

Signed-off-by: Peter Marheine <pmarheine@chromium.org>
2026-03-17 18:23:00 -04:00
Holt Sun
bd3076276c drivers: mcux_lptmr: select timer instance via zephyr,system-timer chosen
Replace the single-instance assumption with a zephyr,system-timer chosen
node approach. The timer driver reads its hardware instance directly from
DT_CHOSEN(zephyr_system_timer) instead of assuming instance 0. The
counter driver skips whichever instance is designated as the system timer,
allowing both drivers to coexist on SoCs with multiple LPTMR instances.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2026-03-17 18:22:50 -04:00
Alberto Escolar Piedras
0a1c9eec56 drivers: ethernet: tap: Remove uses of net logging helper macros
These macros are private to the net subsystem, let's not use them in
drivers

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-03-17 18:21:28 -04:00
Alberto Escolar Piedras
078f47d9c8 drivers: net: ppp: Remove uses of net logging helper macros
These macros are private to the net subsystem, let's not use them in
drivers

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-03-17 18:21:28 -04:00
Alberto Escolar Piedras
5926c43353 drivers: ieee802154: Remove uses of net logging helper macros
These macros are private to the net subsystem, let's not use them in
drivers.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-03-17 18:21:28 -04:00
Aditya Bhutada
8d57889537 drivers: espi: espi_taf_npcx: Add retry mechanism for RPMC OP2 command
Add a retry mechanism for the RPMC OP2 command in the eSPI TAF NPCX
driver. If the OP2 command returns a status indicating that the device
is busy, the driver will retry the command up to 3 times.

Signed-off-by: Aditya Bhutada <aditya.bhutada@intel.com>
2026-03-17 18:21:01 -04:00
Muhammad Waleed Badar
17641a8523 drivers: input: chsc6x: use common touchscreen helper
Use the common touchscreen configuration and replace manual ABS
reporting with input_touchscreen_report_pos() to align with the
Zephyr input subsystem helpers.

Add the touchscreen-common devicetree properties screen-width and
screen-height to in-tree nodes using this controller.

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
2026-03-17 18:20:51 -04:00
Chun-Chieh Li
b5077ea895 drivers: usb: udc: numaker: fix zero data transfer in HSUSBD DMA
HSUSBD DMA doesn't support zero data transfer and must be skipped.

Signed-off-by: Chun-Chieh Li <ccli8@nuvoton.com>
2026-03-17 18:20:42 -04:00
David J. Leach, Jr.
0f8f891b9e drivers: audio: max98091: log I2C communication errors
The internal I2C helper functions max98091_read_reg,
max98091_write_reg, and max98091_update_reg were ignoring the
return values of the underlying I2C driver calls. In the event
of a bus error or NACK, this led to silent failures where
hardware configuration would appear successful despite failure.

This commit evaluates and logs the return codes for all three
helpers to improve driver serviceability and resolve static
analysis warnings.

Fixes #92594

Signed-off-by: David J. Leach, Jr. <tasmar@gmail.com>
2026-03-17 18:20:13 -04:00
Hake Huang
e7b61d14f7 drivers: dma: raise TCD queue default for MCUX SAI
Set DMA_TCD_QUEUE_SIZE default to 4 when I2S_MCUX_SAI is enabled.
The MCUX SAI driver preloads 3 RX DMA blocks and requires the TCD
queue size to be greater than 3 to satisfy its BUILD_ASSERT and avoid
build failures in MCUX SAI I2S configurations.

Fixes #103997

Signed-off-by: Hake Huang <hake.huang@nxp.com>
2026-03-17 18:19:38 -04:00
Tim Pambor
7c7624743d ethernet: dwmac: Configureable RX refill thread priority
Add a Kconfig option to configure the RX refill thread priority.
The default is set to 0, which is the same as the previous hardcoded
value. This allows users to set a different priority if needed.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-03-17 18:19:30 -04:00
Tim Pambor
0466dfaabb ethernet: dwmac: Fix RX refill thread priority
Thread priority was passed to options argument of k_thread_create,
instead of the priority argument.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-03-17 18:19:30 -04:00
Michał Stasiak
a8e6e17c22 drivers: i2c: nrfx_twim: use timeout error code
Using different, more appropriate, error code in
case of timeout, to differentiate from regular EIO.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2026-03-17 18:18:41 -04:00
David J. Leach, Jr.
fd62462389 drivers: sensor: icm42x70: validate FIFO packet count
The driver was using a packet count value read directly from the
hardware to control a loop bound and a register read size. If the
hardware reported a value exceeding the internal buffer size, it
could lead to a buffer overflow or an untrusted loop bound.

Add a check to cap the packet_count based on the actual size of
the driver's FIFO data buffer.

Fixes #90512

Signed-off-by: David J. Leach, Jr. <tasmar@gmail.com>
2026-03-16 19:08:53 -05:00
Tim Pambor
a444599bbc ethernet: dwmac_stm32h7x: add support for STM32H5 series
H5 series SoCs have a similar Ethernet MAC to the H7 series,
but with some differences with respect to configuration of phy
interface type. As they use a Cortex-M33 core, they have no cache,
so that dma descriptors are always in non-cached memory.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-03-16 19:07:55 -05:00
Tim Pambor
ad286e4cd0 ethernet: dwmac_stm32h7x: add support for STM32H7RS series
H7RS series SoCs have a similar Ethernet MAC to the H7 series,
but with some differences with respect to configuration of phy
interface type.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-03-16 19:07:55 -05:00
Tim Pambor
d664a564dd ethernet: dwmac_stm32h7x: support configuration of phy connection type
Configure phy connection type to value specified in device tree.

Utilize definitions from STM32 Low-Level APIs instead of open coding
values.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-03-16 19:07:55 -05:00
David J. Leach, Jr.
5509ab12bc drivers: sensor: icm4268x: annotate intentional unsigned comparison
The IS_ACCEL macro checks if a channel is within the accelerometer
range. Because SENSOR_CHAN_ACCEL_X currently evaluates to 0 and
the channel type is unsigned, Coverity flags this as a redundant
comparison.

Added a coverity[unsigned_compare] annotation to silence the warning.
This preserves the macro's logic, ensuring the check remains valid
even if the underlying enum order is modified in the future.

Fixes #100002

Signed-off-by: David J. Leach, Jr. <tasmar@gmail.com>
2026-03-16 19:07:28 -05:00
Eira Siegel
14f7d496ae drivers: sensor: st: Pass internal return values to fetch caller
Several of the ST sensor implementations do not return a value to
the fetch caller, even when a fetch fails internally. This is
fixed by returning the value from the internal calls.

Signed-off-by: Eira Siegel <eira@the.cy>
2026-03-16 19:07:11 -05:00
William Markezana
6011b07c5c drivers: sensor: add Sensirion STCC4 CO2 sensor driver
Add driver for the Sensirion STCC4 miniature CO2 sensor. The STCC4
measures CO2 concentration (ppm), temperature, and humidity via I2C
using Sensirion's standard word+CRC protocol.

Features:
- Continuous and single-shot measurement modes
- CRC-8 validation on all sensor data
- Product ID readout at init
- Graceful handling of first measurement delay in continuous mode

Signed-off-by: William Markezana <william.markezana@gmail.com>
2026-03-16 19:02:13 -05:00
Jean-Pierre De Jesus DIAZ
cde85a66ab drivers: watchdog: cc13xx_cc26xx: fix unused variable.
Removed the options variable on wdt_cc13xx_cc26xx_init
which was only initialized to zero and not used.

Signed-off-by: Jean-Pierre De Jesus DIAZ <me@jeandudey.tech>
2026-03-16 19:01:47 -05:00
Benjamin Cabé
727b3cbde1 drivers: sensor: s3km1110: Add support for S3KM1110 24GHz mmWave sensor
This adds a new sensor driver (with custom channels) for the S3KM1110, a
24GHz mmWave radar sensor from Iclegend that uses a UART interface.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-03-16 18:59:55 -05:00
Josuah Demangeon
4e2a4c2696 drivers: video: shell: support more than 10 completions
The video shell uses a workaround to have different sub-commands use
different completions. Raise the limit of maximum completions from 10 up
to 20 to support more devices.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2026-03-16 18:59:44 -05:00
Josuah Demangeon
3b92cb59db drivers: video: shell: add a "video tree" command
Add a "video tree <device>" command to show the topology of video devices.
This follows the chain of source devices as defined by
VIDEO_DEVICE_DEFINE() in the macros.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2026-03-16 18:59:44 -05:00
Josuah Demangeon
79aa7e3845 drivers: video: shell: fix shell tab completion when device fails
The tab completion was not showing the valid devices after the failed
devices. Fix it by continuing to search for devices after a failed device.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2026-03-16 18:59:44 -05:00
Josuah Demangeon
7ecb1d032f drivers: video: shell: add tab completion for "video selection ..."
Add support for completion for the "video selection" shell command.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2026-03-16 18:59:44 -05:00
Christopher Cope
f8800c8ab3 drivers: gnss: Add L5 system support
This adds L5, BeiDou and QZSS satellite systems to enum ```gnss_system```

Signed-off-by: Christopher Cope <chris.cope@roedan.com>
2026-03-16 18:59:12 -05:00
Ayush Singh
c1e14900b0 drivers: serial: Add RPMSG UART
A lot of BeagleBoard.org boards contain SOCs with co-processors such as
M4F in AM62x (PocketBeagle 2 [0]), R5s in AM67A (BeagleY-AI [1]). In such
targets, the application is normally loaded by the Linux host using
remoteproc.

There have been some out of tree patches to have micropython and other
Zephyr applications output to allow having a console without requiring
manual connections. This patch attempts to provide a more concrete and
upstream way to have that functionality.

The implementation uses existing rpmsg service subsystem.

Only implemented poll_out

Tested on PocketBeagle 2 M4F core.

[0]: https://docs.zephyrproject.org/latest/boards/beagle/pocketbeagle_2/doc/index.html
[1]: https://docs.zephyrproject.org/latest/boards/beagle/beagley_ai/doc/index.html

Signed-off-by: Ayush Singh <ayush@beagleboard.org>
2026-03-16 18:58:35 -05:00
Cherrence Sarip
79e6e32f79 drivers: pwm: add support for MAX2221X pwm
Implements PWM driver support for the MAX22216/MAX22217 device.
This driver integrates with the Zephyr PWM API and uses the parent
MFD device to perform register access.

Signed-off-by: Cherrence Sarip <cherrence.sarip@analog.com>
2026-03-16 10:09:16 -04:00
Cherrence Sarip
d5c0edf4fb drivers: misc: add support for MAX2221X misc
Add MISC driver support for the MAX22216/MAX22217 device.
The driver provides miscellaneous functions and uses the parent
MFD device for register access.

Signed-off-by: John Erasmus Mari Geronimo <johnerasmusmari.geronimo@analog.com>
Signed-off-by: Cherrence Sarip <cherrence.sarip@analog.com>
2026-03-16 10:09:16 -04:00
Cherrence Sarip
5aa97fbc7b drivers: mfd: add support for MAX2221X multi-function device
Implements SPI-based register access (read, write, update) for the
MAX22216/MAX22217 multi-function device.

Signed-off-by: Cherrence Sarip <cherrence.sarip@analog.com>
2026-03-16 10:09:16 -04:00
Felipe Neves
89de9b7ca9 video: ov5640: fix out of bounds
control initialization by setting the control array first.

Signed-off-by: Felipe Neves <ryukokki.felipe@gmail.com>
2026-03-16 10:08:54 -04:00
Stanislav Poboril
71d1dd85d1 drivers: ethernet: phy: nxp_t1s_phy: add NXP 10BASE-T1S driver
Add driver for 10BASE-T1S digital PHY found on some NXP SoCs.

Signed-off-by: Stanislav Poboril <stanislav.poboril@nxp.com>
2026-03-16 10:07:00 -04:00
Stanislav Poboril
e36f597c96 boards: frdm_mcxa577: add enet_qos support
1. adjusted enet_qos driver to cope with features missing on mcxa577
2. enabled enet_qos support
3. verified samples/net/zperf

Signed-off-by: Stanislav Poboril <stanislav.poboril@nxp.com>
2026-03-16 10:07:00 -04:00
Stanislav Poboril
92b97cc596 drivers: ethernet: eth_nxp_enet_qos_mac: support for half-duplex mode
Mode is no longer fixed to full-duplex, it is set to half-duplex or
full-duplex in PHY callback.

Signed-off-by: Stanislav Poboril <stanislav.poboril@nxp.com>
2026-03-16 10:07:00 -04:00
Josuah Demangeon
f527724abf drivers: video: add formats: 8-bit padded to 16-bit
Add padded formats as seen on Himax image sensors used with 8-bit
DVP receivers, where half of the pins are used, leading to empty
bits in memory. This replaces the Y4 format which is 8-bit despite
only giving 4-bit filled with data per byte.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2026-03-16 10:06:44 -04:00
Krzysztof Chruściński
0ca8d2cbd0 drivers: spi: nrfx_spis: Add missing pinctrl initial stage
Driver initialization is expected to keep the driver in the
suspended stage before calling pm_device_driver_init. It means
that initialization should set pinctrl SLEEP stage. Nordic SPIS
driver was not doing that. If device runtime PM was enabled it
resulted in pins being in the default state when it was expected
that they are in the sleep state.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-03-16 10:06:00 -04:00
Michał Stasiak
1038bd14b0 drivers: mspi: allow using MSPI type for nrf-qspi-v2 binding
MSPI type is just a rename of QSPI type. Code
provided for nrf-qspi-v2 binding should work with both.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2026-03-16 10:05:41 -04:00
Tien Nguyen
9e59e1479d drivers: spi: add missing p_reg initialize in extended configurations
add missing p_reg initialize in extended configurations

Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
2026-03-16 12:32:50 +01:00
Julian Paul
64a7ee6b58 drivers: ethernet: phy: microchip_t1s: optional plca_node_count
Plca nodes with node_id not 0 do not manage transmit windows and
should therefore not be required to provide plca_node_count.
This change makes plca_node_count optional for (node_id != 0)
and if omitted sets the default value to 0.
The behaviour for node with id 0 stays the same.

Signed-off-by: Julian Paul <julian.paul@siemens.com>
2026-03-16 12:31:42 +01:00
Eric Mechin
483d216202 drivers: stm32wba: hci_stm32wba.c: Kconfig Options support
With stm32wba_set_stack_options function call set
the BLE stack Options flags initialization according
to the zephyr Kconfig options.

Signed-off-by: Eric Mechin <eric.mechin@st.com>
2026-03-16 12:31:08 +01:00
Sven Ginka
4eb4dfdd35 drivers: spi: soc sy1xx - fix bit-len
This commit fixes the bit-len field for the uDMA transfer.

Signed-off-by: Sven Ginka <s.ginka@sensry.de>
2026-03-16 12:30:08 +01:00
Guillaume Gautier
872b423b63 drivers: adc: stm32: add rtio support
Add RTIO support for the STM32 ADC driver to be able to stream data
continuously.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2026-03-16 12:28:34 +01:00
Alain Volmat
15d03e6aef drivers: clock_control: fix STM32L4 PLLSAI2 handling
In the transition to new PLLSAI bindings, part of the
previous symbols are remaining, especially STM32_PLLSAI2_DIVR_DIVISOR
which is used to compute the clock rate and leads to division by
zero when checking the clock rate.

Fix the remaining PLLSAI2_DIVR parts in order to allow proper
behavior of the PLLSAI2 on STM32L4.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-03-16 12:27:44 +01:00
Alain Volmat
d68986ad85 drivers: display: rm67162: allow usage in VIDEO mode
Add VIDEO related mode_flags whenever performing mipi_attach
and ensure that default column and page address configuration
are done.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-03-16 12:27:44 +01:00
Alain Volmat
fd9c191316 display: stm32_ltdc: use DISPLAY_BITS_PER_PIXEL to compute format BPP
Use the macro DISPLAY_BITS_PER_PIXEL in order to compute each format
BPP and thus avoid requiring each format BPP written within the
driver.
Thanks to that, simply the function stm32_ltdc_set_pixel_format to
avoid code duplication.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-03-16 12:27:44 +01:00
Christophe Guibout
bb540e6278 drivers: clock_control: stm32: enable code if status okay in dt
As stm32mp215fxx SoC supports less peripherals than stm32mp257fxx,
some definitions are not available in the HAL. To avoid compilation
issues, put these definitions depending on their activation in the DT.

Signed-off-by: Christophe Guibout <christophe.guibout@st.com>
2026-03-16 12:24:52 +01:00
Phi Bang Nguyen
c916a4a141 include: drivers: video: Use uint16 for buffer index
The buffer index is to track the buffers in the whole video buffer pool
which may be used for several video pipeline, each can use up to an
uint8 buffer. Extend the type to uint16 to account for this fact.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2026-03-16 12:22:32 +01:00
Phi Bang Nguyen
5e51280b07 drivers: video: video_common: Drop mem_block structure
The mem_block structure and the video_block array are not needed.
Drop them.

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2026-03-16 12:22:32 +01:00