Commit graph

28,390 commits

Author SHA1 Message Date
Raffael Rostagno
d1637e3401 drivers: gpio: esp32: Low power management
Add hardware and software strategies to switch pins to low power
mode both in light and deep sleep. Add hold feature to device tree
flags to allow application to configure which pins will be
automatically held (pin state preserved) during sleep.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2026-03-24 09:05:47 -04:00
Raffael Rostagno
90036ba970 drivers: uart: esp32: Remove sleep pinctrl init
Remove pinctrl sleep group init. Low power state for pinctrl will
be managed using harware feature.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2026-03-24 09:05:47 -04:00
Guillaume Gautier
22b086de60 drivers: adc: stm32: add an error message if calibration is missing
To prevent missing calibration when adding new series, add an error
message if no calibration is done.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2026-03-24 09:05:34 -04:00
Guillaume Gautier
1aeb56e8c0 drivers: adc: stm32: add calibration for stm32u3
Calibration for STM32U3 ADC was missing.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2026-03-24 09:05:34 -04:00
Kate Wang
8dee089313 drivers: display: sdl: Add support for new pixel formats
Add support for additional pixel formats in the SDL display driver
to align with the newly introduced display pixel formats:
- PIXEL_FORMAT_BGR_888: 24-bit BGR format with 8 bits per component
- PIXEL_FORMAT_ABGR_8888: 32-bit ABGR with alpha channel
- PIXEL_FORMAT_RGBA_8888: 32-bit RGBA with alpha channel
- PIXEL_FORMAT_BGRA_8888: 32-bit BGRA with alpha channel

Also refactor existing conversion functions to use C99-style loop
variable declarations for consistency.

Signed-off-by: Kate Wang <yumeng.wang@nxp.com>
2026-03-24 07:07:25 -04:00
Fabrice DJIATSA
4d14961fdd drivers: spi: stm32: update driver for stm32 hal2
There are different naming conventions between
the two HAL, so we make conditional compilation
through intermediate symbols.

Signed-off-by: Fabrice DJIATSA <fabrice.djiatsa-ext@st.com>
2026-03-24 07:06:55 -04:00
Guillaume Gautier
2ed93b23d3 drivers: spi: stm32: select gpio if using a gpio cs
Select the GPIO driver in the Kconfig if at least one active SPI instance
is using a GPIO Chip Select.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2026-03-24 07:06:55 -04:00
Robert Lubos
e0437fa7c1 drivers: net: ppp: Fix asynchronous transfer buffer overwrite
In case PPP driver is configured in asynchronous UART mode, any send
attempts should wait for the previous transfer to complete, otherwise
modifying TX buffer would disrupt the ongoing transfer.

So far the driver waited for previous transfer to complete only before
scheduling the next one, but instead it should wait before it even
starts to modify the buffer.

Signed-off-by: Robert Lubos <robert.lubos@nordicsemi.no>
2026-03-24 07:06:43 -04:00
Fabin V Martin
e7e3032e61 drivers: uart: microchip: sercom g1: changes for pic32cz_ca80
Updated the interrupt handler to connect all interrupt lines added
in the corresponding sercom uart node.

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2026-03-24 07:06:16 -04:00
Jun Lin
ebfc0cb2e6 drivers: i2c: npcx: Support I2C write operations with Re-start in between
This commit adds support for a special sequence that requires a
repeated start between two consecutive I2C write operations.
For example:
Sr-Addr+W-Data-Data-ReSr-Addr+W-Data-Data-Stop.

Signed-off-by: Jun Lin <CHLin56@nuvoton.com>
2026-03-24 07:06:02 -04:00
Zhaoxiang Jin
a1d27d4f7f adc: shell: migrate to SHELL_HELP macro
Migrate ADC shell command help strings to use the SHELL_HELP
macro for consistent formatting and improved maintainability.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-03-24 09:55:34 +01:00
Ole Morten Haaland
0737e587bb drivers: sensor: qdec_stm32: Set configured prescaler
If a prescaler is set in the DTS, it should be used also by the qdec
driver, as it is by the counter and the pwm drivers.

Signed-off-by: Ole Morten Haaland <omh@ixys.no>
2026-03-24 09:55:21 +01:00
Pierrick Curt
8f59a69840 drivers: adc: mcp3221: add driver support
The MCP3221 is a 1-channel 12-bit A/D converter with I2C interface.

