Commit graph zephyr/dts
Author SHA1 Message Date
James Growden
3f25487bd2 drivers: i3c: stm32: Target mode support
This change adds basic target mode support for STM32 products.
Controller writes to target, and reading from the target, is supported.

Signed-off-by: James Growden <jgrowden@tenstorrent.com>
2026-06-24 13:55:42 -04:00
Jamie McCrae
1644b8bf43 boards: arduino: Update to zephyr,mapped-partition binding
Updates partitions to use the new binding

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-06-24 13:55:14 -04:00
Jamie McCrae
2891ddc526 boards: openisa: Update to zephyr,mapped-partition binding
Updates partitions to use the new binding

Signed-off-by: Jamie McCrae <jamie.mccrae@nordicsemi.no>
2026-06-24 13:55:14 -04:00
Harini T
002a3aa05f dts: bindings: counter: add Xilinx ZynqMP RTC binding
Add devicetree binding for the Xilinx Zynq Ultrascale+ MPSoC Real Time
Clock (xlnx,zynqmp-rtc) as a counter device.
The binding describes the RTC hardware block which provides a seconds
counter with alarm and seconds-tick interrupts.

Signed-off-by: Harini T <harini.t@amd.com>
2026-06-24 13:55:01 -04:00
Abin Joseph
bb5136bdaa dts: amd: versalnet: Add APU device tree support for Xilinx ADMA
Add ADMA (DMA controller) device tree nodes for the VersalNet
APU (Cortex-A78) subsystem. Eight ADMA channels (adma0-adma7) are
defined at their respective MMIO addresses with GIC SPI interrupts.

Signed-off-by: Abin Joseph <abin.joseph@amd.com>
2026-06-24 13:54:41 -04:00
Abin Joseph
428e15ee0a dts: amd: versal2: Add APU device tree support for Xilinx ADMA
Add ADMA (DMA controller) device tree nodes for the Versal Gen 2
APU (Cortex-A78) subsystem. Eight ADMA channels (adma0–adma7) are
defined at their respective MMIO addresses with GIC SPI interrupts.

Signed-off-by: Abin Joseph <abin.joseph@amd.com>
2026-06-24 13:54:41 -04:00
Abin Joseph
b2db80baa6 dts: amd: versal2: Add support for Xilinx ADMA
Add nodes for Xilinx ADMA driver.

Signed-off-by: Abin Joseph <abin.joseph@amd.com>
2026-06-24 13:54:41 -04:00
Abin Joseph
85ed6f0547 dts: amd: versalnet: Add device tree support for Xilinx ADMA
Add ADMA nodes in device tree for versal-net platforms.

Signed-off-by: Abin Joseph <abin.joseph@amd.com>
2026-06-24 13:54:41 -04:00
Abin Joseph
e44f1f2ed5 dts: bindings: dma: Add DT bindings for Xilinx ADMA
Xilinx general purpose DMA is designed to support memory to memory
transfer, memory to device and device to memory transfer.
ZynqMP Ultrascale has two instance of DMA . One located in FPD
(full power domain) is GDMA and the other located in LPD (low power domain)
is ADMA.

Versal and Versal Gen 2 have one instance of this DMA located in
LPD (low power domain) called ADMA with 8 channels.

The controller includes an AXI4 interface to read and
write memory with 16 word transfers for 64 bytes per transaction.
Introduce two yaml files to support two different devices.

Signed-off-by: Abin Joseph <abin.joseph@amd.com>
2026-06-24 13:54:41 -04:00
Felix Wang
5e8f339760 dts: arm: nxp: mcxe31x: update CMU device tree settings
Complete cmu_N nodes including:

