ZCU102 Quick Start Guide

This guide provides some quick instructions on how to setup the EVAL-ADRV9371 or EVAL-ADRV9375 on:

https://media.githubusercontent.com/media/analogdevicesinc/documentation/main/docs/solutions/reference-designs/images/zcu102.jpg

All the products described on this page include ESD (electrostatic discharge) sensitive devices. Electrostatic charges as high as 4000V readily accumulate on the human body or test equipment and can discharge without detection. Although the boards feature ESD protection circuitry, permanent damage may occur on devices subjected to high-energy electrostatic discharges. Therefore, proper ESD precautions are recommended to avoid performance degradation or loss of functionality. This includes removing static charge on external equipment, cables, or antennas before connecting to the device.

Using Linux as software

Necessary files

Note

The SD card includes several folders in the root directory of the BOOT partition. In order to configure the SD card to work with a specific FPGA board and ADI hardware, several files must be copied onto the root directory. Using the host PC, drag and drop the required files onto the BOOT partition, and use the EJECT function when removing the SD card from the reader.

The following files are needed for the system to boot:

  • HDL boot image: BOOT.BIN

  • Linux Kernel image: Image

  • Linux device tree: system.dtb

They can either be taken from the SD card – already generated by us, or you can build them manually:

Important

Some projects provide multiple devicetree files in the SD card’s boot folders. Make sure you select the devicetree that matches your specific use case.

Required Software

  • SD Card 16GB imaged with Kuiper

  • A UART terminal (Putty/Tera Term/Minicom, etc.) with baud rate 115200 (8N1)

Required Hardware

  • ZCU102 FPGA board and its power supply

  • EVAL-ADRV9371 or EVAL-ADRV9375 FMC evaluation board

  • SD card with at least 16GB of memory

  • (Optional) 2x SMA cable for analog signal loopback

  • (Optional) External clock generator

  • Micro-USB cable (UART)

  • (Optional) Ethernet cable

  • (Optional) USB keyboard & mouse and a HDMI compatible monitor

More details as to why you need these, can be found at Prerequisites.

Testing

Creating the setup

https://media.githubusercontent.com/media/analogdevicesinc/documentation/main/docs/solutions/reference-designs/adrv9371x/images/adrv9371x_zcu102_linux_setup.jpg

Caution

This project was tested with VADJ = 1.8 V

Follow the steps in this order, to avoid damaging the components:

  1. Connect the EVAL-ADRV9371 or EVAL-ADRV9375 FMC board to the ZCU102 HPC0 header

  2. Insert SD card into the SD card socket on the FPGA

  3. Configure ZCU102 for SD card boot mode (mode SW6[4:1] switch in the position OFF,OFF,OFF,ON as seen in the below picture)

    https://media.githubusercontent.com/media/analogdevicesinc/documentation/main/docs/solutions/reference-designs/images/zcu102_1p0_bootmode.jpg
  4. Connect USB UART J83 (Micro-USB) to your host PC

    Note

    If the USB to UART bridge is not installed or automatically recognized, then a driver must be installed. This will allow control using the UART connection through PuTTy or other SSH/Telnet Client

  5. (Optional) Plug-in an RJ45 Ethernet cable from your router/switch to the Ethernet port on the FPGA board

  6. (Optional) Connect a monitor to the FPGA by HDMI, and a mouse and a keyboard. This requires setting the ZCU102 in USB Host Mode by configuring the jumpers as indicated below:

    • Shunt J7

    • J109 → Shunt pins 2-3

    • J110 → Shunt pins 2-3

    • J112 → Shunt pins 1-2

    • J113 → Shunt pins 1-2

    https://media.githubusercontent.com/media/analogdevicesinc/documentation/main/docs/solutions/reference-designs/images/zcu102_usb_host_mode.jpg

    Note

    If Display Port output is not working (and control using the UART connection through PuTTy), try this procedure at the bottom of the page

  7. Plug in the power supply and turn on the power switch on the FPGA board

  8. Observe Kernel and serial console output messages on your terminal (use the first ttyUSB or COM port registered)

Booting the System

After turning on the power switch the following messages should appear on the serial console:

Zynq MP First Stage Boot Loader
Release 2023.2   Nov  1 2024  -  12:02:02
NOTICE:  BL31: Non secure code at 0x8000000
NOTICE:  BL31: v2.8(release):xilinx-v2023.2
NOTICE:  BL31: Built : 10:57:16, Feb  7 2024
PMUFW:  v1.1


U-Boot 2018.01-21442-gf06dec3cab (May 22 2024 - 17:46:13 +0300) Xilinx ZynqMP ZCU102 revA, Build: jenkins-development-build_uboot-31

I2C:   ready
DRAM:  4 GiB
EL Level:       EL2
Chip ID:        zu9eg
MMC:   sdhci@ff170000: 0 (SD)
*** Warning - bad CRC, using default environment

In:    serial@ff000000
Out:   serial@ff000000
Err:   serial@ff000000
Bootmode: LVL_SHFT_SD_MODE1
Net:   ZYNQ GEM: ff0e0000, phyaddr 15, interface rgmii-id

Warning: ethernet@ff0e0000 using MAC address from ROM
eth0: ethernet@ff0e0000
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0 is current device
Device: sdhci@ff170000
Manufacturer ID: 1d
OEM: 4144
Name: 00000
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 29.1 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
reading uEnv.txt
407 bytes read in 24 ms (15.6 KiB/s)
Loaded environment from uEnv.txt
Importing environment from SD ...
Running uenvcmd ...
Copying Linux from SD to RAM...
** No boot file defined **
reading system.dtb
63521 bytes read in 32 ms (1.9 MiB/s)
reading Image
38605312 bytes read in 2551 ms (14.4 MiB/s)
## Flattened Device Tree blob at 04000000
  Booting using the fdt blob at 0x4000000
  Loading Device Tree to 000000000ffed000, end 000000000ffff820 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.1.70-284114-g2e8908932dfd (jenkins@romlxbuild1) (aarch64-xilinx-linux-gcc.real (GCC) 12.2.0, GNU ld (GNU Binutils) 2.39.0.20220819) #1061 SMP Tue Mar 18 16:40:12 EET 2025
