Commit graph

28,390 commits

Author SHA1 Message Date
Joakim Andersson
9ec3b06186 drivers: console: Do not add newline when flushing buffer
Do not add a newline when flushing the buffer to the host terminal.
The caller may not want these newlines to be added, and the host
terminal can handle line wrapping on its own.

Signed-off-by: Joakim Andersson <joerchan@gmail.com>
2026-03-06 21:39:17 +01:00
Joakim Andersson
2b16db9abd drivers: console: Add buffer size configuration for posix console stdout
Add buffer size configuration for posix console stdout buffer.
This allows to increase the buffer size for the posix console, which is
needed to avoid message flushed in the middle of ansi escape sequences.

Signed-off-by: Joakim Andersson <joerchan@gmail.com>
2026-03-06 21:39:17 +01:00
Gabriele Zampieri
90029d359f drivers: modem: cellular: fix CSQ_RSSI_TO_DB macro
The macro was incorrectly using the rssi variable as input instead of
its v parameter. This only worked because a variable called rsii was
defined in the calling context.

Signed-off-by: Gabriele Zampieri <gabriele.zampieri@arsenaling.com>
2026-03-06 21:36:54 +01:00
Emil Lindqvist
ba5148006b rtc: stm32: allow disabling of pending alarm
Currently there's no way of disabling an RTC alarm if it's set; only if
it's active. This commit disables the alarm, regardless of the status.

Signed-off-by: Emil Lindqvist <emil@lindq.gr>
2026-03-06 15:14:04 +01:00
Holt Sun
4d7440110b drivers: rtc: rtc_counter: allow alarms before set_time
rtc_counter rejected rtc_alarm_set_time() before rtc_set_time() because the
epoch offset was not yet established. This breaks rtc_api on boards using
the zephyr,rtc-counter wrapper.

Fix by tracking whether the epoch is valid and deferring counter alarm
programming until rtc_set_time() establishes the epoch (then reschedule).

Also fix alarm pending semantics so an alarm is marked pending when it
fires regardless of whether a callback is installed, and treat -ETIME
from counter_set_channel_alarm() (with EXPIRE_WHEN_LATE) as an immediate
expiry by setting pending.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2026-03-06 15:13:33 +01:00
Fin Maaß
580a4d3c36 drivers: ethernet: sam_gmac: reuse cfg and data struct
reuse cfg and data struct in the ptp driver part.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-03-06 15:13:00 +01:00
Fin Maaß
10b98bf7b9 drivers: ethernet: xmc4xxx: reuse cfg and data struct
reuse cfg and data struct in the ptp driver part.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-03-06 15:13:00 +01:00
Jan Behrens
6c58a0bb30 drivers: stepper: Move existing drivers to new event handling
Replaces the event handling of drivers using gpio_stepper_common with
the new event handling logic.

Signed-off-by: Jan Behrens <jan.behrens@navimatix.de>
2026-03-06 11:36:36 +00:00
Jan Behrens
eeef2153fd drivers: stepper: Adds new stepper controller event handling
The new event handling is based on the one from gpio_stepper_common but
is designed to be useable by different types of stepper motion
controllers.

Signed-off-by: Jan Behrens <jan.behrens@navimatix.de>
2026-03-06 11:36:36 +00:00
Jan Behrens
6880dd8ee0 drivers: stepper: gpio_stepper_common: Fixes callback execution
Fixes callbacks not being executed if ISR_SAFE_EVENTS is disabled and
and the trigger_callback function is executed in an ISR context.

Signed-off-by: Jan Behrens <jan.behrens@navimatix.de>
2026-03-06 11:36:36 +00:00
Alberto Escolar Piedras
fc2b1b2f3e drivers: uaol: Do not enable by default UAOL
Do not enable this driver class by default.
Whoever needs it should select it instead.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-03-06 11:33:35 +00:00
Fin Maaß
def8ae0708 drivers: ethernet: Remove NULL checks for iface initialization
WIth the rework of the vlan handeling, the iface init
will only be executed once per instance, so we don't need
that check anymore.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-03-06 10:07:27 +01:00
Hong Nguyen
a661b3c595 drivers: gnss: globaltop_pa6h: Introduce new driver
Basic support for GlobalTop PA6H GNSS module.

API added: set_fix_rate, get_fix_rate, set_enabled_systems,
and get_enabled_systems.

