Commit graph

25038 commits

Author SHA1 Message Date
Chaitanya Tata
386dcbe72c drivers: nrf_wifi: Fix scan crash for 2nd VIF
Move the VIF initialization to top to do it for both VIFs, this fixes a
crash when scanning on the 2nd VIF.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-09-19 08:27:55 -04:00
Chaitanya Tata
1c6a00bd5d drivers: wifi: nrf7002: Add support for multiple virtual interfaces (VIFs)
Description:
The nRF7002 firmware supports two virtual interfaces (VIFs) that can
operate in different modes (e.g., AP and STA). However, the existing
Zephyr driver only utilizes a single VIF, preventing full
multi-interface support.

This commit extends the nRF7002 driver to support multiple VIFs by
making the following modifications:

* The driver already contains an array of vif_ctx_zep, but only the
first item was being used. Now, a second Ethernet device is registered
using vif_ctx_zep[1], enabling multi-VIF operation.
* Introduced vif_ctx_cnt to keep track of active interfaces and manage
their state effectively.
* Ensured that FMAC (Firmware MAC) is initialized only once, avoiding
redundant initializations when multiple VIFs are present.
* The UMAC control commands previously did not associate responses with
the issuing VIF. A queue is now introduced to track the originating VIF
for each command and correctly route the response event to the
corresponding interface.

Signed-off-by: Hanan Arshad <hananarshad619@gmail.com>
Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2025-09-19 08:27:55 -04:00
Benjamin Cabé
27fa721632 drivers: serial: opentitan: remove bogus depends on clause
CONFIG_SERIAL_SUPPORT_INTERRUPT is a Kconfig option that is supposed to
be selected by serial drivers that support interrupts. This commit
removes a bogus "depends on !SERIAL_SUPPORT_INTERRUPT" which does not
make sense and causes some tests to fail.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-09-19 08:06:42 +02:00
Dipak Shetty
c85922f97c drivers: sensor: ti: tmp1075: fix one-shot conversion for shutdown mode
Add missing one-shot conversion logic in sample_fetch when driver is
configured for shutdown mode. Previously, the driver would attempt to
read temperature without triggering conversion, resulting in stale data.

Signed-off-by: Dipak Shetty <shetty.dipak@gmx.com>
2025-09-18 19:09:11 -04:00
Arthur Gay
acf7657c45 drivers: sensor: lis2dh: Add self-test attribute
Add support for enabling and configuring the self-test mode of the
LIS2DH accelerometer through a dedicated sensor attribute.

Signed-off-by: Arthur Gay <arthur.gay@marshmallow.kids>
2025-09-18 19:08:32 -04:00
Albort Xue
7b561f7605 drivers: flash: flash_mcux_flexspi_nor: Adjust bit field check sequence.
Adjust the bit field check sequence for "en4b" to support some flash
devices that offer multiple mechanisms for entering 4-byte address
mode.

Signed-off-by: Albort Xue <yao.xue@nxp.com>
2025-09-18 13:51:28 -04:00
Jamie McCrae
8498c39e13 drivers: Fix some Kconfig bleeds
Fixes instances of Kconfig options appearing for completely
irrelevant builds

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2025-09-18 13:50:33 -04:00
Qiang Zhao
b4f043d182 drivers: clock_control_mcux_ccm_rev2: add SAR_ADC clock support
Added SAR_ADC clock support for clock_control_mcux_ccm_rev2

Signed-off-by: Qiang Zhao <qiang.zhao@nxp.com>
2025-09-18 13:48:15 -04:00
Qiang Zhao
1e890b2d68 drivers: adc: add support sar adc driver
Add driver for the SAR ADC

Signed-off-by: Qiang Zhao <qiang.zhao@nxp.com>
2025-09-18 13:48:15 -04:00
Julien Panis
c625853b19 drivers: serial: cc23x0: Add power management
Add PM support to cc23x0 UART module.

Signed-off-by: Julien Panis <jpanis@baylibre.com>
2025-09-18 13:47:56 -04:00
Steffen Schulz
4ae52ca220 drivers: sensors: add a sensor driver for INA7xx
Add a sensor driver for the TI current sensor.
INA700, INA745, INA780

Signed-off-by: Steffen Schulz <steffenschulz@gmx.de>
2025-09-18 13:41:50 -04:00
Josuah Demangeon
ccaaaabba2 drivers: video: stm32_dcmi: add missing capability property
In the DCMI video driver, set the caps.min_vbuf_count field to
indicate that two buffers are needed. Fix use of un-initialized
memory breaking the samples in some situations.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2025-09-18 15:44:27 +01:00
Karol Lasończyk
afff286f74 drivers: audio: Fix nrfx_pdm compilation
Fixes drv_data structure handling in various configuration.