- Add interrupts
- Add clocks and clock-names per the clock tree reference
- cmu_3 / cmu_4 / cmu_5 use nxp,fault-reaction = "reset",
  has no interrupt.

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2026-06-24 07:41:07 -04:00
Felix Wang
18fb944430 drivers: clock_monitor: Add NXP CMU_FM driver
This driver supports CLOCK_MONITOR_MODE_MEASURE:
configure programs REF_CNT from the user's window_ns and the
reference clock rate queried via clock_control; start() triggers a
single measurement whose completion is delivered through the
configure-time callback, with the device auto-disarmed before the
callback runs so the callback may restart the next measurement from
ISR context. get_rate() returns the most recent completed result.
stop() is ISR-safe and aborts an in-flight measurement; a transient
CONFIGURING state guards configure()'s unlocked clock query and HAL
init against concurrent start().

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2026-06-24 07:41:07 -04:00
Felix Wang
76e9cf7c53 drivers: clock_monitor: Add NXP CMU_FC driver
This driver supports CLOCK_MONITOR_MODE_WINDOW:
configure programs HFREF and LFREF from the user's expected_hz +
tolerance_ppm (auto-derived from the monitored clock via
clock_control when expected_hz is 0), start begins the background
comparison and stop disables it.

Signed-off-by: Felix Wang <fei.wang_3@nxp.com>
2026-06-24 07:41:07 -04:00
Ioannis Damigos
79802e4994 boards: da14695_dk_usb, da1469x_dk_pro: Switch to mapped partitions
Switch boards da14695_dk_usb and da1469x_dk_pro from
fixed-partition to zephyr,mapped-partition

Signed-off-by: Ioannis Damigos <ioannis.damigos.uj@renesas.com>
2026-06-24 07:38:58 -04:00
Fengming Ye
b35291facd Revert "dts: wifi: nxp: add out of band reset gpio pin"
Revert out of band reset gpio DTS, as it is duplicate with
sd_gpio.

This reverts commit 16b90a1e0b.

Signed-off-by: Fengming Ye <frank.ye@nxp.com>
2026-06-24 07:38:16 -04:00
cyliang tw
c8bfc2cbe1 dts: arm: nuvoton: add adc nodes of numaker m335x
Update m335x.dtsi, to add 2 adc nodes for adc driver support.

Signed-off-by: cyliang tw <cyliang@nuvoton.com>
2026-06-24 07:37:55 -04:00
Matthias Plöger
596df51bdc drivers: pwm: stm32: Add slave mode support
- Add new dts bindings for slave mode and trigger selection
- Add exception for LP timers (not supported)
- Implement configuration of master mode during device init

Signed-off-by: Matthias Plöger <matthias.ploeger@phoenixcontact.com>
2026-06-24 07:37:02 -04:00
Silesh C V
a904a401ca dts: arm: alif: ensemble: add E4/E6/E8 shared peripheral layer
The E4, E6 and E8 SoCs share a set of peripherals that are
additional to the minimum subset defined in ensemble_common.dtsi.
Introduce an ensemble_e4_e6_e8.dtsi resource layer (and matching
_nvic_irq/_gic_irq routing layers) to hold these, sitting between
the common layer and the per-SoC files. Rewire the E4/E6/E8 SoC
and interrupt dtsi to include the new layer instead of the common
one. E1C keeps including the common layer directly.

Signed-off-by: Silesh C V <silesh@alifsemi.com>
2026-06-24 11:45:26 +02:00
Lucien Zhao
d6df341d93 dts: nxp: mcxe31x: add OTP UID node
Add the uid node to the shared MCXE31x devicetree, describing the
unique chip identifier in the NXP OTP flash memory area via the
nxp,otp-uid binding. The node is left disabled so it has no effect
until a board enables it.

The address and size come from the MCXE31xx Reference Manual UTEST
memory map (8-byte UID at 0x1B000040, programmed by NXP).

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2026-06-24 11:44:27 +02:00
Lucien Zhao
8a3825cd30 drivers: hwinfo: add NXP OTP UID device ID backend
Add a hwinfo device-id backend that reads the unique chip identifier
stored in an NXP OTP flash memory area, as documented in the MCXE31xx
Reference Manual UTEST memory map. Add the nxp,otp-uid devicetree
binding that describes the identifier, and read it directly as memory
(8 bytes, most-significant byte first).

The hwinfo subsystem exposes its z_impl_hwinfo_* entry points as weak
symbols, so this backend implements only hwinfo_get_device_id() and
coexists with a separate reset-cause backend on the same SoC.

