Commit graph

28,390 commits

Author SHA1 Message Date
Pisit Sawangvonganan
d8110bf398 drivers: i2c: place API into iterable section
Add the `DEVICE_API` wrapper to the remaining `i2c_driver_api` instances,
ensuring that each driver API is placed in its respective linker section.

Signed-off-by: Pisit Sawangvonganan <pisit@ndrsolution.com>
2026-01-25 14:40:03 +01:00
Merin George
019b31f3eb drivers: bluetooth: hci: enable controller low power mode
Enable low power mode support in the bluetooth HCI driver for
cyw20829 so that the controller can enter sleep states when idle

Signed-off-by: Merin George <merin.george@infineon.com>
2026-01-25 14:39:08 +01:00
Daniel DeGrasse
b4cbd206ec drivers: serial: ns16550: support odd parity
Add odd parity support into ns16550 driver.

Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
2026-01-25 14:38:43 +01:00
Daniel DeGrasse
a436c1cc12 drivers: serial: ns16550: support interrupt API correctly for DW IP
For the base ns16550 spec, supporting the UART interrupt API correctly
is not strictly possible- the IIR register will clear after one read and
not update, so multiple calls to uart_irq_[tx/rx]_ready after
uart_irq_update will return stale data.

The Synopsis DW variant of this IP includes a USR register, which can be
used to correctly identify when the TX FIFO has space for more data and
when the RX FIFO is empty. Use this register when
CONFIG_UART_NS16550_DW8250_DW_APB is set.

Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
2026-01-25 14:38:43 +01:00
Daniel DeGrasse
f620006c84 drivers: serial: ns16550: support loopback mode
Add support for loopback mode in ns16550 uart driver, by setting LOOP
bit in MDC register.

Signed-off-by: Daniel DeGrasse <ddegrasse@tenstorrent.com>
2026-01-25 14:38:43 +01:00
Benjamin Cabé
49a89de750 drivers: stepper: adopt SHELL_HELP in stepper shell module
Use SHELL_HELP macro for help strings to ensure consistency across
various shell modules and to save on code size.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-01-24 08:52:47 -06:00
Benjamin Cabé
2cee3420b8 drivers: ptp: adopt SHELL_HELP in ptp shell module
Use SHELL_HELP macro for help strings to ensure consistency across
various shell modules and to save on code size.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-01-24 08:52:24 -06:00
Benjamin Cabé
ce8e3c0a7e drivers: spi: adopt SHELL_HELP in spi shell module
Use SHELL_HELP macro for help strings to ensure consistency across
various shell modules and to save on code size.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-01-24 08:52:07 -06:00
Gaetan Perrot
cb5b83b9bc drivers: comparator: mcux_acmp: remove dead error handling
The MCUX ACMP configuration helpers always return 0, making their
error checks in mcux_acmp_init() unreachable.

Remove the redundant return value checks to simplify the
initialization flow.

No functional change.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-24 08:49:14 -06:00
Andreas Schmidt
6d2471af41 drivers: spi: spi_shell: enumerate only direct SPI controller children
RUN_FN_ON_SPI_DEVICE to run a given fn only if the node_id is a direct
child of the SPI controller (i.e. DT_PARENT(node_id) == DT_BUS(node_id)),
and the node itself has status okay. This prevents enumerating sub-nodes
of SPI devices (for example GPIO sub-devices) which are not direct
children of the SPI controller.

Fixes #99785

Signed-off-by: Andreas Schmidt <andreas.schmidt@dormakaba.com>
2026-01-24 08:47:59 -06:00
Marcelo Roberto Jimenez
1ab8978e66 drivers: flash: flash_shell.c: Fix flash read help text
Actually, the parameter is the number of bytes to read, not the number
of double words.

Signed-off-by: Marcelo Roberto Jimenez <marcelo.jimenez@gmail.com>
2026-01-23 09:17:05 -06:00
Marcelo Roberto Jimenez
391ca7c7de drivers: flash: flash_shell.c: Fix parsing of "flash read"
The parsing of the number of bytes to read in the read command was being
done in hexadecimal, causing unexpected behavior.

Now the number can be interpreted in decimal or hexadecimal if prefixed
with 0x.

Signed-off-by: Marcelo Roberto Jimenez <marcelo.jimenez@gmail.com>
2026-01-23 09:17:05 -06:00
Marcelo Roberto Jimenez
9535aebafe drivers: flash: flash_shell.c: Run clang-format before patch
This patch runs clang-format on the flash_shell.c file before the
real patch gets applied, otherwise the changes would be hard to
read.

