Commit graph zephyr/dts
Author SHA1 Message Date
Shreehari HK
8215832445 dts: arm: alif: add designWare i2c devicetree nodes
Describe Alif Balletto and Ensemble I2C controllers as disabled
snps,designware-i2c nodes so boards can enable them through the
existing upstream I2C_DW driver without adding a new driver.

Each node includes register base, interrupt routing (NVIC/GIC as
appropriate), clock phandle, and standard DesignWare properties such
as clock-frequency and timing offsets.

Controllers remain disabled by default until board devicetree
enables the instances required by each devkit.

Signed-off-by: Shreehari HK <shreehari.hk@alifsemi.com>
2026-08-28 15:28:43 -04:00
Anthony Raterta
e30f65a1f9 drivers: regulator: add support for MAX20362 PMIC
This driver integrates with the Zephyr regulator API to control the
MAX20362 PMIC. Additional MAX20362-specific helper functions are
exposed to support device features that are not covered by the
generic regulator API.

Signed-off-by: Anthony Raterta <Anthony.Raterta@analog.com>
2026-08-28 15:28:26 -04:00
Benjamin Cabé
3820679807 drivers: i2c: add VIRTIO I2C adapter driver
Add a driver for the VIRTIO I2C adapter device (virtio spec 1.3, section
5.16), letting a Zephyr guest drive an I2C bus exposed by a hypervisor or
a vhost-user backend.

One i2c_msg is one descriptor chain, and the whole batch is queued before
the device is notified, so a multi-message transfer costs one round trip
instead of one per message. FAIL_NEXT groups the messages the device runs
back to back; a message that ends in a stop closes its group, so a failure
takes the rest of that group with it.

Every operation is a round trip to the device, so the I2C API can only be
used from a thread. VIRTIO_I2C_F_ZERO_LENGTH_REQUEST is mandatory, so a
device that does not offer it is refused. 10-bit addressing is not
supported, and the bus speed is accepted and ignored.

Assisted-by: Claude Code:opus-5
Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-08-28 15:27:52 -04:00
Karthikeyan Sivaji
0854530db0 dts: arm: microchip: pic32cx_sg: Add ethernet node
Updated pic32cx_sg.dtsi to include Ethernet node.

Signed-off-by: Karthikeyan Sivaji <Karthikeyan.Sivaji2@microchip.com>
2026-08-28 06:51:47 -04:00
Mingzong Zhao
29e818d4c3 dts: bindings: input: add row-size/col-size limits to DT binding
Add min/max constraints for row-size and col-size in the input-keymap
devicetree binding to reject out-of-range values at build time.

This aligns schema validation with MATRIX_KEY 8-bit row/column
encoding and uint8_t runtime storage in input_keymap.

Signed-off-by: Mingzong Zhao <mingzong.zhao@outlook.com>
2026-08-28 06:49:22 -04:00
Christophe Guibout
d749a77f8b dts: arm: st: add STM32MP13 DMA/DMAMUX nodes
Add DMA support for STM32MP13 by defining DMA1, DMA2, and DMAMUX1
controller nodes in the SoC devicetree.

Signed-off-by: Christophe Guibout <christophe.guibout@st.com>
2026-08-28 06:48:00 -04:00
Sylvio Alves
2b71bd5f70 drivers: display: add the esp32p4 dsi scanout controller
Add the display driver for the DSI bridge, which streams a
framebuffer to the host DPI port. It owns the framebuffers,
presents a completed frame at the next frame boundary so an
update is tear-free, and reports frame events.

Reading back returns the buffer on screen, and blanking is
forwarded to the panel, which owns the backlight. The MIPI DSI
host starts and stops it, since the framebuffer size depends on
the pixel format the panel reports when it attaches.

Assisted-by: Claude:opus-4-8
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-08-28 06:47:38 -04:00
Sylvio Alves
8a46234e74 dts: espressif: describe the esp32p4 mipi-dsi peripheral
Add bindings for the ESP32-P4 MIPI DSI host and for the DPI
scanout controller behind it, and the nodes describing them.

The bridge streams a framebuffer to the host DPI port rather
than being a peripheral of its own, so it is a child of the
host and carries no registers.

