Commit graph

28,390 commits

Author SHA1 Message Date
Peter van der Perk
51c9266329 drivers: input: add CRSF remote controller support
Add input driver support for CRSF (Crossfire) receivers, originally
developed by Team BlackSheep (TBS) and used by ExpressLRS (ELRS) and
others.

The driver allows mapping up to 16 CRSF channels to Zephyr input events,
supporting both absolute axes (joysticks) and key events (switches), and
operates over a standard non-inverted UART interface.

Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
2026-04-17 15:50:37 -05:00
William Markezana
0be8143217 drivers: sensor: si7006: add meas,htu21d compatible
The HTU21D is register-compatible with the SHT21 and uses the same
measurement commands. Add it as another DT_DRV_COMPAT entry in the
existing Si7006 driver rather than a standalone driver.

Signed-off-by: William Markezana <william.markezana@gmail.com>
2026-04-17 15:49:47 -05:00
Fin Maaß
f70515e69c pcie: fix type casting
Without this we will get a warning on 32 bit
platforms.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-04-17 15:56:48 +02:00
Fin Maaß
662f59c675 pcie: use z specifier when used on size_t
use z specifier when used on size_t,
otherwise we will get build warnings.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-04-17 15:56:48 +02:00
Krzysztof Chruściński
61db1027dc drivers: debug: nrf_etr: Fix and improve shell support
Shell support with STM logging was broken as it was not used by any
test or sample. Applying fixes and improvements.

When shell was used with STM logging then the last log often was not
printed on time as it got stuck in the ETR buffer until more data was
written. Fixed by adding a periodic initial processing of the ETR
buffer content (in k_work context). If pending message is found then
shell thread is notified. We don't want to do the processing in shell
thread unless we are sure that there is at least one message to process
because shell thread erases line and prints prompt during each call to
the log processing function.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-04-17 13:43:51 +02:00
Krzysztof Chruściński
be7c5a896a drivers: debug: nrf_etr: Fix logs coloring
Short (0 and 1 arguments) logs where not using colors.
Align flags used for log_output formatting for both paths
used for log processing.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-04-17 13:43:51 +02:00
Krzysztof Chruściński
4a3cf66c07 drivers: debug: coresight_nrf: Re-enable early logging
At some point CONFIG_LOG_FRONTEND_STMESP_EARLY_BUF_SIZE default value
was set to 0 on cpuapp. It meant that log entries which happend before
STM and Coresight initialization were lost. Add buffer which is used
to store those logs.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-04-17 13:43:51 +02:00
Fin Maaß
4247c8787a pcie: dependency for PCIE_CONTROLLER
When CONFIG_PCIE_CONTROLLER is enabled,
the chosen zephyr,pcie-controller also needs to
be enabled.

Also on platforms where this chosen is set the
pcie controller is needed for the pcie to work,
therefor enable it by default.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-04-17 12:37:16 +01:00
Fin Maaß
85917d8086 drivers: pcie: enable PCIE_ECAM based on dt
enable PCIE_ECAM based on dt.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-04-17 12:37:16 +01:00
Tim Pambor
0fe8f5541c ethernet: dwmac: fix multicast reception
By default the DWMAC ethernet controller is configured
to drop all multicast packets. Currently, HW filtering is
not supported, so we need to configure the controller to
pass all multicast packets.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-04-17 12:36:21 +01:00
Fabian Otto
289ea35e30 drivers: sdhc: mcux_sdif: optional GPIO card-detect via cd-gpios
When present, configure the pin as input and use GPIO for card presence
instead of SDIF_DetectCardInsert(). Useful if the board uses a pin other
than SD0_CARD_DET_N for card detection.

On the LPC55S28 we needed it to work around an issue where configuring
PIO1_13 as SD0_CARD_DET_N stalled Flexcomm6 I2C transfers. The same pin
works when muxed as GPIO.

Signed-off-by: Fabian Otto <fabian.otto@rohde-schwarz.com>
2026-04-17 12:34:45 +01:00
Marcin Niestroj
9fa9dfefe4 nsi: move nsos_fcntl to more generic nsi_fcntl
This will allow to reuse fcntl middle layer in other parts besides NSOS,
such as planned Native Simulator host FS mounting.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-04-17 10:40:50 +02:00
Venkatesh Odela
8d2b1e308b drivers: dma: dma_xilinx_axi_dma: fix unsigned hex constant literals
Replace literal 0xffffffff hex constants with UINT32_MAX.
This improves readability.

