Commit graph

28,390 commits

Author SHA1 Message Date
Kate Wang
f6ff907ab2 drivers: display: st7796s: Update driver
Add the support of DBI bus color coding configuration, also
pass down height/width/pitch of the frmae buffer descriptor
during frame update. Some DBI controller may need this configuration.

Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
2026-03-10 14:16:39 -05:00
Duy Dang
925d652d10 driver: pinctrl: Add support R-Car V4H SoC
Add pin definition for R-Car V4H SoC.

Signed-off-by: Duy Dang <duy.dang.yw@renesas.com>
2026-03-10 14:15:49 -05:00
Duy Dang
3d68ed92d5 driver: clock_control: Add V4H clock control driver
Support Clock Pulse Generator driver for V4H

Signed-off-by: Duy Dang <duy.dang.yw@renesas.com>
2026-03-10 14:15:49 -05:00
Jan Behrens
86f6c012c2 drivers: counter: rpi_pico_pit: Fixes unwanted running
Fixes the counter running after initialization and the counter running
after calling counter_set_top_value, regardless of previous state.
Also adjusts the tests.

Signed-off-by: Jan Behrens <jan.behrens@navimatix.de>
2026-03-10 17:24:32 +01:00
Harini T
d9220b8286 watchdog: wdt_xilinx_wwdt: Add explicit state validation in feed
Add software state check (!data->wdt_started) to wdt_feed() validation
to ensure feed operations are only allowed after wdt_setup() has been
called.

Signed-off-by: Harini T <harini.t@amd.com>
2026-03-10 15:10:22 +01:00
Raffael Rostagno
1dd41b7a0b drivers: gpio: esp32: Add pull support for wakeup
Add pull-up/down support to RTCIO pins for wakeup function.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2026-03-10 15:09:30 +01:00
Raffael Rostagno
f25243cf7a drivers: gpio: esp32: Add wakeup support
Add support to GPIO_INT_WAKEUP flag at config() event.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2026-03-10 15:09:30 +01:00
Raffael Rostagno
53fe964473 drivers: gpio: esp32: Add device PM
Add device PM to ESP32 GPIO driver.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2026-03-10 15:09:30 +01:00
Raffael Rostagno
14acf0cab1 drivers: counter: rtc: esp32: Add device PM
Add device PM to ESP32 RTC counter driver.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2026-03-10 15:09:30 +01:00
Raffael Rostagno
5250dc705a drivers: uart: esp32: Add device PM
Add device PM to ESP32 UART driver.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2026-03-10 15:09:30 +01:00
Raffael Rostagno
af76ef1162 drivers: systimer: esp32: Add systimer compensation
Add systimer compensation for time spent in light sleep while stalled.
Add sys_clock_idle_exit() for dticks announcement when leaving
light sleep.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2026-03-10 15:09:30 +01:00
Alexis Czezar Torreno
840f1991a2 drivers: stepper: adi_tmc: add TMCM-3216 driver
Add driver for the Trinamic TMCM-3216 3-axis stepper motor controller
module with RS485 communication interface.

RS485 Bus Layer:
- 9-byte TMCL datagram TX/RX with checksum validation
- Half-duplex echo handling with timeout detection
- GPIO-based DE (Driver Enable) pin control

TMCM-3216 Driver:
- Implements Zephyr stepper API (enable/disable, microstep resolution,
  absolute/relative positioning, continuous rotation)
- SAP/GAP (Set/Get Axis Parameter) commands
- MVP (Move to Position) and ROR/ROL (Rotate Right/Left) commands
- Position reached flag and velocity-based motion detection
- Event callbacks for step completion
- Semaphore-protected bus access for thread safety

Public API:
- tmcm3216_set_max_velocity / tmcm3216_get_max_velocity
- tmcm3216_set_max_acceleration
- tmcm3216_get_actual_velocity
- tmcm3216_get_status

Build System:
- Kconfig options for controller, stepper_ctrl, and stepper_driver
- RS485 bus automatically selected when TMCM-3216 is enabled

Signed-off-by: Alexis Czezar Torreno <alexisczezar.torreno@analog.com>
2026-03-10 15:07:27 +01:00
Josuah Demangeon
4282f14306 drivers: video: introduce Sony IMX219 sensor driver
Add support for the Sony IMX219 CSI sensor.
This sensor supports resolution of 3280x2464 in RGGB bayer format
either 8 or 10 bits and using 2 or 4 CSI lanes.
Only 10 bits on 2 CSI lanes is currently supported, and only in
1920x1080 pixel resolution using cropping using the video_set_format(),
and will need to be converted to video_set_selection() instead.