[    0.000000] Machine model: ZynqMP ZCU102 Rev1.0
[    0.000000] earlycon: cdns0 at MMIO 0x00000000ff000000 (options '115200n8')
[    0.000000] printk: bootconsole [cdns0] enabled
[    0.000000] efi: UEFI not found.
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000000000-0x00000000ffffffff]
[    0.000000]   DMA32    empty
[    0.000000]   Normal   [mem 0x0000000100000000-0x000000087fffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000007fffffff]
[    0.000000]   node   0: [mem 0x0000000800000000-0x000000087fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000087fffffff]
[    0.000000] cma: Reserved 256 MiB at 0x0000000070000000
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.2
[    0.000000] percpu: Embedded 18 pages/cpu s34536 r8192 d31000 u73728
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] alternatives: applying boot alternatives
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 1034240
[    0.000000] Kernel command line: console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlycon rootfstype=ext4 rootwait clk_ignore_unused cpuidle.off=1 root=/dev/mmcblk0p2 rw rootwait
[    0.000000] Dentry cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.000000] Inode-cache hash table entries: 262144 (order: 9, 2097152 bytes, linear)
[    0.000000] mem auto-init: stack:all(zero), heap alloc:off, heap free:off
[    0.000000] software IO TLB: area num 4.
[    0.000000] software IO TLB: mapped [mem 0x000000006c000000-0x0000000070000000] (64MB)
[    0.000000] Memory: 3755108K/4194304K available (17408K kernel code, 1732K rwdata, 15684K rodata, 2752K init, 658K bss, 177052K reserved, 262144K cma-reserved)
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=8 to nr_cpu_ids=4.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=4
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GIC: Adjusting CPU interface base to 0x00000000f902f000
[    0.000000] Root IRQ handler: gic_handle_irq
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] rcu: srcu_init: Setting srcu_struct sizes based on contention.
[    0.000000] arch_timer: cp15 timer(s) running at 100.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0x1ffffffffffffff max_cycles: 0x171024e7e0, max_idle_ns: 440795205315 ns
[    0.000000] sched_clock: 57 bits at 100MHz, resolution 10ns, wraps every 4398046511100ns
[    0.008434] Console: colour dummy device 80x25
[    0.012485] Calibrating delay loop (skipped), value calculated using timer frequency.. 200.00 BogoMIPS (lpj=400000)
[    0.022839] pid_max: default: 32768 minimum: 301
[    0.027566] Mount-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.034786] Mountpoint-cache hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    0.043556] rcu: Hierarchical SRCU implementation.
[    0.047321] rcu:     Max phase no-delay instances is 1000.
[    0.052776] EFI services will not be available.
[    0.057164] smp: Bringing up secondary CPUs ...
[    0.061907] Detected VIPT I-cache on CPU1
[    0.061978] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.062395] Detected VIPT I-cache on CPU2
[    0.062449] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.062843] Detected VIPT I-cache on CPU3
[    0.062899] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.062945] smp: Brought up 1 node, 4 CPUs
[    0.096968] SMP: Total of 4 processors activated.
[    0.101640] CPU features: detected: 32-bit EL0 Support
[    0.106744] CPU features: detected: CRC32 instructions
[    0.111902] CPU: All CPU(s) started at EL2
[    0.115915] alternatives: applying system-wide alternatives
[    0.122511] devtmpfs: initialized
[    0.131296] Registered cp15_barrier emulation handler
[    0.131351] Registered setend emulation handler
[    0.135325] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.144911] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.158462] pinctrl core: initialized pinctrl subsystem
[    0.159397] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.164787] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic allocations
[    0.171046] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.178796] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.186562] audit: initializing netlink subsys (disabled)
[    0.191981] audit: type=2000 audit(0.120:1): state=initialized audit_enabled=0 res=1
[    0.192364] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.206381] ASID allocator initialised with 65536 entries
[    0.233500] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
[    0.234647] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
[    0.240886] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
[    0.247634] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
[    0.253854] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[    0.260599] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
[    0.266829] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
[    0.273574] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
[    0.347865] raid6: neonx8   gen()  2263 MB/s
[    0.415927] raid6: neonx4   gen()  2217 MB/s
[    0.483991] raid6: neonx2   gen()  2121 MB/s
[    0.552048] raid6: neonx1   gen()  1813 MB/s
[    0.620097] raid6: int64x8  gen()  1399 MB/s
[    0.688172] raid6: int64x4  gen()  1568 MB/s
[    0.756227] raid6: int64x2  gen()  1379 MB/s
[    0.824284] raid6: int64x1  gen()  1033 MB/s
[    0.824323] raid6: using algorithm neonx8 gen() 2263 MB/s
[    0.896334] raid6: .... xor() 1656 MB/s, rmw enabled
[    0.896379] raid6: using neon recovery algorithm
[    0.900680] iommu: Default domain type: Translated
[    0.905087] iommu: DMA domain TLB invalidation policy: strict mode
[    0.911516] SCSI subsystem initialized
[    0.915178] usbcore: registered new interface driver usbfs
[    0.920511] usbcore: registered new interface driver hub
[    0.925779] usbcore: registered new device driver usb
[    0.930950] mc: Linux media interface: v0.10
[    0.935042] videodev: Linux video capture interface: v2.00
[    0.940516] pps_core: LinuxPPS API ver. 1 registered
[    0.945401] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.954486] PTP clock support registered
[    0.958391] EDAC MC: Ver: 3.0.0
[    0.961817] zynqmp-ipi-mbox mailbox@ff9905c0: Registered ZynqMP IPI mbox with TX/RX channels.
[    0.970471] jesd204: created con: id=0, topo=0, link=0, /axi/spi@ff040000/ad9528-1@0 <-> /fpga-axi@0/axi-adxcvr-tx@84a80000
[    0.981040] jesd204: created con: id=1, topo=0, link=2, /axi/spi@ff040000/ad9528-1@0 <-> /fpga-axi@0/axi-adxcvr-rx-os@84a50000
[    0.992369] jesd204: created con: id=2, topo=0, link=1, /axi/spi@ff040000/ad9528-1@0 <-> /fpga-axi@0/axi-adxcvr-rx@84a60000
[    1.003440] jesd204: created con: id=3, topo=0, link=2, /fpga-axi@0/axi-adxcvr-rx-os@84a50000 <-> /fpga-axi@0/axi-jesd204-rx-os@84ab0000
[    1.015636] jesd204: created con: id=4, topo=0, link=0, /fpga-axi@0/axi-adxcvr-tx@84a80000 <-> /fpga-axi@0/axi-jesd204-tx@84a90000
[    1.027313] jesd204: created con: id=5, topo=0, link=1, /fpga-axi@0/axi-adxcvr-rx@84a60000 <-> /fpga-axi@0/axi-jesd204-rx@84aa0000
[    1.038991] jesd204: created con: id=6, topo=0, link=0, /fpga-axi@0/axi-jesd204-tx@84a90000 <-> /fpga-axi@0/axi-ad9371-tx-hpc@84a04000
[    1.051043] jesd204: created con: id=7, topo=0, link=1, /fpga-axi@0/axi-jesd204-rx@84aa0000 <-> /axi/spi@ff040000/ad9371-phy@1
[    1.062349] jesd204: created con: id=8, topo=0, link=2, /fpga-axi@0/axi-jesd204-rx-os@84ab0000 <-> /axi/spi@ff040000/ad9371-phy@1
[    1.073945] jesd204: created con: id=9, topo=0, link=0, /fpga-axi@0/axi-ad9371-tx-hpc@84a04000 <-> /axi/spi@ff040000/ad9371-phy@1
[    1.085538] jesd204: /axi/spi@ff040000/ad9371-phy@1: JESD204[0:0] transition uninitialized -> initialized
[    1.095040] jesd204: /axi/spi@ff040000/ad9371-phy@1: JESD204[0:1] transition uninitialized -> initialized
[    1.104554] jesd204: /axi/spi@ff040000/ad9371-phy@1: JESD204[0:2] transition uninitialized -> initialized
[    1.114070] jesd204: found 9 devices and 1 topologies
[    1.119117] FPGA manager framework
[    1.122491] Advanced Linux Sound Architecture Driver Initialized.
[    1.128962] Bluetooth: Core ver 2.22
[    1.132073] NET: Registered PF_BLUETOOTH protocol family
[    1.137339] Bluetooth: HCI device and connection manager initialized
[    1.143656] Bluetooth: HCI socket layer initialized
[    1.148498] Bluetooth: L2CAP socket layer initialized
[    1.153524] Bluetooth: SCO socket layer initialized
[    1.158870] clocksource: Switched to clocksource arch_sys_counter
[    1.164563] VFS: Disk quotas dquot_6.6.0
[    1.168338] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    1.180058] NET: Registered PF_INET protocol family
[    1.180253] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    1.190058] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
[    1.195845] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    1.203519] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    1.211590] TCP bind hash table entries: 32768 (order: 8, 1048576 bytes, linear)
[    1.219592] TCP: Hash tables configured (established 32768 bind 32768)
[    1.225296] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    1.231955] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    1.239124] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    1.244905] RPC: Registered named UNIX socket transport module.
[    1.250484] RPC: Registered udp transport module.
[    1.255155] RPC: Registered tcp transport module.
[    1.259824] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.266873] PCI: CLS 0 bytes, default 64
[    1.270891] hw perfevents: enabled with armv8_pmuv3 PMU driver, 7 counters available
[    1.278801] Initialise system trusted keyrings
[    1.282323] workingset: timestamp_bits=62 max_order=20 bucket_order=0
[    1.289209] NFS: Registering the id_resolver key type
[    1.293676] Key type id_resolver registered
[    1.297797] Key type id_legacy registered
[    1.301790] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    1.308438] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    1.315807] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    1.322963] fuse: init (API version 7.37)
[    1.362371] NET: Registered PF_ALG protocol family
[    1.362420] xor: measuring software checksum speed
[    1.370189]    8regs           :  2521 MB/sec
[    1.374501]    32regs          :  2522 MB/sec
[    1.379105]    arm64_neon      :  2356 MB/sec
[    1.379248] xor: using function: 32regs (2522 MB/sec)
[    1.384273] Key type asymmetric registered
[    1.388337] Asymmetric key parser 'x509' registered
[    1.393220] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246)
[    1.400539] io scheduler mq-deadline registered
[    1.405032] io scheduler kyber registered
[    1.442591] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    1.450199] brd: module loaded
[    1.453449] loop: module loaded
[    1.453822] Registered mathworks_ip class
[    1.455497] mtdoops: mtd device (mtddev=name/number) must be supplied
[    1.464228] tun: Universal TUN/TAP device driver, 1.6
[    1.466452] CAN device driver interface
[    1.470977] SPI driver wl1271_spi has no spi_device_id for ti,wl1271
[    1.476480] SPI driver wl1271_spi has no spi_device_id for ti,wl1273
[    1.482794] SPI driver wl1271_spi has no spi_device_id for ti,wl1281
[    1.489108] SPI driver wl1271_spi has no spi_device_id for ti,wl1283
[    1.495423] SPI driver wl1271_spi has no spi_device_id for ti,wl1285
[    1.501736] SPI driver wl1271_spi has no spi_device_id for ti,wl1801
[    1.508054] SPI driver wl1271_spi has no spi_device_id for ti,wl1805
[    1.514366] SPI driver wl1271_spi has no spi_device_id for ti,wl1807
[    1.520680] SPI driver wl1271_spi has no spi_device_id for ti,wl1831
[    1.526995] SPI driver wl1271_spi has no spi_device_id for ti,wl1835
[    1.533309] SPI driver wl1271_spi has no spi_device_id for ti,wl1837
[    1.539732] usbcore: registered new interface driver asix
[    1.545025] usbcore: registered new interface driver ax88179_178a
[    1.551069] usbcore: registered new interface driver cdc_ether
[    1.556857] usbcore: registered new interface driver net1080
[    1.562480] usbcore: registered new interface driver cdc_subset
[    1.568365] usbcore: registered new interface driver zaurus
[    1.573912] usbcore: registered new interface driver cdc_ncm
[    1.579520] usbcore: registered new interface driver r8153_ecm
[    1.586573] usbcore: registered new interface driver uas
[    1.590606] usbcore: registered new interface driver usb-storage
[    1.596598] usbcore: registered new interface driver usbserial_generic
[    1.603043] usbserial: USB Serial support registered for generic
[    1.609017] usbcore: registered new interface driver ftdi_sio
[    1.614723] usbserial: USB Serial support registered for FTDI USB Serial Device
[    1.621991] usbcore: registered new interface driver upd78f0730
[    1.627866] usbserial: USB Serial support registered for upd78f0730
[    1.635172] SPI driver ads7846 has no spi_device_id for ti,tsc2046
[    1.640227] SPI driver ads7846 has no spi_device_id for ti,ads7843
[    1.646366] SPI driver ads7846 has no spi_device_id for ti,ads7845
[    1.652508] SPI driver ads7846 has no spi_device_id for ti,ads7873
[    1.659239] rtc_zynqmp ffa60000.rtc: registered as rtc0
[    1.663854] rtc_zynqmp ffa60000.rtc: setting system clock to 2020-09-28T18:41:19 UTC (1601318479)
[    1.672729] i2c_dev: i2c /dev entries driver
[    1.678907] usbcore: registered new interface driver uvcvideo
[    1.684231] Bluetooth: HCI UART driver ver 2.3
[    1.687028] Bluetooth: HCI UART protocol H4 registered
[    1.692126] Bluetooth: HCI UART protocol BCSP registered
[    1.697414] Bluetooth: HCI UART protocol LL registered
[    1.702505] Bluetooth: HCI UART protocol ATH3K registered
[    1.707879] Bluetooth: HCI UART protocol Three-wire (H5) registered
[    1.714137] Bluetooth: HCI UART protocol Intel registered
[    1.719473] Bluetooth: HCI UART protocol QCA registered
[    1.724673] usbcore: registered new interface driver bcm203x
[    1.730292] usbcore: registered new interface driver bpa10x
[    1.735830] usbcore: registered new interface driver bfusb
[    1.741280] usbcore: registered new interface driver btusb
[    1.746740] usbcore: registered new interface driver ath3k
[    1.752236] EDAC MC: ECC not enabled
[    1.755875] EDAC DEVICE0: Giving out device to module zynqmp-ocm-edac controller zynqmp_ocm: DEV ff960000.memory-controller (INTERRUPT)
[    1.768205] sdhci: Secure Digital Host Controller Interface driver
[    1.773955] sdhci: Copyright(c) Pierre Ossman
[    1.778278] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.784392] ledtrig-cpu: registered to indicate activity on CPUs
[    1.789923] SMCCC: SOC_ID: ID = jep106:0049:0000 Revision = 0x24738093
[    1.796429] zynqmp_firmware_probe Platform Management API v1.1
[    1.802202] zynqmp_firmware_probe Trustzone version v1.0
[    1.837732] zynqmp-aes zynqmp-aes.0: will run requests pump with realtime priority
[    1.839969] usbcore: registered new interface driver usbhid
[    1.845197] usbhid: USB HID core driver
[    1.849157] SPI driver fb_seps525 has no spi_device_id for syncoam,seps525
[    1.861755] SPI driver adis16475 has no spi_device_id for adi,adis16470
[    1.862723] SPI driver adis16475 has no spi_device_id for adi,adis16475-1
[    1.869479] SPI driver adis16475 has no spi_device_id for adi,adis16475-2
[    1.876222] SPI driver adis16475 has no spi_device_id for adi,adis16475-3
[    1.882968] SPI driver adis16475 has no spi_device_id for adi,adis16477-1
[    1.889715] SPI driver adis16475 has no spi_device_id for adi,adis16477-2
[    1.896462] SPI driver adis16475 has no spi_device_id for adi,adis16477-3
[    1.903210] SPI driver adis16475 has no spi_device_id for adi,adis16465-1
[    1.909956] SPI driver adis16475 has no spi_device_id for adi,adis16465-2
[    1.916703] SPI driver adis16475 has no spi_device_id for adi,adis16465-3
[    1.923458] SPI driver adis16475 has no spi_device_id for adi,adis16467-1
[    1.930200] SPI driver adis16475 has no spi_device_id for adi,adis16467-2
[    1.936945] SPI driver adis16475 has no spi_device_id for adi,adis16467-3
[    1.943692] SPI driver adis16475 has no spi_device_id for adi,adis16500
[    1.950265] SPI driver adis16475 has no spi_device_id for adi,adis16501
[    1.956839] SPI driver adis16475 has no spi_device_id for adi,adis16505-1
[    1.963586] SPI driver adis16475 has no spi_device_id for adi,adis16505-2
[    1.970333] SPI driver adis16475 has no spi_device_id for adi,adis16505-3
[    1.977080] SPI driver adis16475 has no spi_device_id for adi,adis16507-1
[    1.983828] SPI driver adis16475 has no spi_device_id for adi,adis16507-2
[    1.990574] SPI driver adis16475 has no spi_device_id for adi,adis16507-3
[    1.997321] SPI driver adis16475 has no spi_device_id for adi,adis16575-2
[    2.004068] SPI driver adis16475 has no spi_device_id for adi,adis16575-3
[    2.010815] SPI driver adis16475 has no spi_device_id for adi,adis16576-2
[    2.017562] SPI driver adis16475 has no spi_device_id for adi,adis16576-3
[    2.024310] SPI driver adis16475 has no spi_device_id for adi,adis16577-2
[    2.031058] SPI driver adis16475 has no spi_device_id for adi,adis16577-3
[    2.038980] axi_sysid 85000000.axi-sysid-0: AXI System ID core version (1.01.a) found
[    2.045771] axi_sysid 85000000.axi-sysid-0: [adrv9371x] [RX:M=4 L=2 S=1 TX:M=4 L=4 S=1 RX_OS:M=2 L=2 S=1 DAC_FIFO_ADDR_WIDTH=17] on [zcu102] git branch <hdl_2023_r2> git <2156ac7e874a1dc321d9f64a325009fafe563419> clean [2024-11-01 11:03:03] UTC
[    2.067804] fpga_manager fpga0: Xilinx ZynqMP FPGA Manager registered
[    2.073914] usbcore: registered new interface driver snd-usb-audio
[    2.081587] pktgen: Packet Generator for packet performance testing. Version: 2.75
[    2.087670] Initializing XFRM netlink socket
[    2.091504] NET: Registered PF_INET6 protocol family
[    2.096883] Segment Routing with IPv6
[    2.100029] In-situ OAM (IOAM) with IPv6
[    2.103942] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    2.110118] NET: Registered PF_PACKET protocol family
[    2.114798] NET: Registered PF_KEY protocol family
[    2.119640] can: controller area network core
[    2.123896] NET: Registered PF_CAN protocol family
[    2.128631] can: raw protocol
[    2.131572] can: broadcast manager protocol
[    2.135732] can: netlink gateway - max_hops=1
[    2.140125] Bluetooth: RFCOMM TTY layer initialized
[    2.144898] Bluetooth: RFCOMM socket layer initialized
[    2.150004] Bluetooth: RFCOMM ver 1.11
[    2.153722] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    2.158992] Bluetooth: BNEP filters: protocol multicast
[    2.164182] Bluetooth: BNEP socket layer initialized
[    2.169113] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[    2.174995] Bluetooth: HIDP socket layer initialized
[    2.180056] 9pnet: Installing 9P2000 support
[    2.184172] NET: Registered PF_IEEE802154 protocol family
[    2.189546] Key type dns_resolver registered
[    2.194074] registered taskstats version 1
[    2.197833] Loading compiled-in X.509 certificates
[    2.203032] Btrfs loaded, crc32c=crc32c-generic, zoned=no, fsverity=no
[    2.209214] alg: No test for xilinx-zynqmp-rsa (zynqmp-rsa)
[    2.616571] ff000000.serial: ttyPS0 at MMIO 0xff000000 (irq = 23, base_baud = 6249999) is a xuartps
[    2.625606] printk: console [ttyPS0] enabled
[    2.625606] printk: console [ttyPS0] enabled
[    2.629928] printk: bootconsole [cdns0] disabled
[    2.629928] printk: bootconsole [cdns0] disabled
[    2.639595] ff010000.serial: ttyPS1 at MMIO 0xff010000 (irq = 24, base_baud = 6249999) is a xuartps
[    2.653895] nwl-pcie fd0e0000.pcie: host bridge /axi/pcie@fd0e0000 ranges:
[    2.660808] nwl-pcie fd0e0000.pcie:      MEM 0x00e0000000..0x00efffffff -> 0x00e0000000
[    2.668820] nwl-pcie fd0e0000.pcie:      MEM 0x0600000000..0x07ffffffff -> 0x0600000000
[    2.676927] nwl-pcie fd0e0000.pcie: Link is DOWN
[    2.681746] nwl-pcie fd0e0000.pcie: PCI host bridge to bus 0000:00
[    2.687922] pci_bus 0000:00: root bus resource [bus 00-ff]
[    2.693404] pci_bus 0000:00: root bus resource [mem 0xe0000000-0xefffffff]
[    2.700277] pci_bus 0000:00: root bus resource [mem 0x600000000-0x7ffffffff pref]
[    2.707781] pci 0000:00:00.0: [10ee:d021] type 01 class 0x060400
[    2.713846] pci 0000:00:00.0: PME# supported from D0 D1 D2 D3hot
[    2.722036] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    2.730159] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    2.736781] pci 0000:00:00.0: PCI bridge to [bus 01]
[    2.744506] xilinx-zynqmp-dpdma fd4c0000.dma-controller: Xilinx DPDMA engine is probed
[    2.753638] ad9528 spi1.0: supply vcc not found, using dummy regulator
[    2.784626] jesd204: /axi/spi@ff040000/ad9528-1@0,jesd204:0,parent=spi1.0: Using as SYSREF provider
[    2.794913] spi-nor spi0.0: SPI-NOR-UniqueID 9c82190001feff2600485d71a3bf
[    2.801708] spi-nor spi0.0: found mt25qu512a, expected m25p80
[    2.807769] spi-nor spi0.0: mt25qu512a (131072 Kbytes)
[    2.813019] 4 fixed-partitions partitions found on MTD device spi0.0
[    2.819372] Creating 4 MTD partitions on "spi0.0":
[    2.824159] 0x000000000000-0x000000100000 : "qspi-fsbl-uboot"
[    2.830743] 0x000000100000-0x000000600000 : "qspi-linux"
[    2.836765] 0x000000600000-0x000000620000 : "qspi-device-tree"
[    2.843312] 0x000000620000-0x000000c00000 : "qspi-rootfs"
[    2.852097] macb ff0e0000.ethernet: Not enabling partial store and forward
[    2.875865] xilinx-axipmon ffa00000.perf-monitor: Probed Xilinx APM
[    2.882418] xilinx-axipmon fd0b0000.perf-monitor: Probed Xilinx APM
[    2.888902] xilinx-axipmon fd490000.perf-monitor: Probed Xilinx APM
[    2.895383] xilinx-axipmon ffa10000.perf-monitor: Probed Xilinx APM
[    2.902648] i2c i2c-0: using pinctrl states for GPIO recovery
[    2.908572] i2c i2c-0: using generic GPIOs for recovery
[    2.914172] pca953x 0-0020: supply vcc not found, using dummy regulator
[    2.920861] pca953x 0-0020: using no AI
[    2.925423] gpio-318 (sel0): hogged as output/low
[    2.930324] gpio-319 (sel1): hogged as output/high
[    2.935324] gpio-320 (sel2): hogged as output/high
[    2.940318] gpio-321 (sel3): hogged as output/high
[    2.945489] pca953x 0-0021: supply vcc not found, using dummy regulator
[    2.952173] pca953x 0-0021: using no AI
[    2.957761] ina2xx 2-0040: power monitor ina226 (Rshunt = 5000 uOhm)
[    2.964753] ina2xx 2-0041: power monitor ina226 (Rshunt = 5000 uOhm)
[    2.971752] ina2xx 2-0042: power monitor ina226 (Rshunt = 5000 uOhm)
[    2.978740] ina2xx 2-0043: power monitor ina226 (Rshunt = 5000 uOhm)
[    2.985740] ina2xx 2-0044: power monitor ina226 (Rshunt = 5000 uOhm)
[    2.992741] ina2xx 2-0045: power monitor ina226 (Rshunt = 5000 uOhm)
[    2.999734] ina2xx 2-0046: power monitor ina226 (Rshunt = 5000 uOhm)
[    3.006724] ina2xx 2-0047: power monitor ina226 (Rshunt = 5000 uOhm)
[    3.013717] ina2xx 2-004a: power monitor ina226 (Rshunt = 5000 uOhm)
[    3.020715] ina2xx 2-004b: power monitor ina226 (Rshunt = 5000 uOhm)
[    3.027123] i2c i2c-0: Added multiplexed i2c bus 2
[    3.032680] ina2xx 3-0040: power monitor ina226 (Rshunt = 2000 uOhm)
[    3.039683] ina2xx 3-0041: power monitor ina226 (Rshunt = 5000 uOhm)
[    3.046682] ina2xx 3-0042: power monitor ina226 (Rshunt = 5000 uOhm)
[    3.053677] ina2xx 3-0043: power monitor ina226 (Rshunt = 5000 uOhm)
[    3.060678] ina2xx 3-0044: power monitor ina226 (Rshunt = 5000 uOhm)
[    3.067671] ina2xx 3-0045: power monitor ina226 (Rshunt = 5000 uOhm)
[    3.074670] ina2xx 3-0046: power monitor ina226 (Rshunt = 5000 uOhm)
[    3.081659] ina2xx 3-0047: power monitor ina226 (Rshunt = 5000 uOhm)
[    3.088060] i2c i2c-0: Added multiplexed i2c bus 3
[    3.159908] i2c i2c-0: Added multiplexed i2c bus 4
[    3.164868] i2c i2c-0: Added multiplexed i2c bus 5
[    3.169662] pca954x 0-0075: registered 4 multiplexed busses for I2C mux pca9544
[    3.177038] cdns-i2c ff020000.i2c: 400 kHz mmio ff020000 irq 48
[    3.183997] i2c i2c-1: using pinctrl states for GPIO recovery
[    3.189919] i2c i2c-1: using generic GPIOs for recovery
[    3.195896] at24 6-0054: supply vcc not found, using dummy regulator
[    3.202787] at24 6-0054: 1024 byte 24c08 EEPROM, writable, 1 bytes/write
[    3.209541] i2c i2c-1: Added multiplexed i2c bus 6
[    3.214926] si5341 7-0036: no regulator set, defaulting vdd_sel to 2.5V for out
[    3.222234] si5341 7-0036: no regulator set, defaulting vdd_sel to 2.5V for out
[    3.229541] si5341 7-0036: no regulator set, defaulting vdd_sel to 2.5V for out
[    3.236840] si5341 7-0036: no regulator set, defaulting vdd_sel to 2.5V for out
[    3.244139] si5341 7-0036: no regulator set, defaulting vdd_sel to 2.5V for out
[    3.251445] si5341 7-0036: no regulator set, defaulting vdd_sel to 2.5V for out
[    3.258750] si5341 7-0036: no regulator set, defaulting vdd_sel to 2.5V for out
[    3.266050] si5341 7-0036: no regulator set, defaulting vdd_sel to 2.5V for out
[    3.274456] si5341 7-0036: Chip: 5341 Grade: 1 Rev: 3
[    3.312824] i2c i2c-1: Added multiplexed i2c bus 7
[    3.320474] si570 8-005d: registered, current frequency 300000000 Hz
[    3.326888] i2c i2c-1: Added multiplexed i2c bus 8
[    3.346665] si570 9-005d: registered, current frequency 148500000 Hz
[    3.353070] i2c i2c-1: Added multiplexed i2c bus 9
[    3.358106] si5324 10-0069: si5328 probed
[    3.423211] si5324 10-0069: si5328 probe successful
[    3.428146] i2c i2c-1: Added multiplexed i2c bus 10
[    3.433185] i2c i2c-1: Added multiplexed i2c bus 11
[    3.438226] i2c i2c-1: Added multiplexed i2c bus 12
[    3.443282] i2c i2c-1: Added multiplexed i2c bus 13
[    3.448161] pca954x 1-0074: registered 8 multiplexed busses for I2C switch pca9548
[    3.457322] at24 14-0050: supply vcc not found, using dummy regulator
[    3.464120] at24 14-0050: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[    3.470881] i2c i2c-1: Added multiplexed i2c bus 14
[    3.475935] i2c i2c-1: Added multiplexed i2c bus 15
[    3.480991] i2c i2c-1: Added multiplexed i2c bus 16
[    3.486037] i2c i2c-1: Added multiplexed i2c bus 17
[    3.491092] i2c i2c-1: Added multiplexed i2c bus 18
[    3.496143] i2c i2c-1: Added multiplexed i2c bus 19
[    3.501197] i2c i2c-1: Added multiplexed i2c bus 20
[    3.506245] i2c i2c-1: Added multiplexed i2c bus 21
[    3.511125] pca954x 1-0075: registered 8 multiplexed busses for I2C switch pca9548
[    3.518741] cdns-i2c ff030000.i2c: 400 kHz mmio ff030000 irq 49
[    3.528136] cdns-wdt fd4d0000.watchdog: Xilinx Watchdog Timer with timeout 60s
[    3.539736] axi_adxcvr_drv 84a60000.axi-adxcvr-rx: AXI-ADXCVR-RX (17.05.a) using CPLL on GTH4 at 0x84A60000. Number of lanes: 2.
[    3.553100] axi_adxcvr_drv 84a50000.axi-adxcvr-rx-os: AXI-ADXCVR-RX (17.05.a) using CPLL on GTH4 at 0x84A50000. Number of lanes: 2.
[    3.565905] axi_adxcvr_drv 84a80000.axi-adxcvr-tx: AXI-ADXCVR-TX (17.05.a) using QPLL on GTH4 at 0x84A80000. Number of lanes: 4.
[    3.567424] mmc0: SDHCI controller on ff170000.mmc [ff170000.mmc] using ADMA 64-bit
[    3.580329] zynqmp-display fd4a0000.display: vtc bridge property not present
[    3.595596] xilinx-dp-snd-codec fd4a0000.display:zynqmp-dp-snd-codec0: Failed to get required clock freq
[    3.605091] xilinx-dp-snd-codec: probe of fd4a0000.display:zynqmp-dp-snd-codec0 failed with error -22
[    3.614608] xilinx-dp-snd-pcm zynqmp_dp_snd_pcm0: Xilinx DisplayPort Sound PCM probed
[    3.619578] mmc0: new high speed SDHC card at address 0001
[    3.622692] xilinx-dp-snd-pcm zynqmp_dp_snd_pcm1: Xilinx DisplayPort Sound PCM probed
[    3.628322] mmcblk0: mmc0:0001 00000 29.1 GiB
[    3.636093] OF: graph: no port node found in /axi/display@fd4a0000
[    3.641740]  mmcblk0: p1 p2 p3
[    3.646665] xlnx-drm xlnx-drm.0: bound fd4a0000.display (ops 0xffffffc0091e3e98)
[    4.734895] zynqmp-display fd4a0000.display: [drm] Cannot find any crtc or sizes
[    4.742545] [drm] Initialized xlnx 1.0.0 20130509 for fd4a0000.display on minor 0
[    4.750048] zynqmp-display fd4a0000.display: ZynqMP DisplayPort Subsystem driver probed
[    4.758306] ahci-ceva fd0c0000.ahci: supply ahci not found, using dummy regulator
[    4.765868] ahci-ceva fd0c0000.ahci: supply phy not found, using dummy regulator
[    4.773342] ahci-ceva fd0c0000.ahci: supply target not found, using dummy regulator
[    4.791287] ahci-ceva fd0c0000.ahci: AHCI 0001.0301 32 slots 2 ports 6 Gbps 0x3 impl platform mode
[    4.800250] ahci-ceva fd0c0000.ahci: flags: 64bit ncq sntf pm clo only pmp fbs pio slum part ccc sds apst
[    4.810685] scsi host0: ahci-ceva
[    4.814294] scsi host1: ahci-ceva
[    4.817719] ata1: SATA max UDMA/133 mmio [mem 0xfd0c0000-0xfd0c1fff] port 0x100 irq 53
[    4.825628] ata2: SATA max UDMA/133 mmio [mem 0xfd0c0000-0xfd0c1fff] port 0x180 irq 53
[    4.835431] macb ff0e0000.ethernet: Not enabling partial store and forward
[    4.844390] macb ff0e0000.ethernet eth0: Cadence GEM rev 0x50070106 at 0xff0e0000 irq 45 (00:0a:35:1d:ae:1b)
[    4.882046] axi-jesd204-rx 84aa0000.axi-jesd204-rx: AXI-JESD204-RX (1.07.a) at 0x84AA0000. Encoder 8b10b, width 4/4, lanes 2, jesd204-fsm.
[    4.894983] axi-jesd204-rx 84ab0000.axi-jesd204-rx-os: AXI-JESD204-RX (1.07.a) at 0x84AB0000. Encoder 8b10b, width 4/4, lanes 2, jesd204-fsm.
[    4.908062] axi-jesd204-tx 84a90000.axi-jesd204-tx: AXI-JESD204-TX (1.06.a) at 0x84A90000. Encoder 8b10b, width 4/4, lanes 4, jesd204-fsm.
[    4.920909] ad9371 spi1.1: ad9371_probe : enter
[    4.952691] cf_axi_adc 84a00000.axi-ad9371-rx-hpc: ADI AIM (10.03.) at 0x84A00000 mapped to 0x(____ptrval____) probed ADC AD9371 as MASTER
[    4.983412] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition initialized -> probed
[    4.994466] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:1] transition initialized -> probed
[    5.005517] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:2] transition initialized -> probed
[    5.016569] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition probed -> initialized
[    5.027611] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:1] transition probed -> initialized
[    5.038659] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:2] transition probed -> initialized
[    5.049706] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition initialized -> probed
[    5.060750] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:1] transition initialized -> probed
[    5.071794] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:2] transition initialized -> probed
[    5.082844] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition probed -> idle
[    5.093284] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:1] transition probed -> idle
[    5.103716] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:2] transition probed -> idle
[    5.114158] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition idle -> device_init
[    5.125027] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:1] transition idle -> device_init
[    5.135893] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:2] transition idle -> device_init
[    5.145133] ata2: SATA link down (SStatus 0 SControl 330)
[    5.146766] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition device_init -> link_init
[    5.152174] ata1: SATA link down (SStatus 0 SControl 330)
[    5.163439] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:1] transition device_init -> link_init
[    5.180118] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:2] transition device_init -> link_init
[    5.191429] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition link_init -> link_supported
[    5.202990] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:1] transition link_init -> link_supported
[    5.214552] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:2] transition link_init -> link_supported
[    5.226483] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition link_supported -> link_pre_setup
[    5.238489] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:1] transition link_supported -> link_pre_setup
[    5.250490] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:2] transition link_supported -> link_pre_setup
[    5.270927] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition link_pre_setup -> clk_sync_stage1
[    5.283014] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:1] transition link_pre_setup -> clk_sync_stage1
[    5.295102] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:2] transition link_pre_setup -> clk_sync_stage1
[    5.307188] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition clk_sync_stage1 -> clk_sync_stage2
[    5.319362] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:1] transition clk_sync_stage1 -> clk_sync_stage2
[    5.331535] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:2] transition clk_sync_stage1 -> clk_sync_stage2
[    5.343715] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition clk_sync_stage2 -> clk_sync_stage3
[    5.355888] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:1] transition clk_sync_stage2 -> clk_sync_stage3
[    5.368058] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:2] transition clk_sync_stage2 -> clk_sync_stage3
[    5.382243] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition clk_sync_stage3 -> link_setup
[    5.393985] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:1] transition clk_sync_stage3 -> link_setup
[    5.405724] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:2] transition clk_sync_stage3 -> link_setup
[    6.062901] zynqmp-display fd4a0000.display: [drm] Cannot find any crtc or sizes
[    6.155455] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition link_setup -> opt_setup_stage1
[    6.167290] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:1] transition link_setup -> opt_setup_stage1
[    6.179117] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:2] transition link_setup -> opt_setup_stage1
[    6.251441] random: crng init done
[   12.182877] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition opt_setup_stage1 -> opt_setup_stage2
[   12.195226] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:1] transition opt_setup_stage1 -> opt_setup_stage2
[   12.207568] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:2] transition opt_setup_stage1 -> opt_setup_stage2
[   12.219920] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition opt_setup_stage2 -> opt_setup_stage3
[   12.232268] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:1] transition opt_setup_stage2 -> opt_setup_stage3
[   12.244614] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:2] transition opt_setup_stage2 -> opt_setup_stage3
[   12.256962] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition opt_setup_stage3 -> opt_setup_stage4
[   12.269309] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:1] transition opt_setup_stage3 -> opt_setup_stage4
[   12.281651] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:2] transition opt_setup_stage3 -> opt_setup_stage4
[   12.293999] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition opt_setup_stage4 -> opt_setup_stage5
[   12.306346] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:1] transition opt_setup_stage4 -> opt_setup_stage5
[   12.318693] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:2] transition opt_setup_stage4 -> opt_setup_stage5
[   12.331375] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition opt_setup_stage5 -> clocks_enable
[   12.343463] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:1] transition opt_setup_stage5 -> clocks_enable
[   12.355544] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:2] transition opt_setup_stage5 -> clocks_enable
[   12.373893] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition clocks_enable -> link_enable
[   12.385542] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:1] transition clocks_enable -> link_enable
[   12.397191] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:2] transition clocks_enable -> link_enable
[   12.444711] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition link_enable -> link_running
[   12.456278] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:1] transition link_enable -> link_running
[   12.467846] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:2] transition link_enable -> link_running
[   12.551821] ad9371 spi1.1: AD9371 Rev 4, Firmware 5.2.2 API version: 1.5.2.3566 successfully initialized via jesd204-fsm
[   12.562697] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:0] transition link_running -> opt_post_running_stage
[   12.575217] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:1] transition link_running -> opt_post_running_stage
[   12.587734] jesd204: /axi/spi@ff040000/ad9371-phy@1,jesd204:1,parent=spi1.1: JESD204[0:2] transition link_running -> opt_post_running_stage
[   12.600261] cf_axi_dds 84a04000.axi-ad9371-tx-hpc: Analog Devices CF_AXI_DDS_DDS MASTER (9.02.b) at 0x84A04000 mapped to 0x000000002521fd0c, probed DDS AD9371
[   12.623451] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[   12.630556] of_cfs_init
[   12.633031] of_cfs_init: OK
[   12.635893] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[   12.681673] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[   12.688938] cfg80211: Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'
[   12.697051] clk: Not disabling unused clocks
[   12.701594] ALSA device list:
[   12.704558]   No soundcards found.
[   12.708253] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[   12.716866] cfg80211: failed to load regulatory.db
[   12.732308] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Quota mode: none.
[   12.740863] VFS: Mounted root (ext4 filesystem) on device 179:2.
[   12.753934] devtmpfs: mounted
[   12.757729] Freeing unused kernel memory: 2752K
[   12.762357] Run /sbin/init as init process
[   13.250504] systemd[1]: System time before build time, advancing clock.
[   13.293010] systemd[1]: systemd 247.3-7+rpi1+deb11u6 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +ZSTD +SECCOMP +BLKID +ELFUTILS +KMOD +IDN2 -IDN +PCRE2 default-hierarchy=unified)
[   13.316945] systemd[1]: Detected architecture arm64.

