Commit graph

25,525 commits

Author SHA1 Message Date
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
Lucien Zhao
826a2eee56 drivers: i2s: i2s_mcux_sai: update driver to support RT1180
add CONFIG_SOC_SERIES_IMXRT118X macro to support
audioPllConfig initialization

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2025-09-17 08:42:44 +02:00
Benjamin Cabé
4f90ec359d drivers: spi: xmc4xxx: handle error from spi_context_cs_configure_all
This fixes CI issues ("error: statement with no effect") in the
project's weekly CI run, e.g.:

west twister -p xmc47_relax_kit/xmc4700 -s drivers.spi.loopback.internal

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2025-09-17 08:42:10 +02:00
Luis Ubieda
c98f6bccc4 spi: rtio: Add validation for NULL tx and rx buffers
In addition to #94710 fixes, SPI RTIO currently fails existing spi
loopback testcase: test_spi_null_tx_rx_buf_set.

This plus the referenced PR enable RTIO-enabled drivers to pass the
testsuite.

Signed-off-by: Luis Ubieda <luisf@croxel.com>
2025-09-16 16:08:15 -04:00
Paulo Santos
1e7e1dbb6d drivers: gpio_gecko: update driver to use signal-only output.
Enable the pin configuration as single-ended pull-up output, allowing for
a currentless, signal-only output.

Signed-off-by: Paulo Santos <pauloroberto.santos@edge.ufal.br>
2025-09-16 16:07:59 -04:00
Felix Wang
5525941d83 drivers: Counter: Fix LPIT disable interrupt bug
The parameter for LPIT_DisableInterrupts should be
lpit_interrupt_enable_t, not channel id.

Besides, improve the code to use BIT macro for shift
operation.

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2025-09-16 16:06:48 +02:00
Jonas Berg
f683bc53d1 drivers: sensor: ti: ina2xx: Add INA228 test
Add test for Texas Instruments INA228 current sensor via I2C.

Signed-off-by: Jonas Berg <jonas.s.t.berg@gmail.com>
Signed-off-by: Wilkins White <ww@novadynamics.com>
2025-09-16 16:06:38 +02:00
Wilkins White
8ed9787089 drivers: sensor: ti: ina2xx: Add INA228
Add the Texas Instruments INA228 Power/Energy/Charge
monitor. This chip is similar to the INA237, but has
a more precise ADC and added energy/charge channels.

Signed-off-by: Wilkins White <ww@novadynamics.com>
2025-09-16 16:06:38 +02:00
Wilkins White
685fec5809 drivers: sensor: ti: ina2xx: Convert INA226
Convert the INA226 driver to INA2XX

Signed-off-by: Wilkins White <ww@novadynamics.com>
2025-09-16 16:06:38 +02:00
Wilkins White
5ffb8c6305 drivers: sensor: ti: ina2xx: Convert INA230
Convert the INA230 driver to INA2XX

Signed-off-by: Wilkins White <ww@novadynamics.com>
2025-09-16 16:06:38 +02:00
Wilkins White
9c113d0a00 drivers: sensor: ti: ina2xx: Convert INA237
Convert the INA237 driver to INA2XX

Signed-off-by: Wilkins White <ww@novadynamics.com>
2025-09-16 16:06:38 +02:00
Wilkins White
bb570cbea4 drivers: sensor: ti: ina2xx: Add common functions
This commit adds a common framework to reduce repeated
code in the INA2XX family.

Signed-off-by: Wilkins White <ww@novadynamics.com>
2025-09-16 16:06:38 +02:00
Wilkins White
06b1440890 drivers: sensor: ti: Rename ina23x to ina2xx
This commit renames the ina23x folder and common files to ina2xx.
The more generic name will support, e.g., the INA237 and INA228
series chips.

Signed-off-by: Wilkins White <ww@novadynamics.com>
2025-09-16 16:06:38 +02:00
Jordan Yates
f11c90c8b7 drivers: disk: sdmmc_stm32: support PINCTRL sleep
Add support for configuring pins into an alternate mode when the
device is powered off.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2025-09-16 16:05:23 +02:00