Commit graph

25,525 commits

Author SHA1 Message Date
Sergei Ovchinnikov
3ae0d39de7 drivers: sensor: npm13xx_charger: improve sample fetching
Change the npm13xx_charger fetch function to first trigger a sample
and then block until the result is available.

Signed-off-by: Sergei Ovchinnikov <sergei.ovchinnikov@nordicsemi.no>
2025-10-15 15:38:48 +03:00
Andrzej Głąbek
c3469a6764 drivers: flash_mspi_nor: Take into account MSPI controller packet limit
Use information provided in the dts node for the MSPI controller
regarding maximum amount of data that can be transferred in one
packet and split the requested transfers if necessary.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-10-15 15:37:40 +03:00
Kevin Gillespie
01ccfb4404 drivers: serial: uart_max32: add power management support.
Add power management support to UART driver.

Signed-off-by: Kevin Gillespie <Kevin.Gillespie@analog.com>
2025-10-15 15:36:42 +03:00
Quy Tran
8d98b4acbd drivers: comparator: Add comparator driver support for RX
Add comparator support for Renesas RX with LVD

Signed-off-by: Quy Tran <quy.tran.pz@renesas.com>
2025-10-15 12:07:46 +03:00
Abhinav Kulkarni
2ccb1128b9 drivers: wifi: nxp: Add host sleep support
Added host sleep support for IW416 and IW61X soc.

Signed-off-by: Abhinav Kulkarni <abhinav.kulkarni@nxp.com>
2025-10-15 12:06:12 +03:00
Chaitanya Tata
9a13407e3e drivers: nrf_wifi: Rejig band config
nRF71 supports tri-band, so, to cater both nRF70 and nRF71, rejig the
configuration and add a helper to convert from Kconfig to the interface
structs.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-10-15 12:06:01 +03:00
Chaitanya Tata
91c0e15720 drivers: nrf_wifi: Use new nRF71 interface files
nRF70 and nRF71 now use different interface files, fix the build.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-10-15 12:06:01 +03:00
Chaitanya Tata
8c5a5ae199 drivers: nrf_wifi: Fix NRF71 build
NRF71 doesn't have direct memory access, so, disabled the rpu stats
memory variant.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-10-15 12:06:01 +03:00
Tahsin Mutlugun
5dfc4a2723 drivers: i3c: i3c_max32: Init bus only if known devices exist
CCC operation fails when no known devices exist, causing whole bus
initialization procedure to fail. Do not initialize the bus if no known
devices exist.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
2025-10-15 12:05:34 +03:00
Tahsin Mutlugun
dcd16cabd3 drivers: spi: spi_max32: Fix race condition on dma_stat
A race condition occurs when the TX DMA callback is triggered before
the `dma_stat` variable is initialized to zero. This leads to
`dma_stat` being reset after the DMA TX done flag is already set.

To prevent this, move the initialization of `dma_stat` before starting
the DMA load operation.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
2025-10-15 12:05:24 +03:00
Jiafei Pan
04c9da22d7 drivers: ram_console: fix code typo
It should use semicolon.

Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-10-15 12:03:51 +03:00
Luis Ubieda
a762327546 icm45686: fix: Add and use result from completion callback
Issue based on rebasing with in-flight changes where the callback adds
an argument on the readout transfers. Moreover, handle that result and
error if failure.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-10-15 12:02:54 +03:00
Luis Ubieda
5dd5a519e3 icm45686: fix helper function to not receive int_status
As such decision is taken based on the streaming configuration.
Addresses compilation issue.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-10-15 12:02:54 +03:00
Rémy Dziemiaszko
c34e224a1b drivers: uart_mcux_flexcomm: fix dma rx config
The DMA configurations for TX and RX  were mixed-up
letting the DMA RX channel not fully configured.

This fix correctly configures the DMA RX channel
with DMA_ADDR_ADJ_NO_CHANGE.