Signed-off-by: Marcelo Roberto Jimenez <marcelo.jimenez@gmail.com>
2026-01-23 09:17:05 -06:00
Johan Hedberg
f64a999147 drivers: bluetooth: silabs_efr32: Fix default for max PAwR advertisers
This option already depends on BT_PER_ADV_RSP being enabled, so we should
have a more reasonable default for it. This way e.g. the existing PAwR
sample app should work without additional changes.

Signed-off-by: Johan Hedberg <johan.hedberg@silabs.com>
2026-01-23 13:55:25 +01:00
Pieter De Gendt
8402a4f8e5 drivers: gpio: mcux: Fix updating ICR registers without IRQ lock
During configuration the base->ICR1 or base->ICR2 register is written
without an IRQ lock. This can result in unwanted side-effects if the status
bit isn't cleared, or the edge select still needs to be updated.

Signed-off-by: Pieter De Gendt <pieter.degendt@basalte.be>
2026-01-23 13:54:42 +01:00
Gaetan Perrot
7af0a2fcdf sensor: adi: adxl372: stream: check return value of adxl372_set_op_mode
Check the return value of adxl372_set_op_mode() in
adxl372_submit_stream() and abort on error.

Fix CID: 516239

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-23 13:54:21 +01:00
Gaetan Perrot
ed545d2302 drivers: ethernet: lan9250: Make interrupt mask constant unsigned
Add a 'U' suffix to the interrupt status mask passed to
lan9250_write_sys_reg() to make the constant explicitly unsigned.

This avoids signed/unsigned ambiguity and addresses a SonarQube
static analysis warning.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-23 13:53:59 +01:00
Gaetan Perrot
f18da88e3f drivers: ethernet: lan9250: fix uninitialized variable warning
The lan9250_thread() function declares a local variable that may be
used without being initialized, triggering a -Wmaybe-uninitialized
warning when building with -Werror.

Initialize the variable at declaration to ensure deterministic
behavior and avoid build failures.

No functional change intended.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-23 13:53:59 +01:00
Gaetan Perrot
2719679c26 drivers: ethernet: lan9250: fix error handling
Several LAN9250 helper functions ignored return values from register
access and wait routines, potentially hiding SPI or timeout
failures.

Propagate error codes from read/write/wait helpers throughout the
driver so failures are detected and handled by callers.

This improves robustness and makes error conditions visible during
initialization, PHY access, RX/TX paths, and MAC configuration.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-23 13:53:59 +01:00
Hugues Fruchet
70f57d119a drivers: video: stm32_dcmipp: give back buffers at stream disable
Give back buffers at stream disable.

Signed-off-by: Hugues Fruchet <hugues.fruchet@foss.st.com>
2026-01-23 13:52:31 +01:00
Hugues Fruchet
cc8475dd52 drivers: video: stm32_dcmipp: set multilines to 128 to limit interrupts
Set multiline on pixel pipes to 128 lines to limit slave IP hardware
handshakes and so reduce the number of interrupts received by slave IP.

Signed-off-by: Hugues Fruchet <hugues.fruchet@foss.st.com>
2026-01-23 13:52:31 +01:00
Hugues Fruchet
8c8a021a5f drivers: video: stm32_venc: log interrupts
Log number of interrupts, including fuse interrupts at each
key frame and at the end of encoding.

Signed-off-by: Hugues Fruchet <hugues.fruchet@foss.st.com>
2026-01-23 13:52:31 +01:00
Hugues Fruchet
f396ac9efc drivers: video: stm32_venc: fix completion on interrupt
Fix wait of hardware encoding completion by using
interrupt signaling instead of polling on irq status.

Signed-off-by: Hugues Fruchet <hugues.fruchet@foss.st.com>
2026-01-23 13:52:31 +01:00
Hugues Fruchet
e84f195780 drivers: video: stm32_venc: fix delta frames generation
Only key frames were generated because of resync flag
always true, fix this.

Signed-off-by: Hugues Fruchet <hugues.fruchet@foss.st.com>
2026-01-23 13:52:31 +01:00
Hugues Fruchet
a616f7b107 drivers: video: stm32_venc: fix release sequence
Fix missing H264 library release and total memory count reset.

Signed-off-by: Hugues Fruchet <hugues.fruchet@foss.st.com>
2026-01-23 13:52:31 +01:00
Łukasz Kędziora
261dfbc765 drivers: spi_dw: Add clock control
This adds optional clock control support to the spi_dw driver. The
support currently assumes that the clock control binding uses clkid for
the clock cell name.

