Commit graph

11,885 commits

Author SHA1 Message Date
Armando Visconti
ca2992379c drivers/sensor: lsm6dsv16x: add int-gpio-config attribute in DT
Add the possibility to configure the interrupt gpio in one of the
two possiblities:

      - GPIO_INT_EDGE_TO_ACTIVE
      - GPIO_INT_LEVEL_ACTIVE

Default is GPIO_INT_EDGE_TO_ACTIVE, which matches with old fixed
configuration.

Signed-off-by: Armando Visconti <armando.visconti@st.com>
2026-05-31 13:41:03 +02:00
Shreyas Shankar
d2a8500223 drivers: timer: ti_rtitimer: Add initial support for TI RTI Timer
Add support for using RTI hardware as system timer:

- Add headers, driver code, Kconfig, and bindings for TI RTI Timer
- Make changes in CMakeLists.txt and Kconfig to support ti_rti_timer
- Add documentation and usage instructions in bindings file.

NOTE: Each RTI has 2 Counter blocks, 4 Counter Compare blocks.
This driver assumes that Counter block 0, Compare block 0 of
chosen RTI instance are used as RTI Timer.

Signed-off-by: Shreyas Shankar <s-shankar@ti.com>
2026-05-31 13:39:47 +02:00
Josuah Demangeon
1d35748d5c style: remove whitespace in < ... >; syntax from doc/comments
Fix devicetree coding style regarding whitespaces through the tree.
This affects code snippets inside documentation, comments, error messages
as to encourage a style that passes CI. Follow-up of #101619

Signed-off-by: Josuah Demangeon <me@josuah.net>
2026-05-29 20:53:20 -07:00
Muhammad Waleed Badar
14e9de309c dts: arm64: bcm2711: keep rng node disabled at SoC level
Keep the RNG node disabled at the SoC level so board-specific
DTS files remain responsible for enabling the hardware when
appropriate.

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
2026-05-29 22:09:43 +02:00
Ali Hozhabri
df4869fb60 dts: bindings: bluetooth: Introduce new properties for ST HCI SPI
Introduce new properties for ST HCI SPI to handle the new changes
required by x-nucleo-wba25a1 efficiently.

Signed-off-by: Ali Hozhabri <ali.hozhabri@st.com>
2026-05-29 22:07:54 +02:00
Richard Mc Sweeney
6c400ffa70 drivers: Add pse84 autanalog PRB reference
Added support for autanalog PRB for PSE84.

This implementation uses the shared autonomous controller (AC) MFD
with the other autanalog drivers.

The PRB is a programmable reference block inside the autonomous
(aut) analog subsystem. It is controlled using the autonomous
controller (AC), which is a programmable state machine. The AC is
shared across all autonomous analog peripherals including the
SAR, PRB, PTComp, CTB, and CTDAC.

The PRB contains two variable voltage references derived from
either VDDA(1.8V) or VGBR(0.9V). These need to be configured
together and accessed using the AC. A PRB MFD is used to bring
together the two voltage reference configurations. AC MFD then
references the combined PRB MFD configuration, and brings together
all other autanalog peripherals into a single AC setup for the
application.

Assisted-by: Claude:claude-opus-4.6
Signed-off-by: Richard Mc Sweeney <Richard.McSweeney@infineon.com>
2026-05-29 22:07:08 +02:00
Richard Mc Sweeney
deb16ae425 drivers: mux input support for pse84 autanalog sar
Updated pse84 autanalog sar to support muxed inputs.

This implementation uses the autonomous controller (MFD).
The autonomous controller (AC) a programmable state machine. The AC
is shared across all autonomous analog peripherals including the
SAR, PRB, PTComp, CTB, and CTDAC.

The device supports 8 direct GPIO inputs and 16 muxed inputs.
The muxed inputs can be sourced from pins or from interal signals
from other autanalog blocks. Muxed inputs can be chosen by assigning
channels 8 and above. Only 2 muxed channels are allowed per sequencer
when operating in high-speed mode. 1 muxed channel is permitted per
sequencer when operating in low power mode.

