Commit graph zephyr/drivers
Author SHA1 Message Date
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
Fabian Blatz
cbc1c58e28 drivers: timer: stm32wb0: Prevent building for WB06/07 if PM enabled
Prevents building the driver entirely if the PM symbol is selected instead
of erroring out via a compiler pragma.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2026-02-09 15:56:28 +01:00
Gaetan Perrot
a43978d22b drivers: i2c: ll_stm32_v2_rtio: Refactor target config matching logic
Rewrites the logic used to select the matching target config during address
match events.

Handles 7-bit and 10-bit modes more clearly, adds fallback to slave2_cfg
if slave_cfg is NULL, and reduces nesting.

Fixes a case where the primary target (slave_cfg) could be unregistered
before an address match interrupt fires, which could lead to a null
pointer dereference.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-02-09 15:41:34 +01:00
Gaetan Perrot
086671be27 drivers: i2c: ll_stm32_v2: Refactor target config matching logic
Rewrites the logic used to select the matching target config during address
match events.

Handles 7-bit and 10-bit modes more clearly, adds fallback to slave2_cfg
if slave_cfg is NULL, and reduces nesting.

Fixes a case where the primary target (slave_cfg) could be unregistered
before an address match interrupt fires, which could lead to a null
pointer dereference.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-02-09 15:41:34 +01:00
Aksel Skauge Mellbye
bf4591b4bc drivers: gpio: silabs: Set port_pin_mask from Devicetree
Set `port_pin_mask` in the GPIO driver for Silicon Labs Series 2
based on Devicetree `ngpios` and `gpio-reserved-ranges`. This
mask is used to validate that the pin numbers passed to the GPIO
API are valid on a given device.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2026-02-09 13:32:07 +01:00
Thomas Decker
7d0764387b drivers: clk: stm32_ll_h7: Add stm32_clock_control_get_status function
Add stm32_clock_control_get_status() function needed by flash_stm32_xspi
driver for handling XiP.

Signed-off-by: Thomas Decker <decker@jb-lighting.de>
2026-02-09 13:31:19 +01:00
Thomas Decker
a88a01c901 drivers: flash: stm32_xspi: Remove hard-coded XSPI2 dependency
Check the used XSPIx peripheral before calling the corresponding function
instead of hard-coded calling the LL_PWR_EnableXSPIM2() and
LL_SBS_EnableXSPI2SpeedOptim() during flash_stm32_xspi_init(...).

Signed-off-by: Thomas Decker <decker@jb-lighting.de>
2026-02-09 13:30:52 +01:00
Carlo Caione
c575e648e9 drivers: lora: add native SX126x driver
Add a native Zephyr driver for Semtech SX1261/SX1262 LoRa transceivers that
does not depend on external modules (loramac-node or lora-basics-modem).

The driver is experimental and must be explicitly enabled by selecting
CONFIG_LORA_MODULE_BACKEND_NONE.

Signed-off-by: Carlo Caione <ccaione@baylibre.com>
2026-02-09 13:29:42 +01:00
The Nguyen
4f55402630 drivers: udc: renesas: support DCP auto status mode
Add DCP auto status support and update the control stage update
sequence to adapt with hardware auto response mode

Signed-off-by: The Nguyen <the.nguyen.yf@renesas.com>
2026-02-09 13:28:02 +01:00
Pavel Kohout
d7bf4ec707 drivers: ethernet: e1000: fix TX and RX buffer sizing
The e1000 Ethernet driver TX staging buffer is sized to NET_ETH_MTU
(1500 bytes), but the Ethernet L2 layer prepends headers (14 bytes
standard, 18 bytes with VLAN) before calling the driver's send function.
When transmitting MTU-sized packets, net_pkt_get_len() returns the full
L2 frame size (up to 1514+ bytes), causing a 14-18 byte out-of-bounds
write into adjacent RX buffers. This is remotely triggerable by inducing
large TX responses such as ICMP echo replies.

The RX staging buffer has the same issue - it is sized to NET_ETH_MTU
but receives complete L2 frames from the network which include headers.

Fix by sizing both TX and RX buffers to NET_ETH_MAX_FRAME_SIZE and
adding a defensive bounds check to the TX path.

