Commit graph zephyr/drivers
Author SHA1 Message Date
Sylvio Alves
5e6d118389 drivers: intc: esp32: fix race in critical section locking
Replace global lock variable with function-local storage for irq_lock()
state. This fixes a race condition when multiple access enter or exit
the critical section at the same time. Now each lock/unlock pair uses
its own key, making interrupt safe.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-07-19 13:20:38 -04:00
Fin Maaß
d4a2a2e581 drivers: ethernet: adin2111: make register access independent
don't use global buffers for reg_read and reg_write,
so we only need to rely on the spi drivers lock and
don't have to use our lock.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2025-07-19 10:24:05 +02:00
Tahsin Mutlugun
edc9ff951d drivers: spi: spi_max32: Return proper error codes in spi_configure
spi_configure was returning HAL error codes that are incompatible with
Zephyr error definitions straight back to the caller. Replace these with
error codes that Zephyr can correctly interpret.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
2025-07-19 10:21:58 +02:00
Tahsin Mutlugun
f47449e7e9 drivers: spi: spi_max32: Fix word size support
Driver was not handling SPI word sizes other than 8 bits. Apply DFS
shift wherever necessary to support non 8-bit transfers.

DMA mode cannot support word sizes that are less than 8 bits so return
-ENOTSUP if word size less than 8-bits is required.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
2025-07-19 10:21:58 +02:00
Mario Paja
442465f81c drivers: i2s: add sai support for stm32h5xx
Define SAI nodes for STM32H5 series and enable samples/drivers/i2s/output
for nucleo_h563zi board.

Signed-off-by: Mario Paja <mariopaja@hotmail.com>
2025-07-19 10:16:03 +02:00
Tahsin Mutlugun
f9d35e2e8b drivers: sensor: adxl367: Fix log module declaration
Resolve a compilation issue caused by incorrect logging state
declaration for ADXL367.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
2025-07-19 10:11:43 +02:00
Alvin Šipraga
cc08d96d79 drivers: gpio: mspm0: allow configuration of open-drain outputs
Check the GPIO_OPEN_DRAIN flag and set the corresponding HIZ1 bit in the
PINCM register.

Signed-off-by: Alvin Šipraga <alsi@bang-olufsen.dk>
2025-07-19 10:09:13 +02:00
Emil Dahl Juhl
5ede804e2d drivers: gpio: mspm0: Mask interrupts correctly
Reading back the raw interrupt status from the gpio controller, provides
the interrupt mask _without_ the controller's masking registers applied.
This means that e.g. a rising edge would trigger an interrupt even on
pins that are configured for falling edge only.

Fix this by reading the "enabled" interrupt status instead of the raw
one.

Signed-off-by: Emil Dahl Juhl <emdj@bang-olufsen.dk>
2025-07-19 10:09:13 +02:00
Emil Dahl Juhl
3e5b9728e9 drivers: gpio: mspm0: Fix interrupt polarity
The polarity mapping was swapped such that GPIO_INT_TRIG_LOW would
translate to high, and vice versa, on the chip configuration.

Swap the polarity to fix this.

Signed-off-by: Emil Dahl Juhl <emdj@bang-olufsen.dk>
2025-07-19 10:09:13 +02:00
Hans Binderup
e88a14751a drivers: gpio: mspm0: Add support for GPIO_GET_DIRECTION
This commit implements the gpio_get_direction handle for the gpio_mspm0
driver.

Signed-off-by: Hans Binderup <habi@bang-olufsen.dk>
2025-07-19 10:09:13 +02:00
Hans Binderup
8bc98ead34 drivers: gpio: mspm0: Add support for GPIO_GET_CONFIG
This commit implements the gpio_get_config handle for the gpio_mspm0
driver.
NOTE: Currently only handles input/output state and not configured flags

Signed-off-by: Hans Binderup <habi@bang-olufsen.dk>
2025-07-19 10:09:13 +02:00
Hans Binderup
9edd7b0661 drivers: gpio: mspm0: fix disabled state handling
Prior to this commit, writing a gpio port would completely clear
the state of given port. This commit ensures that state is kept
when writing, reading and configuring gpio ports.

Signed-off-by: Hans Binderup <habi@bang-olufsen.dk>
2025-07-19 10:09:13 +02:00
Pete Johanson
02fa84565a drivers: flash: Enable static/runtime SFDP data for SPIXF driver
Add a new flash for toggling runtime SFDP data fetching, and use static
devicetree properties by default. Clean up various minor items from review.