Signed-off-by: Josuah Demangeon <me@josuah.net>
Co-authored-by: Alan Shaju <alanshaju@rideltech.com>
Co-authored-by: Alain Volmat <alain.volmat@foss.st.com>
2026-03-10 15:04:02 +01:00
Josuah Demangeon
591d6e3d17 drivers: video: sort CMakeLists.txt/Kconfig imports
Switch to zephyr-keep-sorted-start/stop to keep checking the new
driver imports are always sorted, which reduces chances of git
conflict while adding new drivers from separate branches.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2026-03-10 15:04:02 +01:00
Josuah Demangeon
70e1f96cb6 driver: video: ctrls: add VIDEO_CID_DIGITAL_GAIN
Only VIDEO_CID_ANALOGUE_GAIN and VIDEO_CID_GAIN were defined. Also add
the complementary VIDEO_CID_DIGITAL_GAIN.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2026-03-10 15:04:02 +01:00
Fin Maaß
068569a268 drivers: sdhc: litex: add litesdcard driver
add litex litesdcard driver.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-03-10 12:33:41 +01:00
Khai Cao
e08cbc77e0 drivers: flash: select MPU_ALLOW_FLASH_WRITE for Renesas RA MRAM
MRAM programs via direct memory-mapped writes, which the ARM MPU
blocks unless MPU_ALLOW_FLASH_WRITE is enabled. Fixes a Data Access
Violation on ra8x2 when running the flash common test suite.

Signed-off-by: Khai Cao <khai.cao.xk@renesas.com>
2026-03-10 09:39:10 +01:00
Tony Han
3c07a68ae2 drivers: net: sam_gmac: set GMAC_NCFGR.GBE when working in Gigabit mode
Set register bit GMAC_NCFGR.GBE to configure GMAC for 1000Mbps operation.
Gigabit mode is not supported by SAM E70/S70/V70/V71 family, it is
supported by SAMA7G54.

Signed-off-by: Tony Han <tony.han@microchip.com>
2026-03-10 09:38:25 +01:00
Albort Xue
864269e27c drivers: flash: mcux_flexspi_nor: use IP read path
When IPED encryption is enabled, AHB-mapped reads can hang.

Switch flash_flexspi_nor_read() to use FlexSPI IP read
transactions and handle unaligned requests with aligned
chunk reads plus memcpy to the caller buffer.

This removes the SoC-specific workaround and avoids
hangs in encrypted regions.

Signed-off-by: Albort Xue <yao.xue@nxp.com>
2026-03-10 09:35:59 +01:00
Pete Johanson
d3dbe45ccb drivers: spi: Fix for SPI register access on MAX32
Add the additional required busy wait needed when accesseng SPI registers
during setup of a new SPI transaction.

Signed-off-by: Pete Johanson <pete.johanson@analog.com>
2026-03-10 09:35:21 +01:00
Nhut Nguyen
5eb9d75dcc drivers: gpio: renesas: Add support for RZ/T2H, N2H
Update GPIO driver to support Renesas RZ/T2H, N2H

Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2026-03-10 09:33:25 +01:00
Nhut Nguyen
ddef67d4ae drivers: serial: renesas: Add support for RZ/T2H, N2H
Update serial driver to support Renesas RZ/T2H, N2H

Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2026-03-10 09:33:25 +01:00
Nhut Nguyen
e7093b66e0 drivers: intc: renesas: Add support for RZ/T2H, N2H
Add interrupt controller driver support for Renesas RZ/T2H, N2H

Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2026-03-10 09:33:25 +01:00
Tony Han
d747277488 drivers: crypto: aes: add driver for Microchip AES
Add driver for Microchip Advanced Encryption Standard (AES), update
Kconfig and make files.

Signed-off-by: Tony Han <tony.han@microchip.com>
2026-03-10 09:30:02 +01:00
Yves Wang
29d0519feb drivers: mipi_dbi: nxp_flexio_lcdif: support EDMA on MCXE31
Use EDMA instead of DMA0 when CONFIG_SOC_SERIES_MCXE31X is set.
This matches the MCXE31 HAL instance for EDMA_SetModulo().

Signed-off-by: Yves Wang <zhengjia.wang@nxp.com>
2026-03-09 15:07:49 -05:00
Yves Wang
91e6751ca2 drivers: clock_control: nxp_mc_cgm: provide FlexIO clock rate
Return core clock for MCUX_FLEXIO_CLK in get_rate.
This lets nxp_flexio_get_rate() configure FlexIO LCDIF.

Signed-off-by: Yves Wang <zhengjia.wang@nxp.com>
2026-03-09 15:07:49 -05:00
Muhammed Asif
484fc98868 drivers: microchip: interrrupt controller: Adds support for pic32cxsg
- Updates the eic g1 driver to support pic32cx sg boards

