Commit graph

28,390 commits

Author SHA1 Message Date
Canyon Bliss
4bcd589bcf drivers: disk: sdmmc_stm32: Provide erase when sdmmc is used in eMMC mode.
If `CONFIG_SDMMC_STM32_EMMC=y`, the compiler complains about undefined
reference to `HAL_SD_Erase()` because those files are not included in the
build. Unfortunately, if eMMC is installed `CONFIG_SDMMC_STM32_EMMC=n`
is not an option because the SD and eMMC protocols are different enough
that eMMC will not work.

Signed-off-by: Canyon Bliss <canyon@recursivebliss.com>
2026-03-04 11:43:40 +01:00
Muhammad Waleed Badar
312f3a4958 drivers: input: cst816s: add cst820 chip ID
Validate the chip ID using a switch statement, use correct variant
name for chip id macros and add support for CST820_CHIP_ID (0xB7).

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
2026-03-04 11:43:21 +01:00
Stefan Schmidt
61c2d9b170 drivers: audio: tlv320dac310x
This PR allows to use the VOL/MICDET pin to control the DAC volume.
See chapter 6.3.10.3 Volume Control Pin of the datasheet.

Signed-off-by: Stefan Schmidt <kontakt@stefanschmidt-embedded.de>
2026-03-04 11:42:51 +01:00
Gerard Marull-Paretas
a9d73390f8 drivers: watchdog: sf32lb: add support for whole reset
Allow users configuring the reset mode (whole chip or HCPU only).

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2026-03-04 11:42:43 +01:00
Gerard Marull-Paretas
cc29015da6 drivers: watchdog: sf32lb: configure WDT to be reboot cause
Configure WDT to be a reboot cause.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2026-03-04 11:42:43 +01:00
Haoran Jiang
06b27fd34f drivers: crypto: sf32lb: Add sf32lb crypto drivers
Add sf32lb crypto drivers, include AES and SHA algo

Signed-off-by: Haoran Jiang <halfsweet@halfsweet.cn>
2026-03-04 11:38:33 +01:00
Hieu Nguyen
de4383a0b5 drivers: counter: Initial support for RZ/A2M
Add Counter driver support for Renesas RZ/A2M

Signed-off-by: Hieu Nguyen <hieu.nguyen.ym@bp.renesas.com>
Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
2026-03-04 11:38:24 +01:00
Hieu Nguyen
959102d7a7 drivers: timer: Update timer driver for RZ/A2M
Update timer driver for RZ/A2M

Signed-off-by: Hieu Nguyen <hieu.nguyen.ym@bp.renesas.com>
Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
2026-03-04 11:38:24 +01:00
Andreas Wolf
0180ba1ce8 drivers: dac: Add drivers for TI DAC family X311 on SPI bus
Add shared code in 'dac_dacx311.c' and configuration files.
Support power mode bits via configuration.

Signed-off-by: Andreas Wolf <awolf002@gmail.com>
2026-03-04 11:37:33 +01:00
Alberto Escolar Piedras
80a2864807 Revert "dts: nxp: mcx: delete "nxp,cmc-reset-cause" compatible"
This reverts commit 2d17d0c613
as it introduced a failure in main which can be reproduced for example
with
```
mkdir build && cd build
cmake -GNinja -DBOARD=frdm_mcxw71/mcxw716c \
  ../samples/net/sockets/echo_client/
ninja
```

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2026-03-03 11:47:51 -08:00
Armando Visconti
6bc55daffc drivers/sensor: st: Add I2C/I3C/SPI RTIO setting in Kconfig
I2C_RTIO, I3C_RTIO and SPI_RTIO should be selected in the driver
itself on the basis of which busses have these devices instances.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2026-03-03 19:13:49 +00:00
Lin Yu-Cheng
dd0d442ddc drivers: i2c_dw: adjust the error check handling flow
The read clear in i2c_dw_error_chk() will misclean the tx_abrt interrupt.