Signed-off-by: Łukasz Kędziora <lkedziora@antmicro.com>
Signed-off-by: Piotr Zierhoffer <pzierhoffer@antmicro.com>
Signed-off-by: Andreas Weissel <andreas.weissel@synaptics.com>
2026-01-23 13:50:34 +01:00
Marcelo Roberto Jimenez
e73e2f148c drivers: ethernet: xmc4xxx: BUG Fix: RX code dropping packets
The ethernet DMA driver code was causing the silent dropping of packets
with length 125, 126 and 127. The root cause of the problem is that the
DMA engine performs an extra four bytes transfer corresponding to the
Receive Status Word. For those particular packet lengths, the previous
code incorrectly calculated the last fragment size.

The new code avoids that pitfall by decrementing the total frame size as
the fragments are being collected, while avoiding the creation of an
extra fragment on the extracted network packet.

Signed-off-by: Marcelo Roberto Jimenez <marcelo.jimenez@gmail.com>
2026-01-23 13:49:34 +01:00
Gaetan Perrot
e18e1c06c8 drivers: dai: intel: dmic: make dai_dmic_probe void
dai_dmic_probe() and dai_dmic_probe_wrapper() never reports errors
and always returns 0.
The error check at the call site is therefore dead code.

Make functions void and drop the unused error handling.

Signed-off-by: Gaetan Perrot <gaetan.perrot@spacecubics.com>
2026-01-23 10:44:10 +01:00
Peter van der Perk
80c2beff83 drivers: watchdog: FS26 watchdog support RTIO
Under RTIO SPI behaves differently and thus FS26 didn't work and
would reset the board. This changes to add 8-bit transfer support
and doesn't lock the irq anymore since the SPI driver got changed.
Which would yield an assertion, best it ensure feed callee priority
is high enough.

Signed-off-by: Peter van der Perk <peter.vanderperk@nxp.com>
2026-01-23 10:43:47 +01:00
Albort Xue
59ffa602b4 drivers: counter: mcux_lpit: Add clock configuration and enable
Add explicit clock configuration and enable calls during driver
initialization. The driver now attempts to configure the clock
subsystem before enabling it.

Note: -ENOSYS is temporarily ignored as not all clock control
drivers currently implement the configure API. This handling
should be removed once all clock drivers support configure.

Signed-off-by: Albort Xue <yao.xue@nxp.com>
2026-01-23 10:43:08 +01:00
Camille BAUD
f8f94fd6cd drivers: rp2: Add support for RP2350 for vreg
Adds support for RP2350 in vreg regulator driver

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-01-23 10:42:35 +01:00
David Jewsbury
1cbaa5f3f5 drivers: mspi_dw: nrf_qspi_v2: Remove redundant EVDMA definitions
EVDMA register access has been cleaned up to remove redundant macros.
EVDMA_PLAIN_DATA enum has also been added of value 0x3F which previously
had been assumed to be a masking of all the other values but isn't, it's
its own distinct value. Other enums still exist for future use.

Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
2026-01-23 10:42:15 +01:00
David Jewsbury
2043119bcc drivers: mspi_dw: nrf_qspi_v2: Add ifdef to include DMA code if enabled
DMA functions will not only be included if enabled for the nrf_qspi_v2
peripheral

Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
2026-01-23 10:42:15 +01:00
David Jewsbury
a2b583081a drivers: mspi_dw: fix DMA transfer size logic
Fixing of erroneous RXTRANSFERLENGTH and number of transfer frames
calculation.

Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
2026-01-23 10:42:15 +01:00
Kevin Chan
0c950801d3 drivers: sdhc: add SDHC driver for PSE84 & cy8cproto_062_4343w
- add SDHC driver code to support both SDMMC and SDIO fucntion
- add SDHC dts node and Kconfig
- add clock configuration for SDHC

Signed-off-by: Kevin Chan <kevin.chan3@infineon.com>
2026-01-23 10:41:07 +01:00
Thinh Le Cong
0f80ee260d drivers: spi: Initial support for SCI SPI driver on Renesas RA
Add SCI SPI driver support on Renesas RA devices

Signed-off-by: Thinh Le Cong <thinh.le.xr@bp.renesas.com>
2026-01-23 10:40:51 +01:00
Brandon Edmonds
554a765de9 drivers: sensor: shell: Add SENSOR_TRIG_TIMER to the sensor stream shell.
In sensor_shell_stream.c, cmd_sensor_stream() checks for valid trigger
types, but it is missing SENSOR_TRIG_TIMER option.

Signed-off-by: Brandon Edmonds <bedmonds91@gmail.com>
2026-01-22 14:34:17 -06:00
Kevin Chan
72b13523f6 drivers: spi: add SPI-DMA logic
support SPI-DMA logic

Signed-off-by: Kevin Chan <kevin.chan3@infineon.com>
2026-01-22 14:34:05 -06:00
Kevin Chan
09ffa475c9 drivers: dma: fix channel_state
channelState depends on descriptor count