Assisted-by: Claude:claude-opus-4.6
Signed-off-by: Richard Mc Sweeney <Richard.McSweeney@infineon.com>
2026-05-29 22:05:52 +02:00
Sudarshan Iyengar
111a1ba43f drivers: sensor: bmi323: Add I2C bus support
Add I2C bus support to the BMI323 sensor driver. The BMI323
supports I2C communication with a dummy byte offset protocol
where 2 dummy bytes precede actual data in read operations.

Changes:
- Add bmi323_i2c.c/.h with I2C read/write and chip ID validation
- Add BMI323_BUS_I2C Kconfig option
- Update BMI323_DEVICE_BUS macro to handle I2C bus type
- Add bosch,bmi323-i2c.yaml device tree binding

The I2C implementation handles the dummy byte offset required
by the BMI323 when reading registers over I2C.

Signed-off-by: Sudarshan Iyengar <sudarshan.iyengar@alifsemi.com>
2026-05-29 22:05:08 +02:00
Henrik Brix Andersen
a304351437 dts: bindings: can: infineon: xmc4xxx-can: restrict clock-prescaler value
Restrict the value of the clock-prescaler property to the range 1 to 1023.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2026-05-29 07:44:59 +02:00
Henrik Brix Andersen
c0d7f260fd dts: bindings: can: renesas: rz-canfd: restrict rx-max-filters value
Restrict the value of the rx-max-filters property to the range 1 to 128.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2026-05-29 07:44:59 +02:00
Henrik Brix Andersen
283d5ef827 dts: bindings: can: renesas: ra-canfd: restrict rx-max-filters value
Restrict the value of the rx-max-filters property to the range 0 to 16.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2026-05-29 07:44:59 +02:00
Henrik Brix Andersen
6ddf2d70de dts: bindings: can: microchip: mcp251xfd: restrict timestamp-prescaler val
Restrict the value of the timestamp-prescaler property to the range 1 to
1024.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2026-05-29 07:44:59 +02:00
Henrik Brix Andersen
39babba45c dts: bindings: can: bosch: m_can: use min/max instead of an enum
Use min/max instead of an enum containing the numbers 1 to 16.

Signed-off-by: Henrik Brix Andersen <hebad@vestas.com>
2026-05-29 07:44:59 +02:00
Jilay Pandya
9eece736ea stepper: replace a bunch of BUILD_ASSERT with min/max
Replace most BUILD_ASSERT on property values with min/max checks on the
binding itself.

Signed-off-by: Jilay Pandya <jilay.pandya@outlook.com>
2026-05-29 07:44:21 +02:00
Fabio Baltieri
a6cca92e8f input: replace a bunch of BUILD_ASSERT with min/max
Replace most BUILD_ASSERT on property values with min/max checks on the
binding itself.

Signed-off-by: Fabio Baltieri <fabiobaltieri@google.com>
2026-05-29 07:43:58 +02:00
Peter Wang
4ad38a45a7 boards: frdm_mcxa577: add flexcan support
Enable FlexCAN FD on the FRDM-MCXA577 board using PORT1_18 (CAN0_TXD)
and PORT1_19 (CAN0_RXD). Update the nxp_mcxa5x_common SoC DTS to
advertise FlexCAN FD capability present on MCXA5x devices.

Signed-off-by: Peter Wang <chaoyi.wang@nxp.com>
2026-05-29 07:42:04 +02:00
Etienne Carriere
3aaf5c0388 dts: bindings: clock: stm32u5: clarify MIPI-DSI properties description
Add a clarification about pll-charge-pump possible values since
value 0 is listed twice in the description, to state it is not a typo.

While at it, rephrase description of the other frequency range
related properties for consistency.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2026-05-29 07:41:22 +02:00
Etienne Carriere
68b4a602b1 dts: bindings: clock: stm32n6: clarify IC mux pll-src property
Add a bit of information to pll-src in st,stm32n6-ic-clock-mux
description.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2026-05-29 07:41:22 +02:00
Etienne Carriere
b0692445db dts: bindings: *: st,stm32*: use min/max instead of enums
Replace enumerated values with min and max properties where applicable
and meaningful.