This patch will move the read clear function into the isr handler
to make the transaction flow end normally.

Signed-off-by: Lin Yu-Cheng <lin_yu_cheng@realtek.com>
2026-03-03 19:13:30 +00:00
Amneesh Singh
fe1103b044 mbox: ti_secproxy: change initialization priority
Remove MBOX_TI_SECURE_PROXY_PRIORITY in favor of MBOX_INIT_PRIORITY which
by default is set to 40, which is desirable so that the priority dependency
on interrupt controllers like ARM GICv3 gets fulfilled. This change is for
convenience of building at default priorities.

Signed-off-by: Amneesh Singh <amneesh@ti.com>
2026-03-03 18:00:13 +01:00
Amneesh Singh
f479c0f1e1 firmware: tisci: change initialization priority
Change priority from KERNEL_INIT_PRIORITY_OBJECTS to
KERNEL_INIT_PRIORITY_DEFAULT so that the priority dependency on TI secure
proxy mailbox fulfilled.

Signed-off-by: Amneesh Singh <amneesh@ti.com>
2026-03-03 18:00:13 +01:00
Amneesh Singh
92ed4ba238 clock_control: tisci: change initialization priority
Change priority from KERNEL_INIT_PRIORITY_OBJECTS to
KERNEL_INIT_PRIORITY_DEFAULT so that the priority dependency on TISCI
protocol/firmware layer gets fulfilled.

Signed-off-by: Amneesh Singh <amneesh@ti.com>
2026-03-03 18:00:13 +01:00
Andrej Butok
2d17d0c613 dts: nxp: mcx: delete "nxp,cmc-reset-cause" compatible
- Deletes virtual "nxp,cmc-reset-cause" compatible,
  as it is covered by existing "nxp,cmc".
- Fixes the issue discovered during discussion in
  https://github.com/zephyrproject-rtos/zephyr/issues/104464
  #issuecomment-3957779329

Signed-off-by: Andrej Butok <andrey.butok@nxp.com>
2026-03-03 17:59:07 +01:00
Ryan McClelland
fc12039b08 drivers: i2c: rtio: add NULL check before accessing CQE
rtio_cqe_consume() can return NULL, but the result is dereferenced
and released without any NULL check. Add a NULL guard to avoid a
NULL pointer dereference, returning -EIO on failure.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2026-03-03 17:58:44 +01:00
Ryan McClelland
17dcbd5bdc drivers: i3c: rtio: avoid releasing NULL CQE
rtio_cqe_release() is called unconditionally after rtio_cqe_consume(),
but if the consume returns NULL, this passes a NULL pointer to the
release function. Move the release call inside the non-NULL branch.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2026-03-03 17:58:44 +01:00
Dmitrii Sharshakov
d3b5a1fc7e led_strip: add a shell for address RGB LEDs
This shell enables manual interaction with led_strip devices like
WS2812 address LEDs.

Example of interaction:
```
uart:~$ led_strip update_rgb ws2812 111111 111111
Invalid number of colors 2 (max 1)
uart:~$ led_strip update_rgb ws2812 1a0011
ws2812: updating 1 pixels: (26, 0, 17)
uart:~$ led_strip update_rgb ws2812 000011
ws2812: updating 1 pixels: (0, 0, 17)
uart:~$ led_strip update_rgb ws2812 1a2200
ws2812: updating 1 pixels: (26, 34, 0)
```

Signed-off-by: Dmitrii Sharshakov <d3dx12.xx@gmail.com>
2026-03-03 17:56:17 +01:00
Michal Princ
e9f5d0b4a1 drivers: clock_control: enable sema420, sema423, sema424 clock control
enabled sema420, sema423, sema424 peripheral clock control through
clock_control (syscon) driver