The backend is selected only when a node with the nxp,otp-uid
compatible is enabled, so it has no effect on its own; it is build
tested through tests/drivers/hwinfo/api once a board enables the node
(done later in this series).

Signed-off-by: Lucien Zhao <lucien.zhao@nxp.com>
2026-06-24 11:44:27 +02:00
Filip Stojanovic
52ee2e1565 dts: arm: st: stm32u3: convert SoC XSPI node to MSPI controller
- Change compatible from st,stm32-xspi to st,stm32-xspi-controller.
- Set op-mode to MSPI_OP_MODE_CONTROLLER.
- Set clock-frequency to 50 MHz, as st,stm32-xspi-controller.yaml
  specifies it as required (may be moved to board configuration in
  the future).

Signed-off-by: Filip Stojanovic <filipembedded@gmail.com>
2026-06-24 11:43:43 +02:00
Filip Stojanovic
e702e91c80 dts: bindings: gpio: add ST M2 memory connector binding
Add the st,m2-memory-connector DT binding and the corresponding
dt-bindings header defining GPIO pin identifiers for the M2
serial memory connector interface.

Signed-off-by: Filip Stojanovic <filipembedded@gmail.com>
2026-06-24 11:43:43 +02:00
Filip Stojanovic
db58a627a4 dts: arm: st: stm32u3: add XSPI controller support
Add a common disabled xspi1 controller node for STM32U3 SoCs.

This provides the XSPI controller description needed by boards
that expose external XSPI memories.

Signed-off-by: Filip Stojanovic <filipembedded@gmail.com>
2026-06-24 11:43:43 +02:00
Karl Palsson
00b2fc42d6 dts/arm/infineon: add XMC4800 BGA196 variants
This adds the XMC4800 BGA196 in 1M/200k and 2M/352k flash/ram variants.

Interrupt controller is untouched at present, the existing XMC4700 and
XMC4800 share a reference manual, and are identical in this regard.

Primary difference to the existing XMC4xxx in the smaller packages is the
addition of extra gpio ports 7, 8 and 9.

Pin control file is added, with basic usic and can pins only.  Ports
7/8/9 are mostly for ethercat, but that is out of scope at this point.

Tested with private boards using leds on port 9.

Signed-off-by: Karl Palsson <karl.palsson@marel.com>
2026-06-23 21:15:51 -04:00
Karl Palsson
49d517001c dts/infineon/cat3: correctly add ranges for flash
This was provided by xmc45xx but missing for xmc47xx.  Add as
recommended by current guidelines.

Signed-off-by: Karl Palsson <karl.palsson@marel.com>
2026-06-23 21:15:51 -04:00
Camille BAUD
a8da55605d drivers: led_strip: Add WS2812B driver using BFLB GPIO FIFO
Add a driver for WS2812 using BFLB Wire Out

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-06-23 21:15:41 -04:00
Mathieu Choplain
9db8d98554 dts: arm: st: h7rs: fix SAI1 address
The unit address of the node was correct, but not its `reg` properties
(and thus not its `ranges` property either). Fix the latter two.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-06-23 17:40:33 -04:00
Peter Wang
da0da73c91 drivers: watchdog: wdt_mcux_wwdt: add WWDT support for LPC55Sxx
Add WWDT (Windowed WatchDog Timer) support for all LPC55Sxx variants
(LPC55S06/S16/S28/S36/S69):

DTS / board changes:
- Add wwdt0 node (compatible = "nxp,lpc-wwdt", reg = 0xc000) and
  watchdog0 alias to nxp_lpc55S0x/S1x/S3x_common.dtsi
- Enable wwdt0 and add watchdog to supported features on
  lpcxpresso55s06, lpcxpresso55s16, lpcxpresso55s36 boards

SoC / clock:
- soc.c: call CLOCK_SetClkDiv(kCLOCK_DivWdtClk, 1U, true) when
  wwdt0 is enabled, alongside the existing FRO1MHz enable

