Commit graph

28,390 commits

Author SHA1 Message Date
Gaetan Perrot
b14f7e9e9f drivers: rtc: ds3231: drop impossible negative id check
rtc_ds3231_alarm_set_callback() takes an unsigned alarm id, making
the negative value check impossible.

The id < 0 condition is therefore dead code and can never be true.
Remove it and keep only the upper bound check.

No functional change intended.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-13 10:26:05 +01:00
Holt Sun
a2e902b307 drivers: counter: mcux_gpt: add devicetree run-mode property
Add a "run-mode" devicetree property to the NXP i.MX GPT counter
driver to control counter behavior on compare events.

The property supports two modes:
- "restart": Counter resets to 0 when reaching Compare Channel 1 value
- "free-run": Counter continues counting without reset

This change makes the GPT run mode configurable per device instance
instead of being hardcoded. The driver now derives the enableFreeRun
setting from devicetree, defaulting to "restart" mode.

This update aligns the GPT driver configuration approach with the
NXP LPTMR counter driver, which also uses devicetree properties
for runtime behavior configuration.
This provides consistency across NXP counter drivers in how hardware
behavior is controlled through devicetree.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2026-01-13 10:20:24 +01:00
Henrik Brix Andersen
008904d63e drivers: can: shell: add can dump subcommand
Add "can dump <device>" subcommand for dumping all CAN RX frames of a given
CAN controller.

Signed-off-by: Henrik Brix Andersen <henrik@brixandersen.dk>
2026-01-13 10:18:18 +01:00
Johann Fischer
2c254285cb drivers: dp: add common header for SWD drivers
Move the LUT to convert from simplified format to request packet
expected by the target, and the helper to calculate parity bits to
common header, so that they could be used by other drivers.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2026-01-13 10:16:27 +01:00
Camille BAUD
396249fdd4 drivers: pwm: Add BFLB PWM 1 and 2
Adds BFLB PWMs

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-01-13 10:13:04 +01:00
Camille BAUD
f4bcc3cd55 drivers: clock_control: bflb: add PWM elements
Adds clock side elements for PWM

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-01-13 10:13:04 +01:00
Fin Maaß
eaca1fcf7f drivers: ethernet: nxp: netc: fix ethernet_hw_caps
ETHERNET_CONFIG_TYPE_FILTER is not supported
in the set_config, therefore remove
ETHERNET_HW_FILTERING from the
ethernet_hw_caps of this driver.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-01-12 12:40:31 -06:00
Fin Maaß
e6bd2151da drivers: ethernet: nxp: fix set_config case
the enum ethernet_config_type for the
multicast filter is ETHERNET_CONFIG_TYPE_FILTER.
ETHERNET_HW_FILTERING is only the according
ethernet_hw_caps.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-01-12 12:40:31 -06:00
Eric Mechin
8aec838deb drivers: stm32wb: ipm_stm32wb: Add extended advertising support
Set extended advertising setting in ipm_stm32wb.c with
stm32wb_set_stack_options function call for the BLE stack
Options flags initialization according to the
zephyr Kconfig options.

Signed-off-by: Eric Mechin <eric.mechin@st.com>
2026-01-12 12:39:56 -06:00
Gaetan Perrot
bca0b43be9 drivers: crypto: intel_sha: make set_resume_length_dw1 void
intel_sha_set_resume_length_dw1() never reports errors
and always returns 0.
The error check at the call site is therefore dead code.

Make the function void and drop the unused error handling.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-12 12:36:48 -06:00
Gaetan Perrot
f017f4cb91 drivers: crypto: intel_sha: make set_ctl_enable void
intel_sha_set_ctl_enable() never reports errors
and always returns 0.
The error check at the call site is therefore dead code.

Make the function void and drop the unused error handling.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-12 12:36:48 -06:00
Sylvio Alves
06890c3f92 drivers: bluetooth: esp32: add vendor-specific HCI commands
Implement VS HCI commands for ESP32 BLE controllers:
- Read/Write TX power level with per-handle support
- Read version info (platform, variant, firmware version)
- Read supported commands and features
- Read static addresses from eFuse (C2/C6/H2)
- Read build info (controller version string)

For original ESP32, use the legacy esp_ble_tx_power_set/get API.
For newer variants (ESP32-S3, ESP32-C2, ESP32-C3, ESP32-C6, ESP32-H2),
use the enhanced API that supports per-connection power control.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-01-12 12:34:47 -06:00
Maximilian Werner
1602f3cff1 drivers: i2c: mcux: refactor target event handler
The target event handler i2c_mcux_target_transfer_cb() had a too high
cognitive complexity. Create a function for each event type to reduce
the complexity score.

