Commit graph

28,390 commits

Author SHA1 Message Date
Alain Volmat
f547fb1af5 video: dcmipp: put Pipe1 / pipe2 caps within preproc if statement
Correct compilation error due to usage of DCMIPP_PIPE1 / DCMIPP_PIPE2
on platform which do not have pixel pipes by putting those caps
under #if defined(STM32_DCMIPP_HAS_PIXEL_PIPES)
Put also DCMIPP_VIDEO_FORMAT_CAP macro inside since this is only used
for AUX / MAIN pipes.

Fixes: 126aaf6b72 ("video: dcmipp: expose dcmipp caps for all 3 pipes.")

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-10-28 17:41:28 +02:00
Alberto Escolar Piedras
0528554720 drivers/ethernet/eth_native_tap: Fix use of deprecated kconfig
In 200b886d3c a deprecated kconfig
option was brought back into the driver.
Let's fix it.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-10-28 17:40:51 +02:00
jhan bo chao
c0d973d170 drivers/espi: rts5912: handler all port 80 data until fifo is empty
The rts5912's port 80 has a FIFO. In the ISR (Interrupt Service Routine),
extract the FIFO data until the FIFO is empty, otherwise port 80 data will
be lost.

Signed-off-by: jhan bo chao <jhan_bo_chao@realtek.com>
2025-10-28 11:52:58 +02:00
Sylvio Alves
998d9ab04f drivers: crypto: expand mbedTLS shim driver capabilities
Select SHA24, SHA256 and SHA384 as part of the shim driver.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-10-28 11:51:04 +02:00
Sylvio Alves
4b4332ac18 drivers: crypto: return -ENOTSUP when needed
Make sure all crypto driver returns proper error
when feature is not supported.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-10-28 11:51:04 +02:00
Yongxu Wang
b6e7a754d8 drivers: timer: mcux_lptmr: Fix prescaler bypass from devicetree
The previous implementation had a logical error where the prescaler
could never be bypassed due to incorrect use of BIT() macro:

This patch fixes the issue by:

1. Remove BIT() wrapper from LPTMR_PRESCALER macro to use raw
   devicetree property value
2. Update bypass logic to check for zero value explicitly
3. Map DTS values to hardware register values correctly:
   - prescale_glitch_filter = 0 -> bypass prescaler
   - prescale_glitch_filter = n -> divide by 2^n,
     using register value (n-1)

The devicetree semantic is now:
- prescale_glitch_filter = <0>: No prescaling (bypass)
- prescale_glitch_filter = <1>: Divide by 2
- prescale_glitch_filter = <2>: Divide by 4
- prescale_glitch_filter = <3>: Divide by 8
- And so on...

Signed-off-by: Yongxu Wang <yongxu.wang@nxp.com>
2025-10-28 11:49:53 +02:00
Gerard Marull-Paretas
6807fa35a1 drivers: i2c: i2c-priv: document i2c_map_dt_bitrate
Document the helper function.

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2025-10-28 11:49:33 +02:00
Gerard Marull-Paretas
4dd6354a3b drivers: i2c: i2c-priv: drop logging
i2c_map_dt_bitrate uses LOG_ERR, however, one must define (or declare) a
log module where to sink the logs. Since this sits on a header file,
it creates a hidden include order dependency: you must include
i2c-priv.h after registering or declaring a log module on your driver.
Even worse, you are force to use logging in your drivers even if you do
not want to!

Signed-off-by: Gerard Marull-Paretas <gerard@teslabs.com>
2025-10-28 11:49:33 +02:00
Khoa Nguyen
bde6bdd168 drivers: flash: Fix Kconfig style for Renesas RA Flash-HP Kconfig
Fix Kconfig style for Renesas RA Flash-HP Kconfig

Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2025-10-28 11:48:44 +02:00
David Jewsbury
55af2824dc drivers: mspi_dw: Add CONFIG_MSPI_DW_DDR
Dual data rate isn't always supported so this
config enables/disables the relevant code in
the driver.

Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
2025-10-27 16:15:58 -04:00
David Jewsbury
4bf6a75628 drivers: mspi_dw: Edit core disable to after PM init
There is a scenario where a Bus fault occurs as the
power management isn't initialised yet and the core
is attempted to be turned off via the ssienr register.
This commit edits this so the core register is written
to after the initialisation of the power management.

Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
2025-10-27 16:15:58 -04:00
Erik Andersson
69bfd434e1 drivers: i2c_stm32_v2: fix assert in i2c event isr
For systems where the CPU / NVIC bus are considerably
faster than the peripheral bus used for I2C, there is
a risk that the isr handler returns before I2C controller
had time to clear its interrupt status flags