Assisted-by: Claude:opus-4-8
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-08-28 06:47:38 -04:00
Fabian Blatz
bd08f632bd dts: bindings: input: Correct help text for LVGL pointer input
Fixes the help text of the lvgl pointer input device binding to mention the
correct property names for touch devices.

Signed-off-by: Fabian Blatz <fabianblatz@gmail.com>
2026-08-27 21:25:59 +01:00
Luca Burelli
fef7cc12ca dts: renesas: r7fa6m5bh3cfc: add support for mapped-partition
Add 'ranges' and related properties to the Flash controller node for the
R7FA6M5BH3CFC SoC.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2026-08-27 21:25:46 +01:00
Luca Burelli
4b761b6a23 dts: renesas: r7fa4m1ab3cfm: add support for mapped-partition
Add 'ranges' and related properties to the Flash controller node for the
R7FA4M1AB3CFM SoC.

Signed-off-by: Luca Burelli <l.burelli@arduino.cc>
2026-08-27 21:25:46 +01:00
Silesh C V
a3ab384f96 dts: arm: alif: ensemble: add E4/E6/E8 GPIO controllers
The E4, E6 and E8 devices carry more GPIO than the minimum common subset:
GPIO9 to GPIO14 in the peripheral domain. They also carry the full eight
pin wide LPGPIO rather than the two pins available on the E1C.

Note that GPIO16 and GPIO17 are left out as they are not bonded out on
every package this layer covers.

As with the ports in the common layer, the interrupt lines are described
for completeness, but the hardware requires the GPIO debounce logic to be
enabled for interrupt detection to work correctly, which in turn needs
the debounce clock running. Enabling it is left to a follow-up change.

Signed-off-by: Silesh C V <silesh@alifsemi.com>
2026-08-27 21:25:33 +01:00
Silesh C V
bd03d7c9b6 dts: arm: alif: ensemble: add GPIO controller nodes
The Ensemble SoCs use the Synopsys DesignWare GPIO controller, with one
eight pin controller instance per port and one interrupt line per pin.

Add the controllers common to every Ensemble SoC: GPIO0 to GPIO8 and
LPGPIO. LPGPIO sits in the Always-On domain and is only two pins wide on
the E1C, so it is described here at that width and widened by the layer
that describes the larger devices.

As with the other peripherals in this layer, the interrupt routing is
kept out of the resource description and lives in the NVIC and GIC
specific files, since the same controller is reached through the NVIC
from an RTSS cluster and through the GIC from the APSS cluster.

The interrupt lines are described here for completeness, but the hardware
requires the GPIO debounce logic to be enabled for interrupt detection to
work correctly, which in turn needs the debounce clock running. That
clock is off after reset and nothing turns it on, so enabling it is left
to a follow-up change.

Signed-off-by: Silesh C V <silesh@alifsemi.com>
2026-08-27 21:25:33 +01:00
Kyle Micallef Bonnici
31ca08be20 dts: nrf21540-fem min-len/max-len
Use newly added support for min-len/max-len
Introduced by zephyrproject-rtos#109854

Signed-off-by: Kyle Micallef Bonnici <kyle.bonnici@nordicsemi.no>
2026-08-27 21:24:21 +01:00
Sylvio Alves
b1e7a0d408 dts: riscv: espressif: add esp32c61 devicetree
Add the ESP32-C61 devicetree, dt-bindings headers and the
wroom-1 module dtsi files. The devkitc module is a wroom-1
n8r2, so its dtsi carries 8 MB flash and 2 MB psram. UART0
uses GPIO11/GPIO10, the ROM console pins. GPIO15-21 are the
MSPI flash pads and are marked reserved.

Assisted-by: Claude:opus-4-8
Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-08-27 21:23:34 +01:00
Benjamin Cabé
62d4052664 dts: bindings: sensor: apds9960: use physical values for the register enums
The pgain, again, ppulse-length and pled-boost enums spelled the 2-bit
register fields they select in hex, i.e. 0x00/0x01/0x10/0x11, so the
last two selections were really 16 and 17 and reached the registers as
such. The pgain entries were also mislabelled, listing 4x twice instead
of the 1x/2x/4x/8x the part supports.

Express each enum as the physical value it selects - gain multipliers,
microseconds and percent - and let DT_INST_ENUM_IDX() turn the selection
back into the register field value, which the enums are already ordered
to match. Devicetree now describes the sensor instead of its register
encoding, and the defaults keep selecting the same settings as before.