Signed-off-by: Etienne Carriere <etienne.carriere@st.com>
2026-05-29 07:41:22 +02:00
Andreas Vibeto
7e41accf5e dts: vendor: nordic: Disable usbhs_wrapper in .dtsi
Set the status for usbhs_wrapper to disabled to avoid having to
explicitly disable it for boards that do not use it. The node
is enabled in nrf54lm20dk to keep it as before.

Signed-off-by: Andreas Vibeto <andvibeto@gmail.com>
2026-05-29 07:41:09 +02:00
Jérôme Pouiller
4ffd937d11 soc: silabs: siwx91x: nwp: Declare registers in DT
For now, these registers are not yet used. They allows to clarify the
resources used by the NWP device.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-05-29 07:36:02 +02:00
Jérôme Pouiller
18f635122a soc: silabs: siwx91x: nwp: Fix antenna-selection on siwx91x_rb4342
siwx91x_rb4342 uses internal antenna selection while siwx91x_rb4338 use
external antenna selection.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-05-29 07:36:02 +02:00
Jérôme Pouiller
431c3d1567 soc: silabs: siwx91x: nwp: Declare pinctrl for antenna selection
These pin are currently managed by the HAL. However, for the consistency,
this patch enforces their declaration in the Device Tree.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-05-29 07:36:02 +02:00
Jérôme Pouiller
06885f6974 soc: silabs: siwx91x: nwp: Remove stack allocation
This way of allocating stack is not longer used by the NWP firmware for a
while.

Signed-off-by: Jérôme Pouiller <jerome.pouiller@silabs.com>
2026-05-29 07:36:02 +02:00
Dhanoo Surasarang
8b66ac6c5d dts: vendor: nordic: nrf7120: Add Wi-Fi WICR nodes
Add the WICR node. The node is disabled by default; boards that boot
the Wi-Fi core should enable it and populate the WICR properties.

Add Wi-Fi LMAC and UMAC ROM regions. These provide the boot addresses
used by the WICR.

Add temporary Wi-Fi LMAC and UMAC patch partitions at the current
FPGA/bring-up addresses used by the patch binaries. These partitions
provide the ROM patch addresses used when generating WICR. The
placement is expected to be revisited when the Wi-Fi patch partition
and DFU architecture is finalized.

Signed-off-by: Dhanoo Surasarang <dhanoo.surasarang@nordicsemi.no>
2026-05-29 07:35:22 +02:00
Dhanoo Surasarang
2cdfc6ff36 dts: bindings: arm: Add nordic,nrf-wicr binding
Add DTS binding for Wi-Fi Information Configuration Registers.

Signed-off-by: Dhanoo Surasarang <dhanoo.surasarang@nordicsemi.no>
2026-05-29 07:35:22 +02:00
Zhiyuan Tang
d1a556664e dts: arm: realtek: add WDT node for Bee family SoCs
Add Watchdog Timer node and binding for Realtek Bee family SoCs
(RTL8752H and RTL87x2G).

Signed-off-by: Zhiyuan Tang <zhiyuan_tang@realsil.com.cn>
2026-05-29 07:35:09 +02:00
Johann Fischer
3518856ead board: nrf54lm20a: add USBHS charging-type detector node
Add and enable USBHS charging-type detector node.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
2026-05-29 07:33:24 +02:00
Johann Fischer
e11ea494e5 drivers: usb: add Nordic USBHS BC12 driver
Add driver for Nordic USB PD Charging-Type detector.
This driver depends on the USBHS wrapper driver.

Signed-off-by: Johann Fischer <johann.fischer@nordicsemi.no>
Co-authored-by: Tomasz Moń <tomasz.mon@nordicsemi.no>
2026-05-29 07:33:24 +02:00
Arjun Sahajan
7d40db66b9 dts: timer: mchp_xec: Update timer nodes with new macros
Update PCR and GIRQ properties of timer node to use new macros