Signed-off-by: Maximilian Werner <maximilian.werner96@gmail.com>
2026-01-12 12:34:11 -06:00
Maximilian Werner
c1722f5eda drivers: i2c: mcux: add support for target mode
Add i2c target support to the i2c_mcux driver.
Add the frdm_mcxc242 board to i2c_target_api tests.

Signed-off-by: Maximilian Werner <maximilian.werner96@gmail.com>
2026-01-12 12:34:11 -06:00
Yongxu Wang
52c712d4d1 firmware: scmi: add mutex protection to polling mode
Protect scmi_send_message_polling() with channel mutex to prevent
concurrent access with interrupt-driven transfers.

Without this fix, PM subsystem could send polling-mode messages
while an interrupt-mode transfer was in progress, corrupting the
shared channel state.

Fixes hang on i.MX943 during I2C initialization when PM attempted
to send power state notifications concurrently.

Signed-off-by: Yongxu Wang <yongxu.wang@nxp.com>
2026-01-12 12:33:40 -06:00
Igor Knippenberg
0d1863c409 drivers: can: stm32: fdcan: enable hardware RX timestamping
Enables hardware RX timestamping for the STM32 FDCAN driver by
leveraging the M_CAN timestamping interface.

Introduces a new `timestamp-counter` property in the device tree binding.
If `CONFIG_CAN_RX_TIMESTAMP` is enabled and this property is defined,
the driver configures the M_CAN Timestamp Select to use the
external timestamp counter value.

This allows linking a Zephyr Counter device to the FDCAN instance to
provide precise packet timing.

Signed-off-by: Igor Knippenberg <knippenberg@filics.eu>
2026-01-12 12:32:55 -06:00
Kapil Bhatt
2b2ac80eea drivers: wifi: Change WPA3 to WPA3_HNP and WPA3_H2E
Change WPA3 into WPA3-HNP, WPA3-H2E for Display scan fix.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2026-01-12 12:31:08 -06:00
Kapil Bhatt
7885303422 driver: nrf_wifi: Add config option for No-ACK policy in Tx packets
Build time configuration option to set No-ACK policy for Tx packets
with a specific TID.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2026-01-12 12:31:08 -06:00
Qingsong Gou
0ee36a6f50 drivers: rtc: sf32lb: fix compile warnings
Fix compile warnings for sf32lb

Signed-off-by: Qingsong Gou <gouqs@hotmail.com>
2026-01-12 12:30:23 -06:00
Qingsong Gou
cd528e3b25 drivers: rtc: sf32lb: fix y2k bug
Fix 1999 to 2000 year bug

Signed-off-by: Qingsong Gou <gouqs@hotmail.com>
2026-01-12 12:30:23 -06:00
Etienne Carriere
b42b10f89e west.yml: update hal_stm32 module on H7RS/L4/L5/N6 stm32cube releases
stm32h7rsxx bumps to STM32CubeH7RS version 1.3.0.
stm32l4xx bumps to STM32CubeL4 version 1.18.2.
stm32l5xx bumps to STM32CubeL5 version 1.6.0.
stm32n6xx bumps to STM32CubeN6 version 1.3.0.

Update dma_stm32.h to sync with HAL new function prototype for
LL_DMA_IsActiveFlag_HT*() functions that now expect a const pointer
on STM32L4X series. While at it, also update the STM32MP13X series
that expects the same prototypes.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2026-01-12 12:29:37 -06:00
Fin Maaß
540df685f4 drivers: ethernet: w5500: implement get_link
implement get_link from the ethernet phy
api.

Signed-off-by: Fin Maaß <info@finmaass.de>
2026-01-12 12:29:07 -06:00
Fin Maaß
b85c12049b drivers: ethernet: w5500: use timeout directly
use Kconfig timeout directly.

Signed-off-by: Fin Maaß <info@finmaass.de>
2026-01-12 12:29:07 -06:00
Armando Visconti
56b85ea61a drivers/sensor: lsm6dsvxxx: add ism6hg256x support
Add support to ism6hg256x sensor variant of LSM6DSVXXX driver.

More information:
https://www.st.com/resource/en/datasheet/ism6hg256x.pdf

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2026-01-12 12:26:41 -06:00
Armando Visconti
310457448a drivers/sensor: lsm6dsvxxx: add High-g data support in FIFO
Add support for High-g data in FIFO. The HG data wiil be marked in
FIFO with LSM6DSV80X_XL_HG_TAG.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2026-01-12 12:26:41 -06:00
Armando Visconti
b66fc31c95 drivers/sensor: lsm6dsvxxx: add lsm6dsv80x support
Add support to lsm6dsv80x sensor variant of LSM6DSVXXX driver.

More information:
https://www.st.com/resource/en/datasheet/lsm6dsv80x.pdf

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2026-01-12 12:26:41 -06:00
Armando Visconti
3c16d599b1 drivers/sensor: lsm6dsvxxx: add streaming capabality
Add read_and_decode streaming APIs support.