Signed-off-by: Venkatesh Odela <venkatesh.odela@amd.com>
2026-04-17 10:37:43 +02:00
Venkatesh Odela
9021b0ea2f drivers: dma: dma_xilinx_axi_dma: clear reset state on stop
Clear DMA reset state in dma_stop() to allow proper restart during
interface up/down cycle.

Signed-off-by: Venkatesh Odela <venkatesh.odela@amd.com>
2026-04-17 10:37:43 +02:00
Venkatesh Odela
50e3ffe7a8 drivers: ethernet: eth_xilinx_axienet: fix missing start/stop support
Add ethernet_api start() and stop() callbacks to support the Zephyr
net iface down/up workflow.

stop() disables MAC RX, stops DMA RX and TX channels,disables MAC TX,
and resets all descriptor ring indices.

start() seeds the RX DMA ring and enables MAC RX and TX.

Signed-off-by: Venkatesh Odela <venkatesh.odela@amd.com>
2026-04-17 10:37:43 +02:00
Venkatesh Odela
bdb7b85cc7 drivers: ethernet: eth_xilinx_axienet: fix TX enable bit position
The Transmitter Configuration register (offset 0x408) TX enable bit is
bit 28 as per the AXI Ethernet Subsystem product guide (PG138), not bit 11.

Fixes: 4342d7108b ("drivers: ethernet: Add Xilinx AXI Enet driver")
Signed-off-by: Venkatesh Odela <venkatesh.odela@amd.com>
2026-04-17 10:37:33 +02:00
Richard Mc Sweeney
9e8b3cf7ea drivers: Refactor pse84 autanalog-adc to use MFD
- Added autanalog MFD support in PSE84 DTS files
- Refactored autanalog ADC in PSE84 to use a common
MFD for handling the global AC configuration
- Constructed AC to use phandle in the overlay
for a better the user experience.
- Added support for a basic and advanced mode
with custom AC

Assisted-by: Claude:claude-opus-4.6
Signed-off-by: Richard Mc Sweeney <Richard.McSweeney@infineon.com>
2026-04-17 10:36:07 +02:00
Martin Anschütz
7d99139128 drivers: spi: xlnx: Enable SPI CS active-high
Enable Active-High polarity for SPI chip-select in Xilinx AXI QSPI Driver.
Required e.g. for SD-Card support.

Signed-off-by: Martin Anschütz <martin.anschuetz@vert-tec.io>
2026-04-17 10:34:22 +02:00
Muhammad Waleed Badar
17b702fdb2 drivers: i2c: nxp: use I2C_BUS_RECOVERY kconfig
Default I2C_MCUX_FLEXCOMM_BUS_RECOVERY to y when
I2C_BUS_RECOVERY is enabled.

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
2026-04-16 11:40:50 -05:00
Muhammad Waleed Badar
676524b8eb drivers: i2c: ti: use I2C_BUS_RECOVERY kconfig
Default I2C_OMAP_BUS_RECOVERY to y when
I2C_BUS_RECOVERY is enabled.

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
2026-04-16 11:40:50 -05:00
Muhammad Waleed Badar
1b3118e6c0 drivers: i2c: stm32: use I2C_BUS_RECOVERY kconfig
Default I2C_STM32_BUS_RECOVERY to y when
I2C_BUS_RECOVERY is enabled.

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
2026-04-16 11:40:50 -05:00
Muhammad Waleed Badar
6e486a651c drivers: i2c: ambiq: use I2C_BUS_RECOVERY kconfig
Default I2C_AMBIQ_BUS_RECOVERY to y when
I2C_BUS_RECOVERY is enabled.

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
2026-04-16 11:40:50 -05:00
Muhammad Waleed Badar
f7b348a6de drivers: i2c: add global bus recovery Kconfig
Introduce a new Kconfig option `I2C_BUS_RECOVERY` to provide
a common switch for enabling I2C bus recovery support.