While here, give every default the justification the binding guidelines
require, and bound ppulse-count to the 1 to 64 pulses the PPULSE field
can encode.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
2026-08-27 21:23:24 +01:00
Martin Hoff
323fde6bec dts: arm: silabs: fill EFR32MG22E224 SoC DTSI properties
Add flash ranges, package GPIO counts, and BLE radio feature flags
for IM40 (QFN40) and IM32 (QFN32), matching the MG22C counterparts.

Signed-off-by: Martin Hoff <martin.hoff@silabs.com>
Assisted-by: Cursor:composer-2.5
2026-08-27 07:25:08 -07:00
Zhaoxiang Jin
68e7901879 soc: nxp: mcxa: add SPC bandgap buffer regulators
Describe the SPC buffered bandgap output as a regulator on MCXA SoCs so
ADC channel configurations can reference the shared hardware resource.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-08-27 07:21:12 -07:00
Zhaoxiang Jin
bbb3ceab7d drivers: adc: mcux_lpadc: enable bandgap supply
Allow an LPADC channel node to reference an optional bandgap supply.
Enable the supply when channel setup selects the physical input
described by that node so continuous monitoring needs no additional
application control.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-08-27 07:21:12 -07:00
Zhaoxiang Jin
d94da57637 drivers: regulator: add NXP SPC bandgap buffer
Expose the buffered SPC bandgap output through the regulator API so
consumers can acquire it only while needed. Use the common regulator
reference counting and always-on policy instead of defining a separate
resource lifecycle.

The output has a fixed voltage and supports enable and disable operations.
Device PM restores the hardware state when an active regulator resumes.

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-08-27 07:21:12 -07:00
Benjamin Cabé
56afe6e494 dts: bindings: Add missing entries to binding types registry
Several binding type folders had no entry in the registry, so the
documentation fell back to a capitalized folder name ("Cpu_freq",
"Pulse-io", ...). Add entries for buzzer, clock-monitor, cpu_freq, dali,
dsp, mcumgr, mux and pulse-io.

Also fix the "ppmcie" key, which never matched the "pmci" folder it was
meant to describe, and use the DMTF expansion of the PMCI acronym.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Assisted-by: Claude:claude-opus-5
2026-08-27 12:12:34 +01:00
Farsin Nasar V A
7027b40d06 dts: arm: microchip: pic32cz_ca: add dts node and update binding file
- Add the watchdog node for pic32cz_ca device
 - Update the binding for pic32cz_ca device

Signed-off-by: Farsin Nasar V A <farsin.nasarva@microchip.com>
2026-08-27 12:11:34 +01:00
Alexandra Covaci
5fbfe2f96a dts: riscv: microchip: fix GPIO build warning
During build, we are presented with a warning from the devicetree compiler
<Warning (interrupt_provider): /soc/gpio@20120000: Missing #address-cells
in interrupt provider>. This patch strips the interrupt-controller
property from GPIO banks.

Signed-off-by: Alexandra Covaci <Alexandra.Covaci@microchip.com>
2026-08-27 12:11:26 +01:00
Samuel Slesar
5061ae703d dts: nxp: mcxl: fix IRQ numbers for cm0plus and cm33 cores
Use the CM0+ IRQ numbers for the AON GPIO, LPUART and RTC
nodes in the shared MCXL AON devicetree file.

Signed-off-by: Samuel Slesar <samuel.slesar@nxp.com>
2026-08-27 12:11:12 +01:00
Sylvio Alves
eb3d30e26b dts: riscv: esp32p4: add missing lp core isa extensions
The lp core is an rv32imac processor with the zicsr and
zifencei extensions, but the devicetree only declared i, m, c
and zicsr. Add the missing a and zifencei extensions so the lp
core image builds with native atomic instructions and fence.i
support, matching the esp32c5 and esp32c6 definitions.

Signed-off-by: Sylvio Alves <sylvio.alves@espressif.com>
2026-08-27 12:10:10 +01:00
Bill Waters
92596d7e5e dts: arm: infineon: xmc7200: disable unused work flash node
The xmc7200 flash-controller node declares two soc-nv-flash children
(flash0 and flash1). The Infineon CAT1 flash driver only supports a
single soc-nv-flash child, so when the driver is built without fixed
partitions it selects the first okay child and the presence of a second
okay soc-nv-flash node breaks the build.