Signed-off-by: Rémy Dziemiaszko <remy.dziemiaszko@smile.fr>
2025-10-14 17:27:29 -04:00
Abhinav Kulkarni
2de3cb9e6d Drivers: wifi: nxp: kconfig update
Update kconfig file to support CSI feature on IW416 and IW612 soc's.

Signed-off-by: Abhinav Kulkarni <abhinav.kulkarni@nxp.com>
2025-10-14 17:25:45 -04:00
Jérôme Pouiller
5ea24f0647 drivers: memc: siwx91x: Fix clock
Siwx91x memory controller is currently 4 times slower than expected.
Investigations point out the clock is not correct.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-10-14 18:53:47 +02:00
Jérôme Pouiller
e4c3090586 drivers: memc: siwx91x: Do not override clock configuration
In the original HAL, sl_si91x_psram_init() and sl_si91x_psram_uninit() were
also in charge of configuring the pinctrl and the clocks. A workaround
have been introduced to avoid change in pinctrl but they still changed the
clock configuration.

We definitely need to expose the clock configuration to Zephyr users. The
HAL has been patched to split the sl_si91x_psram_*init() function in
smaller pieces. So it is possible to configure the devic without changing
the clock or the pinctrl. Let's use these new functions.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-10-14 18:53:47 +02:00
Jérôme Pouiller
bb0b45dd53 drivers: memc: siwx91x: Drop orphan struct
PSRAMSecureSegments is in fact orphan.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2025-10-14 18:53:47 +02:00
David Boullie
8249ca582a soc: silabs: s2: Move RAIL interrupts installer
Move the RAIL interrupts installer from the Bluetooth HCI driver
to the SoC layer so that it can be used by other subsystems
as well.

Signed-off-by: David Boullie <David.Boullie@silabs.com>
2025-10-14 18:51:57 +02:00
Stefan Schwendeler
cb772579f4 driver: spi: spi_release() implementations requires an owner check
Without this check, `spi_context_unlock_unconditionally()` is capable
to release the SPI bus semaphore (ctx->lock) which might be taken by
another SPI slave device in the meantime.

Actually, this race condition happens when `spi_release()` is called
when the SPI slave device in question (spi_cfg) has already released
its chip select and also the SPI bus lock semaphore.

So, any not required call of `spi_release()` may result in a SPI
communication issue where the SPI bus lock, held by another SPI
slave device, is prematurely released.
The observable result is the simultaneous engagement of two SPI
chip selects after such an SPI release call.

Signed-off-by: Stefan Schwendeler <Stefan.Schwendeler@husqvarnagroup.com>
2025-10-14 07:45:13 -04:00
Chaitanya Tata
fdd7100933 drivers: nrf_wifi: Implement vendor stats
Populate the vendor stats with nRF70 FW statistics, this is handy in
debugging.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-10-14 07:44:51 -04:00
Jakub Klimczak
e783292ebd drivers: serial: virtio_console: Remove superfluous spinlocks
Spinlocks in functions virtconsole_control_recv_cb and
virtconsole_send_control_msg were unnecessary since those were called
from virtio_pci_isr or virtio_mmio_isr, which already use spinlocks.

Signed-off-by: Jakub Klimczak <jklimczak@internships.antmicro.com>
2025-10-14 07:44:12 -04:00
Jakub Klimczak
ff19a01868 drivers: serial: virtio_console: Make Kconfig more informative
Add descriptions to the Kconfig file and restructure it slightly.

Signed-off-by: Jakub Klimczak <jklimczak@internships.antmicro.com>
2025-10-14 07:44:12 -04:00
Jakub Klimczak
64b321f72c drivers: serial: virtio_console: Postpone transmission of control messages
There was a bug in the VIRTIO Console driver which could cause a deadlock
by attempting to add buffers to the control-tx virtqueue too fast and
with an infinite timeout.
This commit fixes it by placing messages that couldn't be sent in a FIFO
queue and taking care of them later in a callback function.