This would cause immediate re-entry to isr handler
which begins read from ISR register.
During time it take to re-enter and read from ISR register,
flags had time to be cleared
The isr handler expects that a flag is set, and in this case
when its not, an assert is triggered

The solution here is to make a dummy read from the ISR register before
returning from isr handler, this forces CPU to wait as long as needed
to ensure all writes to the I2C peripheral are completed

Fixes issue #97904

Signed-off-by: Erik Andersson <erian747@gmail.com>
2025-10-27 16:15:44 -04:00
Andrzej Głąbek
70fe961223 drivers: mspi_dw: Use uint32_t for dummy_bytes field
Since the driver allows transfer lengths up to `UINT16_MAX + 1` bytes,
and additionally the `dummy_bytes` field includes bytes sent to provide
wait cycles on the bus, the type of this field must be `uint32_t`,
otherwise it can be overflowed for RX transfers close to the maximum.

Signed-off-by: Andrzej Głąbek <andrzej.glabek@nordicsemi.no>
2025-10-27 16:15:30 -04:00
Duy Nguyen
a0eb093734 drivers: i2c: Move merge buffer to driver data for RA i2c_sci_b
The merge buffer was previously declared as a static variable, causing it
to be shared across all I2C instances and risking data corruption when
used concurrently. Move the buffer into the driver data to make it
instance-specific and avoid race conditions.

Signed-off-by: Duy Nguyen <duy.nguyen.xa@renesas.com>
2025-10-27 07:32:20 -04:00
Biwen Li
e11e459b23 drivers: firmware: scmi: add CONFIG_ARM_SCMI_CHAN_SEM_TIMEOUT_USEC
Add option CONFIG_ARM_SCMI_CHAN_SEM_TIMEOUT_USEC
for users to change default timeout value.
Different platform has different delay time when
scmi agent get scmi response from scmi platform.

Signed-off-by: Biwen Li <biwen.li@nxp.com>
2025-10-25 15:59:49 +03:00
Fan Wang
ca3b80cf5b drivers: sdhc: Support SD Card for Apollo510
This commit support SD Card for Apollo510 SDIO

Signed-off-by: Fan Wang <fan.wang@ambiq.com>
2025-10-25 10:47:28 +03:00
Fan Wang
adb6461d8a drivers: sdhc: optimize cache related coding
Add buf_in_nocache to check buffer cacheability.

Signed-off-by: Fan Wang <fan.wang@ambiq.com>
2025-10-25 10:47:28 +03:00
Fan Wang
d770690176 drivers: sdhc:Updated sdhc driver for apollo510&apollo510L
Deleted PM device macro definition

Updated SDIO base for apollo510 and apollo510L

Signed-off-by: Fan Wang <fan.wang@ambiq.com>
2025-10-25 10:47:28 +03:00
Mario Paja
fc1c386a3c drivers: i2s: stm32 sai add support for stm32f7xx series
STM32F7xx series shares several DMA configurations with
the other platforms. These changes aim to enable platform
specific DMA configuration and align them to other platforms.

Signed-off-by: Mario Paja <mariopaja@hotmail.com>
2025-10-25 10:47:19 +03:00
Felix Wang
659eccf5a3 drivers: clock_control: Configure STM clock
1.Add "mux-1-dc-0-div" and "mux-2-dc-0-div" property
 in mc_cgm device tree for STM clock divider setting
 and set these properties in frdm_mcxe31b.dts
2.Enable STM peripheral clock in mc_cgm_clock_control_on
 function
3.Support to get STM frequency from mc_cgm_get_subsys_rate
 function
