Commit graph

28,390 commits

Author SHA1 Message Date
Marcio Ribeiro
ee4da4260a drivers: i2s: esp32: log messages rework
Reworks log messages to avoid timing issues

Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
2025-10-20 11:52:31 +02:00
Marcio Ribeiro
2ef4438fe6 drivers: i2s: esp32: allow deferred processing of an empty tx queue
Allows to defer processing of an empty tx queue when tx_callback is
executed. This prevents error conditions if the tx dma interrupt is
generated too early, as occurs with esp32 and esp32s2.

Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
2025-10-20 11:52:31 +02:00
Marcio Ribeiro
1745582838 drivers: i2s: consistent use of stream state
Reworks i2s_esp32_read() and i2s_esp32_write() to allow consistent use of
stream->data->state

Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
2025-10-20 11:52:31 +02:00
Marcio Ribeiro
2232acf3b0 drivers: i2s: esp32: add missing checks
Adds missing checks regarding mem_slab and data_format during each stream
configuration

Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
2025-10-20 11:52:31 +02:00
Marcio Ribeiro
075cbe67a7 drivers: i2s: esp32: fix redundant pin configuration
Moves the pinctrl_apply_state() call to avoid calling it twice

Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
2025-10-20 11:52:31 +02:00
Marcio Ribeiro
2d19d96b9e drivers: i2s: esp32: fix last block loss
Avoids erroneous memory block freeing when stopping transfers

Signed-off-by: Marcio Ribeiro <marcio.ribeiro@espressif.com>
2025-10-20 11:52:31 +02:00
David Boullie
a040028412 modules: hal_silabs: Add config for SiSDK Protocol Crypto
A Kconfig options for the SiSDK Protocol Crypto library, which provides
accelerated cryptographic primitives using the RADIOAES peripherals for
Series-2 devices.

Signed-off-by: David Boullie <David.Boullie@silabs.com>
2025-10-19 20:51:44 -04:00
Minh Tang
70a67385d0 drivers: comparator: Add comparator LVD driver support for RA
Add comparator support for RA with LVD module

Signed-off-by: Minh Tang <minh.tang.ue@bp.renesas.com>
2025-10-19 20:51:30 -04:00
Kurt Eckhardt
eb7e332b1b video: stm32_dcmi: DMA Error recovery
On several boards, such as the Arduino Giga and
Portenta H7, they are often times setup with their
camera buffers and potentially video buffers in
SDRam.  This can lead to a significant number of
DMA errors, which currently stops the camera from
returning any additional frames.

Signed-off-by: Kurt Eckhardt <kurte@rockisland.com>
2025-10-19 20:51:20 -04:00
Kurt Eckhardt
3d11ffd849 video: stm32_dcmi: forward selection
Forward the get_selection and set_selection APIs
to the camera objects, to allow some of the
selections to be supported at the camera level.

Signed-off-by: Kurt Eckhardt <kurte@rockisland.com>
2025-10-19 20:51:20 -04:00
Kurt Eckhardt
0cbfe585df video: gc2145: support for CROP
Implements the set_selection and get_selection APIs,
if forwarded to it by a camera controller.
It uses the new messages
to allow you to set a crop window on top of the
current format window.  It also then allows you
to move this crop window around in the frame
window.