Welcome to Kuiper GNU/Linux 11.2 (bullseye)!

[   13.347727] systemd[1]: Set hostname to <analog>.
[   14.647104] systemd[1]: /lib/systemd/system/plymouth-start.service:16: Unit configured to use KillMode=none. This is unsafe, as it disables systemd's process lifecycle management for the service. Please update your service to use a safer KillMode=, such as 'mixed' or 'control-group'. Support for KillMode=none is deprecated and will eventually be removed.
[   14.853553] systemd[1]: Queued start job for default target Graphical Interface.
[   14.862446] systemd[1]: system-getty.slice: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
[   14.874798] systemd[1]: (This warning is only shown for the first unit using IP firewalling.)
[   14.883889] systemd[1]: Created slice system-getty.slice.
[  OK  ] Created slice system-getty.slice.
[   14.907383] systemd[1]: Created slice system-modprobe.slice.
[  OK  ] Created slice system-modprobe.slice.
[   14.927295] systemd[1]: Created slice system-serial\x2dgetty.slice.
[  OK  ] Created slice system-serial\x2dgetty.slice.
[   14.951300] systemd[1]: Created slice system-systemd\x2dfsck.slice.
[  OK  ] Created slice system-systemd\x2dfsck.slice.
[   14.975192] systemd[1]: Created slice User and Session Slice.
[  OK  ] Created slice User and Session Slice.
[   14.995222] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[  OK  ] Started Forward Password R…uests to Wall Directory Watch.
[   15.019170] systemd[1]: Condition check resulted in Arbitrary Executable File Formats File System Automount Point being skipped.
[   15.031578] systemd[1]: Reached target Slices.
[  OK  ] Reached target Slices.
[   15.047114] systemd[1]: Reached target Swap.
[  OK  ] Reached target Swap.
[   15.071656] systemd[1]: Listening on Syslog Socket.
[  OK  ] Listening on Syslog Socket.
[   15.087310] systemd[1]: Listening on fsck to fsckd communication Socket.
[  OK  ] Listening on fsck to fsckd communication Socket.
[   15.111150] systemd[1]: Listening on initctl Compatibility Named Pipe.
[  OK  ] Listening on initctl Compatibility Named Pipe.
[   15.135596] systemd[1]: Listening on Journal Audit Socket.
[  OK  ] Listening on Journal Audit Socket.
[   15.155312] systemd[1]: Listening on Journal Socket (/dev/log).
[  OK  ] Listening on Journal Socket (/dev/log).
[   15.179340] systemd[1]: Listening on Journal Socket.
[  OK  ] Listening on Journal Socket.
[   15.202412] systemd[1]: Listening on udev Control Socket.
[  OK  ] Listening on udev Control Socket.
[   15.223299] systemd[1]: Listening on udev Kernel Socket.
[  OK  ] Listening on udev Kernel Socket.
[   15.259075] systemd[1]: Mounting Huge Pages File System...
        Mounting Huge Pages File System...