Signed-off-by: Muhammed Asif <muhammed.asif@microchip.com>
2026-03-09 15:06:26 -05:00
Yuzhuo Liu
3c46baa1a2 drivers: serial: add rtl8752h serial driver
Add rtl8752h series in bee serial driver.

Signed-off-by: Yuzhuo Liu <yuzhuo_liu@realsil.com.cn>
2026-03-09 15:03:48 -05:00
Yuzhuo Liu
f91ac6596e drivers: gpio: add rtl8752h gpio driver
Add rtl8752h series in bee gpio driver.

Signed-off-by: Yuzhuo Liu <yuzhuo_liu@realsil.com.cn>
2026-03-09 15:03:48 -05:00
Yuzhuo Liu
e5c0f9698f drivers: pinctrl: add rtl8752h pinctrl driver
Add rtl8752h series in bee pinctrl driver.

Signed-off-by: Yuzhuo Liu <yuzhuo_liu@realsil.com.cn>
2026-03-09 15:03:48 -05:00
Yuzhuo Liu
137b44c250 drivers: clock: add rtl8752h clock driver
Add rtl8752h series in bee clock driver.

Signed-off-by: Yuzhuo Liu <yuzhuo_liu@realsil.com.cn>
2026-03-09 15:03:48 -05:00
Fengming Ye
922a057c1b drivers: wifi: nxp: add scheduled scan support
Add scheduled scan apis support for supplicant.
Add kconfig options to set default iteration and scheduled scan
min interval.

Signed-off-by: Fengming Ye <frank.ye@nxp.com>
2026-03-09 15:02:26 -05:00
Etienne Carriere
a143581d81 drivers: misc: stm32n6_axisram: fix multi axisram config cases
Fix condition to initialize ramcfg device for stm32N6xx AXISRAM
configuration as IF_ENABLED() requires a evaluated value of 1
as positive case.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2026-03-09 11:19:44 -05:00
Sebastiaan Merckx
920922db8a drivers: ethernet: nxp_enet: align nxp_eth_mod_init init priority
The initialization priority was hardcoded to 0. However, the initialization
takes a relatively long time (1 to 2 seconds on RW612). With this change,
the initialization priority properly follows CONFIG_ETH_INIT_PRIORITY.

Signed-off-by: Sebastiaan Merckx <sebastiaan.merckx@verhaert.com>
2026-03-09 11:16:59 -05:00
Tamas Jozsi
7ec3d18e29 boards: shields: add shield/driver for the Arduino Modulino Latch Relay
Adds support for the Modulino Latch Relay I2C/QWIIC board.
Adds an example which turns a connected relay on/off periodically.

Signed-off-by: Tamas Jozsi <tamas.jozsi@silabs.com>
2026-03-09 14:12:03 +01:00
Sara Touqan
47606d23c3 drivers: mspi: stm32: Simplify XSPI/OSPI dev_config() flow
this commit removes mspi_stm32_xspi_config_mem() and
mspi_stm32_ospi_config_mem() from their respective
*_dev_config() implementations.

we could remove these configurations by enabling mxicy,mx25u
compatible in STM32 board overlays. This compatible activates
the flash_quirks_mxicy_mx25u entry defined in
flash_mspi_nor_quirks.h
This quirks structure implements the required flash-specific
configuration, so XSPI/OSPI driver configuration flow could be
simplified.

Signed-off-by: Sara Touqan <zephyr@exalt.ps>
Signed-off-by: Sarah Younis <zephyr@exalt.ps>
2026-03-09 14:10:07 +01:00
Tim Pambor
e7c454caf8 drivers: dma: stm32u5: remove unused function
Remove a unused function that causes a warning when building.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-03-09 11:09:36 +01:00
Aksel Skauge Mellbye
a30340fcf6 drivers: bluetooth: hci: silabs: Migrate to RAIL 3.0 API
Use RAIL 3.0 API to configure sleep in EFR32 HCI driver.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2026-03-09 11:08:52 +01:00
Carlo Caione
18ead6a5ee drivers: lora: sx126x: add Kconfig for conditional sleep mode
Add CONFIG_LORA_SX126X_NATIVE_SLEEP (default y) to allow disabling
sleep mode power management. When disabled, the radio stays in
standby for faster response times at the cost of higher idle current.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2026-03-09 11:06:29 +01:00
Carlo Caione
be682b5257 drivers: lora: sx126x: add sleep mode power management
Place the SX126x radio into sleep mode whenever it is not actively
transmitting or receiving.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2026-03-09 11:06:29 +01:00
Carlo Caione
5966427a22 drivers: lora: sx126x: fix async RX callback error handling
Two fixes for the async RX path:

1. Only invoke the user callback for valid packets.

2. Re-check rx_cb != NULL before restarting RX. The user's callback may
   call lora_recv_async(dev, NULL) to stop reception.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2026-03-09 11:06:29 +01:00
Carlo Caione
e5c9889d57 drivers: lora: sx126x: fix SPI transfer for correct read/write behavior
Fix three issues in the spi_transfer() helper:

1. pass NULL instead of the data pointer so the SPI driver sends dummy
   bytes during reads rather than the caller's buffer contents (usually
   rubbish)

2. unify TX and RX buf_set count. The old logic used different counts for
   TX and RX, which caused a length mismatch when data_len > 0 on reads.

3. pass NULL for the rx buf_set on write operations. The chip's MISO output
   during command writes is undefined, so a full-duplex transceive is only
   needed for reads.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2026-03-09 11:06:29 +01:00
Zhaoxiang Jin
d6168d4d3e drivers: adc: add shell commands for ADC emulator
Add shell commands for the ADC emulator driver (zephyr,adc-emul) to
allow runtime configuration of emulated ADC values during testing and
development.

The new shell commands support:
- Setting constant raw ADC codes for a channel
- Setting constant input voltage in millivolts for a channel

Commands are dynamically populated with available ADC emulator devices
from the devicetree. This enables interactive testing of ADC-dependent
code without requiring physical hardware or signal generators.

Example usage:
  adc_emul <device> raw <channel> <value>
  adc_emul <device> mv <channel> <millivolts>

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-03-09 11:05:50 +01:00
Zhaoxiang Jin
8f1dfd5fb3 drivers: adc: emul: allow differential mode with warning
Change the ADC emulator driver to accept differential mode configuration
instead of rejecting it with -ENOTSUP. When differential mode is requested,
the driver now logs a warning that samples are provided as raw codes and
continues operation.

This allows testing of ADC configurations that use differential mode
without requiring the emulator to implement full differential conversion
logic. The raw code values can still be set via shell commands or API
calls for testing purposes.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-03-09 11:05:50 +01:00
Scott Shawcroft
a9f43dc0f6 drivers: Make AT24 emulator ACK zero length write
Zero length writes can be used for scanning addresses.
Confirmed with a real device.

Signed-off-by: Scott Shawcroft <scott@adafruit.com>
2026-03-08 22:01:21 -04:00
Alex Kar
6c3491a807 drivers: i2c: sam_twihs: Lock bus when transfering data
Added bus locking for sam_twihs in the same manner as #46111.

Signed-off-by: Alex Kar <github@alexkar598.dev>
2026-03-08 16:36:28 +01:00
Brett Peterson
182c0f8dd2 drivers: audio: dmic: Adding new dmic driver for PSE84
Adds a DMIC driver for the PSE84 devices based on the PDL PDM-PCM
driver.

Signed-off-by: Brett Peterson <brett.peterson@infineon.com>
2026-03-08 16:36:07 +01:00
Brett Peterson
8a9b6fde49 drivers: dma: infineon driver descriptor config
Adding a way to configure x-loop increments greater than 1.
Fixing an issue where DMA descriptors that were allocated from a shared
pool were never freed.

Signed-off-by: Brett Peterson <brett.peterson@infineon.com>
2026-03-08 16:36:07 +01:00
Maximilian Zimmermann
c573dfdb65 drivers: firmware: add new fwcfg driver for QEMU
This PR adds a new driver for the QEMU Firmware Configuration Device.
It implements the device for both X86 and MMIO architectures (e.g. ARM).
It also supports the DMA interface for write support.

Signed-off-by: Maximilian Zimmermann <gitmz@posteo.de>
2026-03-08 16:35:53 +01:00
Kurt Eckhardt
26ae95ecb9 drivers: video: hm01b0 - add missing pieces
Adding some of the missing pieces to the HM01b0 video class.

changed the VIDEO define to match all of the other video drivers
that I have tried:
That is CONFIG_VIDEO_HIMAX_HM01B0 to CONFIG_VIDEO_HM01B0

Added a few more format sizes: 324x324 to 324x244 164x122
match the spec.

Added BAYER format for the color camera (VIDEO_PIX_FMT_SBGGR8)
Only for Full, and QVGA, as cameras with BAYER filter do
not support the binning mode.

Added 4 data bit support, using new format: VIDEO_PIX_FMT_Y4

Support for hflip/vflip controls.

Added the frmival set/get/enum functions, to allow us better
control of how many frames are generated per second.

Used the reset register enumeration similar to other implementions,
such as Arduino library, Teensy Library, and OpenME

Signed-off-by: Kurt Eckhardt <kurte@rockisland.com>
2026-03-08 16:35:20 +01:00