This ensures consistent behavior across drivers and simplifies
configuration for platforms requiring i2c bus recovery.

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
2026-04-16 11:40:50 -05:00
Alberto Escolar Piedras
d2898d3bd5 drivers: entropy: cracen: Remove unnecessary kconfig dependency
Remove unnecessary kconfig dependency and change help message to not
try to list exhaustively the supported platforms.
We can instead just depend on the DT node being present and enabled,
otherwise we will need to keep adding platforms here over time, both
in the depends line and in the help message.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-04-16 11:40:14 -05:00
Adib Taraben
39e3d29774 drivers: eth_nxp_enet_qos: support PTP timestamping
Added PTP timestamping support.

Signed-off-by: Adib Taraben <theadib@gmail.com>
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2026-04-16 11:39:45 -05:00
Yangbo Lu
56bfdab49b drivers: eth_nxp_enet_qos: drop wrong hw capability
Dropped ENET_MAC_PACKET_FILTER_PM_MASK in hw capabilities,
which was added by mistake.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2026-04-16 11:39:45 -05:00
Adib Taraben
7e06ea552f drivers: eth_nxp_enet_qos: use buffer2 DMA feature
Implemented the use of buffer2 DMA descriptor feature.

Signed-off-by: Adib Taraben <theadib@gmail.com>
2026-04-16 11:39:45 -05:00
Adib Taraben
ddd73c6190 drivers: ptp_clock: add NXP ENET QOS PTP clock driver
Added NXP ENET QOS PTP clock driver.

Signed-off-by: Adib Taraben <theadib@gmail.com>
Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2026-04-16 11:39:45 -05:00
Yangbo Lu
d51d32bd2e drivers: clock_control_mcux_syscon: support ENET QOS PTP clock
Supported ENET QOS PTP clock.

Signed-off-by: Yangbo Lu <yangbo.lu@nxp.com>
2026-04-16 11:39:45 -05:00
Yuzhuo Liu
07ea4c7f5e drivers: counter: rtc: add Realtek Bee series support
Add counter RTC driver support for Realtek Bee series SoCs,
including RTL87x2G and RTL8752H.

This driver supports:
- Basic counter operations
- Alarm configuration and callbacks

Signed-off-by: Yuzhuo Liu <yuzhuo_liu@realsil.com.cn>
2026-04-16 11:38:00 -05:00
Seppo Takalo
8d45e18d23 drivers: modem: cellular: Don't keep DLC2 open when not reading
When modem driver starts up, it should only open DLC channels
that it is reading.
Otherwise the remote end might send URC messages into these channels,
causing Chat module to read outdated buffered messages when it
switches reading from DLC1 to DLC2.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2026-04-16 14:44:17 +02:00
David Chalco
5a0e55d6b6 input: analog_axis: fix silent range overflows
When int16_t *_min and *_max are > INT16_MAX apart, subsequent
int16_t *_range silently overflows, leading to unexpected axis
samples. Promote *_range to int32_t to fix.

Signed-off-by: David Chalco <david@chalco.io>
2026-04-16 14:43:49 +02:00
Hao Luo
22ce1ec853 drivers: i2c: add pm_device_get/put in i2c_ambiq_ios
Adds pm_device_get/put in i2c_ambiq_ios to support
pm_device_runtime.

Signed-off-by: Hao Luo <hluo@ambiq.com>
2026-04-16 10:19:51 +02:00
Hao Luo
ba68d24f27 drivers: i2c: add byte mode support for ambiq i2c target
Adds byte mode for i2c_ambiq_ios.

Signed-off-by: Hao Luo <hluo@ambiq.com>
2026-04-16 10:19:51 +02:00
Hao Luo
ae3fef6d27 drivers: i2c: add i2c target support for ambiq soc
Adds bingding for ambiq ios which can used as spi device
or i2c target, and creates ios i2c driver.

Signed-off-by: Hao Luo <hluo@ambiq.com>
2026-04-16 10:19:51 +02:00
Jordan Yates
97f9a50f55 wifi: nrf_wifi: don't increase stacks for NRF70_SCAN_ONLY
Don't increase the networking subsystem stack sizes if `NRF70_SCAN_ONLY`
is enabled.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2026-04-16 10:18:37 +02:00
Hake Huang
8c036b2ae8 drivers: sdhc: remove unused fsl_cache.h include from imx_usdhc
imx_usdhc.c does not use any symbols from fsl_cache.h, and
fsl_usdhc.h does not require it transitively.

