Commit graph zephyr/drivers
Author SHA1 Message Date
Muhammad Waleed Badar
bbf062089c drivers: ethernet: intel: igc: use NET_PKT_FRAG_FOR_EACH() macro
Replace open-coded fragment loop with NET_PKT_FRAG_FOR_EACH() macro
in eth_intel_igc_tx_data().

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
2026-05-12 17:18:52 +02:00
Muhammad Waleed Badar
aa62497273 drivers: ethernet: stm32: use NET_PKT_FRAG_FOR_EACH() macro
Replace open-coded fragment loop with NET_PKT_FRAG_FOR_EACH() macro
in eth_stm32_tx().

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
2026-05-12 17:18:52 +02:00
Mohamed Azhar
c6a8bfb516 drivers: spi: microchip: update slave mode in spi g1 driver
Move SSDE enable after preload to prevent premature SSL interrupts
Fix DMA fallback to always have ISR variables available

Signed-off-by: Mohamed Azhar <mohamed.azhar@microchip.com>
2026-05-12 17:18:34 +02:00
Sylvio Alves
36ac2822f5 soc: espressif: sync with latest hal_espressif
Update hal_espressif revision and adapt drivers and linker
scripts to the new HAL APIs.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-05-12 17:16:50 +02:00
Sylvio Alves
fd95968be0 drivers: wifi: esp32: align iface state with dormant flag
Switch interface gating from carrier on/off to the dormant flag,
matching nrf_wifi/nxp/airoc/esp_at/esp_hosted. Carrier is set
once at init; dormant toggles per association on STA and per
AP_START/AP_STOP on AP. This preserves IP and IPv6 link-local
state across transient drops instead of tearing them down.

Allow AP TX in AP_STARTED and AP_DISCONNECTED (no clients yet,
or last client left) in addition to AP_CONNECTED, so broadcast
traffic is not rejected with -EIO.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-05-12 17:14:40 +02:00
Tim Pambor
a7464a0211 drivers: rtc: rv3028: explicitly init control registers
The driver on init currently only updates control register bits that
differ from their reset values, implicitly assuming that all other
bits are still in their default state.

This assumption can break if the registers were previously modified,
e.g. 12-hour mode was selected, leading to invalid time readings
such as 32:57:12 from rtc_get_time().

Fix this by explicitly programming all control register fields
to the configuration expected by the driver, instead of relying
on the hardware reset state.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-05-12 11:34:26 +02:00
Kevin Wang
d81a19a140 drivers: watchdog: Add select HAS_WDT_DISABLE_AT_BOOT at atcwdt200 Kconfig
atcwdt200 already supports the CONFIG_WDT_DISABLE_AT_BOOT feature.
However, HAS_WDT_DISABLE_AT_BOOT was not enabled in the driver config layer
at that time.
This PR fixes that issue.

Signed-off-by: Kevin Wang <kevinwang821020@google.com>
2026-05-12 11:21:40 +02:00
Zhaoming Li
61bac0665e drivers: misc: renesas_drw: fix pointer to integer conversion
DLISTSTART is a 32-bit hardware register, while the indirect display
list pointer is represented as a pointer. Assigning the pointer directly
to the register triggers -Wint-conversion with newer GCC versions.

Cast through uintptr_t before converting to uint32_t to make the address
conversion explicit.

Signed-off-by: Zhaoming Li <lizhaoming634@gmail.com>
2026-05-12 11:18:51 +02:00
Zhaoxiang Jin
8213be7e6b comparator: mcux_acmp: enable clock control for acmp
enable clock control for acmp

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-05-12 11:17:25 +02:00
Zhaoxiang Jin
f601756039 clock_control: mcux_syscon: add RT7xx ACMP clock gate
add RT7xx ACMP clock gate

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-05-12 11:17:25 +02:00
Zhaoxiang Jin
f91ea82eb6 comparator: mcux: acmp: add reset controller support
add reset controller support for the NXP ACMP driver
and use reset controller APIs if available.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-05-12 11:17:25 +02:00
Matthias Ringwald
6214844275 Bluetooth: hci: infineon: Fix unaligned opcode read
PatchRAM records store the HCI opcode as a little-endian value in the
firmware image. Read it with sys_get_le16() instead of casting the byte
pointer to uint16_t, which can fault on targets that do not allow
unaligned accesses.