Signed-off-by: Pierrick Curt <pierrickcurt@gmail.com>
2026-03-24 09:54:56 +01:00
Fin Maaß
8209bd1b2d drivers: clock:control: litex: remove unused function
litex_clk_calc_duty_high_time() is not used anywhere,
therefore it can be removed.
When building with
-DZEPHYR_TOOLCHAIN_VARIANT=zephyr/llvm
the compiler even complains with a warning.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-03-24 05:27:35 +01:00
Pieter De Gendt
a7569d90a0 drivers: rtc: counter: Optional NVMEM storage for epoch offset
Some counters continue running in low power modes (for example i.MX SNVS
LP).
Optionally store and load the epoch offset from an NVMEM cell.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-03-24 05:26:59 +01:00
Missael Maciel
af089536ca drivers: uart: mcux_flexcomm: Avoid reading registers when no clock
Clock attach verification added previous to read flexcomm registers.
This ensures the flexcomm has a clock attached and is ready for
transmission, avoiding the system gets stuck in an infinite loop
while reading the registers.

Signed-off-by: Missael Maciel <davidmissael.maciel@nxp.com>
2026-03-24 05:26:46 +01:00
Paolo Bazzanella
1863204eda drivers: ethernet: eth_renesas_ra: Fix for link up
In a board I am trying to bring up(RA6M3 + LAN9370),
the phy callback got executed before net_if_carrier_off(),
which meant the OS thought permanently the interface was down.
Moving the net_if_carrier_off() before the callback registration
seems to fix the issue.

