Commit graph zephyr/drivers
Author SHA1 Message Date
minyuan xue
7636617170 drivers: rtc: add ameba rtc driver support.
Add realtek ameba rtc driver.

Signed-off-by: minyuan xue <minyuan_xue@realsil.com.cn>
2026-04-27 19:05:18 +01:00
Chaitanya Tata
080b4f48fb drivers: nrf_wifi: Fix double counting for raw TX
Raw TX data path already handle proper counting of errors in TX, do not
double count.

Signed-off-by: Chaitanya Tata <Chaitanya.Tata@nordicsemi.no>
2026-04-27 19:04:28 +01:00
Hake Huang
a4cd6a3ba4 drivers: ethernet: harden DTCM DMA handling on Cortex-M7
Combine the Cortex-M7 ENET workaround updates into one commit.

- clear CACHE_ENET on i.MX RT11xx Cortex-M7 for ERR050396
- disable ETH_NXP_ENET_USE_DTCM_FOR_DMA_BUFFER by default on Cortex-M7
- keep the final Kconfig condition independent of
  DT_HAS_NXP_ENET1G_ENABLED

This avoids touching the same Kconfig and SoC files in follow-up
commits while preserving the intended behavior for PR #106679.

Validation:
- branch history squashed so workaround files are updated once
  in the series

Signed-off-by: Hake Huang <hake.huang@nxp.com>
2026-04-27 19:03:54 +01:00
Hake Huang
99bb98e561 drivers: ethernet: handle ENET RX buffer interrupts
Handle both RX frame and RX buffer interrupts in the NXP ENET driver.
This matches the MCUX HAL interrupt handling and avoids leaving RX work
queued behind an unhandled RX buffer interrupt source.

Validation:
- built samples/net/dhcpv4_client for mimxrt1170_evk@B/mimxrt1176/cm7
  with boards/nxp/mimxrt1170_evk/dts/nxp,enet1g.overlay
- verified MCUX HAL uses RX frame and RX buffer interrupts together

Signed-off-by: Hake Huang <hake.huang@nxp.com>
2026-04-27 19:03:54 +01:00
Yves Wang
ae0dbc71a2 drivers: rtc: add NXP RTC analog driver
Add driver for the NXP RTC analog module found on MCX L series
SoCs. This RTC supports BCD time/date mode with hundredths-of-second
resolution and 3 independent alarms.

Signed-off-by: Yves Wang <zhengjia.wang@nxp.com>
2026-04-27 19:03:43 +01:00
Fabio Baltieri
dbcba4794a sensors: ite_vcmp: fix build error
Fix build error:

error: '((const struct vcmp_it8xxx2_config *)config)->adc' is a pointer

Tested with: west build -p -b it8xxx2_evb samples/sensor/sensor_shell
-DCONFIG_ADC=y -DCONFIG_COMPARATOR=y -DCONFIG_LOG=y

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2026-04-27 19:02:37 +01:00
Alexpandi Muniyandi
a19c1a3670 drivers: i2c: set xferPending for write-read transfer
Set tx_config.xferPending when a read follows the write so the PDL
holds the bus and generates a repeated START instead of STOP.

Signed-off-by: Alexpandi Muniyandi <alexpandi@linumiz.com>
2026-04-27 17:27:06 +02:00
Alexpandi Muniyandi
dc9d991606 drivers: i2c: fix double semaphore give on NAK
The PDL bundles completion (RD_CMPLT/WR_CMPLT) and ERR events into
a single cbEvents() call. The handler gave transfer_sem twice, leaking
count to the next transfer on i2c_scan.

Make the error and completion paths mutually exclusive with else-if
so exactly one k_sem_give() occurs per callback.