Triggers supported:
    - SENSOR_TRIG_FIFO_WATERMARK
    - SENSOR_TRIG_FIFO_FULL
    - SENSOR_TRIG_DATA_READY

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2026-01-12 12:26:41 -06:00
Armando Visconti
d6eaae4d53 drivers/sensor/st: add support to LSM6DSVXXX IMU family
This driver is currently only supporting the polling-mode read_and_decode
APIs (both blocking and non-blocking).

The driver implements a chip_api structure which has to be used to
provide device specific callbacks. The only lsm6dsvxxx family device
currently supported is lsm6dsv320x.

More information about LSM6DSV16X:
https://www.st.com/resource/en/datasheet/lsm6dsv320x.pdf

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2026-01-12 12:26:41 -06:00
Armando Visconti
5372b41979 sensor/lsm6dsvxxx: change DT common prop names
The Device Tree property names that are common to lsm6dsv16x and
lsm6dsv32x drivers are now prefixed with LSM6DSVXXX_ (and not
LSM6DSV16X_) just for the sake of clarity.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2026-01-12 12:26:41 -06:00
Henrik Brix Andersen
0949f8a52a drivers: sensor: adi: max30210: Fix build with Clang/LLVM
drivers/sensor/adi/max30210/max30210_trigger.c:144:3: error: label followed
by a declaration is a C23 extension [-Werror,-Wc23-extensions]
  144 |                 uint8_t temp_hi_setup[2];
      |                 ^

drivers/sensor/adi/max30210/max30210_trigger.c:175:3: error: label followed
by a declaration is a C23 extension [-Werror,-Wc23-extensions]
  175 |                 uint8_t temp_inc_fast_thresh;
      |                 ^

drivers/sensor/adi/max30210/max30210_trigger.c:196:3: error: label followed
by a declaration is a C23 extension [-Werror,-Wc23-extensions]
  196 |                 uint8_t temp_dec_fast_thresh;
      |                 ^

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2026-01-12 12:26:27 -06:00
Pisit Sawangvonganan
aba81d54e7 drivers: spi: avoid duplicating tx/rx length selection logic
For clarity and compactness, use
`spi_context_max_continuous_chunk()` instead of open-coding
the same tx/rx length selection logic.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2026-01-12 11:54:58 +01:00
Devika Raju
5f0483a8aa drivers: wifi: siwx91x: Fix multicast filtering on IGMP leave
Device continued receiving multicast data after leaving IGMP group
because the driver did not configure the SiWx917 firmware to stop
filtering for the multicast MAC address.

Register a Zephyr multicast monitor callback (net_if_mcast_mon_register)
that calls sl_wifi_configure_multicast_filter() to add or remove
multicast MAC filters in the firmware when groups are joined or left.

Signed-off-by: Devika Raju <Devika.Raju@silabs.com>
2026-01-12 11:54:32 +01:00
Muhammed Asif
e452c05026 drivers: watchdog: microchip: watchdog g1 driver
- Adds watchdog g1 driver for microchip devices

Signed-off-by: Muhammed Asif <muhammed.asif@microchip.com>
2026-01-12 11:54:08 +01:00
Alexandre Bailon
3d11f60b58 ieee802154: cc13xx_cc26xx: Make filter more reliable
The radio driver updates the filters but never submit
the new ones to the radio core.
The filters was only applied later thanks, probably during
a channel selection that was happening often.
Update the driver stop RX operation and restart it using
the new filters.

Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
2026-01-12 11:53:47 +01:00
Alexandre Bailon
06503ceb02 ieee802154: cc13xx_cc26xx: Improve channel selection
When using OpenThread, set_channel operation may be called often
with the same channel number.
Everytime, even if the channel has not changed, the driver stop all
the radio operations, restart the synthesizer and then restart RX
operations.
This behavior prevents OpenThread joiner to work correcly.
This updates the driver to only stop radio operations if this is really
required.

Signed-off-by: Alexandre Bailon <abailon@baylibre.com>
2026-01-12 11:53:47 +01:00
Phuc Pham
1eec5dae9f drivers: adc: Add ADC support for Renesas RZ/A2M
Add ADC driver support for Renesas RZ/A2M

Signed-off-by: Phuc Pham <phuc.pham.xr@bp.renesas.com>
Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
2026-01-12 11:53:36 +01:00
Phuc Pham
1cb9ebaad2 drivers: timer: Fix incorrect data type use
- Fix incorrect data type that caused the timer to malfunction
after running for a period of time

Signed-off-by: Phuc Pham <phuc.pham.xr@bp.renesas.com>
Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
2026-01-12 11:53:36 +01:00
Francis Roi Manabat
c6a0444f50 drivers: sensor: add MAX30210 Temperature Sensor Support
Add Support for MAX30210, a low-power,
high-accuracy digital temperature sensor
operating from a 1.7 V to 2.0 V supply.