Signed-off-by: Karol Lasończyk <karol.lasonczyk@nordicsemi.no>
2025-09-18 15:43:49 +01:00
Josuah Demangeon
9d10bcc140 drivers: video: esp32_dvp: add missing capability property
In the ESP32 video driver, set the caps.min_vbuf_count field to
indicate that a two buffers are enough. Fix use of un-initialized
memory breaking the samples in some situations.

Signed-off-by: Josuah Demangeon <me@josuah.net>
2025-09-18 15:42:52 +01:00
Laurentiu Mihalcea
8eb26dca8b drivers: pwm: mcux_tpm: support MMU-based architectures
On MMU-based systems, the address space of the IP needs to be mapped
before it can be used, otherwise the system will fault. Furthermore,
since the HAL driver uses the base address of the IP to perform various
operations (e.g. clock ungating), the map between the physical and
virtual addresses needs to be 1:1.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2025-09-18 15:41:37 +01:00
Laurentiu Mihalcea
23c88316b8 drivers: clock: ccm_rev2: do custom handling of MX93's TPM clocks
As per the i.MX93 TRM, section "30.2 System Clocks", the root clock
of TPM3 is not TPM3_CLK_ROOT, but, rather, BUS_WAKEUP_CLK_ROOT. Therefore,
if clock_control_get_rate() is using the IMX_CCM_TPM3_CLK clock ID, the
root clock will have to be set to kCLOCK_Root_BusWakeup instead of
kCLOCK_Root_Tpm3.

Signed-off-by: Laurentiu Mihalcea <laurentiu.mihalcea@nxp.com>
2025-09-18 15:41:21 +01:00
Alain Volmat
7a487461ca display: stm32: ltdc: remove PLLSAI configuration
Now that PLLSAI can be configured via the device-tree, remove the
SOC specific PLLSAI configuration from the LTDC driver.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-09-18 15:41:02 +01:00
Alain Volmat
934aba7565 drivers: clock: stm32: use logical AND in preproc check
Replace bitwise AND (&) by logical AND (&&) within
preprocessor if statements in clock_stm32_ll_common.c

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-09-18 15:41:02 +01:00
Alain Volmat
63367b5cb4 drivers: clock: stm32: add PLLSAI handling (common/F4/F7)
Add code handling the pllsai. It is similar to the pllsai1
pllsai2 which can be found on some other socs, except, depending
on the socs the fact that pllsai source can be or not common with
other plls and moreover it can also have additional DIV_DIVQ
and DIV_DIVR additional dividers.
Choice is made to add PLLSAI instead of add further support to
PLLSAI1, in order to stick to the proper naming of the PLLs.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2025-09-18 15:41:02 +01:00
Hau Ho
48decca1fc drivers: serial: Update serial driver to support RX26T
- Update serial driver for RX26T support. This MCU using grp interrupt
feature (not supported yet), so need to add some marcos to enable
support.
- Change the struct st_sci0 to use a common sci iodefine struct as
st_sci

Signed-off-by: Hau Ho <hau.ho.xc@bp.renesas.com>
Signed-off-by: Phi Tran <phi.tran.jg@bp.renesas.com>
2025-09-18 15:40:34 +01:00
Mahesh Mahadevan
ba358467a5 drivers: i3c_mcux: Update error handling
Enable the Error interrupt to capture errors and process
them accordingly.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-09-18 09:48:24 +01:00
Mahesh Mahadevan
7d150533ff drivers: i3c: Update NXP drivers transfer function
Change the transfer implementation to use interrupts
instead of a busy wait loop.
Added a Kconfig to specify a timeout period to wait
for a transfer to complete.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-09-18 09:48:24 +01:00
Valerio Setti
97478d5fce drivers: mfd: axp2101: add irq and power button support
Add initial support for interrupt generated from the axp2101. For
the time being only support for power button is added but others can
be added in the future if necessary.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-09-18 09:48:12 +01:00
Valerio Setti
71e28e267a drivers: mfd: split axp192 and axp2101 drivers
The previous axp192 driver was implementing some basic support for
axp2101, but in fact most of the source code was guarded to be
compiled in only when axp192 was used and only the chip-id was read
in case of axp2101.
Next commits are going to introduce some support for the power button
found on the axp2101 device, so it would look cleaner to split the
2 drivers.

Signed-off-by: Valerio Setti <vsetti@baylibre.com>
2025-09-18 09:48:12 +01:00
Mike J. Chen
f115e9f100 drivers: spi_mcux_flexcomm: fix calls to pm_policy_device_power_lock_put()
Some error cases, and the asynchronous dma case, were not calling
pm_policy_device_power_lock_put() at the right time.