Signed-off-by: Hong Nguyen <hong.nguyen.k54@gmail.com>
2026-03-06 10:06:34 +01:00
Tim Pambor
a5edb9aa2c flash: spi_nand: support reset operation
Add support for reset extended operation to clear all volatile register
settings. Notably, ECC enable and block protection registers are not
reset by a soft reset.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-03-06 10:00:03 +01:00
Merin George
8c2ad47c5a boards: infineon: kit_pse84_eval: enable ble support
This update configures the board to support the CYW55513 connectivity
module by enabling the required Kconfig symbols and defining the
HCI UART interface in the Devicetree

Changes:
- dts: Enable the Infineon HCI UART node with hardware flow control.
- pinctrl:  Configured UART pins (TX, RX) and hardware flow control
  pins (RTS, CTS) specifically for the Bluetooth HCI interface
- defconfig: Adjusted CONFIG_MAIN_STACK_SIZE to provide sufficient
  headroom for the Bluetooth HCI driver and event processing.
- kconfig: make AIROC_WIFI6 selection conditional on WIFI to fix
  dependency warnings in BLE-only builds.

Signed-off-by: Merin George <merin.george@infineon.com>
2026-03-06 09:57:43 +01:00
Merin George
832b5f65c7 drivers: bluetooth: update Infineon HCI UART transport for CYW55513
Introduces common Kconfig configurations for the CYW55513 connectivity
module, supporting both Murata 2FY and discrete implementations.

Additionally, updates the HCI driver to include a new vendor-specific
command required for updating the SCO route to PCM

Signed-off-by: Merin George <merin.george@infineon.com>
2026-03-06 09:57:43 +01:00
Merin George
563ec38fc6 drivers: serial: infineon: updated hardware flow control support
Update the Infineon PDL UART driver to support Zephyr's standard
UART hardware flow control configuration.

Flow control is now derived from uart_config.flow_control allowing
applications to enable RTS/CTS using the generic UART API and
devicetree settings

configure the RTS rx fifo trigger level when flow control is enabled

Signed-off-by: Merin George <merin.george@infineon.com>
2026-03-06 09:57:43 +01:00
Mathieu Choplain
13f9f503e6 drivers: sensor: stm32_vref: obtain calibration data using NVMEM
Update bindings to consume a NVMEM cell instead of raw addresses, and
update the driver to support obtaining calibration data using the NVMEM
subsystem. For backwards compatibility and reduced footprint, the old
mechanism (direct MMIO read) is retained; a Kconfig option is introduced
to allow selecting which mechanism is used.

The sensor binding and SoC DTSI is updated accordingly.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-03-06 09:56:42 +01:00
Mathieu Choplain
d5bd2cd573 drivers: sensor: stm32_temp: obtain calibration data using NVMEM
Update bindings to consume a NVMEM cell instead of raw addresses, and
update the driver to support obtaining calibration data using the NVMEM
subsystem. For backwards compatibility and reduced footprint, the old
mechanism (direct MMIO read) is retained; a Kconfig option is introduced
to allow selecting which mechanism is used.

The sensor binding and SoC DTSI is updated accordingly.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-03-06 09:56:42 +01:00
Mathieu Choplain
d3a82f7895 drivers: otp: introduce driver for STM32 NVM OTP
Introduce OTP driver for OTP/read-only areas in STM32 SoCs NVM.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-03-06 09:56:42 +01:00
Tien Nguyen
c353ec046c drivers: flash: update to support Renesas RZ/T2L
- Get unit number and memory size from devicetree
- Renesas RZ/T2L uses at25sf128a flash chip which differs from RZ/T2M
  and RZ/N2L supported previously. The Write Status Command may write
  incorrect data to Status Register or Configuration Register on this
  chip. Remove this code to make the driver common for other SoCs.

Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
2026-03-06 09:54:52 +01:00
Tien Nguyen
4558034d7f driver: flash: Initial flash support for Renesas RZ/A2M
Initial flash support for Renesas RZ/A2M

Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
2026-03-06 09:54:31 +01:00
Johan Alfvén
5721d79d91 drivers: ethos_u: configure timing adapters from DT
Configure Timing Adapter (TA) child nodes during driver initialization.
This allows running inference with user-configured memory bandwidth and
latency models described in Devicetree.

Signed-off-by: Johan Alfvén <johan.alfven@arm.com>
2026-03-05 16:06:59 +01:00
Julien Racki
6164a41ea7 drivers: spi: stm32: add RTIO-DMA support
Add SPI DMA support for RTIO