Signed-off-by: Matthias Ringwald <matthias@ringwald.ch>
2026-05-12 09:13:14 +02:00
Mathieu Choplain
7c3001e178 drivers: crc: stm32: don't advertise support for CRC16_REFLECT
This algorithm is not actually supported by the driver; don't select the
Kconfig option saying the driver supports it.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-05-12 09:12:05 +02:00
Jilay Pandya
b18c268ce0 drivers: stepper: use LOG_ERR_DEVICE_NOT_READY
use LOG_ERR_DEVICE_NOT_READY for logging device readiness
in stepper area

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2026-05-12 09:10:31 +02:00
Jordan Yates
a9b089fdec modem: cellular: transa_lexi_r10: fix filename typo
Update the filename to fix a typo. The CMakeLists.txt is already
using the correct spelling.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2026-05-12 09:09:59 +02:00
Ren Chen
927340f0bf drivers: adc: it8xxx2: add timeout kconfig for adc reading
Add configurable timeout(forever by default) for waiting on
data valid interrupt to prevent blocking forever if the
interrupt is unexpectedly disabled.

If k_sem_take() times out, disable adc interrupt and then
read adc value if the data is valid as fallback path.

Signed-off-by: Ren Chen <Ren.Chen@ite.com.tw>
2026-05-12 09:08:43 +02:00
Davide Di Lello
a5e83d7d20 drivers: uart: infineon: Add UART wide data
Add UART Wide data functions

Signed-off-by: Davide Di Lello <Davide.Dilello@Infineon.com>
2026-05-12 09:08:23 +02:00
Laura Carlesso
33e06449fa boards: infineon: edge: Redo memory mapping for Edge devices
Edge devices have multiple addresses for the external memory.
SAHB (0x60.., 0x70.. for ns and s access respectively) which
are uncached but programmable and CBUS (0x08.. and 0x18..
for ns and s access respectively) which are cached and improve
performance.
Additionally, cm33 can use both SAHB aliases and CBUS alises
but cm55 can only use SAHB aliases.
Therefore this commit redefines entirely the memory map to
use mapped partitions are offsets from the base region and
selecting the base region accordingly for
the three use cases. (cm33s, cm33ns - for eval board, cm55).
To this selected set USE_DT_CODE_PARTITION
to yes for all cores in defconfig.
Additionally cleaned up config BUILD_OUTPUT_ADJUST_LMA to be
more clear in its use.
Updated the custom linker script with the mapped partitions
updates that were added to the base linker ascript in arm.
Updated the metadata function to handle the addresses
gymnastics.

Signed-off-by: Laura Carlesso <laura.carlesso@infineon.com>
2026-05-12 09:01:48 +02:00
Nhut Nguyen
ce0ab92159 drivers: pwm: renesas: Fix missing last period in event sample
Fix missing last period when running samples/drivers/pwm/event. The last
period was incomplete because it is stopped immediately before the new
period became effective.

Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2026-05-12 09:00:20 +02:00
Nhut Nguyen
4084433d1b drivers: pwm: renesas: Add support for PWM event API
Implement PWM event API for Renesas RA

Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2026-05-12 09:00:20 +02:00
Fabin V Martin
9c2257afc3 drivers: serial: microchip: sercom g1: support per-instance DMA mode
Use dt_compat_any_has_prop for CONFIG_UART_MCHP_DMA_DRIVEN to allow
mixed DMA/interrupt configurations. Added has_dma field and runtime
checks to select transfer mode per UART instance based on device tree
dmas property presence.

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2026-05-12 08:58:44 +02:00
Zhaoming Li
64f5fabf2a drivers: gpio: add MMIO latch GPIO driver
Add a generic GPIO driver for a memory-mapped output latch register.