Driver hardening (per hakehuang review):
- Add `bool started` flag to mcux_wwdt_data to track post-setup state
- Set started=true in mcux_wwdt_setup(), clear in mcux_wwdt_disable()
  and PM_DEVICE_ACTION_TURN_OFF
- Guard mcux_wwdt_isr() with early return when !started, preventing
  spurious callbacks from warm-reset stale WWDT status on LPC55S36
- Clear WWDT status flags + NVIC pending bit before irq_enable() in
  the IRQ init macro

Tests:
- Add per-board .conf files for wdt_basic_api; lpcxpresso55s06/s16
  use SRAMX noinit section to survive TrustZone NS Boot ROM clears;
  all boards enable WDT_MCUX_WWDT_WARNING_INTERRUPT_CFG=10
- Update testcase.yaml filter to allow SOC_SERIES_LPC55XXX and
  exclude lpcxpresso55s69 NS variant

Tested with tests/drivers/watchdog/wdt_basic_api on lpcxpresso55s36:
SUITE PASS 100% [wdt_basic_test_suite]: pass=1, fail=0, skip=0

Signed-off-by: Peter Wang <chaoyi.wang@nxp.com>
2026-06-23 17:37:56 -04:00
Peter Wang
e6a675983a dts: nxp: lpc55s6x: fix dmas phandle-array format in flexcomms
The dmas property in flexcomm1-7 and hs_lspi nodes was using an
invalid phandle-array format, missing the required comma separator
between entries:

  dmas = <&dma0 6 &dma0 7>;   /* incorrect */

Correct it to use the valid comma-separated form, consistent with
flexcomm0 which already had the right format:

  dmas = <&dma0 6>, <&dma0 7>;   /* correct */

Affected nodes: flexcomm1, flexcomm2, flexcomm3, flexcomm4,
flexcomm5, flexcomm6, flexcomm7, and hs_lspi.

Build-tested with tests/drivers/dma/loop_transfer,
tests/drivers/i2s/i2s_api, and samples/drivers/i2s/i2s_codec
on lpcxpresso55s69/lpc55s69/cpu0.

Signed-off-by: Peter Wang <chaoyi.wang@nxp.com>
2026-06-23 17:37:47 -04:00
Afonso Oliveira
56b1c45f0c boards: qemu: riscv32: add APLIC+IMSIC variants
Add single-core and SMP RISC-V AIA APLIC+IMSIC board variants as
nested variants of the qemu_virt_riscv32 SoC, mirroring the
qemu_riscv64 'smode' variant precedent.

The APLIC+IMSIC variants:

  qemu_riscv32/qemu_virt_riscv32/aia-imsic
  qemu_riscv32/qemu_virt_riscv32/aia-imsic/smp

These variants select a common APLIC topology include and add the IMSIC
nodes and properties needed for MSI delivery. They override the per-cpu
riscv,isa-extensions list to advertise smcsrind, which the RISC-V
indirect-CSR (Smcsrind) extension uses to access AIA external-interrupt
CSRs.

The board Kconfig selects RISCV_HAS_AIA on the APLIC+IMSIC variants,
which flips the SoC-level PLIC default off (see the prior commit). The
QEMU command line gates -machine virt,aia=aplic-imsic on the same flag.

The bare qemu_riscv32 identifier is preserved unchanged so existing
downstream platform_allow entries keep resolving.

The APLIC+IMSIC variant yamls intentionally do not set
testing.default=true: interrupt-driven UART through APLIC+IMSIC is not
yet routed for the generic shell/perf/pytest samples, so leaving them as
default would schedule those samples onto a target where they cannot
reach the shell prompt. Tests that explicitly cover the AIA path opt in
via platform_allow / integration_platforms.

Signed-off-by: Afonso Oliveira <afonso.oliveira707@gmail.com>
Assisted-by: Codex:GPT-5.5
Assisted-by: Claude:Fable-5
2026-06-23 17:37:27 -04:00
Afonso Oliveira
52d4ea5222 dts: qemu: riscv: refactor PLIC interrupt controller placement
Move the PLIC node and PLIC-specific interrupt wiring out of the shared
virt-riscv include.