Signed-off-by: Paolo Bazzanella <pbbazzanella@gmail.com>
2026-03-23 19:26:51 -05:00
Charles Dias
640dab9779 drivers: input: add Adafruit seesaw gamepad driver
Add a polled I2C input driver for the Adafruit Mini I2C Gamepad
with seesaw (product 5743, https://www.adafruit.com/product/5743).

The driver initializes the device, configures button GPIOs, polls
button and joystick state, and reports events through the input
subsystem. Interrupt (IRQ) support is not implemented.

Signed-off-by: Charles Dias <charlesdias.cd@outlook.com>
2026-03-23 19:23:19 -05:00
Tim Pambor
1bf22717ed ethernet: dwmac: configure MAC based on PHY link state
Add support for configuring the MAC based on the PHY link state.
This allows the driver to properly set the speed and duplex
settings of the MAC when the link state changes.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-03-23 17:39:06 -05:00
Sylvio Alves
d8dc6841d1 drivers: wifi: esp32: fix WPA3-SAE security type handling
Fix WPA3-SAE authentication handling for both STA and SoftAP
modes to properly use the PSA crypto backend.

STA mode: handle WIFI_SECURITY_TYPE_SAE, SAE_H2E and SAE_AUTO
security types with proper PMF configuration and SAE password
element derivation method selection (hunt-and-peck,
hash-to-element, or both). Also handle PSK_SHA256 as a
WPA2-PSK variant.

SoftAP mode: add WPA3-SAE authentication with the same PWE
method selection, guarded by ESP32_WIFI_SOFTAP_SAE_SUPPORT.

New Kconfig entries:
- ESP32_WIFI_ENABLE_SAE_H2E: hash-to-element derivation
- ESP32_WIFI_SOFTAP_SAE_SUPPORT: WPA3-SAE for AP mode
- ESP32_WIFI_WPA3_COMPATIBLE: WPA2/WPA3 transition mode

Update west.yml hal_espressif revision to include the
corresponding PSA crypto migration changes.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-03-23 17:38:18 -05:00
Sylvio Alves
e250cdbe0d drivers: wifi: esp32: fix PSA crypto selects
Fix PSA crypto algorithm and key type selects required by the
wpa_supplicant's mbedTLS crypto backend. These are needed for
AES cipher operations, ECDH/ECDSA, SHA-1/SHA-256, HMAC and CMAC
used during WPA key derivation and handshake.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-03-23 17:38:18 -05:00
Raffael Rostagno
37aef33e64 pm: drivers: pwm_ledc: esp32: Add device PM
Add code for device PM to the driver.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2026-03-23 17:37:48 -05:00
Fin Maaß
062facbab2 net: dsa: remove NET_DSA_DEPRECATED
remove the deprecated NET_DSA_DEPRECATED.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-03-23 15:01:57 -05:00
Fin Maaß
e02f974244 drivers: ethernet: native_tap: remove wrong vlan_setup
this is a leftover from when the vlan ifaces were not
virtual ifaces. With this currently in we would deactive lldp
on the main iface everytime a vlan is deactivated.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-03-23 15:00:38 -05:00
Daniel DeGrasse
a9d3c17052 drivers: i3c: i3c_cdns: cast num_xfer to uint32_t pointer
On 64 bit systems, the num_xfer field in the CCC payload is
a 64 bit value (size_t). Cast it to a uint32_t pointer
to silence warnings when building the driver.

Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
2026-03-23 14:59:19 -05:00
Daniel DeGrasse
0d822e1793 drivers: i3c: i3c_cdns set manual command start after enabling interrupts
Don't start command queue until interrupts have been enabled.
otherwise for some very fast controllers, the queue could drain
before the interrupt is enabled.

This issue has been observed using functional simulations of
the CDNS I3C IP, but could logically also occur in hardware.

Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
2026-03-23 14:59:19 -05:00
Francois Ramu
93f702a4b4 drivers: flash: stm32 xspi driver with HPDMA transfer
Enables the HPDMA on stm32 xspi flash transfer on the stm32H7rs series

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2026-03-23 14:57:56 -05:00
Francois Ramu
ab88831734 drivers: dma: stm32u5 dma driver use macro to retrieve the channel
Use the STM32_DMA_GET_CHANNEL macro for compatibility with
Stm32Cube HAL V2 model

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2026-03-23 14:57:56 -05:00
Francois Ramu
f9aa853411 drivers: dma: stm32 dma driver for stm32U5 compatible with HPDMA
The dma driver for stm32U5 compatible can support HPDMA instance
on the stm32h7rs series

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2026-03-23 14:57:56 -05:00
Francis Roi Manabat
407e36f696 drivers: sensor: add ADXL355 3-Axis MEMS Accelerometers Support
This patch adds a new driver for the ADXL355 three-axis digital
accelerometer, implementing configuration, sampling,
and full-scale range controls according to the
ADXL355 datasheet (Analog Devices).

Features:
- I2C and SPI register access
- Sampling frequency (ODR) configuration
- Full-scale range selection (±2g/±4g/±8g)
- Standby/measure power modes
- Optional FIFO streaming support via RTIO
- Basic trigger and interrupt handling

Power management is supported via PM_DEVICE callbacks
to place the sensor in standby mode when suspended
and resume continuous measurement on resume.

References:
- ADXL354/ADXL355 Datasheet (Analog Devices)
  https://www.analog.com/media/en/technical-documentation/data-sheets/adxl354_adxl355.pdf

Signed-off-by: Francis Roi Manabat <francisroi.manabat@analog.com>
2026-03-23 14:00:03 -04:00
Andre Viegas
c6fa8294dd drivers: sensor: tsl2540: fix double byte-swap
The lower ALS interrupt threshold (SENSOR_ATTR_LOWER_THRESH) was being
converted twice with sys_cpu_to_le16(), effectively canceling the
conversion on big-endian systems. The upper threshold
(SENSOR_ATTR_UPPER_THRESH) correctly uses a single conversion.

This causes the lower threshold register to be written in incorrect
byte order on big-endian architectures.

Signed-off-by: Andre Viegas <andreviegas@piscodeluz.org>
Assisted-by: Claude:claude-opus-4.6 forgeql
2026-03-23 12:40:10 -05:00
Albort Xue
3f24fb1adc drivers: wuc: change LLWU driver init priority
Update DEVICE_DT_INST_DEFINE to use PRE_KERNEL_1 for llwu driver.
System timer(normal set as PRE_KERNEL_2) may depend of llwu driver.

Signed-off-by: Albort Xue <yao.xue@nxp.com>
2026-03-23 12:36:44 -05:00
Camille BAUD
41ed93e765 drivers: hwinfo: Fix BFLB MAC handling for BL70x/L, Add parity check
BL70x/L stores MAC differently. Also add parity check of the retrieved MAC.

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-03-23 12:35:23 -05:00
Tim Pambor
59ca2288d5 flash: spi_nand: support bad block management
Add support for bad block management in SPI NAND flash devices.
This includes functions to check if a block is bad and to mark
a block as bad. The bad block marker is stored in the OOB area of
the first page of each block.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-03-23 12:31:30 -05:00
Tomasz Leman
9940e1fa26 drivers: debug: Update log_output_process() calls for core_id parameter
Update all log_output_process() function calls in the nRF ETR debug
driver to include the new core_id parameter that was added to support
the CONFIG_LOG_CORE_ID_PREFIX feature.

The core_id parameter is set to 0 for all call sites in this driver
since core ID information is not available from the trace/log packets
being processed. This maintains backward compatibility while adapting to
the updated log_output_process() function signature.

Signed-off-by: Tomasz Leman <tomasz.m.leman@intel.com>
2026-03-23 12:31:00 -05:00
Sudarshan Jagannathan
f4cad414ce drivers: flash: stm32: style guidelines compliance changes
Applying clang-format to changed files to ensure compliance
with Zephyr coding style guidelines.

Signed-off-by: Sudarshan Jagannathan <sudarshan.jagannathan@st.com>
2026-03-23 12:29:40 -05:00
Sudarshan Jagannathan
367a4b4619 drivers: flash: stm32: Add Kconfig to allow unaligned flash_write ops
Add Kconfig option to accept unaligned addresses and/or lengths for
flash_write for stm32 devices. Use with caution after understanding
target platform flash implementation details. Op may fault if used
without forethought

Signed-off-by: Sudarshan Jagannathan <sudarshan.jagannathan@st.com>
2026-03-23 12:29:40 -05:00
Ibrahim Abdalkader
637d51f2e8 drivers: wifi: esp_hosted: Add support for the latest firmware.
Add support for esp-hosted v1.0.0.0.0 firmware.

Signed-off-by: Ibrahim Abdalkader <i.abdalkader@gmail.com>
2026-03-23 12:28:29 -05:00
Ibrahim Abdalkader
0d4b8b081a drivers: wifi: esp_hosted: Add the latest protocol.
Rename legacy esp-hosted protobuf protocol file, and add the
latest protocol.

Signed-off-by: Ibrahim Abdalkader <i.abdalkader@gmail.com>
2026-03-23 12:28:29 -05:00
Tony Han
bc3586a8c2 drivers: serial: mchp: add minimal drivers for G1 DBGU (Debug Unit)
Add uart driver with minimal features for DBGU for sam9x7 SOCs.

Signed-off-by: Tony Han <tony.han@microchip.com>
2026-03-23 12:27:55 -05:00
Tony Han
ac8a144019 drivers: interrupt-controller: mchp: add drivers for G1 AIC
Add drivers for Advanced Interrupt Controller (AIC).
Update Kconfig.mchp and CMakeList.txt accordingly.

Signed-off-by: Tony Han <tony.han@microchip.com>
2026-03-23 12:27:55 -05:00
Andreas Weissel
8c917f2931 drivers: reset: Add Synaptics SR100 reset driver
This adds the reset driver for Synaptics SR100-series SoCs.

Signed-off-by: Andreas Weissel <andreas.weissel@synaptics.com>
2026-03-23 10:40:33 -04:00
Łukasz Kędziora
eaa564115e drivers: pinctrl: Add Synaptics pinctrl driver
This adds the pinctrl driver for Synaptics SR100-series SoCs.

Signed-off-by: Łukasz Kędziora <lkedziora@antmicro.com>
Signed-off-by: Piotr Zierhoffer <pzierhoffer@antmicro.com>
Signed-off-by: Andreas Weissel <andreas.weissel@synaptics.com>
2026-03-23 10:40:33 -04:00
Łukasz Kędziora
66241660de drivers: clock_control: Add Synaptics clock control driver
This adds the clock control driver for Synaptics SR100-series SoCs.

Signed-off-by: Łukasz Kędziora <lkedziora@antmicro.com>
Signed-off-by: Piotr Zierhoffer <pzierhoffer@antmicro.com>
Signed-off-by: Andreas Weissel <andreas.weissel@synaptics.com>
2026-03-23 10:40:33 -04:00
Krzysztof Chruściński
4445ed64f4 drivers: mbox: nrf_vevif_event_rx: Fix handling of Errata 16
Handling of Errata 16 was failing if VPR triggered event when interrupt
on the application core are disabled. In that case an event is lost and
IPC communication fails. Improved workaround by enabling interrupts
during the initialization and store the information if interrupt got
triggered while event is disabled. Pending event is triggered after
enabling the event.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-03-23 10:39:49 -04:00
Raffael Rostagno
4011077e72 drivers: dma: esp32: PM support
Add Power Management support for GDMA driver.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2026-03-23 10:39:40 -04:00
Guillaume Gautier
eadb255c75 drivers: adc: use the new injected support property in the driver
Use the new has-injected-support property in the Kconfig instead of
filtering on series directly, and use it also in the driver to return an
error if a specific instance doesn't support injected (this is the case
for STM32U5 where ADC1 and 2 support injected, but not ADC4).

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2026-03-23 10:37:18 -04:00
Guillaume Gautier
af227cc6ed drivers: sensor: stm32_vref: add injected mode support
Add injected mode support for STM32 Vref sensor.
When in injected mode, this configures the sensor channel and sensor enable
bit at start to prevent any conflict later: some registers can't be written
while a conversion is on-going.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2026-03-23 10:37:18 -04:00
Guillaume Gautier
8c63f42d14 drivers: sensor: stm32_vbat: add injected mode support
Add injected mode support for STM32 Vbat sensor.
When in injected mode, this configures the sensor channel and sensor enable
bit at start to prevent any conflict later: some registers can't be written
while a conversion is on-going.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2026-03-23 10:37:18 -04:00
Guillaume Gautier
edecb7a735 drivers: sensor: stm32_temp: add injected mode support
Add injected mode support for STM32 temperature sensor.
When in injected mode, this configures the sensor channel and sensor enable
bit at start to prevent any conflict later: some registers can't be written
while a conversion is on-going.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2026-03-23 10:37:18 -04:00