Signed-off-by: Mike J. Chen <mjchen@google.com>
2025-09-18 09:47:55 +01:00
Mike J. Chen
addf568d3e drivers: spi_mcux_flexcomm: remove DMA block complete callbacks
For every TX, the driver used to get both callbacks when
each block was trasnfered and when the entire DMA was complete.
The callback for each block isn't needed so remove it
and reduce intermediate interrupts (the more blocks in
the DMA link, the more needless intermediate interrupts we
now no longer get).

Signed-off-by: Mike J. Chen <mjchen@google.com>
2025-09-18 09:47:55 +01:00
Mathieu CHOPLAIN
3ae98de48e drivers: usb: udc: stm32: handle endpoint halt properly
Handle endpoints in halted state properly by marking endpoints as halted
when appropriate, and inhibiting transfers involving halted endpoints.

Co-authored-by: IBEN EL HADJ MESSAOUD Marwa <marwa.ibenelhadjmessaoud-ext@st.com>
Signed-off-by: Mathieu CHOPLAIN <mathieu.choplain-ext@st.com>
2025-09-18 09:47:36 +01:00
Martin Hoff
4c2bc42f7b drivers: serial: silabs: Change poll_out function to blocking mode
Since the UART API explicitly states that the poll_out function needs
to block until the character is sent, change the mechanism and add
a busy-wait loop to ensure transmission completion before proceeding.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-09-18 09:46:49 +01:00
Martin Hoff
c37ffd396b drivers: serial: silabs: Update ISR to check for DMA device presence
Since the symbol CONFIG_UART_ASYNC_API is shared between EUSART and USART
drivers, it creates a scenario where EUSART can have
CONFIG_UART_SILABS_USART_ASYNC=y but with no DMA device declared for it
in the DTS (because we only want async API for the USART driver).
We handled this case by disabling async transfer when the DMA
device is null, but when we activate CONFIG_PM, we have a hard fault due
to null pointer dereference in the ISR.
This bug was only discovered today when trying to enable CONFIG_PM over the
uart_async_api test, which led to a hard fault in the ISR. This occurs
because we only enable interrupts when the PM is enabled in the "poll_out"
function to put the PM lock back.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
2025-09-18 09:46:49 +01:00
CHEN Xing
3a6ae2b01c driver: sdhc: add sdmmc for sama7g5
Add driver for sama7g54 Secure Digital MultiMedia Card Controller

Signed-off-by: CHEN Xing <xing.chen@microchip.com>
2025-09-17 19:12:45 -04:00
Adam BERLINGER
cd0c3a3033 drivers: i3c: stm32: Allow I3C clock selection
This allows to use different I3C clocks from bus clock.
E.g. I3C can run from HSI instead of bus clocks.

Signed-off-by: Adam BERLINGER <adam.berlinger@st.com>
2025-09-17 16:35:00 +02:00
Adam BERLINGER
e52cf67aa6 drivers: i3c: stm32: Remove STM32_I3C_IRQ_HANDLER_FUNCTION macro
Old code looks like there is relation between .pclken and
IRQ handler. This change should make it more readable.

Signed-off-by: Adam BERLINGER <adam.berlinger@st.com>
2025-09-17 16:35:00 +02:00
Khaoula Bidani
e803a10b91 drivers: gpio: stm32: Fix gpio_pin_get_config
This commit updates the function to only set output-related flags
(GPIO_OUTPUT_INIT_HIGH, GPIO_OUTPUT_INIT_LOW) when the pin
is actually configured as output. For input pins, only GPIO_INPUT and
other relevant flags are set.

Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
2025-09-17 16:32:39 +02:00
Hieu Nguyen
048d7ed22f drivers: counter: Add Counter support for Renesas RZ/T2M, N2L
Add Counter driver support for Renesas RZ/T2M, N2L

Signed-off-by: Hieu Nguyen <hieu.nguyen.ym@bp.renesas.com>
Signed-off-by: Tien Nguyen <tien.nguyen.zg@renesas.com>
2025-09-17 14:53:20 +02:00
Devin Jaenicke
ba42b5db21 drivers: serial: silabs: fix to allow euart to function on bgm220s
The efr32xg22 series does not support the same async operations as other
efr32 series chips. This change allows the eusart driver to function.

Signed-off-by: Devin Jaenicke <devinjaenicke@glassboard.com>
2025-09-17 11:16:17 +01:00
Swift Tian
bf5a0a7c62 samples: mspi: update log print for CI
Use app level log instead of INF log from module to avoid complex regex.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2025-09-17 11:16:09 +01:00
Swift Tian
4432b6d0b0 drivers: flash: mspi: fix compile warning in is25 driver
Fix warning when no cache handling enabled.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2025-09-17 11:16:09 +01:00
Swift Tian
619b2d2ec6 drivers: mspi: optimize ambiq mspi controller
With CONFIG_LOG=n and MSPI controller on, unused variable warning
is elimiated.
Now able to be used without CONFIG_PM_DEVICE.
Fixed a bug where dev_id may be null with pm device runtime auto.