[   15.276854] systemd[1]: Mounting POSIX Message Queue File System...
        Mounting POSIX Message Queue File System...
[   15.300756] systemd[1]: Mounting RPC Pipe File System...
        Mounting RPC Pipe File System...
[   15.316974] systemd[1]: Mounting Kernel Debug File System...
        Mounting Kernel Debug File System...
[   15.335423] systemd[1]: Condition check resulted in Kernel Trace File System being skipped.
[   15.344140] systemd[1]: Condition check resulted in Kernel Module supporting RPCSEC_GSS being skipped.
[   15.356801] systemd[1]: Starting Restore / save the current clock...
        Starting Restore / save the current clock...
[   15.381607] systemd[1]: Starting Set the console keyboard layout...
        Starting Set the console keyboard layout...
[   15.403926] systemd[1]: Condition check resulted in Create list of static device nodes for the current kernel being skipped.
[   15.417684] systemd[1]: Starting Load Kernel Module configfs...
        Starting Load Kernel Module configfs...
[   15.451336] systemd[1]: Starting Load Kernel Module drm...
        Starting Load Kernel Module drm...
[   15.469279] systemd[1]: Starting Load Kernel Module fuse...
        Starting Load Kernel Module fuse...
[   15.489705] systemd[1]: Condition check resulted in Set Up Additional Binary Formats being skipped.
[   15.499013] systemd[1]: Condition check resulted in File System Check on Root Device being skipped.
[   15.523285] systemd[1]: Starting Journal Service...
        Starting Journal Service...