Signed-off-by: Jakub Klimczak <jklimczak@internships.antmicro.com>
2025-10-14 07:44:12 -04:00
Chris Friedt
2870082ad9 drivers: mfd: npm13xx: namespace TIMER_MAX to avoid conflict
`TIMER_MAX` is part of POSIX and defined in limits.h.

To avoid conflict with the standard, namespace the local definition with a
`NPM13XX_` prefix.

This fixes an issue that appeared in weekly CI:

https://github.com/zephyrproject-rtos/zephyr/actions/runs/18437938778/\
job/52533996345

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-10-14 07:43:49 -04:00
Phi Tran
889a21d69d drivers: serial: Add DTC support for serial driver and implement Async API
Update serial driver support for RX MCU:
- Add DTC support for SCI UART driver.
- Implementation Async APIs for serial driver.

Signed-off-by: Phi Tran <phi.tran.jg@bp.renesas.com>
2025-10-14 12:53:49 +03:00
Phi Tran
58dac199c2 drivers: dtc: support dtc driver on RSK_RX130_512KB.
Initial commit to support DTC driver on Renesas RX130.
* drivers: DTC: implementation for DTC driver on RX130.
* dts: rx: update dts node in SoC layer to support DTC on RX130.

Signed-off-by: Phi Tran <phi.tran.jg@bp.renesas.com>
2025-10-14 12:53:49 +03:00
Qingsong Gou
ee9843cfe4 drivers: serial: sf32lb: add uart interrupt support
add sf32lb52x uart interrupt support

Signed-off-by: Qingsong Gou <gouqs@hotmail.com>
2025-10-14 12:53:11 +03:00
Minh Tang
4c74ff8a0b drivers: ctsu: Add support CTSU driver for RX MCUs
Add support for Capatitive Touch Sensing Unit driver for RX MCUs

Signed-off-by: Minh Tang <minh.tang.ue@bp.renesas.com>
2025-10-14 12:52:50 +03:00
Felix Wang
705a015b53 drivers: pwm: Enable PWM capture feature for TPM
This implementation refers to the code from FTM,
which supports to capture pulse and period.

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2025-10-14 12:51:33 +03:00
Declan Snyder
eeabcd84f9 soc: mcxn947: Enable TRNG
Enable TRNG driver of MCXN947.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-10-14 12:51:22 +03:00
Declan Snyder
4770b8293f drivers: entropy: Add basic driver for ELS RNG
Adds a very rudimentary driver for getting some entropy from the
edgelock subsystem random number generator.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-10-14 12:51:22 +03:00
Allen Zhang
390b0a31d5 tests: drivers: watchdog: Support wdt_basic_reset_none on mcxw23 boards
Support wdt_basic_reset_none on frdm_mcxw23 and mcxw23_evk boards

Signed-off-by: Allen Zhang <chunfeng.zhang@nxp.com>
2025-10-13 18:14:11 -04:00
Yves Wang
1f9e39752a drivers: watchdog: wdog32: add delay before init
WDOG32 requires at least 2.5 periods of wdog clock after start up or
before reconfig.

Signed-off-by: Yves Wang <zhengjia.wang@nxp.com>
2025-10-13 18:14:00 -04:00
Yves Wang
b1b32bfc3d drivers: watchdog: wdog32: format source code
Format code with clang format.

Signed-off-by: Yves Wang <zhengjia.wang@nxp.com>
2025-10-13 18:14:00 -04:00
Missael Maciel
4dee6c0cd2 drivers: memory: aps6404l: Removed addressshift field from APS6404L driver
Memory APS6404L does not support address shift feature.
Since it is being configured for different platforms that uses this
memory, this is cauing an error while building.

