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
XSA-to-DTS pipeline — Generate complete device trees from Vivado
.xsaarchives using built-in board profiles. No manual DTS editing.BoardModel API — Construct, inspect, and modify board models programmatically before rendering to DTS. Both the XSA pipeline and manual board classes produce the same editable
BoardModel.Device tree inspection — Read properties from live hardware over SSH, browse the tree interactively, or update SD card boot files.
Clock and JESD configuration — Apply
pyadi-jif-solved parameters directly to the device tree from JSON.Structural linter — Catch unresolved phandle references, SPI chip-select conflicts, and clock-cell mismatches before flashing.
Supported hardware
The Kuiper 2023-R2 release contains 88 board projects across Xilinx/AMD
and Intel FPGA platforms. Use adidtc kuiper-boards to list all boards
and their support status.
Converter Family |
Platforms |
HW Validated |
|---|---|---|
AD9081 / AD9082 / AD9083 (MxFE) |
ZCU102, ZC706, VPK180 |
ZCU102 ✓ |
AD9084 |
VCU118, VPK180 |
|
AD9172 (DAC) |
ZCU102 |
|
ADRV9009 / ADRV9025 / ADRV9008 |
ZCU102, ZC706, Arria10, ZU11EG |
ZCU102 ✓ |
ADRV9009-ZU11EG (SOM) |
ADRV2CRR-FMC carrier |
|
ADRV937x / ADRV9002 |
ZCU102, ZC706, Arria10, Zedboard |
|
AD936x / FMComms2-5 (SDR) |
Zedboard, ZC702, ZC706, ZCU102 |
|
ADRV9361-Z7035 / ADRV9364-Z7020 (SOM) |
BOB, FMC carriers |
|
FMCDAQ2 (AD9680 + AD9144) |
ZCU102, ZC706, Arria10 |
ZCU102 ✓ |
FMCDAQ3 (AD9680 + AD9152) |
ZCU102, ZC706 |
ZCU102 ✓ |
Precision ADCs (AD7768, AD9467, etc.) |
Zedboard |
|
Raspberry Pi sensors |
RPi 3/4/5 |
Where to start
New to pyadi-dt? See the Quick Start for installation, first commands, and code examples.
XSA workflow? See XSA Flow Tutorials for a step-by-step walkthrough of Vivado XSA-based generation.
Non-XSA workflow? See Device Tree Generation for generating device trees without Vivado (Raspberry Pi, Intel FPGA, custom boards).
PetaLinux? See PetaLinux Integration for generating
system-user.dtsifiles from XSA archives.BoardModel API? See Board Model Module for the unified board model, renderer, and context builders.
Adding a new board? See XSA Pipeline — Developer Guide for the pipeline architecture and step-by-step guide.
Links
Table of contents
User Guide