[   15.542899] systemd[1]: Starting Load Kernel Modules...
        Starting Load Kernel Modules...
[   15.561301] systemd[1]: Starting Remount Root and Kernel File Systems...
        Starting Remount Root and Kernel File Systems...
[   15.585157] systemd[1]: Starting Coldplug All udev Devices...
        Starting Coldplug All udev Devices...
[   15.610003] systemd[1]: Mounted Huge Pages File System.
[  OK  ] Mounted Huge Pages File System.
[   15.631473] systemd[1]: Mounted POSIX Message Queue File System.
[  OK  ] Mounted POSIX Message Queue File System.
[   15.667552] systemd[1]: Mounted RPC Pipe File System.
[  OK  ] Mounted RPC Pipe File System.
[   15.683609] systemd[1]: Mounted Kernel Debug File System.
[  OK  ] Mounted Kernel Debug File System.
[   15.707832] systemd[1]: Finished Restore / save the current clock.
[  OK  ] Finished Restore / save the current clock.
[   15.732042] systemd[1]: Finished Set the console keyboard layout.
[  OK  ] Finished Set the console keyboard layout.
[   15.755571] systemd[1]: Started Journal Service.
[  OK  ] Started Journal Service.
[  OK  ] Finished Load Kernel Module configfs.
[  OK  ] Finished Load Kernel Module drm.
[  OK  ] Finished Load Kernel Module fuse.
[FAILED] Failed to start Load Kernel Modules.
See 'systemctl status systemd-modules-load.service' for details.
[   15.855588] EXT4-fs (mmcblk0p2): re-mounted. Quota mode: none.
[  OK  ] Finished Remount Root and Kernel File Systems.
        Mounting FUSE Control File System...
        Mounting Kernel Configuration File System...
        Starting Flush Journal to Persistent Storage...
        Starting Load/Save Random Seed...