Signed-off-by: Pete Johanson <pete.johanson@analog.com>
2025-07-19 10:08:46 +02:00
Pete Johanson
3821e5db62 drivers: flash: Support XIP for MAX32 SPIXF flash
Properly configure the MAX32 SPIXF peripheral to use the SPIXF controller
for transparent memory mapped reads, and enable the SPIXF main controller
and use it for writes.

Add support for testing XIP support to the nocopy sample, which requires
flashing with OpenOCD with MAX32690 QSPI flash support.

Signed-off-by: Pete Johanson <pete.johanson@analog.com>
2025-07-19 10:08:46 +02:00
Pete Johanson
ecf7f846ae drivers: flash: Add MAX32 SPIXF NOR flash driver
Implement support for NOR flash on the SPIXF peripheral found
on MAX32 devices.

Signed-off-by: Pete Johanson <pete.johanson@analog.com>
2025-07-19 10:08:46 +02:00
Harini T
e343379510 drivers: watchdog: Add Xilinx Window Watchdog driver support
Xilinx Window Watchdog driver uses window watchdog mode. Window watchdog
timer(WWDT) contains closed(first) and open(second) window with 32bit
width each. Write to the watchdog timer within predefined window periods
of time. This means a period that is not too soon and a period that is
not too late. The WWDT has to be restarted within the open window time.
If the software tries to restart WWDT outside of open window time
period, it generates a SoC reset.

Signed-off-by: Harini T <harini.t@amd.com>
2025-07-19 10:00:33 +02:00
Jilay Pandya
3ce26616c9 drivers: stepper: rename gpio_steppper_controller to h_bridge_stepper
rename gpio stepper to h bridge stepper
minor correction in stepper_stop, stepper_stop shall cancel all active
movements and should not be concerned about keeping the coils energized
or not, since that is a concern of a motion controller and not a stepper
driver.

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2025-07-19 09:57:40 +02:00
Dino Li
4c3bfc821b espi/it8xxx2: waiting till completion of VW send to host
On it8xxx2, there are VW transmitted registers indicating that VW signal
has been transmitted to host. This patch checks the register to ensure
successful transmission of VW state change.

fixes: #89298

Signed-off-by: Dino Li <Dino.Li@ite.com.tw>
2025-07-19 09:55:46 +02:00
Rafael Aldo Hernández Luna
2e30bbca00 drivers: dac: Added dac driver for samd5x
Added driver and binding file for samd5x dac peripheral, the already
implemented dac_sam0.c lacks the configuration registers for this
microcontroller family and is fixed to only have one dac channel output,
also, the code gets too bulky when adding the samd5x dac configuration
using preprocessor directives that’s why I moved the implementation to its
own file.

Added dac to the supported list of same54_xpro.yaml, fixed Kconfig.samd5x
help spacing, added board defines to test_dac.c and test it out with
twister script on board.

Signed-off-by: Rafael Aldo Hernández Luna <aldo.hernandez@daikincomfort.com>
2025-07-19 09:54:41 +02:00
Tom Burdick
508676ca11 i2c: Use I2C log level for lpi2c rtio
Driver simply registered itself without setting the level based on the
I2C Kconfig which wasn't quite right, need the log level set based on
the Kconfig for I2C.

Signed-off-by: Tom Burdick <thomas.burdick@intel.com>
2025-07-19 09:53:21 +02:00
Francois Ramu
2345bc996a drivers: flash: stm32 xspi flash driver skip init when executing in place
The flash_stm32_xspi driver should not initialize the xspi,
if this one is being use to execute in Place : the init is skipped.
This mode is identified with the CONFIG_STM32_APP_IN_EXT_FLASH.
Checking the memory mapped mode bit is possible when the xspi
peripheral clock is not off (stm32h5 has no clock_control_get_status API)

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2025-07-19 09:49:44 +02:00
Francois Ramu
c33d93d478 drivers: clock control for stm32h5 driver implements control_get_status
Add the control_get_status API function
to the stm32h5 clock_control driver

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2025-07-19 09:49:44 +02:00
Francois Ramu
a63683aa95 drivers: clock: stm32H5 clock control of the PLL in MemoryMapped mode
Do not disable the PLL clock if it sources the XSPI and if the external
flash is executing in Place. After mcuboot reset, the code is executed
on the external flash, through the xspi.
The CONFIG_STM32_APP_IN_EXT_FLASH is set and will avoid re-config
of the PLL which is sourcing the XSPI peripheral. When eXecuting in Place
on this external NOR, it must not disable its own clock source (PLL).

Signed-off-by: Francois Ramu <francois.ramu@st.com>
2025-07-19 09:49:44 +02:00
Amneesh Singh
b6d261b989 drivers: spi: introduce TI omap_mcspi
This patch adds the initial support for the OMAP Multi-Channel SPI. Some
things should be noted however:

- DMA xfers are not supported yet. Only PIO is supported as of now.
- Multi-Channel controller is not supported yet. Only single-channel
  controller mode is supported, this means that the controller can xfer
  messages with one slave at a time.

Signed-off-by: Amneesh Singh <a-singh7@ti.com>
2025-07-19 09:47:37 +02:00
Alberto Escolar Piedras
b0dd9cbdc5 drivers/usb_native_posix: Remove BOARD_NATIVE_POSIX dependency
native_posix was removed. Let's remove this dependency.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-07-19 09:38:23 +02:00
Alberto Escolar Piedras
cf9634cbd0 drivers/net offloaded_sockets: Remove redundant kconfig dependency
After removing NATIVE_APPLICATION, only NATIVE_LIBRARY is
possible with ARCH_POSIX.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-07-19 09:38:15 +02:00
Alberto Escolar Piedras
0acebf7135 drivers/bluetooth/userchan: Remove NATIVE_APPLICATION support
It is not possible to build anymore in that mode, so we do not
need to support it in this driver cmake files.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-07-19 09:38:15 +02:00
Alberto Escolar Piedras
2c4288ecec drivers/eeprom/eeprom_simulator: Remove NATIVE_APPLICATION support
It is not possible to build anymore in that mode, so we do not
need to support it in this driver cmake files.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-07-19 09:38:15 +02:00
Alberto Escolar Piedras
e6dbe45304 drivers fake_entropy_native_sim: Remove NATIVE_APPLICATION support
It is not possible to build anymore in that mode, so we do not
need to support it in this driver cmake files.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-07-19 09:38:15 +02:00
Alberto Escolar Piedras
e7d228a2b1 drivers/flash: Remove NATIVE_APPLICATION support
It is not possible to build anymore in that mode, so we do not
need to support it in this driver cmake files.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-07-19 09:38:15 +02:00
Alberto Escolar Piedras
13f1e92037 drivers/serial/TTY & PTTY: Remove NATIVE_APPLICATION support
It is not possible to build anymore in that mode, so we do not
need to support it in this driver cmake files.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-07-19 09:38:15 +02:00
Alberto Escolar Piedras
6e923834e6 drivers/input sdl & evdev: Remove NATIVE_APPLICATION support
It is not possible to build anymore in that mode, so we do not
need to support it in this driver cmake files.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-07-19 09:38:15 +02:00
Alberto Escolar Piedras
0ec02c1873 drivers/gpio/sdl: Remove NATIVE_APPLICATION support
It is not possible to build anymore in that mode, so we do not
need to support it in this driver cmake files.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-07-19 09:38:15 +02:00
Alberto Escolar Piedras
0d87d5f5b4 drivers/ethernet/native_tap: Remove NATIVE_APPLICATION support
It is not possible to build anymore in that mode, so we do not
need to support it in this driver cmake files.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-07-19 09:38:15 +02:00
Alberto Escolar Piedras
848e5c53b9 drivers/display sdl: Remove NATIVE_APPLICATION support
It is not possible to build anymore in that mode, so we do not
need to support it in this driver cmake files.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-07-19 09:38:15 +02:00
Alberto Escolar Piedras
e7e8216661 drivers/can/can_native_linux: Remove NATIVE_APPLICATION support
It is not possible to build anymore in that mode, so we do not
need to support it in this driver cmake files.

Signed-off-by: Alberto Escolar Piedras <alberto.escolar.piedras@nordicsemi.no>
2025-07-19 09:38:15 +02:00
Krzysztof Chruściński
08f14961fe drivers: serial: nrfx_uarte: Improve UART_NRFX_UARTE_ENHANCED_RX dependency
Enhanced RX cannot be used when UART_x_NRF_HW_ASYNC is used so changing
default value to depends on.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-07-17 12:46:31 -10:00
Krzysztof Chruściński
3c9389650e Revert "drivers: serial: nrfx_uarte: Deprecate CONFIG_UART_x_NRF_HW_ASYNC"
This reverts commit 384e940c66.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-07-17 12:46:31 -10:00
Krzysztof Chruściński
eb996924fb drivers: serial: nrfx_uarte: use ifdef instead of IS_ENABLED
In certain configurations timeout field is not present in the
data structure so preprocessor ifdef must be used instead of
compiler check.

Signed-off-by: Krzysztof Chruściński <krzysztof.chruscinski@nordicsemi.no>
2025-07-17 12:46:31 -10:00
Gaetan Perrot
f52d71c8cf drivers: serial: uart_sedi: Remove unused variable 'mask'
The variable 'mask' was declared but never used in
uart_sedi_line_ctrl_set().