Signed-off-by: Pavel Kohout <pavel.kohout@aisle.com>
2026-02-09 11:17:37 +01:00
Shreya Kulkarni
3b98cce4f2 drivers: crypto: ataes132a: fix multiple Coverity defects
Addressed stability and security issues identified by Coverity in
the ATaes132a crypto driver:

- CID 434625: Added range validation for 'count' to prevent tainted
  scalar usage and buffer underflow in response processing.
- CID 487700 & 487763: Implemented overflow guards for 'buf_len' to
  prevent integer overflow and type truncation when calling
  ataes132a_send_command.
- CID 487746: Applied explicit type casting to CRC calculations to
  satisfy static analysis regarding integer promotion.

Signed-off-by: Shreya Kulkarni <kulkarnishreya2421@gmail.com>
2026-02-09 11:17:12 +01:00
Haoran Jiang
bc8ed8f83f drivers: otp: add SiFli SF32LB eFuse driver
Add OTP driver for the SiFli SF32LB series eFuse controller.
This driver provides read-only access to the eFuse OTP memory
with the following features:

- Cache mechanism: all eFuse content is loaded into RAM during
  initialization for improved read performance
- Support for 4 banks x 32 bytes = 128 bytes total OTP storage
- LDO voltage adjustment before reading as required by hardware

Signed-off-by: Haoran Jiang <halfsweet@halfsweet.cn>
2026-02-09 11:13:50 +01:00
Tim Lin
bc20c41dfa drivers/i2c: it8xxx2: Fix incorrect target address register
The base address was written to an incorrect register, which caused
incorrect data to be read from the I2C target. This has been fixed by
writing to the correct register.

Signed-off-by: Tim Lin <tim2.lin@ite.corp-partner.google.com>
2026-02-09 09:38:44 +01:00
Holt Sun
578f9fd972 drivers: pinctrl: mci_io_mux: correct CTIMER macro name
Fix inconsistent macro name from IOMUX_GET_SCTIMER_IN_CLR_ENABLE
to IOMUX_GET_CTIMER_CLR_ENABLE to align with the actual CTimer
functionality and related macro naming convention.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2026-02-09 09:37:39 +01:00
Gaetan Perrot
d24450bd09 drivers: stepper: adi_tmc: tmc50xx: Remove redundant pointer check
The actual_velocity pointer is dereferenced unconditionally before
the NULL check, making the conditional LOG_DBG() guard ineffective.

Since actual_velocity must be valid to reach this point, the
conditional check is redundant and misleading.

Remove it and log the value unconditionally to reflect the actual
control flow.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-02-06 22:24:22 +01:00
Gaetan Perrot
c0e8822a94 drivers: sdhc: renesas_ra: remove dead error check
Remove a dead error check which check ret but ret wasn't even
assigned before the test.

Remove the useless condition to make the intent explicit and clean
up the code.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-02-06 22:19:52 +01:00
Tom Burdick
cb901b90bf soc: infineon: psoc4100tp: Setup IMO for 48MHz
Correct a clock initialization ordering issue where IMO, an internal
high speed oscillator, was being setup before ILO. This does not match
the MTB initialization order and would cause the part to fault.

Sets up the default clock configuration on the part to be 48MHz. Adjusts
the default WCO (low speed external crystal source) to be 32768 as the
eval board has this crystal on it. Enables common clock elements
(hf_clk, clock_pump) as needed in the part dts rather than the board.

Signed-off-by: Tom Burdick <thomas.burdick@infineon.com>
2026-02-06 13:48:55 -06:00
Seppo Takalo
6d95ac2a52 drivers: modem: cellular: Fix BG95/BG96 shutdown script
According to the manual, device should wait:
  AT+QPOWD=1
  OK
  POWERED DOWN
before shutting down. This should take about 300 ms.

Correct the timing to match BG96 manual, where power_key pulse
is 500ms (on a shut down, it say 650ms).

The start-up time of UART is described as >=4900ms so start_ms
is now set to 5s. It does not require 10s.

We require more than 100ms to reset from CMUX to AT mode UART,
500ms seems to be enough. Manual does not describe this delay.