Signed-off-by: Michal Princ <michal.princ@nxp.com>
2026-03-03 13:31:38 +01:00
Francois Ramu
ecc8af4a08 drivers: flash: stm32u3 erase with BKER reset on single bank 512K
On the stm32U3 with 512K of flash in a single bank,
reset the BKER bit of the FLASH_CR register.
See RefMan Table Flash module organization"
Note "2. When DUALBANK is set to 0 in the option bytes,
for 512-Kbyte single-bank STM32U375/385 devices,
the flash is addressed as a single bank,
and the page numbers are continuous from 0 to 127.
Set BKER = 0 to select bank 1."

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2026-03-03 13:30:50 +01:00
Francois Ramu
b844fb6d7f drivers: flash: stm32u3 flash erase or program on voltage scale1
On the stm32U3 series, erase/program operation requires
the voltage range is set to range 1.
This is done before loop on erase/write and the initial voltage
range is restored afterwards.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2026-03-03 13:30:50 +01:00
Francois Ramu
8167e1c5d9 drivers: flash: stm32u3 flash page layout
On the stm32U3, like it is on the stm32U5 series,
gives the exact nb of pages of 4KB depending on the flash size.
For the page layout, the nb of pages does not depends on the
DUALBANK option byte.

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2026-03-03 13:30:50 +01:00
Magdalena Szumny
9227aa7880 net: nsos: add getpeername and getsockname
Add implementation of getpeername and getsockname to NSOS driver.

Signed-off-by: Magdalena Szumny <magdalena.szumny@assaabloy.com>
2026-03-03 13:29:14 +01:00
Nhut Nguyen
b0cfb78172 drivers: intc: Add support for Renesas RZ/G3E
Update GPIO interrupt (TINT) to support Renesas RZ/G3E

Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2026-03-03 13:28:32 +01:00
Hoang Nguyen
e42c9ac45c drivers: serial: Add support for Renesas RZ/G3E
Add serial driver support for Renesas RZ/G3E

Signed-off-by: Hoang Nguyen <hoang.nguyen.jx@bp.renesas.com>
Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2026-03-03 13:28:32 +01:00
Y Huynh
41ab6863e0 soc: renesas: rx: Init RX clocks in soc_early_init_hook
The clock initialization for RX devices is not appropriate when it is
placed under the root clock node. Without an external fixed clock on the
board, the clock is never initialized. Therefore, the clock
setup must be handled inside soc_early_init_hook.

Signed-off-by: Y Huynh <y.huynh.xw@renesas.com>
2026-03-03 11:29:36 +01:00
Hui Bai
1ea2e5be64 drivers: wifi: nxp: Reconfigure bandcfg when disabling AP
Reconfigure the bandcfg when disabling AP so that the band
configurations are match between hostapd and wifi driver.

Signed-off-by: Hui Bai <hui.bai@nxp.com>
2026-03-03 11:28:51 +01:00
Mustafa Taher
6a4d18b036 drivers: stepper: gpio_stepper: fixing naming inconsistency
rename gpio_step_dir.c to gpio_step_dir_stepper_ctrl.c
rename h_bridge_stepper.c to h_bridge_stepper_ctrl.c
remover zephyr prefix from gpio_step_dir_stepper_ctrl.c structs
add ctrl suffix to h_bridge_stepper_ctrl.c structs and function
rename in kconfig to match
adds a prefix STEPPER_ in cmake to comply the changes in the kconfig

Signed-off-by: Mustafa Taher <mustafataherramp@gmail.com>
2026-03-03 11:28:12 +01:00
John Batch
304fdce920 drivers: gpio: Infineon: enable input+output mode and bug fixes
- Enables GPIO input+output mode to enable gpio_api_1pin test
- Retains current pin state when no output init flag specified.
- Adds pull up register validation, sets pull up register in
  both pull-up and pull-up+pull-down cases.

Signed-off-by: John Batch <john.batch@infineon.com>
2026-03-03 11:26:53 +01:00
John Batch
ff093ee750 drivers: gpio: Infineon: refactor drive mode selection into helpers
Refactors the drive mode selection logic for input and output pins into
dedicated helper functions.