Signed-off-by: Swift Tian <swift.tian@ambiq.com>
2025-09-17 11:16:09 +01:00
Khaoula Bidani
1d6b6759aa drivers: i2c: stm32: Fix STM32 I2C hang on read
ensure LL_I2C_TransmitData8() is always called when
TXIS is set, even if read_processed() returns an error.
This prevents the peripheral from clock-stretching
indefinitely and blocking the I2C bus when the master
reads from the slave.

Signed-off-by: Khaoula Bidani <khaoula.bidani-ext@st.com>
2025-09-17 10:07:48 +02:00
Manuel Argüelles
936876b545 drivers: intc: nxp: drop soc name from siul2 eirq driver
The SIUL2 external interrupt driver is a native implementation usable
across all NXP SoCs with SIUL2 IP. Remove the "S32" prefix to allow
clean reuse by other families.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2025-09-17 10:07:31 +02:00
Manuel Argüelles
5a0e0c924d drivers: gpio: nxp: drop soc name from siul2 driver
The SIUL2 GPIO driver is a native implementation usable across all
NXP SoCs with SIUL2 IP. Remove the "S32" prefix to allow clean
reuse by other families.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2025-09-17 10:07:31 +02:00
Manuel Argüelles
0f0cad00d4 drivers: pinctrl: nxp: drop soc name from siul2 driver
The SIUL2 pin control driver is a native implementation usable across
all NXP SoCs with SIUL2 IP. Remove the "S32" prefix to allow clean
reuse by other families.

Signed-off-by: Manuel Argüelles <manuel.arguelles@nxp.com>
2025-09-17 10:07:31 +02:00
Khanh Nguyen
2784257582 drivers: video: add support for Renesas RA CEU driver
Add support for the Renesas RA Capture Engine Unit (CEU),
including driver source files, Kconfig options, and DTS bindings.

- Add initial implementation of the RA CEU driver
- Add dedicated Kconfig and CMake integration
- Provide Devicetree bindings for the RA CEU
- Update module Kconfig to include the new driver

This enables image capture functionality using the CEU peripheral
on Renesas RA series MCUs.

Signed-off-by: Duy Vo <duy.vo.xc@bp.renesas.com>
Signed-off-by: Khanh Nguyen <khanh.nguyen.wz@bp.renesas.com>
2025-09-17 10:06:34 +02:00
Bill Waters
db410b754c drivers: pwm: ifx_tcpwm: mark unused args
There are two functions with unused arguments
that were not marked.

Signed-off-by: Bill Waters <bill.waters@infineon.com>
2025-09-17 08:45:24 +02:00
Mahesh Mahadevan
a053665817 drivers: timer: mcux_os_timer: Improve the overflow handling logic
Clear the remanining ticks value.

Signed-off-by: Mahesh Mahadevan <mahesh.mahadevan@nxp.com>
2025-09-17 08:44:31 +02:00
Michał Bainczyk
81db3fff8f drivers: flashdisk: fix value returned from disk_flash_access_write
Change the value returned from disk_flash_access_write to return
the return code instead of a hardcoded zero.

Signed-off-by: Michał Bainczyk <michal.bainczyk@nordicsemi.no>
2025-09-17 08:43:41 +02:00
Jason Yu
affb836880 drivers: hwinfo: mcux_src_rev2: Update to support MIMXRT118X
Add RT118X support

Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
2025-09-17 08:43:16 +02:00
Jason Yu
9a2e27e2c2 drivers: hwinfo: mcux_src_rev2: Change it to native driver
The reset source is SOC specific, MCUX SDK SRC driver is
also SOC specific, it doesn't mask the SOC differences.
So the driver can use SOC macros directly, and handle SOC
differences in the hwinfo driver, not necessary to wrap
MCUX SDK driver.

Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
2025-09-17 08:43:16 +02:00
Jason Yu
bd10f9301e drivers: hwinfo: mcux_src_rev2: Change to use dts as dependency
Originally the driver is selected if `HAS_MCUX_SRC_V2` is
selected in SOC level kConfig.
Change to use dts to mark the driver is avaiable for some SOC.

Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
2025-09-17 08:43:16 +02:00
Qiang Zhang
93edbeba94 drivers: input: Adapt to the latest SDK kpp driver
Get the KPP_keyPressScanning status value
to determine the stability of key data.
Update read_keys_old data update timing.

Signed-off-by: Qiang Zhang <qiang.zhang_6@nxp.com>
2025-09-17 08:43:05 +02:00