Signed-off-by: Julien Racki <julien.racki-ext@st.com>
Co-authored-by: Wouter Horré <wouter@versasense.com>
2026-03-05 11:16:48 +00:00
Afonso Oliveira
df1a3e08ca drivers: interrupt_controller: riscv: add APLIC driver
Add RISC-V APLIC driver split into shared core and MSI-specific
modules following the GICv3/ITS pattern:

- intc_riscv_aplic_priv.h: private header with struct aplic_cfg,
  register helpers, and aplic_msi_init() declaration
- intc_riscv_aplic.c: core driver with domain enable, source
  configuration, device instantiation; calls aplic_msi_init()
  when CONFIG_RISCV_APLIC_MSI is enabled
- intc_riscv_aplic_msi.c: MSI-specific code for APLIC target
  routing, GENMSI injection, and MSI address geometry setup

This split allows direct delivery mode support to be added later
without touching MSI code.

Signed-off-by: Afonso Oliveira <afonso.oliveira707@gmail.com>
2026-03-05 11:15:44 +00:00
Afonso Oliveira
f4a8b502bf drivers: interrupt_controller: riscv: add APLIC Kconfig and build
Add RISCV_APLIC base Kconfig (enabled by DT_HAS_RISCV_APLIC_ENABLED)
and RISCV_APLIC_MSI sub-config that is only available when every APLIC
node in the devicetree has an msi-parent property. This prevents
build failures when APLIC is used in direct delivery mode without an
IMSIC. Update CMakeLists.txt to build intc_riscv_aplic.c for the
base config and intc_riscv_aplic_msi.c for the MSI sub-config.

Signed-off-by: Afonso Oliveira <afonso.oliveira707@gmail.com>
2026-03-05 11:15:44 +00:00
Vincent Tardy
611c93944f drivers: ieee802154: stm32wba: add 802.15.4 configuration types support
Add support of configuration types :
- IEEE802154_CONFIG_FRAME_COUNTER_IF_LARGER
- IEEE802154_CONFIG_FRAME_COUNTER
- IEEE802154_CONFIG_MAC_KEYS

Signed-off-by: Vincent Tardy <vincent.tardy@st.com>
2026-03-05 11:13:44 +00:00
Zhaoxiang Jin
3ea9ca336a drivers: dac: add NXP HPDAC driver
1. Add device tree binding for NXP HPDAC.
2. Add driver for NXP HPDAC.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-03-05 10:03:40 +01:00
Sylvio Alves
1f672c777a soc: esp32c6: lp core gpio driver fixes and improvements
- Fix lp_gpio Kconfig dependency to use proper
  DT_HAS_ESPRESSIF_ESP32_LPGPIO_ENABLED symbol instead of
  SOC_ESP32C6_LPCORE, and separate GPIO_ESP32 from LPGPIO_ESP32

- fix lp_gpio compatible string to espressif,esp32-lpgpio to
  match the corrected Kconfig dependency

- enable global LP core interrupts at startup via
  ulp_lp_core_intr_enable() in lp_core_startup(); the LP core
  has no interrupt allocator so this must be done once for any
  peripheral using the single interrupt vector

- enable lp_gpio in gpio_wakeup sample overlay

- fix ESP_CONSOLE_UART_NUM default for LP HP UART console

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-03-05 04:51:18 +01:00
Alberto Escolar Piedras
a30ac3bc35 drivers: pwm: stm32: Fix builds without mastermode support
Correct an #if which otherwise is always true, so we do not
refer to a function which does not exist otherwise.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-03-05 04:44:58 +01:00
Francois Ramu
66fb4e16a0 drivers: clock control: stm32h7 set the voltage scale0 correctly
This PR uses the correct macro that actually set VOS0
 (thanks to @pillo79 that got the bottom of the problem discovering
 that this is a bug in the STM zephyr driver).
A bug report that explains the problem can be found here:
 zephyrproject-rtos#104536.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2026-03-05 04:43:19 +01:00
Torbjørn Biering Tvermosegaard
157057d3a1 drivers: interrupt: pint: Fix IRQ override when re-enabling
Remove pin slot assignment if GPIO pin interrupt is disabled,
otherwise a new interrupt configured while the interrupt is
disabled will cause re-enabling of the original interrupt
to override the slot assigned of the last interrupt configured.