4.Configure STM clock in mc_cgm_init function

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2025-10-25 10:47:09 +03:00
Felix Wang
3621caaca6 drivers: Counter: STM Support on Zephyr
1.Add nxp,stm.yaml dts bindings
  2.Provide counter driver based on FTM driver from mcux-sdk-ng.

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2025-10-25 10:47:09 +03:00
Winteri Wang
3bb88d3f3c driver: mucx_lcdifv3: support both full and partial refresh
If the framebuffer size is same as the full screen, full refresh
is applied. Otherwise, partial refresh is applied.

Signed-off-by: Winteri Wang <dongjie.wang@nxp.com>
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Signed-off-by: Ruoshan Shi <ruoshan.shi@nxp.com>
2025-10-24 20:19:17 -04:00
Winteri Wang
25b2de3b07 driver: display: add waveshare dsi panel driver support
Added waveshare dsi panel driver. It is on I2C bus.

Signed-off-by: Winteri Wang <dongjie.wang@nxp.com>
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Signed-off-by: Ruoshan Shi <ruoshan.shi@nxp.com>
2025-10-24 20:19:17 -04:00
Ruoshan Shi
b815f5f481 drivers: mipi dsi: Update dsi nxp dwc driver to support i.MX93 A55
Updated dsi nxp dwc driver and enabled runtime mmio configuration.

Signed-off-by: Ruoshan Shi <ruoshan.shi@nxp.com>
Signed-off-by: Winteri Wang <dongjie.wang@nxp.com>
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
2025-10-24 20:19:17 -04:00
Ruoshan Shi
a541647a6e drivers: mipi dsi: Add dsi nxp dwc driver support
Added mipi dsi nxp dwc driver support

Signed-off-by: Ruoshan Shi <ruoshan.shi@nxp.com>
2025-10-24 20:19:17 -04:00
Winteri Wang
a13c3f001b driver: mcux_lcdifv3: add mcux_lcdifv3 driver support
Added mcux_lcdifv3 driver and enabled runtime mmio configuration.

Signed-off-by: Winteri Wang <dongjie.wang@nxp.com>
Signed-off-by: Jiafei Pan <Jiafei.Pan@nxp.com>
Signed-off-by: Ruoshan Shi <ruoshan.shi@nxp.com>
2025-10-24 20:19:17 -04:00
Winteri Wang
8432f0123f driver: mcux_mediamix: add mcux_mediamix driver support
Added mcux_mediamix driver and enabled runtime mmio configuration.

Signed-off-by: Winteri Wang <dongjie.wang@nxp.com>
2025-10-24 20:19:17 -04:00
Winteri Wang
6cfc76ffbf drivers: clock: ccm_rev2: add imx93 common clocks set support
Setup most clocks with common_clock_set_freq().
PLL and mux are preset.

Signed-off-by: Winteri Wang <dongjie.wang@nxp.com>
Signed-off-by: Ruoshan Shi <ruoshan.shi@nxp.com>
2025-10-24 20:19:17 -04:00
Camille BAUD
b75a846ad0 divers: memc: Add BL61x PSRAM controller
Driver for BL61x's PSRAM controller

Signed-off-by: Camille BAUD <mail@massdriver.space>
2025-10-24 20:19:06 -04:00
Brett Peterson
8e4e766c09 drivers: spi: add psc3 and pse84 support
- Updating spi_ifx_cat1_pdl driver to support psc3 and pse84 devices

Signed-off-by: Brett Peterson <brett.peterson@infineon.com>
2025-10-24 20:17:57 -04:00
Bill Waters
b35a32b8ae drivers: watchdog: add support for Infineon PSE84 device
Update the driver to support the PSE84 device

Signed-off-by: Bill Waters <bill.waters@infineon.com>
2025-10-24 23:07:28 +03:00
Kamil Krzyżanowski
1b84618e33 drivers: timer: stm32_lptim: Support all LPTIM instances
The LPTIM timer driver previously had hardcoded assumptions about
using LPTIM1 or LPTIM3, which prevented it from working with other
LPTIM instances like LPTIM2, LPTIM4, LPTIM5, and LPTIM6.

This change makes the driver work with any LPTIM instance by:

1. Adding lptim_enable_autonomous_mode() function that dynamically
   detects which LPTIM instance is in use and enables autonomous
   mode for instances that support it (LPTIM1, LPTIM3, LPTIM4).
   LPTIM2, LPTIM5, LPTIM6 do not support autonomous mode.