Signed-off-by: Francis Roi Manabat <francisroi.manabat@analog.com>
2026-01-12 11:53:15 +01:00
Anton Puppe
264a01f832 drivers: video: imx335: Add configurable refresh rate
Adds support for video_set_frmival for the IMX335 sensor driver.
The available framerates depend on whether the binning mode is enabled.
Currently, 25Hz and 30Hz are always available and 50Hz/60Hz only with
binning.

Signed-off-by: Anton Puppe <anton-noel-flynn.puppe@zeiss.com>
2026-01-11 13:05:34 +01:00
Anton Puppe
d74087f58d drivers: video: imx335: Add 2x2 binning support
Adds support for switching the sensor resolution between all-pixel scan
(2592x1944) and 2x2 binning (1296x972). This reduces the bandwidth
and processing power requirements for applications that do not need the
full resolution. It also paves the way for higher frame rates.

Note that while the imx335 driver now supports dynamic resolution
changes, some downstream components may not. The binning mode is enabled
automatically if the correct format is selected.

Signed-off-by: Anton Puppe <anton-noel-flynn.puppe@zeiss.com>
2026-01-11 13:05:34 +01:00
Aleksandr Senin
5dc2385914 drivers: serial: gd32: add UART runtime configure support
Add uart_configure()/uart_config_get() support to usart_gd32.
Store runtime config in driver data and init it from DT defaults.

Signed-off-by: Aleksandr Senin <al@meshium.net>
2026-01-11 13:04:25 +01:00
Gang He
817d1b7118 drivers: audio: sf32lb52x: Add audio codec driver
audio playback and capure, extend API in codec.h

Signed-off-by: Gang He <ganghe@sifli.com>
2026-01-11 13:03:33 +01:00
Gang He
e724188a6f drivers: dma: Add half complete callback for SF32LB chipset
Add callback of half complete in DMA processing, Fix DMA size bug.

Signed-off-by: Gang He <ganghe@sifli.com>
2026-01-11 13:03:33 +01:00
Pete Johanson
9dc8161870 drivers: sensor: Add missing get_size_info to ADXL362 decoder
Properly report size info for the ADXL362 decoder for streaming data
properly from that sensor.

Signed-off-by: Pete Johanson <pete.johanson@analog.com>
2026-01-09 17:12:08 -06:00
Ben Levinsky
a206401647 drivers: ipm: ipm_mbox: handle mailbox notifications without payload
Some mailbox backends may deliver notifications without an associated
data payload. This can occur when the mailbox is used as a signal-only
mechanism, where struct mbox_msg is NULL, data is NULL, or size is zero.

The IPM mailbox callback currently assumes a valid data payload and
unconditionally dereferences data->data, which can lead to a NULL
pointer dereference for such mailbox implementations.

Update the IPM mailbox callback to tolerate empty mailbox messages and
invoke the IPM callback with a NULL payload pointer when no data is
present. This preserves notification semantics while preventing
runtime faults.

Signed-off-by: Ben Levinsky <ben.levinsky@amd.com>
2026-01-09 17:11:44 -06:00
Elmo Lan
cb82c96dbb drivers: i2c_dw: recovery i2c bus after when user abort
When the transfer timeout and driver set user abort,
we need go recovery flow to make sure bus recovery and reg recovery.

Signed-off-by: Elmo Lan <elmo_lan@realtek.com>
2026-01-09 17:10:38 -06:00
Pisit Sawangvonganan
b6f28127bd drivers: can: mcan: consolidate filter_id bounds checking
Consolidate lower and upper bounds checking of `filter_id`
at `can_mcan_remove_rx_filter` function entry to avoid checking
upper bounds while holding the mutex.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2026-01-09 14:29:10 -06:00
Pisit Sawangvonganan
4f71ba0918 drivers: dma: stm32u5: consolidate callback in dma_stm32_irq_handler
Refactor IRQ handler to set status variable in each branch and invoke
the callback once at the end, reducing code duplication.

Add null check for `dma_callback` in dma_stm32u5.c to match with
dma_stm32.c pattern.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2026-01-09 14:28:41 -06:00
Pisit Sawangvonganan
fad7535db9 drivers: dma: stm32: consolidate callback in dma_stm32_irq_handler
Refactor IRQ handler to set status variable in each branch and invoke
the callback once at the end, reducing code duplication.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2026-01-09 14:28:41 -06:00
Vincent Tardy
8bb85a6cbd drivers: bluetooth: hci: support driver close feature
Update stm32wbax ble hci driver to support driver close

Signed-off-by: Vincent Tardy <vincent.tardy@st.com>
2026-01-09 14:27:00 -06:00