Shutdown time is described as 2s, but we don't typically use that
as the shutdown script receives the POWERED DOWN message and is now
faster.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2026-02-06 13:48:14 -06:00
Seppo Takalo
11ef296070 drivers: modem: cellular: Don't redial when net_if_down()
When net_if_down() is called, the PPP_DEAD event is handled
in state machine before the modem_ppp_ppp_api_stop()
requests the driver to suspend.

Prevent non-wanted re-dial script by checking the admin
state (UP/DOWN) of the PPP interface, before dealing with
lost connection.

Signed-off-by: Seppo Takalo <seppo.takalo@nordicsemi.no>
2026-02-06 13:47:27 -06:00
Scott Worley
448dda458b drivers: spi: microchip: mec: Common QMSPI-LDMA driver
We converted the QMSPI-LDMA driver to linux style with a local
register header in the driver folder. This is part of the long
term plan to remove the MEC5 HAL and have common drivers for
as many SoC's as possible. QMSPI register definitions are in
the SoC layer to be shared with other drivers (MSPI). The driver
was also updated based on changes in the SPI config structure.
The lastest SPI config structure changes force hardware controlled
chip selects and GPIO controlled chip selects to be mutually exclusive.
NOTE: driver works with the flash driver sample
and passes the common flash driver test.

Signed-off-by: Scott Worley <scott.worley@microchip.com>
2026-02-06 13:46:14 -06:00
Sven Ginka
249b13c8cd drivers: spi: add support for soc sy1xx
Before that commit spi was not available for the soc sy1xx.
With this commit a basic usage of spi is possible.

Signed-off-by: Sven Ginka <s.ginka@sensry.de>
Co-authored-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-02-06 13:43:45 -06:00
Andrej Butok
ff8d194fdd soc: nxp: kinetis: fix SOC_SERIES inconsistency
- Fixes Kconfig SOC_SERIES naming for Kinetis SoCs,
  as required by HWMv2.
- Fixes: https://github.com/zephyrproject-rtos/zephyr/issues/69317

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2026-02-06 08:58:07 -06:00
Vytautas Virvičius
ff1b1f7ba8 drivers: gnss: Add optional reset support to u-blox M8
This change adds optional reset via GPIO support to u-blox M8 driver.
This is useful if host is reset separately from the u-blox M8 GNSS
receiver.

Signed-off-by: Vytautas Virvičius <vytautas@virvicius.dev>
2026-02-06 08:56:54 -06:00
David Jewsbury
0f90354a27 drivers: nrf_auxpll: Fix frequency calculation
The out_div dts setting differs to the register setting
causing the frequency calcuation to be incorrect.
This was originally intended to be fixed in NRFX but
this requires further investigation on how to approach
translation of literal values to enums in NRFX. This PR
adds a helper function for the conversion for now and
changes the devicetree bindings to align with the literal
value.

Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
2026-02-06 08:55:47 -06:00
Jérôme Pouiller
5a3b4f91c7 drivers: wifi: siwx91x: Use sl_wifi_callback_function_v2 API
Let's get rid of deprecated sl_wifi_set_callback. The new
sl_wifi_set_callback_v2 changes the callback prototypes, but they kept the
semantic.

