Commit graph

28,390 commits

Author SHA1 Message Date
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
Adrian Bonislawski
9cf26300c9 drivers: counter: ACE: enable 64-bit ticks by default
Select COUNTER_64BITS_TICKS for ACE counters to enable this
functionality by default.
This restores the default state which was disabled by recent commits.

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
2026-02-06 11:21:30 +01:00
Adrian Bonislawski
b446b10d23 drivers: counter: ace_v1x_rtc: fix unused function warning
Wrap counter_ace_v1x_rtc_get_value in #ifdef
to avoid an unused function warning when
64-bit ticks are disabled.

Fixes 7fc848153c

Signed-off-by: Adrian Bonislawski <adrian.bonislawski@intel.com>
2026-02-06 11:21:30 +01:00
Stephan Linz
bd5e2cdb5e drivers: rtc: rpi_pico: avoid corrupted data in tm_wday
'tm_wday' (and potentially all other time and date values in the
TM structure) may retrieve corrupted data during readout from the
hardware via the Pico SDK when the call to rtc_get_datetime() comes
back with error.

If the referenced data structure 'datetime_t dt' is only partially
filled or not filled at all via the Pico SDK due to invalid RTC data
in the hardware, random data will be copied from the stack to the
TM structure without further verification.

Now the Pico RTC driver follows the general idiom: If the answer is
unknow, the caller-provided TM structure must not be updated.

Signed-off-by: Stephan Linz <linz@li-pro.net>
2026-02-06 11:13:44 +01:00
Stephan Linz
b8030f3b2f drivers: w1: test: vnd,w1: fix parameter handling in W1_VND_INIT()
The W1_VND_INIT() has defined the one parameter 'n', but the variable
name 'inst' was used inside the stringifications.

In addition, clang-format was invoked to meet the CI conformance
rule ClangFormat.

Signed-off-by: Stephan Linz <linz@li-pro.net>
2026-02-06 11:12:43 +01:00
Felix Wang
1dd18e8763 drivers: pwm: add support for FlexPWM channel X output
1.Extend the NXP MCUX PWM driver to support three channels (A, B, and X)
instead of two.
2.Add special handling for channel X  polarity control via the OCTRL
register, as it uses VAL0 for pulse width instead of the VAL2/VAL3 pair
used by channels A and B.
3.Restore VAL0 when configuring channels A/B to preserve channel X pulse
4.Adjust LDOK timeout to one PWM period
5.Get clock frequency in init function

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2026-02-06 11:12:09 +01:00
Siratul Islam
fd189392a6 drivers: biometrics: add GT5X fingerprint sensor driver
Add driver for ADH Technology GT5X series optical fingerprint
sensors. Supports GT-511C1R, GT-511C3, GT-521F32, and GT-521F52
variants.

Features:
- 3-stage enrollment with retry support
- 1:1 verification and 1:N identification
- LED control
- Model-agnostic design via device tree configuration

Signed-off-by: Siratul Islam <email@sirat.me>
2026-02-06 11:10:54 +01:00
Siratul Islam
7e43f2e70d drivers: biometrics: add shell commands for testing
Add shell interface for biometrics driver subsystem providing
commands for:
- info: display device capabilities
- attr_get/attr_set: read/write device attributes
- enroll: full enrollment flow and individual steps
- template_list/delete/delete_all: template management
- match: verify or identify operations
- led: LED control

Signed-off-by: Siratul Islam <email@sirat.me>
2026-02-06 11:10:54 +01:00
Siratul Islam
59843f7776 drivers: biometrics: add emulated driver for testing
Add emulated biometrics driver for testing shell commands
and application logic. Implements full API:
- Configurable attributes
- Template storage with simulated enrollment workflow
- Match operations with configurable success simulation
- LED state tracking

Signed-off-by: Siratul Islam <email@sirat.me>
2026-02-06 11:10:54 +01:00
Siratul Islam
7af87b5957 drivers: biometrics: add ZFM-x0 fingerprint sensor driver
Add driver for ZFM-x0 series optical fingerprint sensors supporting
ZFM-X0, R30x, JM-101, DY-50, FPM10A, and compatible modules.

Features:
- Multi-sample enrollment flow (2 samples)
- 1:1 verification and 1:N identification matching
- LED control
- Configurable security level and timeout

Signed-off-by: Siratul Islam <email@sirat.me>
2026-02-06 11:10:54 +01:00
Siratul Islam
3991cf37c3 drivers: biometrics: introduce biometrics subsystem
Introduces a new drivers subsystem for biometric sensors.
The API supports enrollment, matching, and template storage.

Signed-off-by: Siratul Islam <email@sirat.me>
2026-02-06 11:10:54 +01:00