Commit graph

28,390 commits

Author SHA1 Message Date
Rob Barnes
da79ce7c80 drivers: serial: stm32: fix C23 extension usage in uart_stm32_dma_rx_flush
Moving the declaration of half_pos out of the switch case to avoid
C23 extensions that cause build failures in some environments.

BUG=None
TEST=None

Signed-off-by: Rob Barnes <robbarnes@google.com>
2026-02-11 15:03:49 -06:00
Jason Kridner
2bd1b64207 drivers: i2c: gpio_i2c_switch: pm nop deprecated
The function device_pm_control_nop has been deprecated and replacing it
with NULL is required for compilation.

Signed-off-by: Jason Kridner <jkridner@beagleboard.org>
2026-02-11 16:34:01 +01:00
Ha Duong Quang
adb19db6c1 drivers: dma: mcux_edma: fix IRQ mask width calculation
Correct GET_EDMA_CHANNEL_SHARED_IRQ_MASK_WIDTH to handle cases
where DMA channel count is ≤ 32. The previous implementation used
integer division by 32, returning 0 for counts < 32, which caused
issues in dma_mcux_edma_multi_channels_irq_handler().

New logic:
- Return 1 for ≤ 32 channels (one uint32_t mask)
- Return dma_channels / 32 for > 32 channels

Ensures proper mask width calculation for all supported channel

Signed-off-by: Ha Duong Quang <ha.duongquang@nxp.com>
2026-02-11 16:33:50 +01:00
Baptiste Coffin
67316cc394 drivers: ieee802154: mcxw: fix Enhanced ACK IE parsing
The mcxw driver was parsing Thread Vendor-Specific ACK Probing IE
with hardcoded token positions, assuming LQI at offset 6, Link
Margin at offset 7, and RSSI at offset 8. This failed when tokens
were in a different order or when fewer than 3 metrics were present.

Parse the IE length field and iterate through all tokens, matching
them by value (0x01=RSSI, 0x02=Link Margin, 0x03=LQI) instead of
position. This supports 1-2 metrics in any order as per Thread 1.2.

Signed-off-by: Baptiste Coffin <baptiste.coffin_1@nxp.com>
2026-02-11 16:33:36 +01:00
Ramakrishna Chintha
c6635a8421 drivers: espi: Update Microchip MEC172x eSPI VW cfg properties
Remove self-assignment in the initializer, Remove setting up all
other bits insted of clearing.

Signed-off-by: Ramakrishna Chintha <ramakrishna.chintha@intel.com>
2026-02-11 13:56:48 +01:00
Tim Pambor
176a880666 drivers: flash: simulator: support multiple instances
Rework flash simulator to use per-instance configuration,
replacing single global state and enabling support for
multiple independent simulator instances.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-02-11 10:39:29 +01:00
Immo Birnbaum
c9671cf934 drivers: ethernet: xlnx_gem: unify spelling
Whenever a buffer descriptor or one of its properties is
referenced, either in macros, struct declarations or variable
declarations, use the spelling 'rx_bd'/'RX_BD'/'tx_bd'/'TX_BD'
instead of 'rxbd'/'RXBD'/'txbd'/'TXBD'.

Signed-off-by: Immo Birnbaum <mail@birnbaum.immo>
2026-02-11 09:21:47 +01:00
Immo Birnbaum
c206ff165f drivers: ethernet: xlnx_gem: fix DMA operation on ZynqMP
Add fixes for ZynqMP-based targets:

- Consider the retrofitted 64-bit RX/TX buffer descriptor ring
  base address registers which didn't exist on the Zynq-7000 yet.
- Properly tie off the unused set of RX/TX BD ring base address
  registers as described in the ZynqMP TRM (UG1085 v2.4, chap. 34:
  'GEM Ethernet', 'Programming Model', 'Initialize the controller',
  p. 1064): indicate that there's no data to be transmitted via the
  unused TX BD ring, and that no data can be placed via the unused
  RX BD ring.
- Change the DMA layout: instead of having both the BD rings and
  the packet buffers in non-cached memory or the Zynq's OCM, place
  the BD rings in uncached memory but place the actual RX/TX packet
  buffers in cached memory instead.
- Add the required cache maintenance operations for this layout.
- Select the required facilities for nocache memory and cache
  maintenance support in the driver's Kconfig file.