2. Adding lptim_freeze_during_debug() function that handles debug
   freeze configuration for all LPTIM instances across different
   APB buses:
   - LPTIM1: APB1_GRP1, APB3_GRP1, or APB7_GRP1
   - LPTIM2: APB1_GRP1, APB1_GRP2, APB3_GRP1, or APB4_GRP1
   - LPTIM3: APB1_GRP2, APB3_GRP1, or APB4_GRP1
   - LPTIM4: APB3_GRP1 or APB4_GRP1
   - LPTIM5: APB3_GRP1
   - LPTIM6: APB3_GRP1

Both functions use DT_REG_ADDR() to compare the base address of the
configured LPTIM instance at compile time, ensuring zero runtime
overhead.

Tested on STM32U5A5 with all four LPTIM instances (LPTIM1-4).

Signed-off-by: Kamil Krzyżanowski <kamnxt@kamnxt.com>
2025-10-24 23:07:05 +03:00
Valerio Setti
26ca2cfd6c drivers: entropy: nrf5: add dependency on MULTITHREADING
The driver internally uses semaphores which are only available if
CONFIG_MULTITHREADING is enabled in the build.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-10-24 23:06:47 +03:00
Tony Han
9b66f72191 drivers: ethernet: sam_gmac: update for support RGMII mode
Update to use the RGMII mode which is supported by SAMA7G54.

Signed-off-by: Tony Han <tony.han@microchip.com>
2025-10-24 13:28:18 -04:00
Tony Han
3036fa88dd drivers: ethernet: phy: ksz9131: save link state for get
Get the link state in the monitor and save it for get_link api
implementation to use.

Signed-off-by: Tony Han <tony.han@microchip.com>
2025-10-24 13:28:18 -04:00
Tony Han
034ce6927c drivers: ethernet: phy: ksz9131: add getting status for gigabit mode
Read gigabit status from Master Slave Status Register.

Signed-off-by: Tony Han <tony.han@microchip.com>
2025-10-24 13:28:18 -04:00
Tony Han
e7cfa722c4 drivers: ethernet: phy: ksz9131: add support for phy interrupt mode
Enable Link-Up and Link-Down interrupts. On the interrupt handling
the monitor work is scheduled to update the link status and calling
corresponding callback routine.

Signed-off-by: Tony Han <tony.han@microchip.com>
2025-10-24 13:28:18 -04:00
Tony Han
b305faff1f drivers: ethernet: phy: add Microchip's KSZ9131 PHY support
Add support for KSZ9131 (Gigabit Ethernet Transceiver with RGMII Support).
As first starter, 100MBit/s mode is tested.
https://www.microchip.com/en-us/product/ksz9131

Signed-off-by: Tony Han <tony.han@microchip.com>
2025-10-24 13:28:18 -04:00
Marco Widmer
e2fcd640b7 drivers: gpio: pca953x: add pull-up/pull-down support
Some variants of the PCA953x family support pull-up / pull-down
resistors through registers 0x43 and 0x44 (mostly the TCAL9538 variant).
We already support input latching and interrupt masking (which is also
only present on a few variants), so let's also add support for pull-up
and pull-down resistors.

The feature can be enabled with the has-pud property in the device tree.

Signed-off-by: Marco Widmer <marco.widmer@bytesatwork.ch>
2025-10-24 13:27:49 -04:00
Kim Seer Paller
fcd7842ca8 drivers: adc: Add AD4170-4, AD4190-4, and AD4195-4 ADC driver
Add initial support for the AD4170-4, AD4190-4, and AD4195-4 24-bit
ADCs, including reference selection, programmable gain amplifier, ADC
conversion modes, configurable analog inputs, filter settings, and both
bipolar and unipolar operation. Supports internal and external buffered
references, and operation from a 4.75-5.25V analog supply and a
1.7-5.25V digital supply.