We also take this opportunity to slightly clean up the prototupes of the
callbacks.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-06 08:54:54 -06:00
Jérôme Pouiller
70bec9b18c drivers: wifi: siwx91x: Fix deprecated sl_wifi_performance_profile API
sl_wifi_performance_profile_t is deprecated. The migration to
sl_wifi_performance_profile_v2_t is pretty easy, so there is not reason to
delay it (in fact, the two versions only differ in binary compatibility,
the API is still compatible).

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-06 08:54:54 -06:00
Jérôme Pouiller
f4d863763c drivers: wifi: siwx91x: Fix deprecated sl_wifi_get_wireless_info() API
sl_wifi_get_wireless_info() has been renamed sl_wifi_get_interface_info().

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-06 08:54:54 -06:00
Jérôme Pouiller
d0ccc26781 drivers: wifi: siwx91x: Fix sl_si91x_* names
Replace deprecated sl_si91x_* by sl_wifi_system_*.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-06 08:54:54 -06:00
Jérôme Pouiller
35516b4bdc drivers: wifi: siwx91x: Fix sli_*_ap_configuration() name
sli_save_ap_configuration() and sli_get_saved_ap_configuration() have been
renamed respectively in sli_wifi_save_ap_configuration() and
sli_wifi_get_saved_ap_configuration().

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-06 08:54:54 -06:00
Jérôme Pouiller
b091b04ada drivers: wifi: siwx91x: Fix sli_get_opermode() name
sli_get_opermode() has been renamed in sli_wifi_get_opermode().

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-06 08:54:54 -06:00
Jérôme Pouiller
c4b74b68b8 drivers: wifi: siwx91x: Fix sli_si91x_set_region_ap_request_t name
sli_si91x_set_region_ap_request_t has been renamed in
sli_wifi_set_region_ap_request_t.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-06 08:54:54 -06:00
Jérôme Pouiller
bceed839f9 drivers: wifi: siwx91x: Fix SLI_DEFAULT_MONITOR_INTERVAL name
SLI_DEFAULT_MONITOR_INTERVAL is no longer provided by wiseconnect.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-06 08:54:54 -06:00
Jérôme Pouiller
6a98c2457f drivers: wifi: siwx91x: Fix gcc warning
gcc complained:

.../siwx91x_wifi.c: In function 'siwx91x_status':
.../siwx91x_wifi.c:68:9: warning: 'strncpy' output may be truncated
                         copying 33 bytes from a string of length 33
                         [-Wstringop-truncation]
   68 |  strncpy(status->ssid, wlan_info.ssid, sizeof(wlan_info.ssid) - 1);
      |  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-02-06 08:54:54 -06:00
Christophe Guibout
57f7e53c46 drivers: clock_stm32_ll_mp2: add fdcan clock
Add FDCAN clocks rate reading to the STM32MP2 clock driver.

Signed-off-by: Christophe Guibout <christophe.guibout@st.com>
2026-02-06 08:54:22 -06:00
Ayush Singh
27ee07a66c drivers: serial: ns16550: Enable interrupts only if defined
It is possible that some uart devices ns16550 do not support interrupts.
As an example, using main domain uarts from mcu domain m4f core in AM62
processors does not support uarts.

Signed-off-by: Ayush Singh <ayush@beagleboard.org>
2026-02-06 08:53:07 -06:00
Muhammad Waleed Badar
0bb2943334 drivers: uart: add pinctrl support for bcm2711 aux uart
Add pinctrl support to the bcm2711 aux UART driver to allow
uart pin configuration via the pinctrl driver.

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
2026-02-06 08:52:07 -06:00
Muhammad Waleed Badar
00eaa50369 drivers: pinctrl: add bcm2711 pinctrl driver
The BCM2711 GPIO controller provides 58 GPIO pins (0-57) that can be
configured for various functions including GPIO input/output and
alternate functions for peripherals like SPI, I2C, UART, PWM, etc.

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
2026-02-06 08:52:07 -06:00
Erdem Simsek
1b8d1bb5cb drivers: mbox: nrf_vevif_task_rx: Fix indexing in rx_set_enabled
Fixes VEVIF task receiver driver to work correctly on both nRF7120 and
nRF54h20 by correcting the mapping between Task IDs and Interrupts.

Signed-off-by: Erdem Simsek <erdem.simsek@nordicsemi.no>
2026-02-06 08:51:13 -06:00
Guillaume Gautier
d5629df7a8 drivers: i2s: stm32 sai: fix f4 clock source
For STM32F4, the SAI HAL writes into the RCC DCKCFGR register to set the
clock source. To ensure that is conforms with what is declared in the
device tree, the ClockSource field in the Init structure needs to be
correctly configured before calling HAL_SAI_InitProtocol.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2026-02-06 14:00:57 +01:00
Tim Pambor
1b4555b575 drivers: flash: shell: print partitions from all partition tables
If a device has multiple flashes, likely it has multiple partition tables.
This change updates the `flash partitions` command to print all partitions
for all partition tables, instead of just one partition table.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-02-06 13:57:08 +01:00
Benjamin Cabé
ad15a55121 drivers: i2c: adopt SHELL_HELP in I2C shell
Use SHELL_HELP macro for help strings to ensure consistency across
various shell modules and save flash.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-02-06 13:56:22 +01:00