Signed-off-by: Arjun Sahajan <Arjun.Sahajan@microchip.com>
2026-05-29 07:31:57 +02:00
Holt Sun
18541cf014 drivers: crc: nxp: disable on variants without HAL support
Commit 454fabb155 added nxp,crc devicetree nodes to shared dtsi
files, but the NXP HAL does not expose CRC_Type for every variant
that includes those files, breaking the build on MCXC444 and on
MIMXRT798S cm33_core1.

Move the crc node from nxp_rt7xx_common.dtsi into
nxp_rt7xx_cm33_cpu0.dtsi so it only reaches the core that has the
peripheral, and /delete-node/ &crc; in nxp_mcxc444.dtsi. Drop the
stale zephyr,crc chosen and &crc overrides from those board DTS
files.

Verified with twister tests/drivers/build_all -M all: the two failing
targets build clean, and frdm_mcxc242 and cm33_cpu0 still keep
CONFIG_CRC_DRIVER_NXP=y.

Signed-off-by: Holt Sun <holt.sun@nxp.com>
2026-05-28 11:13:33 +01:00
Qiang Zhao
57bc972ee2 dts: arm: nxp: imx95: fix edma2 interrupt mapping for all 64 channels
eDMA2 on i.MX95 has 32 shared IRQs, each covering a pair of channels:
  ch0/1  -> IRQ 128, ch2/3  -> IRQ 129, ch4/5  -> IRQ 130, ...
  ch62/63 -> IRQ 159

The previous DTS only declared 3 IRQs (128, 129, 143) with an incorrect
channels-shared-irq-mask that mapped ch4/5 to IRQ 143 (ch30/31).
This caused an "Unhandled IRQn: 130" crash when SAI3 DMA transfers
(using edma2 ch4/5) were started.

Expand interrupts to cover all 32 channel-pair IRQs (128-159) and
update channels-shared-irq-mask accordingly.

Signed-off-by: Qiang Zhao <qiang.zhao@nxp.com>
2026-05-28 11:13:13 +01:00
Khoa Nguyen
4a23227404 dts: arm: renesas: ra: Correct max-bitrate-supported for iic1 on RA6M5
Correct max-bitrate-supported for iic1 on RA6M5

Signed-off-by: Khoa Nguyen <khoa.nguyen.xh@renesas.com>
2026-05-28 11:12:06 +01:00
Yongxu Wang
267f9aff99 dts: mimx943: m33: add watchdog device nodes
Add watchdog5 device node into arm mimx94396

Signed-off-by: Yongxu Wang <yongxu.wang@nxp.com>
2026-05-28 11:07:16 +01:00
Yongxu Wang
76364fba39 dts: mimx95_m7: add watchdog device nodes
Add watchdog5 device node into mimx9596 m7, watchdog3/4 is assigned into
A55, only watchdog5 can be use by M7 cpu

Signed-off-by: Yongxu Wang <yongxu.wang@nxp.com>
2026-05-28 11:07:16 +01:00
Thomas Decker
a6eb598d80 driver: pwm: stm32: Add access to input capture prescaler via flags
Adds STM32 specific flags to set the input capture prescaler to 2, 4 or 8.

Signed-off-by: Thomas Decker <decker@jb-lighting.de>
2026-05-28 11:05:18 +01:00
Paulo Santos
1a6aa08514 modem: cmux: add cmux-no-powersave-handshake property
3GPP TS 27.010 section 5.4.6.3.2 specifies a PSC frame exchange when
entering power save and section 5.4.7 specifies a flag-byte exchange
when exiting. modem_cmux blocks at T3 timeout on either half if the
peer does not implement the exchange, which is the case for modems
that manage sleep and wake out-of-band (hardware lines or
modem-control AT commands).