Signed-off-by: John Batch <john.batch@infineon.com>
2026-03-03 11:26:53 +01:00
Raffael Rostagno
72fb9bf4b0 drivers: systimer: xtensa: Add CCOUNT compensation
Add CCOUNT compensation for time spent in LPM mode (CPU stalled).
Add sys_clock_idle_exit() for dticks announcement when leaving LPM.
Add hooks for SoC specific implementation of LP timer timestamp call.

Signed-off-by: Raffael Rostagno <raffael.rostagno@espressif.com>
2026-03-03 11:17:51 +01:00
Mathieu Choplain
9ec2cd318f drivers: usb: dc: stm32: don't invoke callbacks from ISR context
Modify driver to process interrupts from upper half ISR then signal a
bottom half ISR thread which performs callback invokation. This ensures
callbacks run in thread context which is necessary for proper operation of
various classes.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-03-03 11:16:21 +01:00
Vincent Tardy
05f7e6ab0e drivers: bluetooth: hci: stm32wba: fix semaphore issue in send process
In the bt_hci_stm32wba_send() function, in case of the function
bt_buf_get_evt() fails, call k_sem_give() before return.

Signed-off-by: Vincent Tardy <vincent.tardy@st.com>
2026-03-03 11:15:26 +01:00
Vincent Tardy
0bc65088a3 drivers: ieee802154: Restore channel during driver start api
Restore the channel in the stm32wba_802154_start()
function because channel is reset by the link layer
when the stm32wba_802154_ral_sleep() is called
in the stm32wba_802154_stop() function.

Signed-off-by: Vincent Tardy <vincent.tardy@st.com>
2026-03-03 11:15:26 +01:00
Vincent Tardy
9b5182fea1 drivers: ieee802154: Manage continuous reception config in start/stop
Disable continuous reception when ieee802154 stop
is called.
Configure continuous reception when ieee802154 start
is called.

Signed-off-by: Vincent Tardy <vincent.tardy@st.com>
2026-03-03 11:15:26 +01:00
Vincent Tardy
dee7f1d701 drivers: flash: stm32wba: add Flash Module initialization
Add FM_Init() function call in the Flash driver initialization
to initialize the Flash Module.
This function is introduced by the STM32Cube_FW_WBA_V1.8.0
release.

Signed-off-by: Vincent Tardy <vincent.tardy@st.com>
2026-03-03 11:15:26 +01:00
Yongxu Wang
8a4046610a drivers: mcux_lptmr_timer: support tickless function
When tickless is enabled, it is necessary to ensure
that lptmr can be set for a period of time instead of generating
an interrupt at one tick.

LPTMR hardware does not synchronize writes to the
compare register (CMR)
If CMR is changed exactly when the counter increments,
the hardware may compare part of the counter against
the old CMR value and part against the new one, leading to TCF
being set incorrectly on some SoCs.

Reorder the update sequence to:
- disable the LPTMR interrupt,
- clear TCF,
- write the new CMR,
- re-enable the interrupt.

This provides a safe workaround for tickless mode case.

Signed-off-by: Yongxu Wang <yongxu.wang@nxp.com>
2026-03-03 11:08:56 +01:00
Yongxu Wang
c3ecf9b959 drivers: timer: mcux_lptmr: add prescaler bypass support
Add support for prescaler bypass configuration via devicetree
property. This aligns the timer driver with the counter driver
implementation.

Signed-off-by: Yongxu Wang <yongxu.wang@nxp.com>
2026-03-03 11:08:56 +01:00
Tim Pambor
db35a360bd drivers: mspi: stm32_xspi: fix error for valid CE polarity
Logic for error handling for CE polarity was inverted, causing
configuration to incorrectly return early without completing
the configuration when a valid CE polarity was provided.