With this driver I also updated it to allow any resolution
from the displays min to max limits.
static const struct video_format_cap fmts[] = {
  GC2145_VIDEO_FORMAT_CAP_HL(128, 1600, 128, 1200,
                              VIDEO_PIX_FMT_RGB565),
GC2145_VIDEO_FORMAT_CAP_HL(128, 1600, 128, 1200,
                              VIDEO_PIX_FMT_YUYV),

When the resolution is set, it computes the scale factor.

Using the set_selection(VIDEO_SEL_TGT_CROP) allows you
define a crop window within the format window.

It clamps the ratio to a max of 3 as some other
drivers limit it saying it helps with frame rates.

Signed-off-by: Kurt Eckhardt <kurte@rockisland.com>
2025-10-19 20:51:20 -04:00
Declan Snyder
3f66f0ba08 drivers: ksz8081: Fix fault on boot in handler thread
Issue was that the gpio interrupt was happening before the work item was
initialized, and then trying to schedule it, resulting null pointer
dereference and fault occurring.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-10-17 21:05:44 -04:00
Declan Snyder
57312acd18 drivers: ksz8081: Remove 100ms busy waits
These busy waits were only introduced during a debugging exercise and
not supposed to have made their way into mainline.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-10-17 21:05:44 -04:00
Stephan Linz
14cdbb9740 spi: stm32: move SPI context init to PM resume
In case of hardware controlled CS pins the SPI context must be
initialized after the clock and pin control have been initialized.
Otherwise, corresponding STM32 LL operations would access a SoC
functional unit that is not yet supplied with a clock and fail
silently without error handling.

Signed-off-by: Stephan Linz <linz@li-pro.net>
2025-10-17 21:05:36 -04:00
Adam BERLINGER
f6cd77a7aa dts: arm: st: u0: Add CK48 multiplexer
Adds CK48 mutliplexer for STM32U0 families.

Signed-off-by: Adam BERLINGER <adam.berlinger@st.com>
2025-10-17 21:04:42 -04:00
Chaitanya Gaikwad
ee3daf89f6 drivers: wifi: Infineon whd-expansion 1.2.1
Updated CMakeLists.txt to use bins directly with whd-expansion.
Updated Kconfig.airoc to include CYW55513UBG_SM.
Updated west.yml to latest hal_infineon revision.

Signed-off-by: Chaitanya Gaikwad <ChaitanyaSandeep.Gaikwad@infineon.com>
2025-10-17 21:03:03 -04:00
Robert Perkel
1d5ffe5cc5 drivers: sensor: microchip: mtch9010 Added mtch9010 support
Added support for MTCH9010 and applied edits from reviewers.

Signed-off-by: Robert Perkel <robert.perkel@microchip.com>
2025-10-17 21:02:44 -04:00
Fabian Barraez
6b8fcaeecf drivers: sensor: add support for ALS31300 3D Hall Effect Sensor
Add driver for Allegro Microsystems ALS31300 3-axis linear Hall Effect
sensor. The driver supports:
- I2C communication interface
- X, Y, Z magnetic field measurements
- Device temperature readings

Signed-off-by: Fabian Barraez <fabianbarraez@gmail.com>
2025-10-17 22:02:28 +03:00
Charles Dias
5bad29fa38 drivers: mipi_dsi: Add STM32U5 support to DSI driver
These changes enhance the driver's compatibility with the STM32U5 series,
enabling its use in applications requiring MIPI.

Signed-off-by: Charles Dias <charlesdias.cd@outlook.com>
2025-10-17 22:02:16 +03:00
Charles Dias
9c34b18cff dts: bindings: mipi-dsi: extend STM32 MIPI DSI support
These additions enhance the flexibility of the MIPI DSI host configuration
for STM32U5 series, enabling finer control over the DSI PLL and PHY
settings.

Signed-off-by: Charles Dias <charlesdias.cd@outlook.com>
2025-10-17 22:02:16 +03:00
Alain Volmat
320425847e video: stm32: addition of the STM32 JPEG HW Codec support
Initial version of the support for the STM32 JPEG HW codec,
currently supporting only NV12 to JPEG without DMA support
and using SW based conversion from NV12 to MCU required
for the JPEG codec.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-10-17 22:01:44 +03:00
Shreehari HK
371a27c849 drivers: sensor: tdk: icm42x70: update temperature data processing
Update the temperature data processing to
handle different data sizes based on FIFO configuration.
The temperature sensor data size and conversion
formula vary depending on the FIFO mode:
1. FIFO disabled: Uses 20-bit data format
2. FIFO enabled (standard resolution): 16-bit data
3. FIFO enabled (high resolution): 20-bit data

The implementation now:
- Uses the 'fifo_highres_enabled' flag
  to determine the correct data size
- Applies the appropriate conversion formula
  based on the resolution mode
- Handles all three possible FIFO configurations
- Ensures accurate temperature readings in all modes

Signed-off-by: Shreehari HK <shreehari.hk@alifsemi.com>
2025-10-17 22:01:32 +03:00
Mathieu Choplain
ef15c3d9ba drivers: clock_control: stm32: define STM32_HSE_CLOCK based only on DT
Ensure the CONFIG_CLOCK_STM32_HSE_CLOCK symbol cannot be overridden by
making it depend on the Device Tree node "clk_hse" being enabled. The
symbol's value is also directly sourced from that node instead of being
user-configurable.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2025-10-17 22:01:22 +03:00
Thomas Decker
0cd6f90da6 drivers: ethernet: stm32: Add support for SOC H7RS-Family
Add SOC_SERIES_STM32H7RSX to applicable Kconfig parameters and enable
use of .eth_stm32_desc and .eth_stm32_buf linker sections for ethernet
dma.

Signed-off-by: Thomas Decker <decker@jb-lighting.de>
2025-10-17 22:01:03 +03:00
Jilay Pandya
fa4d1c2104 drivers: stepper: Kconfig: fix bleeding Kconfigs
currently Kconfigs in stepper area are not uniformly organized
some folders have config while the others follow menuconfig

Also without having activated drivers explicitly following
Kconfigs appear in autoconf.h

CONFIG_STEPPER_ADI_TMC 1
CONFIG_STEPPER_ADI_TMC50XX_RAMPSTAT_POLL_INTERVAL_IN_MSEC 100
CONFIG_STEPPER_ADI_TMC51XX_RAMPSTAT_POLL_INTERVAL_IN_MSEC 100
CONFIG_STEPPER_ALLEGRO 1

refactor Kconfig.tmc51xx to tmc51xx folder
refactor adi_tmc bus related Kconfigs in adi_tmc/bus

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-10-17 22:00:39 +03:00
Aksel Skauge Mellbye
27a7cd5cc9 drivers: retained_mem: Add driver for Silicon Labs BURAM
Add retained memory driver for BURAM on Silicon Labs Series 2
devices. This is a 128-byte register-based backup memory available
in all power states.

Signed-off-by: Aksel Skauge Mellbye <aksel.mellbye@silabs.com>
2025-10-17 22:00:18 +03:00
Julien Panis
052ded1682 drivers: spi: cc23x0: Add power management
Add PM support to cc23x0 SPI module. This implies listing states which
cause power loss and enabling device runtime PM for the DMA in the DT.

Signed-off-by: Julien Panis <jpanis@baylibre.com>
2025-10-17 17:04:18 +03:00
Luna Pes
caae24e20e drivers: eeprom: fm25xxx: add support for infineon fm25xxx FRAM
This driver adds support for the Infineon FM25XXX series of chips.
Has been tested on Infineon FM25CL64B-G.

Signed-off-by: Luna Pes <zephyr@orangemurker.com>
2025-10-17 17:03:53 +03:00
Sylvio Alves
4eeb8fa95e mdio: esp32: fix gpio0 clock output
When GPIO0 is set as RMII clock, configure its
mux to clockout properly.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-10-17 17:03:41 +03:00
Anthony Williams
3d5417e654 sensor: icm45686: Move watermark threshold mode to DT config
Move the watermark threshold trigger mode to a configurable dt boolean.

When using the default configuration of watermark threshold
interrupt greater than or equals, extra interrupts are serviced
to icm45686_event_handler().

When `fifo-watermark-equals;` is added to the sensor DT overlay,
the new behavior is only one interrupt is generated per watermark
threshold crossing. Until the host drains the fifo, no extra interrupts
will be generated.

Signed-off-by: Anthony Williams <anthony289478@gmail.com>
2025-10-17 17:03:27 +03:00
Daniel Kampert
7a4c4a6f9b sensors: apds9306: Fix I2C write/read pointer issue
- Fix i2c_write_read_dt read buffer pointer
- Initialize val2 in apds9306_attr_get with 0

Closes #97623

Signed-off-by: Daniel Kampert <DanielKampert@kampis-elektroecke.de>
2025-10-17 17:02:24 +03:00
Martin Koehler
1667602b76 drivers: sensor: ti,ina226: Fixed calibration value
Issue:
- The calibration value had the correct elements but false operations
- This leads to wrong values or even saturation

Changes:
- Added explenation of formula
- Moved constant from MACRO into formula to get rid of the
  confusing 10000000ULL constant
- Added rounding for better results

Signed-off-by: Martin Koehler <koehler@metratec.com>
2025-10-17 11:18:38 +02:00
Martin Hoff
ccd505ffdc drivers: bluetooth: hci: siwx91x: create dependency with nwp
The bluetooth hci on silabs siwx91x depends on the nwp
(network coprocessor). This patch allows to check for the correct
initialization of the nwp before using bt hci on siwx91x.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-10-17 11:17:30 +02:00
Martin Hoff
ba1d267c62 soc: silabs: siwx91x: transform nwp soc files into a driver
The goal of this patch is to switch from the nwp.c and nwp.h soc files
to the new nwp driver. During this transition, we also renamed
CONFIG_WISECONNECT_NETWORK_STACK to CONFIG_SILABS_SIWX91X_NWP which are
a better naming to let the user knows that the network coprocessor files
will be added to the compilation.

The switch from a soc file to a driver device introduce a notion of nwp
device that allows us to check for good initialization and ressources
allocation.

Before this patch, it is not possible to know if the nwp have booted
successfully or not. We can now check if the device driver is ready
or not before trying to do operation related to the nwp.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-10-17 11:17:30 +02:00
Arunmani Alagarsamy
bdb64d1bbf drivers: wifi: siwx91x: fix client idle timeout in AP mode
The firmware interprets the client idle timeout in units of 32 beacon
intervals, not in milliseconds. This mismatch caused the applied timeout
to be higher than the configured value.

Fix the driver to use the correct unit.

Signed-off-by: Arunmani Alagarsamy <arunmani.a@silabs.com>
2025-10-17 11:17:01 +02:00
Valerio Setti
1bc2db575f modules: mbedtls: add new helper Kconfig symbol PSA_CRYPTO
The goal of new Kconfig PSA_CRYPTO_PROVIDER is to automatically enable
any of the PSA Crypto API provider available for the platform without
having the user to manually pick the proper one. This provider can be
either TF-M, if that's enabled in the build, or Mbed TLS otherwise.

PSA_CRYPTO_PROVIDER simplifies also modules/subsystem Kconfigs removing
blocks as:
	select MBEDTLS if !BUILD_WITH_TFM
	select MBEDTLS_PSA_CRYPTO_C if !BUILD_WITH_TFM

Kconfig PSA_CRYPTO_PROVIDER_CUSTOM is also added to allow the end user
to add a custom implementation of PSA Crypto API instead of TF-M or
Mbed TLS ones.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-10-17 11:16:25 +02:00
Valerio Setti
7b7b4fcde2 drivers: bluetooth: hci: do not select MBEDTLS_ENTROPY_C in BT_SILABS_EFR32
The driver only uses psa_generate_random() so ENTROPY_C is not required.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-10-17 11:16:25 +02:00
Valerio Setti
76037cec36 drivers: bluetooth: esp32: remove selection of MBEDTLS_PSA_CRYPTO_C
The driver code only relies on legacy Mbed TLS crypto, not on PSA API, so
enabling MBEDTLS_PSA_CRYPTO_C is not needed here.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-10-17 11:16:25 +02:00
Qiang Zhao
56098d60b4 drivers: dsa_nxp_imx_netc: add Qbv capability
add Qbv capability for dsa_nxp_imx_netc

Signed-off-by: Qiang Zhao <qiang.zhao@nxp.com>
2025-10-16 22:34:41 -04:00
Qiang Zhao
d507bf9a37 drivers: dsa_nxp_imx_netc: add DSA Qbv support
Add DSA Qbv support, add set_config/get_config to set and get
Qbv configuration. support enable/disable, set/get times,
set/get list length and set/get gate control list.

Signed-off-by: Qiang Zhao <qiang.zhao@nxp.com>
2025-10-16 22:34:41 -04:00
Stoyan Bogdanov
bc9fce18f2 drivers: serial: cc23x0: Replace incorrect macros
Replace CONFIG_PM with CONFIG_PM_DEVICE to include pm_lock
in cc23x0 UART driver in struct uart_cc23x0_data

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-10-16 22:31:52 -04:00
Stoyan Bogdanov
b82e7418c5 drivers: counter: cc23x0: Add dependency for RTC
In case RTC is used for system timer, it should not be used
as counter device. Dependency restricts counter driver to work
only with SYSTIM.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-10-16 22:31:52 -04:00
Stoyan Bogdanov
6bb5378fbe drivers: timer: cc23x0: Add option to select between RTC and SYSTIM
Add choice menu where could be selected between RTC or SYSTIM for
system timer.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-10-16 22:31:52 -04:00
Stoyan Bogdanov
ca6b18d808 drivers: timer: Add RTC timer driver for cc23x0
Add support for RTC as timer for cc23x0 SoC.

Signed-off-by: Stoyan Bogdanov <sbogdanov@baylibre.com>
2025-10-16 22:31:52 -04:00
Marcelo Roberto Jimenez
7777a39b63 drivers: net: Make slip use the interface name declared on Kconfig
Make the slip initialization code actually use the interface name set on
Kconfig.

Signed-off-by: Marcelo Roberto Jimenez <marcelo.jimenez@gmail.com>
2025-10-16 22:30:28 -04:00
Marcelo Roberto Jimenez
fca3d161ed drivers: net: Fix the slip initialization of the MAC address
This patch fixes a slip_get_mac() call in the wrong place, which was
causing the MAC address set in Kconfig not to be used.

Signed-off-by: Marcelo Roberto Jimenez <marcelo.jimenez@gmail.com>
2025-10-16 22:30:28 -04:00
James Bennion-Pedley
99b0c25d01 soc: wch: Add CH32V307 Support
Fixes PLL Issues with PR#95814.
Based on the work of Thomas Boje <info@andocs.biz>

Signed-off-by: James Bennion-Pedley <james@bojit.org>
2025-10-16 15:06:01 -04:00
James Bennion-Pedley
344241718a drivers: clock_control: Load correct PLL Multipliers based on look up table
Replaces inline PLL calculation with a LUT (to be based on WCH package)

Signed-off-by: James Bennion-Pedley <james@bojit.org>
2025-10-16 15:06:01 -04:00
Zhaoxiang Jin
b6c66b7858 west: update hal_nxp to mcux sdk 25.09.00
1. update hal_nxp to mcux sdk 25.09.00
2. Updated imxrt7xx part numbers to align with SDK.
3. Fixed typo in member of dsi_transfer_t structure. The sendDscCmd
and dscCmd shall be sendDcsCmd and dcsCmd.
4. Remove the call to the function 'CLOCK_OSC_GateOscRc400M'. This
function has been removed from the SDK.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2025-10-16 15:05:20 -04:00
Holt Sun
d4c6cdfd4f drivers: counter: mcux_snvs: update driver codes.
1. Add SRTC helper macros.
2. Implement start/stop APIs.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2025-10-16 15:04:18 -04:00