[   15.962146] systemd-journald[189]: Received client request to flush runtime journal.
[   15.986702] systemd-journald[189]: File /var/log/journal/bb246063bf47482c9d89c68d6172fa72/system.journal corrupted or uncleanly shut down, renaming and replacing.
        Starting Apply Kernel Variables...
        Starting Create System Users...
[  OK  ] Mounted FUSE Control File System.
[  OK  ] Mounted Kernel Configuration File System.
[  OK  ] Finished Apply Kernel Variables.
[  OK  ] Finished Load/Save Random Seed.
[  OK  ] Finished Create System Users.
        Starting Create Static Device Nodes in /dev...
[  OK  ] Finished Coldplug All udev Devices.
[  OK  ] Finished Flush Journal to Persistent Storage.
        Starting Helper to synchronize boot up for ifupdown...
        Starting Wait for udev To …plete Device Initialization...
[  OK  ] Finished Create Static Device Nodes in /dev.
[  OK  ] Finished Helper to synchronize boot up for ifupdown.
[  OK  ] Reached target Local File Systems (Pre).
        Starting Rule-based Manage…for Device Events and Files...
[  OK  ] Started Rule-based Manager for Device Events and Files.
        Starting Show Plymouth Boot Screen...
[  OK  ] Started Show Plymouth Boot Screen.
[  OK  ] Started Forward Password R…s to Plymouth Directory Watch.
[  OK  ] Reached target Local Encrypted Volumes.
[  OK  ] Found device /dev/ttyPS0.
[  OK  ] Found device /dev/disk/by-partuuid/a22286d2-01.
[  OK  ] Found device /dev/ttyS0.
[  OK  ] Finished Wait for udev To Complete Device Initialization.
[  OK  ] Reached target Hardware activated USB gadget.
[  OK  ] Listening on Load/Save RF …itch Status /dev/rfkill Watch.
        Starting File System Check…isk/by-partuuid/a22286d2-01...
        Starting Load Kernel Modules...