Signed-off-by: Alexpandi Muniyandi <alexpandi@linumiz.com>
2026-04-27 17:27:06 +02:00
Ashirwad Paswan
0e3ccfe455 serial: stm32: toggle UE when re-enabling RX DMA to handle U5/H5 errata
On STM32H5 / STM32U5 with GPDMA the USART can stop generating DMA RX
requests after uart_rx_disable() clears DMAR and DMAR is later re-enabled.
Toggling the USART enable (UE) before re-asserting DMAR resets the USART
internal state machine and allows RX DMA requests to resume.

Fixes: #101345

signed-off-by: Ashirwad Paswan <ashi06712@gmail.com>
2026-04-27 17:23:26 +02:00
Andreas Weissel
e682185600 drivers: usb: dwc2: Add support for Synaptics SR100 SoCs
Add USB device driver support for Synaptics SR100 devices.

Signed-off-by: Andreas Weissel <andreas.weissel@synaptics.com>
2026-04-27 17:22:54 +02:00
Sara Touqan
0432793250 drivers: mspi: stm32: refactor xspi/ospi drivers
This commit edits mspi_stm32_xspi and
mspi_stm32_ospi drivers to include S_D_D
data rate support and refactor some blocks.

Signed-off-by: Sara Touqan <zephyr@exalt.ps>
Signed-off-by: Sarah Younis <zephyr@exalt.ps>
2026-04-27 14:24:44 +02:00
Sarah Younis
45f26da9c8 drivers: mspi: stm32: add xspi/ospi timing support
This commit extends mspi_stm32_xspi and
mspi_stm32_ospi drivers to add timing support
required for external PSRAM devices.

Signed-off-by: Sara Touqan <zephyr@exalt.ps>
Signed-off-by: Sarah Younis <zephyr@exalt.ps>
2026-04-27 14:24:44 +02:00
Sarah Younis
44d34aaade drivers: memc: mspi_aps_z8: Add APS256/APS6408L RLC/WLC mapping
This commit adds support for APS256 and APS6408L in RLC/WLC
configuration. This includes a dedicated mapping for these
variants.
also this commit updates:
   - Read/write length handling for APS256/APS6408L
   - Vendor ID read sequence to support APS256/APS6408L
     register behavior

Signed-off-by: Sara Touqan <zephyr@exalt.ps>
Signed-off-by: Sarah Younis <zephyr@exalt.ps>
2026-04-27 14:24:44 +02:00
Sara Touqan
83eb8da4ae drivers: memc: mspi_aps_z8: add STM32 timing support
This commit introduces the stm32 timing configuration

Signed-off-by: Sara Touqan <zephyr@exalt.ps>
Signed-off-by: Sarah Younis <zephyr@exalt.ps>
2026-04-27 14:24:44 +02:00
Mathieu Choplain
f4612856e3 drivers: pinctrl: stm32: rework format of pinctrl_soc_pin_t type
The `pinctrl_soc_pin_t` format occupied two uint32_t even though all info
it stores can be compressed in 32 bits only, and also didn't map very well
to the hardware (especially on STM32F1). Due to defects, the format was
also NOT what the `stm32_gpioport_configure_pin()` function consumed to
actually configure a GPIO port, requiring additional decoding/manipulation
logic.

Introduce a vastly reworked format which only requires 32-bit per pinctrl
entry and maps nicely to hardware and becomes the new format consumed by
stm32_gpioport_configure_pin(). This heavily simplifies the pinctrl driver
since it no longer needs to examine the actual values (except to determine
the target GPIO port and pin - this is done on purpose!). The GPIO driver
converts Zephyr flags to this new format too.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-04-27 14:24:18 +02:00
Mathieu Choplain
998c600dc5 drivers: gpio: stm32: handle GP OUT with PU/PD more cleanly on STM32F1
Instead of silently ignoring the flags, warn the user when an illegal
GPIO configuration is provided on STM32F1. To avoid breaking backwards
compatibility and tests, the old behavior is however retained.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-04-27 14:24:18 +02:00
Mathieu Choplain
af45174c96 drivers: gpio: stm32: simplify flag translation logic
Simplify the logic translating Zephyr GPIO flags into STM32-specific flags:
- flatten if chain for output type determination
- change how input modes are handled
    - introduce new INPUT_FLOAT/INPUT_PUPD pincfg values which are used for
      input mode depending on whether or not user requests pull-up/down
    - these values can have the PULL_UP / PULL_DOWN OR'ed into them