Signed-off-by: Torbjørn Biering Tvermosegaard <tbt@foss.dk>
2026-03-05 04:42:54 +01:00
Manojkumar Konisetty
9cfc87619a drivers: pwm: infineon: add dedicated PWM driver for PSoC4
Add PWM driver for the Infineon PSoC4 family.
This includes SoC-specific register configurations, API calls,
and hardware instance mapping required for PSoC4 compatibility.

Signed-off-by: Surya Prakash T <suryat@aerlync.com>
Signed-off-by: Manojkumar Konisetty <manoj@aerlync.com>
Signed-off-by: Sayooj K Karun <sayooj@aerlync.com>
2026-03-05 04:42:21 +01:00
Alexios Lyrakis
23bf240be4 drivers: intc: riscv_clic: fix race condition and improve architecture
Fix race condition in riscv_clic_irq_set_pending() and other CLIC
functions when called from ISR context. The original code used unsafe
two-step CSR operations (MISELECT write followed by MIREG access) that
could be interrupted between steps, leading to incorrect register access.

Replace runtime IS_ENABLED() conditionals with compile-time preprocessor
directives for better code structure and explicit error handling when
platform configuration is incomplete.

Use atomic micsr_* and micsr2_* helpers that perform IRQ-locked indirect
CSR operations, ensuring proper MISELECT/MIREG register pairing.

Changes:
- Convert all CLIC functions to use compile-time ifdef structure
- Replace unsafe CSR operations with atomic micsr_*/micsr2_* helpers
- Use micsr_* (MIREG) for CLIC_INTIP, CLIC_INTCTRL, CLIC_CFG
- Use micsr2_* (MIREG2) for CLIC_INTIE, CLIC_INTATTR
- Add explicit error messages for unsupported configurations
- Fix bit_offset variable scope to avoid redefinition

Signed-off-by: Alexios Lyrakis <alex_gfd@hotmail.com>
2026-03-05 04:42:06 +01:00
Yassine El Aissaoui
f66677833f drivers: mcux_lpuart: Handle STANDBY PM state in state-lock functions
STANDBY state can place the peripheral into a
low‑power state, and transitioning to it before
a TX transmission completes may cause data loss

Signed-off-by: Yassine El Aissaoui <yassine.elaissaoui@nxp.com>
2026-03-05 04:41:25 +01:00
Albort Xue
d40e921228 drivers: add: mcux_lpadc: Add clock configuration and enable
Add explicit clock configuration and enable calls during driver
initialization.

Note: -ENOSYS is temporarily ignored as not all clock control
drivers currently implement the configure API. This handling
should be removed once all clock drivers support configure.

Signed-off-by: Albort Xue <yao.xue@nxp.com>
2026-03-05 04:38:52 +01:00
Nhat Ta
ea64ea10cb drivers: ethernet: phy: add Maxlinear GPY111 phy driver
This commit add phy driver support for Maxlinear GPY111. This driver
implements vendor specific behaviour rgmii delay time setup, which is
not present in the generic MII driver.

Signed-off-by: Nhat Ta <nhat-minh.ta.yn@bp.renesas.com>
2026-03-05 04:38:09 +01:00
Nhat Ta
cc4debfeca drivers: mdio: initial support for mdio rmac driver
This commit add mdio driver support for ra8x2.

Signed-off-by: Nhat Ta <nhat-minh.ta.yn@bp.renesas.com>
2026-03-05 04:38:09 +01:00
Nhat Ta
d188d066a3 drivers: ethernet: Put DMA buffer to nocache
This commit put ethernet buffers and descriptors to nocache .

Signed-off-by: Nhat Ta <nhat-minh.ta.yn@bp.renesas.com>
2026-03-05 04:38:09 +01:00
Nhat Ta
65fbe9c9aa drivers: ethernet: initial support for ethernet rmac driver
This commit add ethernet driver support for ra8x2.

Signed-off-by: Nhat Ta <nhat-minh.ta.yn@bp.renesas.com>
2026-03-05 04:38:09 +01:00
Nhat Ta
5fc6276541 drivers: entropy: add trng for ra8x2
This commit add entropy support for ra8x2.

Signed-off-by: Nhat Ta <nhat-minh.ta.yn@bp.renesas.com>
2026-03-05 04:38:09 +01:00
Elmo Lan
093bf33459 drivers: i2c_dw: fix incorrect macro usage for sda_hold_rx
Corrected the DT_INST_PROP_OR mapping for sda_hold_rx.
It was mistakenly using scl_hold_rx as the property name.

