ADI Device Tree Utilities
Caution
pyadi-dt is still under development and may not be stable. Feedback is welcome.
pyadi-dt is a Python library and CLI for generating, inspecting, and managing Linux device trees for Analog Devices hardware — data converters, clock distribution ICs, RF transceivers, and FPGA-based JESD204 data paths.
pip install git+https://github.com/analogdevicesinc/pyadi-dt.git
Key capabilities
Declarative device API — Compose designs out of typed Python devices whose fields map 1:1 to DT properties; render straight to DTS with no Jinja2 templates. See Declarative Devices.
XSA-to-DTS pipeline — Generate complete device trees from Vivado
.xsaarchives using built-in board profiles. No manual DTS editing.Unified BoardModel — Both the declarative API and the XSA pipeline converge on the same
BoardModel, which is a single small renderer away from DTS.Device tree inspection — Read properties from live hardware over SSH, browse the tree interactively, or update SD card boot files.
Structural linter — Catch unresolved phandle references, SPI chip-select conflicts, and clock-cell mismatches before flashing.
Supported hardware (declarative device layer)
Device class |
Part |
Role |
|---|---|---|
|
HMC7044 |
14-channel JESD204B/C clock distributor |
|
AD9523-1 |
Clock generator / divider |
|
AD9528 / AD9528-1 |
Clock + SYSREF provider |
|
ADF4382 |
Microwave wideband synthesizer |
|
AD9081, AD9084 |
MxFE quad-ADC + quad-DAC |
|
AD9172 |
Wideband RF DAC |
|
AD9680 |
14-bit dual-channel ADC |
|
AD9144, AD9152 |
Quad / dual DAC |
|
ADRV9009/9025/9026/9029, AD9371/9375 |
Wideband RF transceiver — Talise (ADRV9009/25/26/29 single
+ FMComms8 dual-chip) and Mykonos (AD9371/9375 via the
ADRV9371/9375-N/P eval FMCs; see XSA to Device Tree for the
|
XSA pipeline support covers the same families plus FMCDAQ2/FMCDAQ3 composites (see XSA to Device Tree).
Where to start
New to pyadi-dt? See the Quick Start for installation, first commands, and a declarative-API example.
Declarative device API? See Declarative Devices for the full device catalog and composition pattern.
XSA workflow? See XSA Flow Tutorials for a step-by-step walkthrough of Vivado XSA-based generation.
PetaLinux? See PetaLinux Integration for generating
system-user.dtsifiles from XSA archives.Adding a new device class? See Authoring a new device class for the end-to-end walkthrough — class design, rendering pipeline, and cookbook recipes for clocks, converters, and eval / FPGA boards.
Adding a new XSA board builder? See XSA Pipeline — Developer Guide.
Links
Table of contents
User Guide
Developer Guide