Signed-off-by: Kim Seer Paller <kimseer.paller@analog.com>
2025-10-24 13:26:26 -04:00
Simon Maurer
31d16f353e drivers: i2c: cdns: add broken hold bit workaround for Zynq-7000
The Xilinx Zynq 7000 I2C controller has the following bugs:
- completion indication is not given to the driver at the end of
a read/receive transfer with HOLD bit set.
- Invalid read transaction are generated on the bus when HW timeout
condition occurs with HOLD bit set.
- If the delay between address register write and
control register write in cdns_i2c_mrecv function is more, the xfer size
register rolls over and controller is stuck.

As a result of the above, this patch disallows message transfers with
a repeated start condition following a read operation. Also disables
interrupts between the address register write and control register write
during message reception, to prevent transfer size register rollover.

Signed-off-by: Simon Maurer <mail@maurer.systems>
2025-10-24 13:25:54 -04:00
Alain Volmat
065754373a video: add H264 estimate in video_estimate_fmt_size
Add rough estimate of a worth case H264 output size.

The video_estimate_fmt_size would need more information
such as quality, profile in order to give a better
estimate for each formats so for the time being just
stick to 16bpp based size, same as for JPEG.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-10-24 13:25:34 -04:00
Alain Volmat
a6ceee976e video: addition of video_transfer_buffer helper function
Addition of a helper function which takes care of dequeue
from a source video device and queue into a sink video device.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-10-24 13:25:34 -04:00
Ryan McClelland
c4a70b4d01 drivers: i3c: cdns: handle ibi len of 0
Section 4.3.7.3.6 of the I3C v1.2 specification states that a value of
0 for the max ibi size indicates an unlimited payload size. Set it to
the max it can be configured for.

Signed-off-by: Ryan McClelland <ryanmcclelland@meta.com>
2025-10-24 13:24:54 -04:00
Guillaume Gautier
0cf6b7775a drivers: clock: stm32: remove adc prescaler setting
Now that the ADC prescaler are set within the driver using the clock
system, remove the specific setting of the prescaler from the clock driver.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-10-24 13:24:44 -04:00
Guillaume Gautier
7c4d42b4fd drivers: adc: stm32: add support for rcc prescaler clock
Some series like F1, F3, N6 and U3 use an ADC prescaler defined in the RCC.
Instead of adding specific properties in the RCC driver, use the secondary
clock system to configure the prescaler.

The ADC driver now configures the clocks depending on their presence and
their name. Three clocks can be defined:
- the register clock (mandatory for all series)
- the kernel clock (depends on series)
- the prescaler value (depends on series)

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2025-10-24 13:24:44 -04:00
Liam Ogletree
91caa2f2f8 drivers: haptics: Add Shell support for haptics drivers
Expose the haptics API through a shell interface. Tested locally
with dummy haptics driver.

Signed-off-by: Liam Ogletree <liam.ogletree@cirrus.com>
2025-10-24 13:24:08 -04:00
Khaoula Bidani
66e8451780 drivers: i2c: stm32: add target error callback
Allow applications to be notified of target I2C transfer
error usingthe recently added target error callback mechanism.

Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
Signed-off-by: Julien Racki <julien.racki-ext@st.com>
2025-10-24 13:23:57 -04:00
Sylvio Alves
9b3bb86855 drivers: crypto: add Espressif HW AES support
Add hardware-accelerated AES driver for Espressif SoCs supporting
ECB, CBC, and CTR cipher modes with AES-128, AES-192, and AES-256
key lengths.

Supported modes:
- ECB (Electronic Codebook)
- CBC (Cipher Block Chaining)
- CTR (Counter)

Supported SoCs:
- ESP32: All modes, all key sizes
- ESP32-S2/S3: All modes, AES-128/256 only
- ESP32-C2/C3/C6/H2: All modes, all key sizes

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-10-24 13:21:24 -04:00
Sylvio Alves
391ffabd66 drivers: crypto: add Espressif HW SHA support
Add hardware-accelerated SHA driver for Espressif SoCs supporting
SHA-224, SHA-256, SHA-384, and SHA-512 algorithms.

Supported SoCs:
- ESP32: SHA-224/256/384/512 (single-shot operations)
- ESP32-S2/S3: SHA-224/256/384/512 (with multi-part support)
- ESP32-C2/C3/C6/H2: SHA-224/256 (with multi-part support)

Tested with Zephyr crypto subsystem hash_compute() API.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-10-24 13:21:24 -04:00