[  OK  ] Started File System Check Daemon to report status.
[FAILED] Failed to start Load Kernel Modules.
See 'systemctl status systemd-modules-load.service' for details.
[  OK  ] Finished File System Check…/disk/by-partuuid/a22286d2-01.
        Mounting /boot...
[  OK  ] Mounted /boot.
[  OK  ] Reached target Local File Systems.
        Starting Set console font and keymap...
        Starting Raise network interfaces...
        Starting Preprocess NFS configuration...
        Starting Tell Plymouth To Write Out Runtime Data...
        Starting Create Volatile Files and Directories...
[  OK  ] Finished Set console font and keymap.
[  OK  ] Finished Preprocess NFS configuration.
[  OK  ] Reached target NFS client services.
[  OK  ] Reached target Remote File Systems (Pre).
[  OK  ] Reached target Remote File Systems.
[  OK  ] Finished Tell Plymouth To Write Out Runtime Data.
[  OK  ] Finished Create Volatile Files and Directories.
        Starting Network Time Synchronization...
        Starting Update UTMP about System Boot/Shutdown...
[  OK  ] Finished Update UTMP about System Boot/Shutdown.
        Starting Load Kernel Modules...
[  OK  ] Started Network Time Synchronization.
[  OK  ] Finished Raise network interfaces.
[  OK  ] Reached target System Time Set.
[  OK  ] Reached target System Time Synchronized.
[FAILED] Failed to start Load Kernel Modules.
See 'systemctl status systemd-modules-load.service' for details.
[  OK  ] Reached target System Initialization.
[  OK  ] Started CUPS Scheduler.
[  OK  ] Started Daily apt download activities.
[  OK  ] Started Daily apt upgrade and clean activities.
[  OK  ] Started Periodic ext4 Onli…ata Check for All Filesystems.
[  OK  ] Started Discard unused blocks once a week.
[  OK  ] Started Daily rotation of log files.
[  OK  ] Started Daily man-db regeneration.
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Reached target Paths.
[  OK  ] Reached target Timers.
[  OK  ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
[  OK  ] Listening on CUPS Scheduler.
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Listening on Erlang Port Mapper Daemon Activation Socket.
[  OK  ] Listening on GPS (Global P…ioning System) Daemon Sockets.
[  OK  ] Listening on triggerhappy.socket.
[  OK  ] Reached target Sockets.
[  OK  ] Reached target Basic System.
        Starting Analog Devices power up/down sequence...
        Starting Avahi mDNS/DNS-SD Stack...
[  OK  ] Started Regular background program processing daemon.
[  OK  ] Started D-Bus System Message Bus.
        Starting dphys-swapfile - …unt, and delete a swap file...
        Starting Remove Stale Onli…t4 Metadata Check Snapshots...
[  OK  ] Started fan-control.
        Starting Fix DP audio and X11 for Jupiter...
        Starting Creating IIOD Context Attributes......
        Starting Authorization Manager...
        Starting DHCP Client Daemon...
        Starting LSB: Switch to on…nless shift key is pressed)...
        Starting LSB: rng-tools (Debian variant)...
        Starting System Logging Service...
        Starting User Login Management...
        Starting triggerhappy global hotkey daemon...
        Starting Disk Manager...
        Starting WPA supplicant...
[  OK  ] Started DHCP Client Daemon.
[  OK  ] Started triggerhappy global hotkey daemon.
[  OK  ] Finished Fix DP audio and X11 for Jupiter.
[  OK  ] Started System Logging Service.
[  OK  ] Started LSB: rng-tools (Debian variant).
[  OK  ] Finished dphys-swapfile - …mount, and delete a swap file.
[  OK  ] Started User Login Management.
[  OK  ] Started Avahi mDNS/DNS-SD Stack.
[  OK  ] Started WPA supplicant.
[  OK  ] Reached target Network.
[  OK  ] Reached target Network is Online.
        Starting CUPS Scheduler...
[  OK  ] Started Erlang Port Mapper Daemon.
        Starting Load USB gadget scheme...
        Starting HTTP based time synchronization tool...
        Starting Internet superserver...
        Starting /etc/rc.local Compatibility...
        Starting OpenBSD Secure Shell server...
        Starting Permit User Sessions...
[  OK  ] Started Unattended Upgrades Shutdown.
[  OK  ] Started /etc/rc.local Compatibility.
[  OK  ] Started Authorization Manager.
        Starting Modem Manager...
[  OK  ] Finished Permit User Sessions.
        Starting Light Display Manager...
        Starting Hold until boot process finishes up...
[  OK  ] Started HTTP based time synchronization tool.
[  OK  ] Finished Load USB gadget scheme.
        Mounting Mount FunctionFS instance...