Signed-off-by: Immo Birnbaum <mail@birnbaum.immo>
2026-02-11 09:21:47 +01:00
Pieter De Gendt
674a6a1bc8 drivers: watchdog: rts5817: Put API into iterable section
Use DEVICE_API macro to put the driver API into the correct iterable
section.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-02-11 07:59:49 +01:00
Pieter De Gendt
40cbbd5793 drivers: dma: Put driver APIs into iterable sections
Make sure all DMA drivers are located in their linker sections.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-02-11 07:59:34 +01:00
Holt Sun
0d507c58f1 drivers: timer: mcux_os_timer: fix drift in tickless mode.
In tickless mode, advance last_count in whole tick increments rather
than setting it to the raw timer value. This prevents sub-tick ISR
latency from accumulating in last_count, which would otherwise manifest
as long-term timer drift.

The fix inverts the conditional logic so that:
- Tickless mode: last_count += elapsed_ticks * CYC_PER_TICK
- Tickful mode: last_count = now (unchanged behavior)

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2026-02-11 07:59:00 +01:00
Andre Stefanov
76476d8a9f drivers: stepper: tmc51xx: add EN GPIO support
Add optional support for controlling a hardware enable pin via devicetree.

When an enable GPIO is provided, the driver configures it as an output and
toggles it in stepper enable/disable so boards can energize and de-energize
the driver stage reliably.

If no enable GPIO is present, behavior is unchanged.

Signed-off-by: Andre Stefanov <mail@andrestefanov.de>
2026-02-11 07:58:07 +01:00
Moritz Gericke
bd9ee2d22c drivers: intc: intc_gpio_stm32: Assert against invalid exti lines
Unchecked indexing into intc_gpio_data.cb could lead to overflow in
the following functions:

- stm32_gpio_intc_set_irq_callback
- stm32_gpio_intc_remove_irq_callback

Fixes zephyrproject-rtos/zephyr#103573

Signed-off-by: Moritz Gericke <xmoexdev@gmail.com>
2026-02-11 07:57:52 +01:00
Henrik Brix Andersen
d7bc3e126c dts: bindings: can: nxp: flexcan: allow overriding max filters
Add property for overriding the maximum number of hardware message buffers
used for RX filters on a per-instance basis.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2026-02-11 07:56:26 +01:00
Henrik Brix Andersen
1b9e927ea6 drivers: can: mcux: flexcan: allow configuring max filters from 0 to 128
The maximum number of RX filters is limited by the number of message
buffers, which cannot exceed 128. Add a range to the Kconfig option
imposing this.

Remove artificial build-time check on CONFIG_CAN_MCUX_FLEXCAN_MAX_FILTERS
being larger than zero, as transmit-only configuration is otherwise fully
supported.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2026-02-11 07:56:26 +01:00
Henrik Brix Andersen
2cd56213e2 drivers: can: mcux: flexcan: no need to zero-initialize static variables
Remove unnecessary zero-initialization of static variables.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2026-02-11 07:56:26 +01:00
Axel Le Bourhis
9ba4525d05 drivers: bluetooth: hci_nxp: fix clang-format defects
Run clang-format on hci_nxp.c to fix formatting issues in the file.

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
2026-02-11 07:56:13 +01:00
Axel Le Bourhis
aea630b9e5 drivers: bluetooth: hci_nxp: move calibration data to zephyr
This commit moves NXP Bluetooth HCI calibration data handling from the
HAL to Zephyr hci_nxp driver.
Added Kconfig choice to select antenna diversity.

Signed-off-by: Axel Le Bourhis <axel.lebourhis@nxp.com>
2026-02-11 07:56:13 +01:00
Hoang Nguyen
3cd33b791f drivers: i2c: Update driver to support RZ/V2H, RZ/V2N
Update I2C driver to support Renesas RZ/V2H, RZ/V2N

Signed-off-by: Hoang Nguyen <hoang.nguyen.jx@bp.renesas.com>
Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
2026-02-11 07:55:35 +01:00
Jukka Rissanen
6fd0d6bcac drivers: net: Increase loopback interface MTU to 1500
No need to have such a low MTU 576 bytes as it prevents sending
larger packets for loopback interface. If one have low MTU setting
and one tries to send for example larger UDP packets, then one
can get this rather confusing error message

Available payload buffer (548) is not enough for requested DGRAM (1197)