Include the driver implementation and devicetree binding.
Also add the required Kconfig and CMake integration.

Signed-off-by: Zhaoming Li <lizhaoming634@gmail.com>
2026-05-11 21:03:38 -05:00
Srinivas Edireswarapu
d1ebbfcc30 drivers: sensor: tach: xec: refactor for encoded DT properties and MEC175x
Refactor the Microchip XEC tachometer driver to use DTS-encoded
GIRQ and PCR properties instead of series-specific ifdefs,
enabling a unified driver across MEC150x, MEC172x, and MEC175x.

Fix build error from incorrect PCR devicetree configuration.
Remove duplicate include and add missing static qualifier to
tach_xec_sample_fetch().

Co-authored-by: Andy Chang <andy.chang@microchip.com>
Signed-off-by: Andy Chang <andy.chang@microchip.com>
Signed-off-by: Srinivas Edireswarapu <srinivas.edireswarapu@microchip.com>
2026-05-11 21:03:12 -05:00
Srinivas Edireswarapu
ae3473eb51 drivers: pwm: mchp_xec: fix switch-case break indentation
Fix misaligned break statements in pwm_xec_pm_action() switch-case
block to match the case indentation level.

Signed-off-by: Srinivas Edireswarapu <srinivas.edireswarapu@microchip.com>
2026-05-11 21:02:18 -05:00
Srinivas Edireswarapu
2e5597b09d drivers: pwm: mchp_xec: refactor for encoded DT properties
Refactor the Microchip XEC PWM driver to use DTS-encoded PCR
property via soc_xec_pcr_sleep_en_clear(), replacing per-SoC
ifdefs for PCR init. Move PCR enable before pinctrl apply in
the init sequence.

Signed-off-by: Srinivas Edireswarapu <srinivas.edireswarapu@microchip.com>
2026-05-11 21:02:18 -05:00
Michał Stasiak
b530448c2c drivers: gpio: disable latch detection for nRF92 series
Latch detection is not supported on nRF92 GPIO driver.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2026-05-11 15:29:14 +01:00
Michał Stasiak
cf79aa7c90 drivers: gpio: gpio_nrfx: Add support for latch detection
Added latch detection mode based on DTS property.
Required register is inaccessible in non-secure
builds and on nRF54H20 SoC. Added hidden Kconfig
to guard it.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2026-05-11 15:29:14 +01:00
Håvard Reierstad
a805a054fe Bluetooth: HCI: include addr.h from util_hci_evt
Include `addr.h` in `util_hci_evt.c` as it uses `bt_addr_le_str`.

Signed-off-by: Håvard Reierstad <haavard.reierstad@nordicsemi.no>
2026-05-11 13:41:54 +02:00
Gal Raifen
fe88cd598c drivers: ethernet: eth_nxp_s32_gmac: fix start/stop function declaration
Building mr_canhubk3 fails due to improper function declaration.
Fix issue by fixing declaration of eth_nxp_s32_start & eth_nxp_s32_stop.
Fixes issue #108630.

Signed-off-by: Gal Raifen <galraifen15@gmail.com>
2026-05-11 11:02:01 +02:00
Jordan Yates
4f5530057a modem: cellular: group scripts into struct
Rather than passing every possible script into the common modem
instantiation macro, use a struct to hold all the scripts and pass the
struct instead.

The advantage of this approach is that it makes adding new optional
scripts much less invasive. The script only needs to be added to the
struct and populated in the drivers that will use it, no need to modify
the global macro.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2026-05-11 11:00:47 +02:00
Yuzhuo Liu
5930bd5d60 drivers: input: bee_keyscan: fix timing property usage
Use the correct timing properties for bee_keyscan configuration.