Disable the unused second (work) flash node so the controller exposes a
single active soc-nv-flash child, matching the arrangement already used
for the psoc6 SoC devicetree.

Assisted-by: AI (GitHub Copilot)
Signed-off-by: Bill Waters <bill.waters@infineon.com>
2026-08-26 18:11:05 -07:00
Mark Geiger
d903fe78de drivers: modem: add Quectel BG770 support
Initial support for Quectel BG770 cellular modem.

Signed-off-by: Mark Geiger <MarkGeiger@posteo.de>
2026-08-26 18:10:44 -07:00
Guillaume Gautier
de59a2b99b dts: arm: st: c5: add pwr node and wake-up pins in dtsi
Add the power node and the wake-up pins for all STM32C5 SoCs.
Wake-up pins 1, 2, 4 and 5 are common on all SoCs, pins 3, 6 and 7 are only
available on STM32C551 and higher.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2026-08-26 15:14:32 -04:00
Alain Volmat
33e6bb3e61 dts: arm: st: add gpu2d node in stm32u5.dtsi
Add the node describing the GPU2D graphic accelerator found
on the STM32U5 series.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-08-26 15:14:14 -04:00
Alain Volmat
8b12f8ddd7 dts: arm: st: add gpu2d node in stm32h7rs.dtsi
Add the node describing the GPU2D graphic accelerator found
on the STM32H7RS.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-08-26 15:14:14 -04:00
Tahsin Mutlugun
3b99a1be28 drivers: i3c: max32: Add device power management support
Implements power management interface for MAX32 I3C driver.

To restore the peripheral after resuming from a suspend-to-ram state,
use the controller-mode enable bit to detect whether the I3C controller
has lost its state.

Signed-off-by: Tahsin Mutlugun <Tahsin.Mutlugun@analog.com>
2026-08-26 15:57:40 +01:00
Fin Maaß
a052dbde3d drivers: ethernet: nxp: s32: add ptp clock node
According to the reference manual the s32 also
has the ptp clock, so add the node for it.

As the devicetree just describes the hardware,
independant of software and driver support,
we can add it without having a working driver for it.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-08-26 15:57:24 +01:00
Fin Maaß
0d5e2d2bea drivers: ethernet: nxp: s32: align devicetree with other snps,dwmac
align devicetree with other snps,dwmac controllers.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-08-26 15:57:24 +01:00
Fin Maaß
58c9e2b6b8 drivers: ethernet: dwc_mac: nxp: add support for the mcxe31b
For the NXP MCXE31B mcu there is currently no
driver support for the ethernet controller, add it via
the generic dwc_mac driver.

Assisted-by: Claude:claude-opus-5
Signed-off-by: Fin Maaß <info@finmaass.de>
2026-08-26 15:48:30 +01:00
Samuel Slesar
e815ae28fa dts: arm: nxp: mcxl: add MUB node
Add the AON-domain MUB mailbox node for MCXL devices.

MUB is disabled by default and can be enabled by board devicetree files.

Signed-off-by: Samuel Slesar <samuel.slesar@nxp.com>
2026-08-26 15:46:25 +01:00
Ayush Singh
fab2529e72 dts: arm: ti: mspm0: l: mspm0l111x: Fix RTC node
The RTC timer present in mspm0l111x is RTC_b. This does not have power
enable register, and thus will crash on init without setting `ti,rtc-x`.

Signed-off-by: Ayush Singh <ayush@beagleboard.org>
2026-08-26 15:45:46 +01:00
Benjamin Cabé
e97f09891c dts: bindings: can: remove deprecated bus-speed properties
Remove the "bus-speed" and "bus-speed-data" CAN controller devicetree
properties, deprecated in Zephyr 3.7 when they were renamed to "bitrate"
and "bitrate-data".

The nested DT_PROP_OR() fallbacks in CAN_DT_DRIVER_CONFIG_GET() collapse
to a single DT_PROP_OR() on the new property names. Both bindings and the
header must change together, as can-fd-controller.yaml includes
can-controller.yaml.