- share PU/PD decoding between INPUT and OUTPUT mode

While at it, also return -ENOTSUP to caller if attempting to set a pull-up
or pull-down on a disabled pin instead of silently discarding the request.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-04-27 14:24:18 +02:00
Mathieu Choplain
50aae9065d drivers: pinctrl: stm32: apply GP output level from common code
Move the logic which sets the output level based on configuration to the
common `stm32_gpioport_configure_pin()` function to reduce duplication.
To support the GPIO use case where a pin's configuration is changed without
modifying its output state, a new parameter is introduced which specifies
whether or not the output level should be modified.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-04-27 14:24:18 +02:00
Mathieu Choplain
8e311dd5e0 drivers: pinctrl: stm32: use CMSIS-like defines for bit definitions
Use `_Pos`/`_Msk` suffixed defines for pinctrl format bits definitions and
declare `_Msk` already shifted. This is aligned with the CMSIS definitions
format which shorter, easier to understand and enables use of
macros _FLD2VAL/_VAL2FLD.

Update all code using these defines accordingly.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-04-27 14:24:18 +02:00
Marcin Niestroj
5cd44dbaaa net: nsos: fix F_SETFL flags conversion
Flags were already converted to 'ret', but this value was not used in the
nsos_adapt_fcntl_setfl() invocation. Introduce 'mid_flags' to make it more
readable and pass that value to nsos_adapt_fcntl_setfl() for proper flags
conversion.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2026-04-27 14:20:51 +02:00
Marcin Niestroj
a401605ad7 net: nsos: fix nsos_adapt_dup() error conversion
Return that "mid" namespaced error directly and do not try to convert it
again.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2026-04-27 14:20:51 +02:00
Marcin Niestroj
942b60b3e9 net: nsos: fix nsos_adapt_getsockopt() error handling
This function already returns errors in "mid" namespace, so return
NSOS_MID_SO_ERROR in "mid" namespace, so propagate that value directly.
This error is converted to Zephyr error namespace in nsos_connect().

While at it, add a comment related to the 'ret' variable.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2026-04-27 14:20:51 +02:00
Marcin Niestroj
4e2bd0e38a net: nsos: fix getaddrinfo return error conversion
Convert return value from "host" to "mid" in case of error.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2026-04-27 14:20:51 +02:00
Marcin Niestroj
99d57a09ee net: nsos: fix send* and recv* flag conversion
Convert all flags from "mid" to "host" before calling host APIs.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2026-04-27 14:20:51 +02:00
Marcin Niestroj
5cf4248184 net: nsos: fix sendmsg() error propagation
Return error code in "mid" namespace, to be consistent across all
nsos_adapt_sendmsg() return values.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2026-04-27 14:20:51 +02:00
Marcin Niestroj
970e627ab8 net: nsos: handle addrinfo mapping
Add addrinfo mapping between host and Zephyr. This fixes issues for example
when AF_INET had to be mapped between host (value 2 in glibc on Linux) and
Zephyr (value 1).

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2026-04-27 14:20:51 +02:00
Marcin Niestroj
e0f96ca9c9 net: nsos: fix AF_PACKET handling
There was a copy-paste error, resulting in conversion to AF_UNIX.
Additionally sll_family needs to be converted to from "mid" to "host"
value.

Signed-off-by: Marcin Niestroj <m.niestroj@emb.dev>
2026-04-27 14:20:51 +02:00
Jordan Yates
ee1367b8c2 disk: sdmmc_stm32: missing erase PM handling
Lock the sleep modes while SDMMC is running the erase operation.