Signed-off-by: Tim Pambor <tim.pambor@codewrights.de>
2026-03-02 16:00:25 -08:00
Tahsin Mutlugun
b3c0247789 drivers: counter: max32: Correctly handle external clock frequency
On MAX32 SoCs, some timer instances can use an external clock input.
This commit ensures that when the external clock is selected as the
source, its frequency is read and used correctly.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
2026-03-02 15:59:25 -08:00
Tahsin Mutlugun
2226976c56 drivers: counter: max32: Add pinctrl support for timer I/O signals
MAX32 timers can optionally use external input/output pins.
Enable pinctrl support in the counter driver so these pins
can be properly configured via device tree.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
2026-03-02 15:59:25 -08:00
Pete Johanson
0e3fcdfeb0 drivers: ad559x: Make reset-gpios optional
Properly handle the scenario where the reset GPIO is not connected, and
simply rely on software reset during init.

Signed-off-by: Pete Johanson <pete.johanson@analog.com>
2026-03-02 15:57:40 -08:00
Michał Stasiak
b379badf41 drivers: audio: nrfx_pdm: allow requesting ACLK clock
Now that requesting ACLK made it into PDM driver,
allow it on target with CLKSELECT as long as
clock control is enabled.

Signed-off-by: Michał Stasiak <michal.stasiak@nordicsemi.no>
2026-03-02 15:55:59 -08:00
Raul Hernandez
ac8edad7d3 drivers: mbox: rpi_pico: support NS SIO base address
Refer to this comment for more information:
https://github.com/zephyrproject-rtos/zephyr/pull/92923#discussion_r2637725041

This patch enables Non-Secure mode support for the RP2350 MBOX
driver. It replaces the hardcoded SIO base address with the address
derived from the devicetree parent node. This allows the driver to
use the correct hardware alias in both Secure and Non-Secure contexts.

Signed-off-by: Raul Hernandez <raul.hernandez@spaceface.dev>
2026-03-02 15:52:52 -08:00
Lucien Zhao
a2f0191e2e drivers: gpio: mcux_rgpio: use cfg_idx instead of pin for pue_mux access
Fix incorrect array index on line 101. Should use cfg_idx (which accounts
for non-contiguous pin layouts) instead of pin when accessing pin_muxes
array elements. This prevents potential out-of-bounds access and ensures
correct pull configuration on i.MX RT118x SOCs.

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2026-03-02 15:45:15 -08:00
Lay Desai
d7a4b690c9 drivers: hwinfo: Add mspm0 hwinfo driver to CMakeLists
The hwinfo driver for mspm0 was added to CMakeLists, so it gets
compiled in.

Signed-off-by: Lay Desai <lay.desai@he360.com>
2026-03-02 15:44:51 -08:00
Valerio Setti
7c37e95875 drivers: crypto: mbedtls_shim: remove legacy code
Remove inclusions that date back to the original addition of this driver
and that are no more required when PSA API is used.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2026-03-02 11:04:26 +01:00
Ryan McClelland
1292751fdc drivers: i3c: ccc: fix setvendor sending direct CCC without target
i3c_ccc_do_setvendor() uses I3C_CCC_VENDOR(false, id) indicating a
direct CCC, but never sets up the target payload with the target's
address. The memset zeros out targets.num_targets and targets.payloads,
so the CCC is sent with no target address.

Add a ccc_tgt_payload with the target's dynamic address and the
write data, matching how i3c_ccc_do_getvendor() is structured.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2026-03-02 11:03:57 +01:00
Ryan McClelland
2df0e8c20c drivers: i3c: ccc: fix RSTDAA direct using wrong R/W bit
i3c_ccc_do_rstdaa() sets rnw = 1 (read) for the directed RSTDAA CCC,
but per the I3C spec RSTDAA is a Direct Write CCC with zero data
bytes. This causes the wrong R/W bit to be driven on the bus header.

Change rnw to 0 to correctly indicate a write operation.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2026-03-02 11:03:57 +01:00