Signed-off-by: Benjamin Cabé <benjamin@zephyrproject.org>
Assisted-by: Claude:opus-5
2026-08-25 14:42:42 -07:00
Guillaume Gautier
f42c415af8 dts: arm: st: u0: add pwr node and wakeup pins
Add pwr node and wakeup pins for STM32U0 dtsi.

Signed-off-by: Guillaume Gautier <guillaume.gautier-ext@st.com>
2026-08-25 14:36:51 -07:00
TOKITA Hiroshi
bfe429144b dts: arm64: broadcom: bcm2712: Add RP1 UART configuration
Add configuration for RP1 UART peripherals.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2026-08-25 14:23:09 -07:00
TOKITA Hiroshi
74fee4cc4c soc: brcm: bcm2712: Enable pinctrl driver
For the rpi5, you will need to use both the BCM2712 the RP1 pinctrl driver.
The process for selecting which to use is done in
`soc/brcm/bcm2712/pinctrl_soc.c`.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2026-08-25 14:23:09 -07:00
TOKITA Hiroshi
989e6e35b7 drivers: pinctrl: Add a bcm2712 pinctrl stub driver
Enabling the rp1 pinctrl also requires the bcm2712 pinctrl,
so add a minimal stub.
This does not perform any processing, but preserves the register
settings at reset.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2026-08-25 14:23:09 -07:00
TOKITA Hiroshi
ced15b10b8 drivers: pinctrl: Add RaspberryPi RP1 pinctrl driver
Add a pinctrl driver for RaspberryPi RP1.

Signed-off-by: TOKITA Hiroshi <tokita.hiroshi@gmail.com>
2026-08-25 14:23:09 -07:00
Ayush Singh
aa17c16d11 dts: riscv: microchip: mpfs: Add s-mode
- Add property to allow using all u54 cores in S-mode in Zephyr.
- Tested using beaglev_fire.

Signed-off-by: Ayush Singh <ayush@beagleboard.org>
2026-08-25 11:24:09 +02:00
Anders Frandsen
eb6d989f64 drivers: clock_control: add STM32WL3x RCC driver
Add RCC driver for the STM32WL3x series with CLK_SYS
sources (HSI, RC64MPLL PLL and HSE), peripheral clock gates
and the reset controller, together with the st,stm32wl3-rcc binding.

Signed-off-by: Anders Frandsen <anfran@anfran.dk>
2026-08-25 11:23:48 +02:00
Anders Frandsen
5420a7da18 soc: st: stm32: add STM32WL3x series
Add Zephyr SoC support for the STM32WL3x series (STM32WL30/WL31/WL33).

Signed-off-by: Anders Frandsen <anfran@anfran.dk>
2026-08-25 11:23:48 +02:00
Janez Ugovsek
792e36cc4f drivers: eeprom: add RV3028 EEPROM support
Add an EEPROM child driver for the Micro Crystal RV-3028 RTC.

The driver provides EEPROM read and write access through the
RV3028 MFD parent driver.

Signed-off-by: Janez Ugovsek <janez@ugovsek.info>
2026-08-25 08:59:15 +02:00
Nhut Nguyen
13f737bdbd dts: arm64: renesas: Change interrupt type of TINT for RZ/A3UL
As per RZ/A3UL User's Manual, the interupt type of TINT for RZ/A3UL is
fixed to level.

Signed-off-by: Nhut Nguyen <nhut.nguyen.kc@renesas.com>
2026-08-25 08:58:43 +02:00
Anu Biradar
31079094b8 drivers: clock_control: max32: add ERFO capacitance config via DTS
Add support for configuring ERFO in/out capacitance
through device tree on MAX32657.

Co-authored-by: Okan Sahin <okan.sahin@analog.com>
Signed-off-by: Anu Biradar <anu.biradar@analog.com>
2026-08-24 14:05:59 -07:00
Sri Surya
2fcf97d1a3 dts: arm: ti: Add DTSI for TI Tiva C Series SoC
Add DTSI for TI Tiva C Series SoC.

Signed-off-by: Sri Surya <srisurya@linumiz.com>
2026-08-24 14:03:15 -07:00
Sri Surya
a94db7794a dts: bindings: serial: Add serial bindings for TI Tiva C Series SoC
Add serial bindings for TI Tiva C Series Soc.

Signed-off-by: Sri Surya <srisurya@linumiz.com>
2026-08-24 14:03:15 -07:00