[  OK  ] Found device /dev/ttyGS0.
[  OK  ] Started Internet superserver.
[  OK  ] Mounted Mount FunctionFS instance.
[  OK  ] Finished Creating IIOD Context Attributes....
[  OK  ] Started IIO Daemon.
        Starting IIO Daemon with USB FFS support...
        Stopping IIO Daemon...
[  OK  ] Stopped IIO Daemon.
[  OK  ] Started OpenBSD Secure Shell server.
[  OK  ] Started IIO Daemon with USB FFS support.
        Starting Start USB gadget scheme...
[  OK  ] Started CUPS Scheduler.
[  OK  ] Finished Analog Devices power up/down sequence.
[  OK  ] Finished Hold until boot process finishes up.
[FAILED] Failed to start VNC Server for X11.

Raspbian GNU/Linux 11 analog ttyPS0

analog login: root (automatic login)

Linux analog 6.1.70-284114-g2e8908932dfd #1061 SMP Tue Mar 18 16:40:12 EET 2025 aarch64

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
Last login: Tue Mar 18 19:11:13 GMT 2025 on ttyPS0
root@analog:~#
27 GMT 2025 on ttyS0
root@analog:~#

Useful commands for the serial terminal

The below commands are to be run in the serial terminal connected to the FPGA.

To find out the IP of the FPGA board, run the following command and take the IP specified at “eth0 inet”:

~$
ifconfig

To see the IIO devices detected, run:

root@analog:~# iio_info | grep :device
iio:device0: xilinx-ams
iio:device1: ad9528-1
iio:device2: ad7291
iio:device3: ad9371-phy
iio:device4: axi-ad9371-rx-hpc (buffer capable)
iio:device5: axi-ad9371-rx-obs-hpc (buffer capable)
iio:device6: axi-ad9371-tx-hpc (buffer capable)

To use the JESD204 status utility, run:

~$
jesd_status

To power off the system, run the following command, and wait for the final message to be printed, then power off the FPGA board from the switch as well.

~$
poweroff

To reboot the system, run:

~$
reboot

Important

Even thought this is Linux, this is a persistent file systems. Care should be taken not to corrupt the file system – please shut down things, don’t just turn off the power switch. Depending on your monitor, the standard power off could be hiding. You can do this from the terminal as well with sudo shutdown -h now or the above-mentioned command for powering off.

Using no-OS as software

Necessary files

The following files are needed for the system to boot:

Instructions on how to build the boot files from source can be found here:

Required Software

  • AMD Xilinx Vivado and Vitis (downloading Vitis from here will include Vivado as well)

  • An UART terminal (Putty/Tera Term/Minicom, etc.), Baud rate 115200 (8N1)

Required Hardware

  • AMD Xilinx ZCU102 FPGA board and its power supply

  • EVAL-ADRV9371 or EVAL-ADRV9375 FMC evaluation board

  • 2x Micro-USB cables, one for UART and one for JTAG

  • (Optional) 2x SMA cable for analog signal loopback

  • (Optional) External clock generator

More details as to why you need these, can be found at Prerequisites.

Testing

Creating the setup

https://media.githubusercontent.com/media/analogdevicesinc/documentation/main/docs/solutions/reference-designs/adrv9371x/images/adrv9371x_zcu102_no-os_setup.jpg

Caution

This project was tested with VADJ = 1.8 V

Follow the steps in this order, to avoid damaging the components:

  1. Connect the EVAL-ADRV9371 or EVAL-ADRV9375 FMC board to the ZCU102 HPC0 FMC socket

  2. Configure ZCU102 for JTAG boot mode (mode SW6[4:1] switch in the position ON,ON,ON,ON)

  3. Connect USB UART J83 (Micro-USB) to your host PC

  4. Connect USB JTAG (Micro-USB) to your host PC

  5. (Optional) Connect the external clock generator and/or loopback cables

  6. Plug in the power supply and turn on the power switch on the FPGA board

  7. Build and run the project using the steps shown here.

  8. Observe console output messages on your terminal (use the first ttyUSB or COM port registered)

Console output

The following is what is printed in the serial console, after you have connected to the proper ttyUSB or COM port:

Zynq MP First Stage Boot Loader
Release 2025.1   Apr  1 2026  -  10:08:20
PMU-FW is not running, certain applications may not be supported.
Please wait...
WARNING: AD9528_initialize() issues. Possible cause: REF_CLK not connected.
rx_clkgen: MMCM-PLL locked (122880000 Hz)
tx_clkgen: MMCM-PLL locked (122880000 Hz)
rx_os_clkgen: MMCM-PLL locked (122880000 Hz)
MCS successful
CLKPLL locked
AD9371 ARM version 5.2.2
PLLs locked
Calibrations completed successfully
tx_adxcvr: OK (4915200 kHz)
rx_adxcvr: OK (4915200 kHz)
rx_os_adxcvr: OK (4915200 kHz)
rx_jesd status:
        Link is enabled
        Measured Link Clock: 122.885 MHz
        Reported Link Clock: 122.880 MHz
        Lane rate: 4915.200 MHz
        Lane rate / 40: 122.880 MHz
        LMFC rate: 3.840 MHz
        Link status: DATA
        SYSREF captured: Yes
        SYSREF alignment error: No
rx_jesd lane 0 status:
Errors: 0
        CGS state: DATA
        Initial Frame Synchronization: Yes
        Lane Latency: 1 Multi-frames and 65 Octets
        Initial Lane Alignment Sequence: Yes
        DID: 0, BID: 0, LID: 0, L: 2, SCR: 1, F: 4
        K: 32, M: 4, N: 16, CS: 0, N': 16, S: 1, HD: 0
        FCHK: 0x47, CF: 0
        ADJCNT: 0, PHADJ: 0, ADJDIR: 0, JESDV: 1, SUBCLASS: 1
        FC: 4915200 kHz
rx_jesd lane 1 status:
Errors: 0
        CGS state: DATA
        Initial Frame Synchronization: Yes
        Lane Latency: 1 Multi-frames and 67 Octets
        Initial Lane Alignment Sequence: Yes
        DID: 0, BID: 0, LID: 1, L: 2, SCR: 1, F: 4
        K: 32, M: 4, N: 16, CS: 0, N': 16, S: 1, HD: 0
        FCHK: 0x48, CF: 0
        ADJCNT: 0, PHADJ: 0, ADJDIR: 0, JESDV: 1, SUBCLASS: 1
        FC: 4915200 kHz
tx_jesd status:
        Link is enabled
        Measured Link Clock: 122.885 MHz
        Reported Link Clock: 122.880 MHz
        Lane rate: 4915.200 MHz
        Lane rate / 40: 122.880 MHz
        LMFC rate: 7.680 MHz
        SYNC~: deasserted
        Link status: DATA
        SYSREF captured: Yes
        SYSREF alignment error: No
rx_os_jesd status:
        Link is enabled
        Measured Link Clock: 122.885 MHz
        Reported Link Clock: 122.880 MHz
        Lane rate: 4915.200 MHz
        Lane rate / 40: 122.880 MHz
        LMFC rate: 7.680 MHz
        Link status: DATA
        SYSREF captured: Yes
        SYSREF alignment error: No
rx_os_jesd lane 0 status:
Errors: 0
        CGS state: DATA
        Initial Frame Synchronization: Yes
        Lane Latency: 1 Multi-frames and 63 Octets
        Initial Lane Alignment Sequence: Yes
        DID: 0, BID: 0, LID: 0, L: 2, SCR: 1, F: 2
        K: 32, M: 2, N: 16, CS: 0, N': 16, S: 1, HD: 0
        FCHK: 0x43, CF: 0
        ADJCNT: 0, PHADJ: 0, ADJDIR: 0, JESDV: 1, SUBCLASS: 1
        FC: 4915200 kHz
rx_os_jesd lane 1 status:
Errors: 0
        CGS state: DATA
        Initial Frame Synchronization: Yes
        Lane Latency: 1 Multi-frames and 63 Octets
        Initial Lane Alignment Sequence: Yes
        DID: 0, BID: 0, LID: 1, L: 2, SCR: 1, F: 2
        K: 32, M: 2, N: 16, CS: 0, N': 16, S: 1, HD: 0
        FCHK: 0x44, CF: 0
        ADJCNT: 0, PHADJ: 0, ADJDIR: 0, JESDV: 1, SUBCLASS: 1
        FC: 4915200 kHz
tx_dac: Successfully initialized (245770263 Hz)
rx_adc: Successfully initialized (122885131 Hz)
rx_obs_adc: Successfully initialized (245770263 Hz)
Done