Signed-off-by: Jukka Rissanen <jukka.rissanen@nordicsemi.no>
2026-02-10 22:20:48 +01:00
Pieter De Gendt
9d36f4b2ab drivers: counter: Put counter driver API into iterable section
Use DEVICE_API macro to put the API into the correct iterable section.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-02-10 22:20:25 +01:00
Pieter De Gendt
d1b570533b drivers: display: Put display drivers into iterable sections
Use the DEVICE_API macro to put the diplay driver APIs into the correct
iterable sections.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-02-10 22:20:12 +01:00
Pieter De Gendt
9351b76a6e drivers: reset: Put reset driver APIs into iterable section
Use the DEVICE_API to put the reset driver APIs into the correct linker
section.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-02-10 22:19:58 +01:00
Pieter De Gendt
fa719f5aa7 drivers: adc: infineon_autanlog_sar: Put API into iterable section
Use the DEVICE_API wrapper to put the driver API into the correct linker
section.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-02-10 22:19:45 +01:00
Pieter De Gendt
f71da28f90 drivers: crypto: Put device API into iterable section
Update some crypto drivers to use the DEVICE_API macro.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-02-10 22:19:30 +01:00
Henrik Brix Andersen
f04bdd23d6 drivers: can: nxp: lpc_mcan: reformat source code file
Reformat the NXP LPC family MCAN driver source code file using
clang-format.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2026-02-10 22:19:12 +01:00
Henrik Brix Andersen
75c39d7265 drivers: can: rename the NXP LPC family MCAN driver
Rename the NXP LPC family MCAN driver to not use "MCUX" in its name as this
is not a shim driver based on the MCUXpresso HAL.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2026-02-10 22:19:12 +01:00
Henrik Brix Andersen
53f54b813c drivers: clock control: nxp: fix copy-paste error in comments
Fix copy-paste errors in a closing #endif comments.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2026-02-10 22:19:12 +01:00
Johannes Schuler
ec94191d70 drivers: flash: stm32u5/stm32l5 rdp
Implement readout protection for the STM32U5 / STM32L5 series.
Move the stm32u5 / stm32l5 flash register manipulation in
flash_stm32_option_bytes_write() to be called by the
flash_stm32_set_rdp_level().

Signed-off-by: Johannes Schuler <jschuler@testo.de>
2026-02-10 22:18:43 +01:00
Firas Sammoura
3bab28349f drivers: flash: npcx: add qspi_npcx_fiu_mutex_is_locked function
Add a helper function to check the lock status of the QSPI-FIU
bus controller mutex. This is useful for debug assertions and
verifying exclusive access in high-level drivers.

Signed-off-by: Firas Sammoura <fsammoura@google.com>
2026-02-10 13:30:14 -06:00
Benjamin Cabé
460dbb8354 drivers: i2s: drop master/slave usage where possible
For drivers that were making mentions to master/slave terminology in
their comments or code without no reason to do so (i.e. no API in their
HAL is using such terminology), the terminology was dropped and replaced
with controller/peripheral terminology.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-02-10 13:24:18 -06:00
Benjamin Cabé
60ca5367a7 drivers: i2s: update macro names to match latest I2S specification
I2S bus specification 3.0 [1] updated terms "Master" and "Slave" to
"Controller" and "Target". This rename macros using these terms and
deprecates old names.

[1] https://www.nxp.com/docs/en/user-manual/UM11732.pdf

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-02-10 13:24:18 -06:00
Benjamin Cabé
0a70f063f2 bbram: shell: adopt SHELL_HELP
Have bbram shell commands use the new SHELL_HELP macro
Also fix the syntax for "read" command as it wasn't
correctly indicating that count cannot be specified
without address.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-02-10 13:23:32 -06:00
Mathieu Choplain
cdd4892756 drivers: watchdog: align drivers to (HAS_)WDT_DISABLE_AT_BOOT semantics
There are many drivers which control a disabled-by-default watchdog timer
but take the liberty of selecting HAS_WDT_DISABLE_AT_BOOT and interpreting
WDT_DISABLE_AT_BOOT=n as "enable the timer", which does not correspond to
the semantics of this option.

Update all such drivers to no longer select HAS_WDT_DISABLE_AT_BOOT and
ignore the WDT_DISABLE_AT_BOOT option.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-02-10 15:41:46 +00:00
Mathieu Choplain
61d0117615 drivers: watchdog: document semantics of WDT_DISABLE_AT_BOOT
WDT_DISABLE_AT_BOOT should only be used to forcefully disable watchdog
timers that are enabled by default after system reset. Update the Kconfig
help text of WDT_DISABLE_AT_BOOT and its dependency HAS_WDT_DISABLE_AT_BOOT
to make this clear.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-02-10 15:41:46 +00:00
Allen Zhang
a4c333a865 boards: frdm_mcxw70: add frdm_mcxw70 board
enable board support for frdm_mcxw70

Signed-off-by: Allen Zhang <chunfeng.zhang@nxp.com>
2026-02-10 15:41:24 +00:00
Etienne Carriere
90915fc715 drivers: flash: stm32_*spi: remove ARG_UNUSED() where useless
Remove ARG_UNUSED() where not needed in STM32 QSPI/XSPI drivers.