Add an opt-in DT property cmux-no-powersave-handshake (default off)
on the cellular-modem common binding. When set,
modem_cmux_runtime_pm_handler skips modem_cmux_send_psc and the T3
reschedule on entry and transitions directly to STATE_POWERSAVE;
powersave_wait_wakeup skips the wake-pattern transmission and the
STATE_RESYNC wait on exit and transitions directly to STATE_CONNECTED.

Signed-off-by: Paulo Santos <paulo.santos-ext@hexagon.com>
2026-05-27 21:34:28 -04:00
Raphael Gallais-Pou
2278ecbeb9 dts: arm: st: h7: add DFSDM node
Add node representing the DFSDM to SoC DTSI of STM32H7 series.

Signed-off-by: Raphael Gallais-Pou <raphael.gallais-pou@foss.st.com>
2026-05-27 21:31:24 -04:00
Raphael Gallais-Pou
a5da087f08 drivers: audio: dmic: Add STMicroelectronics DFSDM DMIC driver
The Digital Filter for Sigma Delta Modulators (DFSDM) is dedicated to
interface external Σ∆ modulators.

It features:
    * Up to 8 multiplexed input digital serial channels:
        – SPI or Manchester-coded 1 wire interface
        – clock output for Σ∆ modulators
    * Up to 8 internal digital parallel channels:
        – up to 16 bit resolution
        – internal sources: memory (CPU/DMA write) data streams
    * Adjustable digital signal processing
    * Up to 24-bit output data resolution
    * Signed output data format
    * Continuous or one-shot conversion
    * “regular” or “injected” conversions
    * Analog watchdog
    * Short-circuit detector
    * Min/Max extremes detector
    * DMA read access
    * Interrupts for end of conversion, overrun, analog watchdog,
      short-circuit, channel clock absence

Signed-off-by: Raphael Gallais-Pou <raphael.gallais-pou@foss.st.com>
2026-05-27 21:31:24 -04:00
Jason Yu
2ac1ccec05 dts: i2c: lpci2c: Add recover-bus-on-init
Add optional device tree option `recover-bus-on-init`,
it recovers the I2C bus during driver initialization.
Requires scl-gpios and sda-gpios to be defined on the same node.

Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
2026-05-27 21:30:18 -04:00
Jason Yu
56ed40e4cc dts: i2c: lpi2c: Add recover-bus-on-init
Add optional device tree option `recover-bus-on-init`,
it recovers the I2C bus during driver initialization.
Requires scl-gpios and sda-gpios to be defined on the same node.

Signed-off-by: Jason Yu <zejiang.yu@nxp.com>
2026-05-27 21:30:18 -04:00
Richard Mc Sweeney
656c245ce5 drivers: add pse84 CTDAC support
Added autonomous analog CTDAC for PSE84 device.

This implementation uses the autonomous controller (MFD)
that is shared with other autanalog drivers.

The CTDAC stands for Continuous Time DAC. It is a programmable DAC
residing inside the autonomous (aut) analog subsystem. It is
controlled using the autonomous controller (AC), which is a
programmable state machine. The AC is shared across all autonomous
analog peripherals including the SAR, PRB, PTComp, CTB, and CTDAC.

The DAC output can either be software controlled or be driven
through the AC hardware by loading through an internal LUT memory.
AC MFD references the DAC configuration, and brings together all
other autanalog peripherals into a single AC setup for the application.

Assisted-by: Claude:claude-opus-4.6
Signed-off-by: Richard Mc Sweeney <Richard.McSweeney@infineon.com>
2026-05-27 21:28:38 -04:00
Akansh Sinha
5620fa9906 drivers: i2c: dw: add support for SDA hold time
This PR introduces the `sda-hold-time-ns` DeviceTree property for
DesignWare I2C controllers. The driver logic is updated to prioritize
this nanosecond configuration, calculating the necessary hardware clock
ticks at build time using the new `HOLD_TIME_TO_TICKS` macro. If the
property is not defined, it safely falls back to the legacy
`sda-hold-tx` tick configuration.

Fixes #83437