Remove the unused include to avoid build failures on targets where
the cache HAL header is not available, such as MCXN947 CPU1 virtual
board builds.

Signed-off-by: Hake Huang <hake.huang@nxp.com>
2026-04-16 10:12:21 +02:00
Josuah Demangeon
57f0805bd5 drivers: usb: udc: dwc2: split vendor quirks per-vendor
Use one file per vendor quirk. No modification to any content,
only the same code being moved to separate files.

Signed-off-by: Josuah Demangeon <josuah.demangeon@nordicsemi.no>
2026-04-16 10:12:03 +02:00
Johannes Berndorfer
2764de5c7d drivers: ethernet: esp32: Fix bug in DMA buffer read copy logic.
Fixed a logic bug in the ESP32 Ethernet DMA RX datapath.

See #107201.

Signed-off-by: Johannes Berndorfer <johannes@berndorfer.com>
2026-04-15 17:17:45 -04:00
Seppo Takalo
8ccc3c1ffd drivers: modem: cellular: Add small delay after PPP DEAD
When PPP is terminated, add small delay before attempting
to run AT commands to restart the PPP.

Assume same delay is OK as switching from CMUX to plain AT
mode.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2026-04-15 17:17:07 -04:00
Fin Maaß
e7a707e7a4 drivers: watchdog: litex: use mem_addr_t
use mem_addr_t for register addresses.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-04-15 17:15:46 -04:00
Fin Maaß
7a2ee871df drivers: spi: litex: use mem_addr_t
use mem_addr_t for register addresses.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-04-15 17:15:46 -04:00
Fin Maaß
6d89a4b2b3 drivers: uart: litex: use mem_addr_t
use mem_addr_t for register addresses.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-04-15 17:15:46 -04:00
Fin Maaß
bf9d688deb drivers: pwm: litex: use mem_addr_t
use mem_addr_t for register addresses.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-04-15 17:15:46 -04:00
Fin Maaß
0fdb6a2a1f drivers: i2s: litex: use mem_addr_t
use mem_addr_t for register addresses.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-04-15 17:15:46 -04:00
Fin Maaß
206db569d2 drivers: i2c: litex: use mem_addr_t
use mem_addr_t for register addresses.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-04-15 17:15:46 -04:00
Fin Maaß
494f99b25c drivers: ethernet: litex: use mem_addr_t
use mem_addr_t for register addresses.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-04-15 17:15:46 -04:00
Carlo Caione
36f3bebfb7 drivers: serial: mbox: convert NXP drivers to device MMIO API
Convert three NXP drivers from raw DT_REG_ADDR() register access
to the Zephyr device MMIO API (DEVICE_MMIO_ROM / DEVICE_MMIO_RAM /
DEVICE_MMIO_MAP):

With the MMIO API, the drivers create their own mapping at init time via
DEVICE_MMIO_MAP() thus the corresponding mmu_regions entries are removed
from the five NXP SoC files that carried them.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2026-04-15 17:15:37 -04:00
Krzysztof Chruściński
67f1cee897 drivers: serial: nrfx_uarte: Add support for variable frame size
nRF54x devices supports 4-9 bit frame size. Extend UART driver to
support data sizes supported by the Zephyr UART API (5-9 bits).

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-04-15 17:15:26 -04:00
Mohit Talwar
3b4821f1ba drivers: regulator: fixed,gpio: apply startup_delay when enabled at boot
When a regulator is configured with regulator-boot-on, commit e572a6f
changed regulator_fixed and regulator_gpio to configure the GPIO pin as
GPIO_OUTPUT_ACTIVE during init, then pass is_enabled=true to
regulator_common_init(). This causes startup_delay_us to be silently
skipped since the delay only exists in the else-if branch which is
never reached when is_enabled=true.

Add the startup delay directly in regulator_fixed_init() and
regulator_gpio_init() before calling regulator_common_init(), so the
delay is applied only in the drivers where the GPIO state is known to
have just been actively set, not in the common path where the regulator
may already have been enabled by hardware or a bootloader.

Assisted-by: Claude:claude-sonnet-4-6

Fixes #102508

Signed-off-by: Mohit Talwar <talwarmohit2005@gmail.com>
2026-04-15 17:15:06 -04:00