Add them to a QEMU PLIC topology include used by the board files that
still use PLIC. This leaves the shared QEMU virt include interrupt
controller neutral, so AIA variants can select their own topology without
deleting or overriding inherited PLIC nodes and interrupt maps.

Signed-off-by: Afonso Oliveira <afonso.oliveira707@gmail.com>
Assisted-by: Codex:GPT-5.5
2026-06-23 17:37:27 -04:00
Camille BAUD
826dff2e0a dts: bflb: Update and enable new SF controller and its features
Add and modify nodes to feature the new SF controller
Update boards to use the new controller,
significantly increase performance for a lot of them
Allow effectively truly representing the flash,
Allow setting the flash offset via ranges
use ranges properly

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-06-23 17:36:21 -04:00
Camille BAUD
4d7dd3a130 soc: bflb: Atomize code relocation
Handle necessary code relocation better,
clearly delimiting what is required and what is not
Also group RAM together

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-06-23 17:36:21 -04:00
Camille BAUD
7fed7f6f79 drivers: flash: Update BFLB flash driver
BFLB flash driver is updated:
- Add support for bank 2
- Add support for SFDP
- Add ability to use writable devices (MRAM, PSRAM, FRAM) via bank2 mapping
- Improve overall organization
- Add QPI and continous read support

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-06-23 17:36:21 -04:00
Camille BAUD
a16c10f4cc drivers: clock_control: Move handling of flash clock to flash driver
Handle flash clocking in the flash driver in a coherent way

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-06-23 17:36:21 -04:00
Camille BAUD
8e9bc75291 dts: bflb: add and delete bindings for Serial Flash Controller
Add bindings, remove old flash controller binding

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-06-23 17:36:21 -04:00
Mathieu Choplain
a00cffab8a dts: bindings: dma: stm32u5: clean up binding
- add a `title` to the binding
- add description for the `interrupts` property indicating expected use
- rework description to be simpler and mention the LPDMA/GPDMA/HPDMA
  controller names explicitly
- simplify cells description, refering to the dedicated header instead
  of repeating the information for `channel-config`
- make examples proper snippets instead of being in the description
  (and make them use named constants from stm32_dma.h)

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-06-23 09:12:18 -04:00
Zhaoxiang Jin
5364f764c4 drivers: counter: add irtc counter driver
add irtc counter driver

Signed-off-by: Zhaoxiang Jin <Zhaoxiang.Jin_1@nxp.com>
2026-06-23 08:36:08 +02:00
Mathieu Choplain
0fbc566aba dts: arm: st: c5: add HASH node
Add node for the HASH cryptographic accelerator in series DTSI.

Signed-off-by: Mathieu Choplain <mathieu.choplain-ext@st.com>
2026-06-22 18:05:37 -04:00
Marin Jurjević
5c5f97c22e dts: arm: st: c5: fix uart5 unit address
UART5 had incorrect unit address and reg value set.
Replace both with correct address as stated in RM0522.

Signed-off-by: Marin Jurjević <marinjurjevic@outlook.com>
2026-06-22 15:49:29 +02:00
Alain Volmat
9bde84adab dts: st: add dma2d node on stm32n6 series.
Add dma2d node entry in stm32n6.dtsi.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-06-22 15:48:03 +02:00
Alain Volmat
c878885191 dts: bindings: display: add description for the stm32-dma2d
Add basic description for the STM32 Chrom-ART (DMA2D).

For the time being description is kept to the minimum since
DMA2D is only used from within the LVGL framework and the node
is used in order to check the IRQ informations.

Signed-off-by: Alain Volmat <alain.volmat@foss.st.com>
2026-06-22 15:48:03 +02:00
Victor Miranda
200f11a02c dts: bindings: Add 'quectel,eg915u'
Add the compatible for Quectel's EG915U modem.

Signed-off-by: Victor Miranda <varm@ic.ufal.br>
2026-06-22 15:47:15 +02:00
Tomas Barak
8ff55c6477 drivers: clock_control: fix RT1170 MICFIL clock init
Keep the RT1170 MICFIL Audio PLL initialization in the CCM clock
control path, but stop rewriting the MIC root clock while serving
PDM rate queries.