- use common.poll_period_us for manual scan timer
- calculate rel_cnt from release_time_us
- fix autoscan build assert guard
- remove stale debounce_down_us assertion

This fixes mismatched devicetree property usage in the driver.

Signed-off-by: Yuzhuo Liu <yuzhuo_liu@realsil.com.cn>
2026-05-11 10:58:36 +02:00
Fin Maaß
069f83431a drivers: virtio: add HEAP_MEM_POOL_ADD_SIZE_VIRTIO
the virtio driver is using k_aligned_alloc and therefore
uses the system heap, add the
HEAP_MEM_POOL_ADD_SIZE_VIRTIO Kconfig,
so we have enought heap for it.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-05-11 10:57:25 +02:00
Arunprasath P
013c5af00e drivers: dma: mchp_dmac_g1: fix callback invocation and status reporting
Fix two issues in DMA driver:

1. ISR was invoking callback for all interrupts including suspend.
   Add check to invoke callback only for transfer complete (TCMPL)
   or transfer error (TERR) interrupts.

2. dma_get_status returned stale pending_length after config/reload
   because write-back descriptor was not synced with base descriptor.
   Sync write-back in dma_mchp_config and dmac_desc_reload_block.

Also improve type safety by changing void* to dmac_descriptor_registers_t*
in descriptor setup functions.

Signed-off-by: Arunprasath P <arunprasath.p@microchip.com>
2026-05-11 10:56:23 +02:00
Fabin V Martin
d4c49f5449 drivers: i2c: microchip: sercom g1: support per-instance DMA mode
Use dt_compat_any_has_prop for CONFIG_I2C_MCHP_DMA_DRIVEN to allow
mixed DMA/interrupt configurations. Added has_dma field and runtime
checks to select transfer mode per I2C instance based on device tree
dmas property presence.

Signed-off-by: Fabin V Martin <Fabinv.Martin@microchip.com>
2026-05-11 10:56:04 +02:00
Aleksandr Senin
5082b60571 retained_mem: gd32: add backup SRAM driver
Add a retained memory driver for GD32 backup SRAM.
The driver exposes the memory region defined by devicetree reg, enables
the BKPSRAM clock gate, and optionally enables a vin-supply regulator
for retention power.

Signed-off-by: Aleksandr Senin <al@meshium.net>
2026-05-11 10:55:04 +02:00
Aleksandr Senin
f8208ac6c3 regulator: gd32: add BLDO regulator driver
Add a regulator driver for the GD32 Backup SRAM LDO (BLDO) controlled via
PMU. This enables modelling BLDO as a standard supply in devicetree
(vin-supply) and allows consumers to request retention power through
the regulator API.

Signed-off-by: Aleksandr Senin <al@meshium.net>
2026-05-11 10:55:04 +02:00
Mark Wang
ff4d6a8d71 drivers: usb: common: buf: Fix net_buf size modification in alloc
keep the allocated net_buf's size as the requested size, avoid
increasing it by USB_BUF_ROUND_UP.

Signed-off-by: Mark Wang <yichang.wang@nxp.com>
2026-05-11 08:48:33 +02:00
Pieter De Gendt
af4b127d5a drivers: flash: mcux-flexspi: Optional API mutex
Introduce Kconfig symbol to add mutex lock protection to the driver API.
Prevent multi-threaded access from a pre-emptive thread.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-05-11 08:47:54 +02:00
Zhaoxiang Jin
112be6371c dma: mcux_edma: enable clocks from devicetree
Enable the optional clock described in devicetree during eDMA
driver initialization.

Keep RT7xx request-enable programming in board init so this
branch only moves the clock-control portion into the driver.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-05-11 08:47:17 +02:00
Zhaoxiang Jin
01878ffb40 clock_control: mcux_syscon: add RT7xx EDMA gates
Add RT7xx eDMA clock IDs to the MCUX SYSCON clock bindings and
handle them in the shared clock control driver.