Signed-off-by: Elmo Lan <elmo_lan@realtek.com>
2026-03-04 16:42:03 +00:00
Holt Sun
1b5f4f147e drivers: counter: mcux_rtc_jdp: fix alarm timing with safety window
Replace busy-wait synchronization delay with a safety window mechanism
to prevent missed alarm compares when set too close to current counter
value.

- Remove k_busy_wait(100U) after setting API compare value
- Use MINIMUM_RTCVAL/MINIMUM_APIVAL as safety window thresholds
- Trigger SW-pending interrupts for alarms within safety window
- Fix absolute alarm late-to-set detection using forward distance
- Reduce counter test iterations from 100 to 1

This ensures reliable alarm delivery without blocking delays.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2026-03-04 14:32:18 +00:00
Serhiy Katsyuba
ce3343422b drivers: uaol: add streams mapping retrieval
Extends the UAOL API with uaol_get_mapped_hda_link_stream_id() to get
the HDA link stream ID mapped in HW to its UAOL stream ID. The streams
mapping is stored in the device tree.

Signed-off-by: Serhiy Katsyuba <serhiy.katsyuba@intel.com>
2026-03-04 14:31:13 +00:00
Tomasz Lissowski
33b482235a drivers: dai: intel: uaol: add a driver for Intel UAOL DAI
This adds a DAI driver for USB Audio Offload Link (UAOL)
individual streams on Intel ACE2.0 and ACE3.0 platforms.

Signed-off-by: Tomasz Lissowski <tomasz.lissowski@intel.com>
Signed-off-by: Serhiy Katsyuba <serhiy.katsyuba@intel.com>
2026-03-04 14:31:13 +00:00
Tomasz Lissowski
b50fcbd6ee drivers: uaol: add a driver for Intel UAOL IP
This adds a driver for USB Audio Offload Link (UAOL) IP
on Intel ACE2.0 and ACE3.0 platforms.

Signed-off-by: Tomasz Lissowski <tomasz.lissowski@intel.com>
Signed-off-by: Serhiy Katsyuba <serhiy.katsyuba@intel.com>
2026-03-04 14:31:13 +00:00
Keith Packard
bbb6e78229 drivers/serial: Add missing declarations in uart_max32.c
When UART_INTERRUPT_DRIVE, PM and UART_CONSOLE_INPUT_EXPIRED are all
defined the driver uses the device flags without the necessary declaratoins
or fetching the hardware register.

Signed-off-by: Keith Packard <keithp@keithp.com>
2026-03-04 14:28:47 +00:00
Aksel Skauge Mellbye
ac4761c207 drivers: i2c: silabs: Support scatter/gather transactions
Support gathering multiple message buffers into a single write
transaction, and scattering read data from a single transaction
to multiple message buffers.

This is required for the i2c_burst_write() API to function as
expected.

The implementation uses a driver-internal buffer whose size is
configurable through the `zephyr,concat-buf-size` devicetree
property for similarity with other I2C drivers in the tree.

Gather write is implemented for both interrupt and DMA based
transfers, while scatter read is only implemented for interrupt
based transfers at this time. In the future, DMA based gather
write should be delegated to the DMA engine to perform
autonomously without needing a temporary buffer.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2026-03-04 13:37:04 +01:00
Aksel Skauge Mellbye
3899fc7cd4 drivers: i2c: silabs: Fix write-read transaction logic
I2C_MSG_WRITE is not a bit in `flags`, it's a value of `0`, meaning
the condition is always true. Check for the absence of READ instead,
to avoid mistaking read-read transactions as write-read ones.

Combined write-read transactions should only happen if the RESTART
flag is set on the read message, so check for that too.

Finally, the message index was incremented by one too much for
interrupt-based transfers, causing the next message after a write-read
transaction to be dropped.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2026-03-04 13:37:04 +01:00
Swamidas Nampalli
0b0ba61730 drivers: wifi: siwx91x: set interface dormant on WiFi connection failure
IPv6 addresses were not being removed when WiFi connection fails
from the AP side (STATE_UNASSOCIATED). This causes stale IPv6
addresses to remain on the interface, preventing proper cleanup
and potentially causing issues on subsequent connection attempts.

Set the network interface to dormant state when STATE_UNASSOCIATED
is detected in the WiFi module stats event handler. This ensures
that IPv6 addresses are properly cleaned up during connection
failures.

Signed-off-by: Swamidas Nampalli <Swami.Das@silabs.com>
2026-03-04 11:44:31 +01:00