Reprogramming the MIC root caused RT1170 regressions during runtime.
It broke the i2s_codec sample and led to MICFIL capture starvation in
dmic_api. This keeps the safe Audio PLL bring-up while preserving the
working MIC root configuration used by the board.

The RT1170 dmic_api overlay and testcase enablement are included so the
test covers the board directly.


Assisted-by: GitHub Copilot:GPT-5.4
Signed-off-by: Tomas Barak <tomas.barak@nxp.com>
2026-06-22 14:29:53 +02:00
Chris Desjardins
a17ed83e07 dts: arm: st: l5: fix FDCAN1 message RAM base address
The message_ram reg entry for the stm32l5 fdcan1 node had a type-o
digit (0x400ac000), placing it outside the peripheral memory map. The
correct SRAMCAN base is 0x4000ac00 (APB1PERIPH_BASE + 0xAC00) per the
STM32L5 reference manual and HAL, and it matches the identical fdcan
nodes on the U3/U5/H5 SoCs that share the same m_can base at 0x4000a400.

The Bosch M_CAN driver derives the message RAM address from this reg
entry and zeroes the region during init (can_mcan_sys_clear_mram), so
the wrong address triggers a fault before main() on any STM32L5 board
with FDCAN enabled.

Fixes: 4866cfcc9d ("dts: arm: st: l5: update dtsi file with fdcan node")
Signed-off-by: Chris Desjardins <chris@arch-embedded.com>
2026-06-22 14:27:27 +02:00
David Jewsbury
d8069ba4cb dts: nordic: nrf7120: add external-flash memory-mapped apertures
The nRF7120 exposes its external MSPI NOR flash through 2 memory-mapped
windows: an uncached window at 0x6000_0000 (512 MB) usable by both the
CM33 and the VPR, and a cached window at 0x0200_0000 (224 MB) reachable
only by the CM33.

Signed-off-by: David Jewsbury <david.jewsbury@nordicsemi.no>
2026-06-22 14:27:06 +02:00
Camille BAUD
aab450520e drivers: display: add RBW support for st730x
Adds RBW support and facilities for other color options

Signed-off-by: Camille BAUD <mail@massdriver.space>
2026-06-22 14:26:32 +02:00
Muhammad Waleed Badar
4d5617e627 dts: xilinx: zynq7000: add SPI device nodes
Add device tree nodes for the Zynq-7000 PS SPI controllers.

Signed-off-by: Muhammad Waleed Badar <walid.badar@gmail.com>
2026-06-22 14:26:08 +02:00
Erwan Gouriou
1ff7ddc110 dts: arm: stm32: Add xspi manager nodes for h7rs/h5
Add XSPIM nodes for H7RS and H5E4.

Assisted-by: GitHub Copilot:GPT-5.4 west
Signed-off-by: Erwan Gouriou <erwan.gouriou@st.com>
2026-06-22 14:25:57 +02:00
2b41462310 drivers: console: add a QingKe Debug Module console driver
The QingKe V2A, V2C, and V4C have a Debug Module with two data
registers `data0` and `data1`. These can be used with SDI compatible
debuggers such as `minichlink` to send console data to the host.

Add a console driver communicates with the host and fails gracefully
if the driver is enabled but the debugger is not connected.

Compared to the UART console, the debug console uses 916 bytes less
flash and frees up a UART.

Tested on the ch32v006evt and bluepillplus_ch32v203. To test, add
`&sdiconsole { status = "okay"; };` to the board Devicetree, set
`zephyr,console = &sdiconsole`, and enable the driver.

Signed-off-by: Michael Hope <michaelh@juju.nz>
2026-06-22 14:25:42 +02:00
Fin Maaß
b766763927 drivers: ethernet: esp32: use DT_INST_ENUM_HAS_VALUE
use DT_INST_ENUM_HAS_VALUE for
phy_connection_type, that way we don't have to do
string operations.

Signed-off-by: Fin Maaß <f.maass@vogl-electronic.com>
2026-06-22 14:24:17 +02:00