Signed-off-by: Kevin Chan <kevin.chan3@infineon.com>
2026-01-22 14:34:05 -06:00
Mohamed Azhar
139f2e7b83 drivers: spi: microchip: Add SPI g1 driver
- Add SPI driver for Microchip SERCOM g1
- Add and update Kconfig files to support the driver
- Update CMakeLists.txt to include the new driver

Signed-off-by: Mohamed Azhar <mohamed.azhar@microchip.com>
2026-01-22 14:32:38 -06:00
Liam Ogletree
339d2df232 drivers: haptics: Update CS40L5x driver to use new haptics API
Modifies the CS40L5x driver to use the error callback mechanism
added to the haptics API instead of a device-specific API
extension.

Signed-off-by: Liam Ogletree <liam.ogletree@cirrus.com>
2026-01-22 14:31:31 -06:00
Marcelo Roberto Jimenez
62a49211b1 drivers: serial: uart_xmc4xxx: Enable run time configuration
This patch enables run time configuration for the XMC4xxx serial ports.

Signed-off-by: Marcelo Roberto Jimenez <marcelo.jimenez@gmail.com>
2026-01-22 14:30:26 -06:00
Marcelo Roberto Jimenez
7744d20840 drivers: serial: uart_xmc4xxx: Run clang-format before applying a patch
This patch just formats the uart_xmc4xxx.c file before the real
patch, otherwise the changes would be hard to read.

Signed-off-by: Marcelo Roberto Jimenez <marcelo.jimenez@gmail.com>
2026-01-22 14:30:26 -06:00
Thomas Lang
109f0e15c4 drivers: sensor: apds9960: Added gesture detection
Created logic to calculate gestures from the APDS9960 sensor

Signed-off-by: Thomas Lang <thomaslang2003@me.com>
2026-01-22 14:29:50 -06:00
Thomas Lang
f505d31be6 drivers: sensor: apds9960: Setup gesture sensing configuration
Created sensor specific channels and Kconfig for gesture sensing.

Signed-off-by: Thomas Lang <thomaslang2003@me.com>
2026-01-22 14:29:50 -06:00
Thomas Lang
75640be632 drivers: sensor: apds9960: Allow multiple sensor instances
Allow for multiple apds9960s to be present

Signed-off-by: Thomas Lang <thomaslang2003@me.com>
2026-01-22 14:29:50 -06:00
Hanan Arshad
151a9a33e6 drivers: sensor: pms7003: add support for additional PM parameters
The current PMS7003 sensor driver in Zephyr only supports reading the
basic PM1.0, PM2.5, and PM10 concentration values.

This update extends the driver to support additional data provided by the
PMS7003 sensor, including:

- Standard particle concentration values (CF=1) for PM1.0, PM2.5, and PM10
- Particle counts for particles greater than or equal to 0.3 µm, 0.5 µm,
  1.0 µm, 2.5 µm, 5.0 µm, and 10.0 µm per 0.1 liter of air

Adding support for these readings allows applications to access more
detailed particulate data, improving the sensor’s usability in air quality
monitoring and analysis scenarios.

Signed-off-by: Hanan Arshad <hananarshad619@gmail.com>
2026-01-22 14:29:37 -06:00
Braeden Lane
f68885f1c6 drivers: Add PSOC 4 clock control and serial support
Add clock control and UART support for PSOC 4 family:
- Clock control drivers with PSOC 4 compatibility
- PSOC4xx clock source bindings and definitions
- HF clock divider configuration support
- UART FIFO trigger level configuration for PSOC 4100S Max
  series with 8-deep FIFO (RX trigger=7, TX trigger=0)

Signed-off-by: Braeden Lane <Braeden.Lane@infineon.com>
2026-01-22 13:01:21 -05:00
Braeden Lane
fe9ecee97e drivers: gpio: Add Infineon PSOC 4 GPIO driver support
Add GPIO driver for Infineon PSOC 4 series MCUs using the
Infineon PDL.

Signed-off-by: Braeden Lane <Braeden.Lane@infineon.com>
2026-01-22 13:01:21 -05:00
Antoine Pradoux
c10819f93a drivers: rtc: stm32: Add STM32U3 support for RTC alarm, clock & counter
Extend RTC driver to handle STM32U3 series specifics:
- Include STM32U3X in condition where RTC Alarm event is not routed to EXTI
- Use LL_RCC_RTC_ClockEnable call for STM32U3 instead of LL_RCC_EnableRTC
- Adapt counter_stm32_rtc driver for STM32U3 clock and EXTI handling

Signed-off-by: Antoine Pradoux <antoine.pradoux@st.com>
2026-01-22 13:00:57 -05:00