Signed-off-by: Missael Maciel <davidmissael.maciel@nxp.com>
2025-10-13 18:13:01 -04:00
Pieter De Gendt
6728e78576 Revert "shell: Add user data argument to shell_set_bypass"
Revert a change that broke the stable API function shell_set_bypass.
This reverts commit 6b876dba1ba61b659b1b2d4c3ccd0ac41bd56027.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2025-10-13 18:12:42 -04:00
Etienne Carriere
1beb3d36dd drivers: mdio: stm32: don't mix HAL return value and errno
Correct mdio_stm32_read() and mdio_stm32_write() to return a valid errno
instead of mixing HAL return values and errno return values.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-10-13 11:27:34 -04:00
Etienne Carriere
617335951f drivers: ethernet: stm32: add missing empty line
Add missing empty line between local variable definitions and
instructions in eth_stm32_set_mac_config().

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-10-13 11:27:34 -04:00
Etienne Carriere
97ec44c909 drivers: ethernet: stm32: clean HAL_ETH_{Set|Get}DMAError() value test
Clean tests on HAL_ETH_SetDMAError() and HAL_ETH_GetDMAError() return
value to explicitly test against 0.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-10-13 11:27:34 -04:00
Etienne Carriere
83b1e12f4a drivers: ethernet: stm32: test HAL return value
Add missing test of some HAL functions return value

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2025-10-13 11:27:34 -04:00
Guillaume Gautier
88735a4aa1 drivers: adc: stm32: remove useless check of internal regulator state
Disabling the internal regulator is immediate so there is no need to check
the state of the Enable bit in the register.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-10-13 11:27:22 -04:00
Guillaume Gautier
67906ce049 drivers: adc: stm32: use the new differential support property
Use the new differential support property instead of relying on the series
name to determine if the ADC supports differential input channels.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-10-13 11:27:22 -04:00
Guillaume Gautier
7acd045e62 drivers: adc: stm32: use the new channel preselection property
Use the new channel preselection property instead of relying on the series
name to determine if the ADC channels need to be preselecting.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-10-13 11:27:22 -04:00
Guillaume Gautier
77be4b72eb drivers: adc: stm32: use the new deep powerdown property
Use the new deep powerdown property instead of relying on the series name
to determine if the ADC needs to be be put out or into deep powerdown mode.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-10-13 11:27:22 -04:00
Guillaume Gautier
7c719cefd5 drivers: adc: stm32: use the new internal regulator property
Use the new internal regulator property instead of relying on series name
to determine if the regulator should be enabled, and how to check that it
is ready.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-10-13 11:27:22 -04:00
Guillaume Gautier
a0cadb03c7 drivers: adc: stm32: relies on a ll define rather than series names
For managing the CCRDY flag, rely on the presence of the LL constant
LL_ADC_FLAG_CCRDY rather than a list of series.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-10-13 11:27:22 -04:00
Chris Friedt
ee3402321f drivers: smbus: stm32: support packet-error-checking (pec)
Add support for SMBus packet error checking (PEC) to the stm32 driver.
This feature allows SMBust communication to be slightly more robust in
the presence of noise, in that packet errors can be detected on the
receive side.

Signed-off-by: Andrew Lewycky <alewycky@tenstorrent.com>
Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-10-13 11:27:13 -04:00
Chris Friedt
52ae0c5ed9 drivers: smbus: provide packet-error-checking (pec) routines
In the case that SMBus hardware does not automatically perform packet
error checking (PEC), provide generic inline functions in
`zephyr/drivers/smbus.h` that can be used by drivers to perform PEC in
software.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
Signed-off-by: Andrew Lewycky <alewycky@tenstorrent.com>
2025-10-13 11:27:13 -04:00
Jimmy Zheng
679ce42f15 arch: riscv: custom: add Andes CSR support
Rework Andes-specific CSR to use RISC-V custom CSR common code.
Move these stuff to 'arch/riscv/custom/andes':

1. Rename 'soc_v5.h' to 'andes_csr.h' for CSR definitions.
2. Replace '_start' with '__reset' hook for low-level CSR initialization.
3. Move CSR context to common macro '__custom_csr_save/restore_context'.
4. Move 'EXECIT' CSR support to common code.
5. Move PMA CSR driver to common code.
6. Use RISC-V common linker.ld instead of SoC-specific linker.ld.

Signed-off-by: Jimmy Zheng <jimmyzhe@andestech.com>
2025-10-13 11:26:28 -04:00