No functional changes.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2026-02-10 15:11:28 +01:00
Etienne Carriere
7c90d75a73 drivers: flash: stm32_*spi: duplicated IOMEM registers base address
IOMEM interface base address is stored in both device configuration
and device data structures. Remove the occurence in the config data
that is used only for trace messages.

No functional changes.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2026-02-10 15:11:28 +01:00
Seppo Takalo
50a15a6a88 drivers: modem: cellular: Stop re-dial retry loops
Use same retry counter for APN script as the dial-script uses.

When dial-script fails, shut down the modem. Don't restart from
beginning.
When might still have CMUX connected, so jumping to IDLE->RESUME
leaves the CMUX connected, while the state machine expect otherwise.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2026-02-10 13:01:29 +01:00
Mathieu Choplain
281b9fa260 drivers: usb: udc: stm32: enable SOF support
For some reason, the driver was not requesting the HAL to enable SOF even
if the feature was enabled at UDC stack level.

Fix by requesting HAL to enable SOF based on stack configuration.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-02-10 10:52:24 +01:00
Stephan Linz
796482737f drivers: wifi: infineon: airoc: avoid unhandled values in switch statement
When build:

  west build -p -b rpi_pico2/rp2350a/m33/w zephyr/samples/net/wifi/shell

Warnings occur (leading to errors in Twister runs):

  .../drivers/wifi/infineon/airoc_wifi.c:749:9: warning: enumeration value
      '__WIFI_FREQ_BANDWIDTH_AFTER_LAST' not handled in switch [-Wswitch]
  .../drivers/wifi/infineon/airoc_wifi.c:749:9: warning: enumeration value
      'WIFI_FREQ_BANDWIDTH_UNKNOWN' not handled in switch [-Wswitch]
    749 |         switch (params->bandwidth) {
        |         ^~~~~~

Signed-off-by: Stephan Linz <linz@li-pro.net>
2026-02-10 10:52:12 +01:00
Gaetan Perrot
ce47cbeaa4 drivers: i2s: i2s_ambiq: remove dead error check in init
Remove a useless return value check in i2s_ambiq_init().

The variable 'ret' was initialized to zero and checked before being
assigned, making the condition always false.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-02-10 08:24:07 +01:00
Gaetan Perrot
a6fd608050 drivers: mbox: ti_secproxy: add missing SPDX license identifier
Add the SPDX-License-Identifier tag to the file header to properly
declare the Apache-2.0 license, in line with Zephyr licensing
requirements.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-02-10 08:23:05 +01:00
Gaetan Perrot
94830a2827 drivers: mbox: ti_secproxy: drop redundant NULL check on dev pointer
The mailbox send callback is always invoked with a valid device
pointer.

Remove the redundant NULL check.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-02-10 08:23:05 +01:00
Fin Maaß
517bffdb84 adc: ads1x1x: remove DT_HAS_TI_ADS1119_ENABLED
the ads1119 has its own driver connected to CONFIG_ADC_ADS1119,
so remove it from CONFIG_ADC_ADS1X1X. Also the driver under
CONFIG_ADC_ADS1X1X doesn't support it.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-02-09 16:13:53 -06:00
Sergei Ovchinnikov
cb5a44458a drivers: regulator: npm13xx: add LDO soft start support
Starting from revision 1.1 nPM1304 has support for soft start on the LDSW
regulators configured in the LDO mode. This requires special handling and
is done automatically for applicable device versions.

Signed-off-by: Sergei Ovchinnikov <sergei.ovchinnikov@nordicsemi.no>
2026-02-09 16:12:33 -06:00
Chaitanya Tata
7f6d361473 nrf_wifi: Remove nRF71 support
The driver and module now supports nRF70 only, nRF71 support will be
added in the future using a new driver.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2026-02-09 11:59:17 -06:00
Mathieu Choplain
3754b8fe46 drivers: usb: udc: stm32: dequeue OUT packets before submission
The udc_submit_ep_event() does not document this requirement, but the
`net_buf` provided to it must have been removed from the driver's
internal queue before submission. This wasn't noticed because the list
node member of `net_buf` was untouched, but is now causing list corruption
due to 5137439a47 when multiple packets are
enqueued.

Fix by always dequeuing buffers before submitting them to the UDC stack.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-02-09 11:58:31 -06:00
Krzysztof Chruściński
44bbc13394 drivers: serial: nrfx_uarte: Handle unexpected RXTO events
In some cases UARTE peripheral is generating RXTO events together with
ENDRX events. Those events are unexpected and should not be handled.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-02-09 15:59:02 +01:00
Krzysztof Chruściński
13e4b7a3ff Revert "drivers: serial: nrfx_uarte: Workaround for spurious RXTO during restart"
This reverts commit c58ae7467b.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2026-02-09 15:59:02 +01:00