This provides the common gate support needed for RT7xx eDMA
instances to be managed through the clock control API.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-05-11 08:47:17 +02:00
Zhaoxiang Jin
bde70f9bfc dma: mcux_edma: add reset controller support
Add optional devicetree reset support to the MCUX eDMA
driver and deassert the reset line during initialization
when a reset specifier is provided.

Boards which do not describe a reset remain unchanged.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-05-11 08:47:17 +02:00
Jamie McCrae
ceb26f67f0 drivers: Add support for dts RAM configuration
Allows using the chosen SRAM node for RAM configuration without
using Kconfig values

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-05-11 08:45:38 +02:00
Fabian Blatz
b017626ca6 drivers: ethernet: eth_wch: pass iface to start/stop callbacks
Align eth_wch with updated ethernet API by passing net_if to
and eth_wch_stop/start() from PHY link state change handling.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2026-05-11 04:05:51 +02:00
Fabio Baltieri
99db9625f9 drivers: wifi: airoc: add missing header
Add a missing log.h error, fixes a build error:

airoc_whd_hal_common.c:14:40: error: expected ')' before numeric

constant airoc_whd_hal_common.c:32:17: error: implicit declaration of
function

Tested with: west build -p -b rpi_pico/rp2040/w samples/net/wifi/shell

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2026-05-11 04:05:13 +02:00
Philipp Steiner
a108ce1085 drivers: ethernet: nxp_enet_qos: fix PTP over L2
Fix ENET QoS behavior needed for IEEE 802.3 PTP transport.

Strip received Ethernet FCS bytes before packets reach upper layers,
enable store-and-forward mode for reliable PTP timestamps, and only use
RX timestamp context descriptors when the normal RX descriptor reports a
valid timestamp. Also update the PTP clock callback signature to match
the current Ethernet API.

Signed-off-by: Philipp Steiner <philipp.steiner1987@gmail.com>
2026-05-11 04:04:52 +02:00
Laurent Varone
32e68a279d drivers: eth_nxp_enet_qos: add net_if *iface to get_ptp_clock()
add struct net_if *iface to eth_nxp_enet_qos_get_ptp_clock() function

Signed-off-by: Laurent Varone <laurent.varone@me.com>
2026-05-11 04:04:42 +02:00
Yongxu Wang
bee70bbfd5 drivers: edac: Add NXP MECC (Memory ECC Controller) driver
Add EDAC driver for NXP MECC64 IP providing ECC functionality
for On-Chip RAM (OCRAM). The driver supports:

- 4 independent OCRAM banks with ECC protection
- Single-bit error correction and double-bit error detection
- Error injection for testing purposes
- Interrupt-driven error reporting
- Device tree based configuration
- Standard Zephyr EDAC API implementation

Signed-off-by: Yongxu Wang <yongxu.wang@nxp.com>
2026-05-11 04:02:46 +02:00
Camille BAUD
4acfc0039b drivers: sdhc: Introduce BFLB SDHC driver
Introduce Bouffalolab SDHC. Applies to BL61x currently.

Co-authored-by: William Markezana <william.markezana@gmail.com>
Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-05-11 04:02:01 +02:00
Camille BAUD
12120e6d82 drivers: clock_control: Enable SDHC gate on bl61x
Enable the clock gate for SDHC

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-05-11 04:02:01 +02:00
Carlo Caione
f39ad09bd2 lora: stm32wl: fix RFO_LP paDutyCycle for +15 dBm
For the STM32WL Low Power PA at max_power=15 dBm and frequencies above
400 MHz, the SX1261 datasheet specifies paDutyCycle=0x06. The drivers were
setting 0x07 instead, which is outside the documented range and can lead to
undefined behavior on the PA stage.

Fix the value to 0x06 in both the loramac-node and native SX126x
STM32WL HAL implementations.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2026-05-08 16:06:47 -05:00