Signed-off-by: Jordan Yates <jordan@embeint.com>
2026-04-27 14:17:59 +02:00
Fin Maaß
070ff02620 net: slip: refactor MAC address handling
We don't need to save the MAC address in the data
struct, therfore use a local var in the iface init for it.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-04-27 14:17:31 +02:00
Fin Maaß
0038b34ff2 net: slip: move dev init into iface init
move dev init into iface init. By registering the
uart pipe at the end of the iface init, we also no longer
need to check in the callback if the iface init was done.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-04-27 14:17:31 +02:00
Fin Maaß
c8c3f5f3ac net: slip: remove vlan handeling
since the VLAN overhaul 2 years ago
this part is wrong, therfore remove it.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-04-27 14:17:31 +02:00
Robert Khanafiev
23748dd517 drivers: ethernet: phy: vsc8541: added interrupt mode support
Added support for the MDINT interrupt pin, through which the PHY signals
the MCU when certain link events occur.

Signed-off-by: Robert Khanafiev <robert.khanafiev@fischer-electronic.com>
2026-04-27 14:16:31 +02:00
Robert Khanafiev
18a9f5a4bf drivers: ethernet: phy: vsc8541: replace monitor thread with workqueue
The link was monitored in a separate thread that was initialized with
an incorrectly defined stack. This caused an exception on some systems.
The thread has been replaced with a dedicated workqueue.

Signed-off-by: Robert Khanafiev <robert.khanafiev@fischer-electronic.com>
2026-04-27 14:16:31 +02:00
Basile GRUNER
f78523bf4d drivers: rtc: Add support for RTC for stm32n6 series
Add rtc node on stm32n6 DT.
Enable backup domain access before RTC clock configuration and not after.
Add rtc to the supported tags

Signed-off-by: Basile GRUNER <basile.gruner@smile.fr>
2026-04-27 14:13:55 +02:00
Fin Maaß
5da9adcb85 drivers: serial: add dependency for UART_PIPE
The uart pipe need the chosen of zephyr,uart-pipe,
add that dependency to the Kconfig option.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-04-27 07:24:23 +02:00
Kapil Bhatt
226ce64e9b drivers: nrf_wifi: Add NRF_WIFI_WPA3 AUTO and FT_SAE security type
Add NRF_WIFI_WPA3_AUTO and NRF_WIFI_WPA3_FT_SAE security type in
nrf_wifi driver.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2026-04-27 07:22:07 +02:00
Kapil Bhatt
cd0953e356 drivers: nrf_wifi: Add kconfig for BT coex and BT slot allocation time
Add Kconfig for BT coex and slot allocation time.

Signed-off-by: Kapil Bhatt <kapil.bhatt@nordicsemi.no>
2026-04-27 07:22:07 +02:00
Keith Wheeler
3c36361cab drivers: misc: ethos_u: adding Infineon Ethos NPU support
Added Ethos U55 support for Infineon PSE84 platform.

Signed-off-by: Keith Wheeler <keith.wheeler@infineon.com>
2026-04-26 17:42:04 +02:00
Benjamin Cabé
1eb2281316 drivers: display: add driver for ED2208-GCA (EL073TF1) Spectra 6 e-ink
Adds driver for the EL073TF1 (ED2208-GCA) 7.3-inch Spectra 6
electrophoretic display panel.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-04-25 11:31:10 +02:00
Benjamin Cabé
b10b9c3e5a Revert "drivers: display: Add PIXEL_FORMAT_PRIV_START value"
This reverts commit 6685c3028b
in order to  refactor the handling of indexed 4 bit pixel formats

We can handle indexed 4 bit pixel formats in a generic way without having
to resort to "private" pixel format definitions. This introduces a new
pixel format, PIXEL_FORMAT_I_4, for (up-to) 16-color palette displays.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-04-25 11:31:10 +02:00
Kai Vehmanen
ff2e5fb9d4 drivers: dai: align Kconfig help text style to project
Use correct on tab plus two extra spaces indentation for Kconfig help
entries.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2026-04-25 08:21:38 +02:00
Kai Vehmanen
6924f2cb43 drivers: dai: make max dai_config blob size configurable
Add a Kconfig CONFIG_DAI_MAX_BESPOKE_CFG_SIZE to configure the maximum
blob size for dai_config_set. This only affects user-space usage via
syscalls when the blob needs to be copied to kernel memory before
validation.