This commit removes it to clean up the code..

No functional changes.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2025-07-14 11:18:45 -10:00
Derek Snell
09714390f6 drivers: dma: mipi_dbi_nxp_lcdic: enable inputmux clock
To optimize power consumption, the inputmux clock is only enabled when
a signal is attached.

Signed-off-by: Derek Snell <derek.snell@nxp.com>
2025-07-11 13:16:43 -10:00
Marcin Niestroj
cd17871cfe drivers: udc: stm32: fix USB_OTG_HS_EMB_PHY macro value check
USB_OTG_HS_EMB_PHY macro is always defined, so
`defined(USB_OTG_HS_EMB_PHY)` always results in true. This means that
driver always selected `USB_OTG_SPEED_HIGH_IN_FULL` and never
`USB_OTG_SPEED_HIGH`.

Fix that by checking value of defined macro.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2025-07-11 11:42:33 -10:00
Gaetan Perrot
bac20e419e drivers: wifi: nrf_wifi: wifi_mgmt: remove redundant null check
Deleted a redundant check for 'rpu_ctx_zep' pointer after it was already
dereferenced.

Clarifies code logic in nrf_wifi_get_power_save_config function.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2025-07-11 16:32:06 -05:00
sudarsan N
9e7e58fb54 video: common: fix formatting for heap define to fit CI line length
Wrap K_HEAP_DEFINE to fit within 100-character CI limit and apply
consistent spacing.This is a formatting-only change.

Signed-off-by: sudarsan N <sudarsansamy2002@gmail.com>
2025-07-11 15:54:09 -05:00
sudarsan N
af76ac8b9b video: common: prevent divide-by-zero video_closest_frmival_stepwise()
Adds an assertion and runtime log to ensure 'step' is not zero before
using it in division,preventing undefined behavior without modifying
 the public API.

Avoids a signature change (void → int) to preserve API stability for
Zephyr 4.2.A more complete solution can be proposed for 4.3.

CID: 444378

Signed-off-by: sudarsan N <sudarsansamy2002@gmail.com>
2025-07-11 15:54:09 -05:00
Sylvio Alves
aa7901c078 drivers: spi: esp32c6: fix struct type zeroing
Fix regression caused by memset() replacement to zero volatile struct.
ESP32-C6 data_buf struct differs from other SoCs and needs custom
handling.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2025-07-11 08:20:41 -10:00
Chris Friedt
8fd0b704ab drivers: gpio: gpio_pca_series: check return values and exit on error
Check return values and exit on error to address CID 434641.

Signed-off-by: Chris Friedt <cfriedt@tenstorrent.com>
2025-07-11 08:19:39 -10:00
Marcin Niestroj
5e25a3e24a drivers: esp_at: fix net_if_get_by_iface() typo
s/net_if_get_by_ifindex/net_if_get_by_iface/

Fixes: 0e57844b2d ("drivers: wifi: esp_at: Bind DNS to device net
  interface")
Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2025-07-11 08:19:06 -10:00
Thomas Altenbach
6aeb12d558 drivers: flash: stm32_qspi: Fix flash not reset when in QPI mode
The reset commands were sent only in SPI mode, causing the device not to
be properly reset when in QPI mode. On the STM32H747I-DISCO boards, this
was causing the driver initialization to fail due to a bad SFDP magic
after flashing the external memory using STM32CubeProgrammer since the
external loader is configuring the flash memory in QPI mode.

The commands are sent in QPI mode first, then in SPI mode:
- If the flash memory was in QPI mode, the two first reset commands are
  processed and after reset, the flash memory is in SPI mode and
  correctly handles the SPI mode reset commands.
- If the flash memory was in SPI mode, for each QPI command the chip
  select signal will be released before the flash memory had the
  opportunity to receive a whole command (1 byte), so the partially
  received commands will be ignored and won't cause any harm. Then, the
  chip is reset by the commands sent in SPI mode.

Signed-off-by: Thomas Altenbach <altenbach.thomas@gmail.com>
2025-07-11 09:41:38 -05:00
Declan Snyder
9166d6ac7b spi_mcux_dspi: Hotfix for failing null rx test
This is not really high priority to support and is disrupting test
reporting, for now just hotfix the test by returning that this is not
supported, it's not really necessary anyways, there's multiple ways to
call the API to achieve the same effect.

Signed-off-by: Declan Snyder <declan.snyder@nxp.com>
2025-07-11 09:41:14 -05:00