Signed-off-by: Akansh Sinha <akansh.sinha.dev@gmail.com>
2026-05-27 21:28:18 -04:00
Zhiyuan Tang
9df73d264c dts: arm: realtek: bee: configure SysTick min-timeout-cycles
Set 'zephyr,min-timeout-cycles' to 32 cycles for the SysTick timer on
Realtek RTL8752H and RTL87x2G (Bee Famliy) SoCs.

Since these SoCs typically use a 32 kHz clock source for the SysTick
timer, the default driver limit (1024 cycles) imposes a ~31.25 ms
minimum wait time. By reducing this to 32 cycles, the minimum hardware
timeout is aligned with a 1ms kernel tick (at 1000 Hz).

This improvement enables functional tickless idle mode and ensures that
kernel timing-dependent tests can achieve the required 1ms resolution.

Signed-off-by: Zhiyuan Tang <zhiyuan_tang@realsil.com.cn>
2026-05-27 21:28:04 -04:00
Zhiyuan Tang
95f28b3ccf drivers: timer: cortex_m_systick: add zephyr,min-timeout-cycles property
Add support for configuring the minimum timer delay via the Devicetree
property 'zephyr,min-timeout-cycles'. This is particularly useful for
platforms using low-frequency clock sources (e.g., 32.768 kHz).

The driver's default MIN_DELAY is MAX(1024, CYC_PER_TICK / 16). On a
system with a 32.768 kHz clock and CONFIG_SYS_CLOCK_TICKS_PER_SEC=1000,
CYC_PER_TICK is 32. This results in a MIN_DELAY of 1024 cycles, which
translates to a ~31 ms minimum timeout. This granularity is too
coarse for tickless operation and causes failures in tests that expect
sub-10ms precision.

This change allows boards to override this limit, enabling finer timing
resolution while maintaining the existing default for backward
compatibility.

Signed-off-by: Zhiyuan Tang <zhiyuan_tang@realsil.com.cn>
2026-05-27 21:28:04 -04:00
Amneesh Singh
91d25fcbac boards: am243x_evm/am2434/r5f0_0: configure timer source via syscon
Use TI contol module (MMR) via clksel specifier-space to configure the
clock source for TI's DMtimer.

Signed-off-by: Amneesh Singh <amneesh@ti.com>
2026-05-27 21:27:24 -04:00
Amneesh Singh
f96fe2a675 timer: ti_dmtimer: allow configuring timer clock source
Allow configuring the clock source for TI's dmtimer using syscon driver for
MMR writes. The new property "clksel" takes offset and value to select
the mux configuration.

This is required since there are no clock parent APIs in the clock
controller subsystem as of now.

Signed-off-by: Amneesh Singh <amneesh@ti.com>
2026-05-27 21:27:24 -04:00
Camille BAUD
3c22e65285 bflb: bluetooth: Fix BL70x M16S1 blob
Missing bl_rand shim, use proper size of EM

Fixes https://github.com/zephyrproject-rtos/zephyr/issues/109697

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-05-27 15:19:03 +01:00
Luca Impagliazzo
1ef6567a21 drivers: modem: telit: align LE910C1TX with generic cellular modem patterns
- Switch binding to zephyr,cellular-modem-device.yaml
- Use MODEM_DT_INST_PPP_DEFINE to properly associate PPP with the modem
  device and preserve runtime PM integration

Signed-off-by: Luca Impagliazzo <Luca.Impagliazzo@telit.com>
2026-05-27 15:17:09 +01:00
Albort Xue
5d0c7b8df7 boards: nxp: use zephyr,mapped-partition for FlexSPI XIP backings
Convert FlexSPI-backed flash partition tables on NXP boards from
"fixed-partitions" to "zephyr,mapped-partition" so that
FIXED_PARTITION_NODE() resolves to a CPU-mapped (AHB/XIP) address
instead of a flash-local offset. This lets MCUboot, settings/NVS, and
other partition consumers reach the partition through the FlexSPI AHB
window without the driver having to translate offsets at runtime.

Related-to: #107737

Signed-off-by: Albort Xue <yao.xue@nxp.com>
2026-05-27 15:13:30 +01:00