The default is increased to 1024 to make tests pass with upstream
SOF project configurations.

Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
2026-04-25 08:21:38 +02:00
Mathias Markussen
c96e6372fa drivers: display: st: implement display callback API in LTDC driver
Implementation of DISPLAY_EVENT_VSYNC and DISPLAY_EVENT_LINE_INT callbacks.

Signed-off-by: Mathias Markussen <mathias.markussen@st.com>
2026-04-25 08:18:08 +02:00
Alexpandi Muniyandi
56604a60df drivers: clock_control: Add hfclk struct
Add hfclk struct to get the clock rate of hfclk

Signed-off-by: Alexpandi Muniyandi <alexpandi@linumiz.com>
2026-04-24 15:38:00 -04:00
Alexpandi Muniyandi
e6d4293dca drivers: adc: Add a driver support for TI MSPM0 ADC module
Add driver support for TI MSPM0 ADC module.

Add a configurable reference voltage support with vref.
Add this driver in shell.

Signed-off-by: Jackson Farley <j-farley@ti.com>
Signed-off-by: Alexpandi Muniyandi <alexpandi@linumiz.com>
2026-04-24 15:38:00 -04:00
Phi Bang Nguyen
591047374c drivers: video: sw_generator: Add support for BGR24 and BGRX32 formats
Add support for VIDEO_PIX_FMT_BGR24 and VIDEO_PIX_FMT_BGRX32 formats

Signed-off-by: Phi Bang Nguyen <phibang.nguyen@nxp.com>
2026-04-24 15:37:46 -04:00
Maureen Helm
43d6f06f1e drivers: sensor: use LOG_ERR_DEVICE_NOT_READY macro
Unify all "device not ready" error messages across sensor drivers with
the LOG_ERR_DEVICE_NOT_READY macro, following the pattern established
for input drivers in commit 31b5866.

This improves consistency and makes device readiness errors easier to
grep across the codebase. Using the standardized macro ensures device
names are properly formatted with null-safety checks.

Image size impact (tests/drivers/build_all/sensor on native_sim,
building 211 sensor drivers):
- Before: 1,033 KB (text: 961 KB)
- After:  1,036 KB (text: 964 KB)
- Change: +2.5 KB (+0.25%), text: +2.5 KB

The small size increase is due to the macros adding null-safety checks
and dynamic device name formatting, which generates slightly more code
than some of the simpler static log strings used by drivers previously.

Assisted-by: Claude:claude-sonnet-4.5
Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2026-04-24 15:36:33 -04:00
Maureen Helm
7c2a9c1a22 drivers: sensor: change device readiness LOG_DBG to LOG_ERR
Several sensor drivers were logging device readiness failures as LOG_DBG
rather than LOG_ERR, making initialization failures harder to diagnose.
These readiness checks occur during device initialization and return error
codes, so they should be logged as errors rather than debug messages.

This change affects drivers that check for bus or GPIO device readiness
and ensures consistent error reporting across the sensor subsystem.

Assisted-by: Claude:claude-sonnet-4.5
Signed-off-by: Maureen Helm <maureen.helm@analog.com>
2026-04-24 15:36:33 -04:00
Benjamin Cabé
ac7b9c7506 drivers: audio: dmic: prefix mpxxdtyy driver sources with dmic_
Align the mpxxdtyy driver sources with the other DMIC drivers.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-04-24 19:07:38 +02:00
Benjamin Cabé
4f8a71fbcd drivers: audio: dmic: make DMIC a proper driver class
There is no reason to not have DMIC be a proper driver class, so make
the appropriate change so that DMIC drivers actually populate a
driver_api struct.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-04-24 19:07:38 +02:00