ZCU102 Quick start

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.

Warning

The ZCU102 requires two FMC spacers to accommodate the AD-FMCOMMS5-EBZ. Ensure the spacers are installed before connecting the board.

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

This guide provides quick instructions on how to setup the AD-FMCOMMS5-EBZ on the:

Using Linux as software

Necessary files

The following files are needed for the system to boot:

  • SD card image: Kuiper Linux

  • HDL boot files: BOOT.BIN, Image, system.dtb

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

Required Software

  • balenaEtcher or similar tool to write the SD card image

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

Required Hardware

  • AMD Xilinx ZCU102 FPGA board and its power supply

  • AD-FMCOMMS5-EBZ FMC evaluation board

  • Micro-USB cable (for UART)

  • MicroSD card (16 GB or larger)

  • Ethernet cable (for network access)

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

  • (Optional) RF antenna or SMA loopback cables

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/fmcomms5/images/zcu102_fmcomms5.jpg

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

  1. Write the Kuiper Linux image to the SD card and copy the appropriate boot files (BOOT.BIN, Image, system.dtb) for the ZCU102 + FMCOMMS5 combination to the BOOT partition

  2. Connect the AD-FMCOMMS5-EBZ to the ZCU102 dual FMC connectors (HPC0 and HPC1)

  3. Insert the SD card into connector J100

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

  5. Connect Ethernet cable

  6. (Optional) Connect a DisplayPort display to J12

  7. (Optional) Connect USB keyboard/mouse to J96

  8. Set SD card boot mode: SW6[4:1] = OFF, OFF, OFF, ON

    https://media.githubusercontent.com/media/analogdevicesinc/documentation/main/docs/solutions/reference-designs/images/zcu102_1p0_bootmode.jpg
  9. Connect 12 V power to J52

  10. Turn on the power switch on the FPGA board

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

Boot messages

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   Mar 20 2026  -  17:44:17
NOTICE:  BL31: Non secure code at 0x8000000
NOTICE:  BL31: v2.12.0(release):xilinx-v2025.1
NOTICE:  BL31: Built : 11:08:56, Aug 12 2025
PMUFW:    v1.1


U-Boot 2018.01-01677-geb93226123b (Mar 09 2026 - 12:20:54 +0200) Xilinx ZynqMP ZCU102 revA, Build: jenkins-development-build_uboot-69

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:  2  1  0
switch to partitions #0, OK
mmc0 is current device
Device: sdhci@ff170000
Manufacturer ID: 3
OEM: 5344
Name: SK32G
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 29.7 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
reading uEnv.txt
408 bytes read in 16 ms (24.4 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
63336 bytes read in 25 ms (2.4 MiB/s)
reading Image
42959360 bytes read in 2864 ms (14.3 MiB/s)
## Flattened Device Tree blob at 04000000
   Booting using the fdt blob at 0x4000000
   Loading Device Tree to 000000000ffed000, end 000000000ffff767 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 6.12.77-ge2f9fe8e3654 (root@fcb2e2309be5) (aarch64-linux-gnu-gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0, GNU ld (GNU Binutils for Ubuntu) 2.42) #1 SMP Thu Mar 26 12:20:17 UTC 2026
[    0.000000] Machine model: ZynqMP ZCU102 Rev1.0
[    0.000000] earlycon: cdns0 at MMIO 0x00000000ff000000 (options '115200n8')
[    0.000000] printk: legacy bootconsole [cdns0] enabled
[    0.000000] efi: UEFI not found.
[    0.000000] OF: reserved mem: 0x000000003ed00000..0x000000003ed3ffff (256 KiB) nomap non-reusable memory@3ed00000
[    0.000000] OF: reserved mem: 0x000000003ef00000..0x000000003ef3ffff (256 KiB) nomap non-reusable memory@3ef00000
[    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-0x000000003ecfffff]
[    0.000000]   node   0: [mem 0x000000003ed00000-0x000000003ed3ffff]
[    0.000000]   node   0: [mem 0x000000003ed40000-0x000000003eefffff]
[    0.000000]   node   0: [mem 0x000000003ef00000-0x000000003ef3ffff]
[    0.000000]   node   0: [mem 0x000000003ef40000-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 on node -1
[    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.5
[    0.000000] percpu: Embedded 21 pages/cpu s45592 r8192 d32232 u86016
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] alternatives: applying boot alternatives
[    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] Built 1 zonelists, mobility grouping on.  Total pages: 1048576
[    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] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Hierarchical RCU implementation.
[    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.000001] sched_clock: 57 bits at 100MHz, resolution 10ns, wraps every 4398046511100ns
[    0.008334] Console: colour dummy device 80x25
[    0.012488] Calibrating delay loop (skipped), value calculated using timer frequency.. 200.00 BogoMIPS (lpj=400000)
[    0.022839] pid_max: default: 32768 minimum: 301
[    0.027518] 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.043964] rcu: Hierarchical SRCU implementation.
[    0.047322] rcu:       Max phase no-delay instances is 1000.
[    0.052728] Timer migration: 1 hierarchy levels; 8 children per group; 1 crossnode level
[    0.060658] EFI services will not be available.
[    0.065228] smp: Bringing up secondary CPUs ...
[    0.069946] Detected VIPT I-cache on CPU1
[    0.070013] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.070460] Detected VIPT I-cache on CPU2
[    0.070504] CPU2: Booted secondary processor 0x0000000002 [0x410fd034]
[    0.070910] Detected VIPT I-cache on CPU3
[    0.070955] CPU3: Booted secondary processor 0x0000000003 [0x410fd034]
[    0.071015] smp: Brought up 1 node, 4 CPUs
[    0.105014] SMP: Total of 4 processors activated.
[    0.109684] CPU: All CPU(s) started at EL2
[    0.113750] CPU features: detected: 32-bit EL0 Support
[    0.118853] CPU features: detected: CRC32 instructions
[    0.123989] alternatives: applying system-wide alternatives
[    0.130441] Memory: 3738352K/4194304K available (18944K kernel code, 1952K rwdata, 17364K rodata, 3584K init, 725K bss, 190216K reserved, 262144K cma-reserved)
[    0.144402] devtmpfs: initialized
[    0.153942] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.158048] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.170384] 22080 pages in range for non-PLT usage
[    0.170403] 513600 pages in range for PLT usage
[    0.170541] pinctrl core: initialized pinctrl subsystem
[    0.180403] NET: Registered PF_NETLINK/PF_ROUTE protocol family
[    0.185908] DMA: preallocated 512 KiB GFP_KERNEL pool for atomic allocations
[    0.192310] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    0.200062] DMA: preallocated 512 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.207793] audit: initializing netlink subsys (disabled)
[    0.213277] audit: type=2000 audit(0.132:1): state=initialized audit_enabled=0 res=1
[    0.213650] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.227641] ASID allocator initialised with 65536 entries
[    0.240218] /axi/interrupt-controller@f9010000: Fixed dependency cycle(s) with /axi/interrupt-controller@f9010000
[    0.244969] /axi/pcie@fd0e0000: Fixed dependency cycle(s) with /axi/pcie@fd0e0000
[    0.254846] /axi/pcie@fd0e0000: Fixed dependency cycle(s) with /axi/pcie@fd0e0000
[    0.259768] /axi/pcie@fd0e0000: Fixed dependency cycle(s) with /axi/pcie@fd0e0000/legacy-interrupt-controller
[    0.273335] /axi/display@fd4a0000: Fixed dependency cycle(s) with /dpcon
[    0.276290] /dpcon: Fixed dependency cycle(s) with /axi/display@fd4a0000
[    0.284357] HugeTLB: registered 1.00 GiB page size, pre-allocated 0 pages
[    0.289643] HugeTLB: 0 KiB vmemmap can be freed for a 1.00 GiB page
[    0.295870] HugeTLB: registered 32.0 MiB page size, pre-allocated 0 pages
[    0.302614] HugeTLB: 0 KiB vmemmap can be freed for a 32.0 MiB page
[    0.308843] HugeTLB: registered 2.00 MiB page size, pre-allocated 0 pages
[    0.315588] HugeTLB: 0 KiB vmemmap can be freed for a 2.00 MiB page
[    0.321820] HugeTLB: registered 64.0 KiB page size, pre-allocated 0 pages
[    0.328563] HugeTLB: 0 KiB vmemmap can be freed for a 64.0 KiB page
[    0.402863] raid6: neonx8   gen()  2269 MB/s
[    0.470936] raid6: neonx4   gen()  2222 MB/s
[    0.539005] raid6: neonx2   gen()  2116 MB/s
[    0.607082] raid6: neonx1   gen()  1814 MB/s
[    0.675132] raid6: int64x8  gen()  1415 MB/s
[    0.743214] raid6: int64x4  gen()  1567 MB/s
[    0.811285] raid6: int64x2  gen()  1395 MB/s
[    0.879360] raid6: int64x1  gen()  1038 MB/s
[    0.879401] raid6: using algorithm neonx8 gen() 2269 MB/s
[    0.951418] raid6: .... xor() 1655 MB/s, rmw enabled
[    0.951465] raid6: using neon recovery algorithm
[    0.955734] iommu: Default domain type: Translated
[    0.960085] iommu: DMA domain TLB invalidation policy: strict mode
[    0.966664] SCSI subsystem initialized
[    0.970107] usbcore: registered new interface driver usbfs
[    0.975426] usbcore: registered new interface driver hub
[    0.980698] usbcore: registered new device driver usb
[    0.985879] mc: Linux media interface: v0.10
[    0.989955] videodev: Linux video capture interface: v2.00
[    0.995418] pps_core: LinuxPPS API ver. 1 registered
[    1.000308] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    1.009398] PTP clock support registered
[    1.013305] EDAC MC: Ver: 3.0.0
[    1.016724] zynqmp-ipi-mbox mailbox@ff9905c0: Registered ZynqMP IPI mbox with TX/RX channels.
[    1.025379] jesd204: found 0 devices and 0 topologies
[    1.029953] FPGA manager framework
[    1.033295] Advanced Linux Sound Architecture Driver Initialized.
[    1.039894] Bluetooth: Core ver 2.22
[    1.042875] NET: Registered PF_BLUETOOTH protocol family
[    1.048142] Bluetooth: HCI device and connection manager initialized
[    1.054461] Bluetooth: HCI socket layer initialized
[    1.059302] Bluetooth: L2CAP socket layer initialized
[    1.064323] Bluetooth: SCO socket layer initialized
[    1.069593] vgaarb: loaded
[    1.072106] clocksource: Switched to clocksource arch_sys_counter
[    1.078061] VFS: Disk quotas dquot_6.6.0
[    1.081804] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    1.094663] NET: Registered PF_INET protocol family
[    1.094868] IP idents hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    1.103997] tcp_listen_portaddr_hash hash table entries: 2048 (order: 3, 32768 bytes, linear)
[    1.109770] Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
[    1.117443] TCP established hash table entries: 32768 (order: 6, 262144 bytes, linear)
[    1.125517] TCP bind hash table entries: 32768 (order: 8, 1048576 bytes, linear)
[    1.133487] TCP: Hash tables configured (established 32768 bind 32768)
[    1.139224] UDP hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    1.145880] UDP-Lite hash table entries: 2048 (order: 4, 65536 bytes, linear)
[    1.153056] NET: Registered PF_UNIX/PF_LOCAL protocol family
[    1.158898] RPC: Registered named UNIX socket transport module.
[    1.164413] RPC: Registered udp transport module.
[    1.169078] RPC: Registered tcp transport module.
[    1.173748] RPC: Registered tcp-with-tls transport module.
[    1.179198] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    1.186559] PCI: CLS 0 bytes, default 64
[    1.190398] Initialise system trusted keyrings
[    1.194021] workingset: timestamp_bits=62 max_order=20 bucket_order=0
[    1.200775] NFS: Registering the id_resolver key type
[    1.205343] Key type id_resolver registered
[    1.209483] Key type id_legacy registered
[    1.213472] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    1.220117] nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
[    1.227479] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    1.234544] fuse: init (API version 7.41)
[    1.295016] NET: Registered PF_ALG protocol family
[    1.295071] xor: measuring software checksum speed
[    1.300241]    8regs           :  2506 MB/sec
[    1.304556]    32regs          :  2512 MB/sec
[    1.308968]    arm64_neon      :  2354 MB/sec
[    1.311900] xor: using function: 32regs (2512 MB/sec)
[    1.316930] Key type asymmetric registered
[    1.320991] Asymmetric key parser 'x509' registered
[    1.325872] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 246)
[    1.333189] io scheduler mq-deadline registered
[    1.337683] io scheduler kyber registered
[    1.341673] io scheduler bfq registered
[    1.349550] ledtrig-cpu: registered to indicate activity on CPUs
[    1.387563] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    1.395793] brd: module loaded
[    1.399269] loop: module loaded
[    1.399725] Registered mathworks_ip class
[    1.401329] mtdoops: mtd device (mtddev=name/number) must be supplied
[    1.410622] tun: Universal TUN/TAP device driver, 1.6
[    1.412300] CAN device driver interface
[    1.416569] SPI driver wl1271_spi has no spi_device_id for ti,wl1271
[    1.422310] SPI driver wl1271_spi has no spi_device_id for ti,wl1273
[    1.428621] SPI driver wl1271_spi has no spi_device_id for ti,wl1281
[    1.434934] SPI driver wl1271_spi has no spi_device_id for ti,wl1283
[    1.441248] SPI driver wl1271_spi has no spi_device_id for ti,wl1285
[    1.447563] SPI driver wl1271_spi has no spi_device_id for ti,wl1801
[    1.453879] SPI driver wl1271_spi has no spi_device_id for ti,wl1805
[    1.460192] SPI driver wl1271_spi has no spi_device_id for ti,wl1807
[    1.466507] SPI driver wl1271_spi has no spi_device_id for ti,wl1831
[    1.472821] SPI driver wl1271_spi has no spi_device_id for ti,wl1835
[    1.479136] SPI driver wl1271_spi has no spi_device_id for ti,wl1837
[    1.485568] usbcore: registered new interface driver asix
[    1.490846] usbcore: registered new interface driver ax88179_178a
[    1.496898] usbcore: registered new interface driver cdc_ether
[    1.502695] usbcore: registered new interface driver net1080
[    1.508317] usbcore: registered new interface driver cdc_subset
[    1.514196] usbcore: registered new interface driver zaurus
[    1.519741] usbcore: registered new interface driver cdc_ncm
[    1.525356] usbcore: registered new interface driver r8153_ecm
[    1.532360] usbcore: registered new interface driver uas
[    1.536437] usbcore: registered new interface driver usb-storage
[    1.542436] usbcore: registered new interface driver usbserial_generic
[    1.548873] usbserial: USB Serial support registered for generic
[    1.554850] usbcore: registered new interface driver ftdi_sio
[    1.560550] usbserial: USB Serial support registered for FTDI USB Serial Device
[    1.567822] usbcore: registered new interface driver upd78f0730
[    1.573697] usbserial: USB Serial support registered for upd78f0730
[    1.581649] rtc_zynqmp ffa60000.rtc: registered as rtc0
[    1.585118] rtc_zynqmp ffa60000.rtc: setting system clock to 2020-10-05T19:05:03 UTC (1601924703)
[    1.593994] i2c_dev: i2c /dev entries driver
[    1.598838] usbcore: registered new interface driver uvcvideo
[    1.605356] Bluetooth: HCI UART driver ver 2.3
[    1.608289] Bluetooth: HCI UART protocol H4 registered
[    1.613389] Bluetooth: HCI UART protocol BCSP registered
[    1.618682] Bluetooth: HCI UART protocol LL registered
[    1.623766] Bluetooth: HCI UART protocol ATH3K registered
[    1.629146] Bluetooth: HCI UART protocol Three-wire (H5) registered
[    1.635393] Bluetooth: HCI UART protocol Intel registered
[    1.640742] Bluetooth: HCI UART protocol QCA registered
[    1.645940] usbcore: registered new interface driver bcm203x
[    1.651566] usbcore: registered new interface driver bpa10x
[    1.657105] usbcore: registered new interface driver bfusb
[    1.662546] usbcore: registered new interface driver btusb
[    1.668024] usbcore: registered new interface driver ath3k
[    1.673520] EDAC MC: ECC not enabled
[    1.677317] sdhci: Secure Digital Host Controller Interface driver
[    1.683111] sdhci: Copyright(c) Pierre Ossman
[    1.687429] sdhci-pltfm: SDHCI platform and OF driver helper
[    1.693296] SMCCC: SOC_ID: ID = jep106:0049:0000 Revision = 0x24738093
[    1.699618] zynqmp_firmware_probe Platform Management API v1.1
[    1.705369] zynqmp_firmware_probe Trustzone version v1.0
[    1.741693] zynqmp-aes zynqmp-aes.0: will run requests pump with realtime priority
[    1.743818] zynqmp_rsa zynqmp_rsa.0: This driver is deprecated. Please migrate to xilinx-rsa driver
[    1.753219] usbcore: registered new interface driver usbhid
[    1.758189] usbhid: USB HID core driver
[    1.762135] SPI driver fb_seps525 has no spi_device_id for syncoam,seps525
[    1.777214] hw perfevents: enabled with armv8_cortex_a53 PMU driver, 7 (0,8000003f) counters available
[    1.781421] axi_sysid 85000000.axi-sysid-0: AXI System ID core version (1.01.a) found
[    1.788838] axi_sysid 85000000.axi-sysid-0: [fmcomms5] on [zcu102] git branch <hdl_2026_r1> git <5da8736cb717e92a827934dd1c272b5c07c8e871> clean [2026-03-20 17:06:22] UTC
[    1.804532] fpga_manager fpga0: Xilinx ZynqMP FPGA Manager registered
[    1.810600] usbcore: registered new interface driver snd-usb-audio
[    1.817908] pktgen: Packet Generator for packet performance testing. Version: 2.75
[    1.824422] Initializing XFRM netlink socket
[    1.828159] NET: Registered PF_INET6 protocol family
[    1.833617] Segment Routing with IPv6
[    1.836705] In-situ OAM (IOAM) with IPv6
[    1.840612] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    1.846802] NET: Registered PF_PACKET protocol family
[    1.851467] NET: Registered PF_KEY protocol family
[    1.856323] can: controller area network core
[    1.860567] NET: Registered PF_CAN protocol family
[    1.865301] can: raw protocol
[    1.868242] can: broadcast manager protocol
[    1.872397] can: netlink gateway - max_hops=1
[    1.876798] Bluetooth: RFCOMM TTY layer initialized
[    1.881571] Bluetooth: RFCOMM socket layer initialized
[    1.886677] Bluetooth: RFCOMM ver 1.11
[    1.890389] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    1.895660] Bluetooth: BNEP filters: protocol multicast
[    1.900858] Bluetooth: BNEP socket layer initialized
[    1.905781] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[    1.911667] Bluetooth: HIDP socket layer initialized
[    1.916786] 9pnet: Installing 9P2000 support
[    1.920844] NET: Registered PF_IEEE802154 protocol family
[    1.926229] Key type dns_resolver registered
[    1.938642] registered taskstats version 1
[    1.938684] Loading compiled-in X.509 certificates
[    1.947579] Btrfs loaded, zoned=no, fsverity=no
[    1.947844] alg: No test for xilinx-zynqmp-rsa (zynqmp-rsa)
[    1.961111] ff000000.serial: ttyPS0 at MMIO 0xff000000 (irq = 22, base_baud = 6249999) is a xuartps
[    1.970141] printk: legacy console [ttyPS0] enabled
[    1.970141] printk: legacy console [ttyPS0] enabled
[    1.975058] printk: legacy bootconsole [cdns0] disabled
[    1.975058] printk: legacy bootconsole [cdns0] disabled
[    1.986867] ff010000.serial: ttyPS1 at MMIO 0xff010000 (irq = 23, base_baud = 6249999) is a xuartps
[    2.037118] ad9361 spi1.0: ad9361_probe : enter (ad9361-2x)
[    2.043697] ad9361 spi1.0: No GPIOs defined for ext band ctrl
[    2.289658] ad9361 spi1.0: ad9361_probe : AD936x Rev 0 successfully initialized
[    2.297488] ad9361 spi1.1: ad9361_probe : enter (ad9361)
[    2.303669] ad9361 spi1.1: No GPIOs defined for ext band ctrl
[    2.551196] ad9361 spi1.1: ad9361_probe : AD936x Rev 0 successfully initialized
[    2.559469] spi-nor spi0.0: SPI-NOR-UniqueID 9c82190001feff2600485d71a3bf
[    2.566269] spi-nor spi0.0: found mt25qu512a, expected m25p80
[    2.572576] 4 fixed-partitions partitions found on MTD device spi0.0
[    2.578935] Creating 4 MTD partitions on "spi0.0":
[    2.583727] 0x000000000000-0x000000100000 : "qspi-fsbl-uboot"
[    2.590444] 0x000000100000-0x000000600000 : "qspi-linux"
[    2.596513] 0x000000600000-0x000000620000 : "qspi-device-tree"
[    2.603105] 0x000000620000-0x000000c00000 : "qspi-rootfs"
[    2.614187] xilinx-axipmon ffa00000.perf-monitor: Probed Xilinx APM
[    2.620868] xilinx-axipmon fd0b0000.perf-monitor: Probed Xilinx APM
[    2.627472] xilinx-axipmon fd490000.perf-monitor: Probed Xilinx APM
[    2.634077] xilinx-axipmon ffa10000.perf-monitor: Probed Xilinx APM
[    2.641365] i2c i2c-0: using pinctrl states for GPIO recovery
[    2.647314] i2c i2c-0: using generic GPIOs for recovery
[    2.652957] pca953x 0-0020: supply vcc not found, using dummy regulator
[    2.659647] pca953x 0-0020: using no AI
[    2.665257] pca953x 0-0021: supply vcc not found, using dummy regulator
[    2.671944] pca953x 0-0021: using no AI
[    2.676645] pca954x 0-0075: supply vdd not found, using dummy regulator
[    2.683846] ina2xx 2-0040: supply vs not found, using dummy regulator
[    2.691114] ina2xx 2-0040: power monitor ina226 (Rshunt = 5000 uOhm)
[    2.697723] ina2xx 2-0041: supply vs not found, using dummy regulator
[    2.704900] ina2xx 2-0041: power monitor ina226 (Rshunt = 5000 uOhm)
[    2.711486] ina2xx 2-0042: supply vs not found, using dummy regulator
[    2.718661] ina2xx 2-0042: power monitor ina226 (Rshunt = 5000 uOhm)
[    2.725272] ina2xx 2-0043: supply vs not found, using dummy regulator
[    2.732447] ina2xx 2-0043: power monitor ina226 (Rshunt = 5000 uOhm)
[    2.739028] ina2xx 2-0044: supply vs not found, using dummy regulator
[    2.746202] ina2xx 2-0044: power monitor ina226 (Rshunt = 5000 uOhm)
[    2.752813] ina2xx 2-0045: supply vs not found, using dummy regulator
[    2.759981] ina2xx 2-0045: power monitor ina226 (Rshunt = 5000 uOhm)
[    2.766579] ina2xx 2-0046: supply vs not found, using dummy regulator
[    2.773759] ina2xx 2-0046: power monitor ina226 (Rshunt = 5000 uOhm)
[    2.780365] ina2xx 2-0047: supply vs not found, using dummy regulator
[    2.787544] ina2xx 2-0047: power monitor ina226 (Rshunt = 5000 uOhm)
[    2.794140] ina2xx 2-004a: supply vs not found, using dummy regulator
[    2.801320] ina2xx 2-004a: power monitor ina226 (Rshunt = 5000 uOhm)
[    2.807925] ina2xx 2-004b: supply vs not found, using dummy regulator
[    2.815104] ina2xx 2-004b: power monitor ina226 (Rshunt = 5000 uOhm)
[    2.821538] i2c i2c-0: Added multiplexed i2c bus 2
[    2.826717] ina2xx 3-0040: supply vs not found, using dummy regulator
[    2.833969] ina2xx 3-0040: power monitor ina226 (Rshunt = 2000 uOhm)
[    2.840575] ina2xx 3-0041: supply vs not found, using dummy regulator
[    2.847750] ina2xx 3-0041: power monitor ina226 (Rshunt = 5000 uOhm)
[    2.854344] ina2xx 3-0042: supply vs not found, using dummy regulator
[    2.861536] ina2xx 3-0042: power monitor ina226 (Rshunt = 5000 uOhm)
[    2.868154] ina2xx 3-0043: supply vs not found, using dummy regulator
[    2.875330] ina2xx 3-0043: power monitor ina226 (Rshunt = 5000 uOhm)
[    2.881925] ina2xx 3-0044: supply vs not found, using dummy regulator
[    2.889097] ina2xx 3-0044: power monitor ina226 (Rshunt = 5000 uOhm)
[    2.895702] ina2xx 3-0045: supply vs not found, using dummy regulator
[    2.902877] ina2xx 3-0045: power monitor ina226 (Rshunt = 5000 uOhm)
[    2.909473] ina2xx 3-0046: supply vs not found, using dummy regulator
[    2.916653] ina2xx 3-0046: power monitor ina226 (Rshunt = 5000 uOhm)
[    2.923238] ina2xx 3-0047: supply vs not found, using dummy regulator
[    2.930439] ina2xx 3-0047: power monitor ina226 (Rshunt = 5000 uOhm)
[    2.936864] i2c i2c-0: Added multiplexed i2c bus 3
[    2.989221] i2c i2c-0: Added multiplexed i2c bus 4
[    2.994200] i2c i2c-0: Added multiplexed i2c bus 5
[    2.998997] pca954x 0-0075: registered 4 multiplexed busses for I2C mux pca9544
[    3.006391] cdns-i2c ff020000.i2c: 400 kHz mmio ff020000 irq 41
[    3.013425] i2c i2c-1: using pinctrl states for GPIO recovery
[    3.019365] i2c i2c-1: using generic GPIOs for recovery
[    3.025017] pca954x 1-0074: supply vdd not found, using dummy regulator
[    3.032106] at24 6-0054: supply vcc not found, using dummy regulator
[    3.039015] at24 6-0054: 1024 byte 24c08 EEPROM, writable, 1 bytes/write
[    3.045779] i2c i2c-1: Added multiplexed i2c bus 6
[    3.051176] si5341 7-0036: no regulator set, defaulting vdd_sel to 2.5V for out
[    3.058487] si5341 7-0036: no regulator set, defaulting vdd_sel to 2.5V for out
[    3.065798] si5341 7-0036: no regulator set, defaulting vdd_sel to 2.5V for out
[    3.073105] si5341 7-0036: no regulator set, defaulting vdd_sel to 2.5V for out
[    3.080416] si5341 7-0036: no regulator set, defaulting vdd_sel to 2.5V for out
[    3.087731] si5341 7-0036: no regulator set, defaulting vdd_sel to 2.5V for out
[    3.095040] si5341 7-0036: no regulator set, defaulting vdd_sel to 2.5V for out
[    3.102347] si5341 7-0036: no regulator set, defaulting vdd_sel to 2.5V for out
[    3.110414] si5341 7-0036: Chip: 5341 Grade: 1 Rev: 3
[    3.139807] i2c i2c-1: Added multiplexed i2c bus 7
[    3.146911] si570 8-005d: registered, current frequency 300000000 Hz
[    3.153326] i2c i2c-1: Added multiplexed i2c bus 8
[    3.160415] si570 9-005d: registered, current frequency 156250000 Hz
[    3.166827] i2c i2c-1: Added multiplexed i2c bus 9
[    3.171892] si5324 10-0069: si5328 probed
[    3.230095] si5324 10-0069: si5328 probe successful
[    3.235038] i2c i2c-1: Added multiplexed i2c bus 10
[    3.240103] i2c i2c-1: Added multiplexed i2c bus 11
[    3.245167] i2c i2c-1: Added multiplexed i2c bus 12
[    3.250216] i2c i2c-1: Added multiplexed i2c bus 13
[    3.255103] pca954x 1-0074: registered 8 multiplexed busses for I2C switch pca9548
[    3.262877] pca954x 1-0075: supply vdd not found, using dummy regulator
[    3.271017] at24 14-0050: supply vcc not found, using dummy regulator
[    3.277762] at24 14-0050: 256 byte 24c02 EEPROM, writable, 1 bytes/write
[    3.284531] i2c i2c-1: Added multiplexed i2c bus 14
[    3.289597] i2c i2c-1: Added multiplexed i2c bus 15
[    3.294659] i2c i2c-1: Added multiplexed i2c bus 16
[    3.299730] i2c i2c-1: Added multiplexed i2c bus 17
[    3.304789] i2c i2c-1: Added multiplexed i2c bus 18
[    3.309848] i2c i2c-1: Added multiplexed i2c bus 19
[    3.314910] i2c i2c-1: Added multiplexed i2c bus 20
[    3.319980] i2c i2c-1: Added multiplexed i2c bus 21
[    3.324861] pca954x 1-0075: registered 8 multiplexed busses for I2C switch pca9548
[    3.332489] cdns-i2c ff030000.i2c: 400 kHz mmio ff030000 irq 42
[    3.341876] cdns-wdt fd4d0000.watchdog: Xilinx Watchdog Timer with timeout 60s
[    3.400659] mmc0: SDHCI controller on ff170000.mmc [ff170000.mmc] using ADMA 64-bit
[    3.453076] mmc0: new high speed SDHC card at address aaaa
[    3.458929] mmcblk0: mmc0:aaaa SK32G 29.7 GiB
[    3.464745]  mmcblk0: p1 p2 p3
[    4.194518] cf_axi_adc 99020000.cf-ad9361-A: ADI AIM (10.03.) probed ADC AD9361-2 as MASTER
[    4.225976] cf_axi_adc 99040000.cf-ad9361-B: ADI AIM (10.03.) probed ADC AD9361 as SLAVE
[    4.248760] cf_axi_dds 99024000.cf-ad9361-dds-core-lpc: Analog Devices CF_AXI_DDS_DDS MASTER (9.02.b) at 0x99024000 mapped to 0x(____ptrval____), probed DDS AD9361
[    4.276501] cf_axi_dds 99044000.cf-ad9361-dds-core-B: Analog Devices CF_AXI_DDS_DDS SLAVE (9.02.b) at 0x99044000 mapped to 0x(____ptrval____), probed DDS AD9361
[    4.291330] nwl-pcie fd0e0000.pcie: host bridge /axi/pcie@fd0e0000 ranges:
[    4.298239] nwl-pcie fd0e0000.pcie:      MEM 0x00e0000000..0x00efffffff -> 0x00e0000000
[    4.306255] nwl-pcie fd0e0000.pcie:      MEM 0x0600000000..0x07ffffffff -> 0x0600000000
[    4.314423] nwl-pcie fd0e0000.pcie: Link is DOWN
[    4.319506] nwl-pcie fd0e0000.pcie: PCI host bridge to bus 0000:00
[    4.325695] pci_bus 0000:00: root bus resource [bus 00-ff]
[    4.331183] pci_bus 0000:00: root bus resource [mem 0xe0000000-0xefffffff]
[    4.338059] pci_bus 0000:00: root bus resource [mem 0x600000000-0x7ffffffff pref]
[    4.345578] pci 0000:00:00.0: [10ee:d021] type 01 class 0x060400 PCIe Root Port
[    4.352903] pci 0000:00:00.0: PCI bridge to [bus 00]
[    4.357866] pci 0000:00:00.0:   bridge window [mem 0x00000000-0x000fffff]
[    4.364662] pci 0000:00:00.0:   bridge window [mem 0x00000000-0x000fffff 64bit pref]
[    4.372448] pci 0000:00:00.0: PME# supported from D0 D1 D2 D3hot
[    4.380667] pci 0000:00:00.0: bridge configuration invalid ([bus 00-00]), reconfiguring
[    4.388797] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    4.395424] pci 0000:00:00.0: PCI bridge to [bus 01]
[    4.400400] pci_bus 0000:00: resource 4 [mem 0xe0000000-0xefffffff]
[    4.406669] pci_bus 0000:00: resource 5 [mem 0x600000000-0x7ffffffff pref]
[    4.413819] ahci-ceva fd0c0000.ahci: supply ahci not found, using dummy regulator
[    4.421401] ahci-ceva fd0c0000.ahci: supply phy not found, using dummy regulator
[    4.428878] ahci-ceva fd0c0000.ahci: supply target not found, using dummy regulator
[    4.436785] ahci-ceva fd0c0000.ahci: AHCI vers 0001.0301, 32 command slots, 6 Gbps, platform mode
[    4.445666] ahci-ceva fd0c0000.ahci: 2/2 ports implemented (port mask 0x3)
[    4.452547] ahci-ceva fd0c0000.ahci: flags: 64bit ncq sntf pm clo only pmp fbs pio slum part ccc sds apst
[    4.463207] scsi host0: ahci-ceva
[    4.466863] scsi host1: ahci-ceva
[    4.470305] ata1: SATA max UDMA/133 mmio [mem 0xfd0c0000-0xfd0c1fff] port 0x100 irq 49 lpm-pol 0
[    4.479098] ata2: SATA max UDMA/133 mmio [mem 0xfd0c0000-0xfd0c1fff] port 0x180 irq 49 lpm-pol 0
[    4.492032] macb ff0e0000.ethernet eth0: Cadence GEM rev 0x50070106 at 0xff0e0000 irq 38 (00:0a:35:1d:ae:1b)
[    4.527234] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[    4.534360] of_cfs_init
[    4.536831] of_cfs_init: OK
[    4.539693] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    4.585391] Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    4.591797] Loaded X.509 cert 'wens: 61c038651aabdcf94bd0ac7ff06c7248db18c600'
[    4.599051] clk: Not disabling unused clocks
[    4.603313] PM: genpd: Disabling unused power domains
[    4.608707] ALSA device list:
[    4.611666]   No soundcards found.
[    4.615417] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    4.624032] cfg80211: failed to load regulatory.db
[    4.798434] ata1: SATA link down (SStatus 0 SControl 330)
[    4.803860] ata2: SATA link down (SStatus 0 SControl 330)
[    5.380601] EXT4-fs (mmcblk0p2): 1 orphan inode deleted
[    5.385849] EXT4-fs (mmcblk0p2): recovery complete
[    5.401876] EXT4-fs (mmcblk0p2): mounted filesystem 644ce49d-d77e-4edb-a373-a26b91fc3ea5 r/w with ordered data mode. Quota mode: none.
[    5.414013] VFS: Mounted root (ext4 filesystem) on device 179:2.
[    5.426807] devtmpfs: mounted
[    5.430695] Freeing unused kernel memory: 3584K
[    5.435298] Run /sbin/init as init process
[    6.011954] systemd[1]: System time advanced to built-in epoch: Wed 2025-09-03 14:38:20 EDT
[    6.040765] systemd[1]: Failed to find module 'autofs4'
[    6.096179] systemd[1]: systemd 257.9-1~deb13u1 running in system mode (+PAM +AUDIT +SELINUX +APPARMOR +IMA +IPE +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBCRYPTSETUP_PLUGINS +LIBFDISK +PCRE2 +PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD +BPF_FRAMEWORK +BTF -XKBCOMMON -UTMP +SYSVINIT +LIBARCHIVE)
[    6.130458] systemd[1]: Detected architecture arm64.

Welcome to Debian GNU/Linux 13 (trixie)!

[    6.168976] systemd[1]: Hostname set to <analog>.
[    6.268314] systemd[1]: bpf-restrict-fs: BPF LSM hook not enabled in the kernel, BPF LSM not supported.
[    7.866786] systemd[1]: /usr/lib/systemd/system/iiod.service:16: Invalid environment assignment, ignoring: $IIOD_EXTRA_OPTS=
[    8.123604] systemd[1]: Queued start job for default target graphical.target.
[    8.136743] systemd[1]: Created slice system-getty.slice - Slice /system/getty.
[  OK  ] Created slice system-getty.slice - Slice /system/getty.
[    8.157153] systemd[1]: Created slice system-modprobe.slice - Slice /system/modprobe.
[  OK  ] Created slice system-modprobe.slice - Slice /system/modprobe.
[    8.177060] systemd[1]: Created slice system-serial\x2dgetty.slice - Slice /system/serial-getty.
[  OK  ] Created slice system-serial\x2dget…slice - Slice /system/serial-getty.
[    8.197031] systemd[1]: Created slice system-systemd\x2dfsck.slice - Slice /system/systemd-fsck.
[  OK  ] Created slice system-systemd\x2dfs…slice - Slice /system/systemd-fsck.
[    8.216531] systemd[1]: Created slice user.slice - User and Session Slice.
[  OK  ] Created slice user.slice - User and Session Slice.
[    8.236374] systemd[1]: Started systemd-ask-password-wall.path - Forward Password Requests to Wall Directory Watch.
[  OK  ] Started systemd-ask-password-wall.…d Requests to Wall Directory Watch.
[    8.260365] systemd[1]: proc-sys-fs-binfmt_misc.automount - Arbitrary Executable File Formats File System Automount Point was skipped because of an unmet condition check (ConditionPathExists=/proc/sys/fs/binfmt_misc).
[    8.279746] systemd[1]: Expecting device dev-disk-by\x2dpartuuid-92057440\x2d01.device - /dev/disk/by-partuuid/92057440-01...
         Expecting device dev-disk-by\x2dpa…dev/disk/by-partuuid/92057440-01...
[    8.304173] systemd[1]: Expecting device dev-ttyGS0.device - /dev/ttyGS0...
         Expecting device dev-ttyGS0.device - /dev/ttyGS0...
[    8.324169] systemd[1]: Expecting device dev-ttyGS1.device - /dev/ttyGS1...
         Expecting device dev-ttyGS1.device - /dev/ttyGS1...
[    8.344179] systemd[1]: Expecting device dev-ttyPS0.device - /dev/ttyPS0...
         Expecting device dev-ttyPS0.device - /dev/ttyPS0...
[    8.364170] systemd[1]: Expecting device dev-ttyS0.device - /dev/ttyS0...
         Expecting device dev-ttyS0.device - /dev/ttyS0...
[    8.384262] systemd[1]: Reached target nss-user-lookup.target - User and Group Name Lookups.
[  OK  ] Reached target nss-user-lookup.target - User and Group Name Lookups.
[    8.404224] systemd[1]: Reached target remote-fs.target - Remote File Systems.
[  OK  ] Reached target remote-fs.target - Remote File Systems.
[    8.424202] systemd[1]: Reached target slices.target - Slice Units.
[  OK  ] Reached target slices.target - Slice Units.
[    8.444242] systemd[1]: Reached target swap.target - Swaps.
[  OK  ] Reached target swap.target - Swaps.
[    8.464641] systemd[1]: Listening on systemd-creds.socket - Credential Encryption/Decryption.
[  OK  ] Listening on systemd-creds.socket - Credential Encryption/Decryption.
[    8.484438] systemd[1]: Listening on systemd-initctl.socket - initctl Compatibility Named Pipe.
[  OK  ] Listening on systemd-initctl.socke…- initctl Compatibility Named Pipe.
[    8.504419] systemd[1]: Listening on systemd-journald-dev-log.socket - Journal Socket (/dev/log).
[  OK  ] Listening on systemd-journald-dev-…socket - Journal Socket (/dev/log).
[    8.524462] systemd[1]: Listening on systemd-journald.socket - Journal Sockets.
[  OK  ] Listening on systemd-journald.socket - Journal Sockets.
[    8.544268] systemd[1]: systemd-pcrextend.socket - TPM PCR Measurements was skipped because of an unmet condition check (ConditionSecurity=measured-uki).
[    8.558085] systemd[1]: systemd-pcrlock.socket - Make TPM PCR Policy was skipped because of an unmet condition check (ConditionSecurity=measured-uki).
[    8.571884] systemd[1]: Listening on systemd-udevd-control.socket - udev Control Socket.
[  OK  ] Listening on systemd-udevd-control.socket - udev Control Socket.
[    8.592346] systemd[1]: Listening on systemd-udevd-kernel.socket - udev Kernel Socket.
[  OK  ] Listening on systemd-udevd-kernel.socket - udev Kernel Socket.
[    8.615210] systemd[1]: Mounting dev-hugepages.mount - Huge Pages File System...
         Mounting dev-hugepages.mount - Huge Pages File System...
[    8.638516] systemd[1]: Mounting dev-mqueue.mount - POSIX Message Queue File System...
         Mounting dev-mqueue.mount - POSIX Message Q[    8.649405] systemd[1]: Mounting run-lock.mount - Legacy Locks Directory /run/lock...
ueue File System...
         Mounting run-lock.mount - Legacy Locks Directory /run/lock...
[    8.689032] systemd[1]: Mounting sys-kernel-debug.mount - Kernel Debug File System...
         Mounting sys-kernel-debug.mount - Kernel Debug File System...
[    8.713069] systemd[1]: sys-kernel-tracing.mount - Kernel Trace File System was skipped because of an unmet condition check (ConditionPathExists=/sys/kernel/tracing).
[    8.731233] systemd[1]: Mounting tmp.mount - Temporary Directory /tmp...
         Mounting tmp.mount - Temporary Directory /tmp...
[    8.755059] systemd[1]: Starting fake-hwclock-load.service - Restore the current clock...
         Starting fake-hwclock-load.service - Restore the current clock...
[    8.776703] systemd[1]: kmod-static-nodes.service - Create List of Static Device Nodes was skipped because of an unmet condition check (ConditionFileNotEmpty=/lib/modules/6.12.77-ge2f9fe8e3654/modules.devname).
[    8.798300] systemd[1]: Starting modprobe@configfs.service - Load Kernel Module configfs...
         Starting modprobe@configfs.service - Load Kernel Module configfs...
[    8.827075] systemd[1]: Starting modprobe@drm.service - Load Kernel Module drm...
         Starting modprobe@drm.service - Load Kernel Module drm...
[    8.855037] systemd[1]: Starting modprobe@efi_pstore.service - Load Kernel Module efi_pstore...
         Starting modprobe@efi_pstore.servi… - Load Kernel Module efi_pstore...
[    8.879102] systemd[1]: Starting modprobe@fuse.service - Load Kernel Module fuse...
         Starting modprobe@fuse.service - Load Kernel Module fuse...
[    8.904805] systemd[1]: systemd-hibernate-clear.service - Clear Stale Hibernate Storage Info was skipped because of an unmet condition check (ConditionPathExists=/sys/firmware/efi/efivars/HibernateLocation-8cf2644b-4b0b-428f-9387-6d876050dc67).
[    8.927662] systemd[1]: systemd-journald.service: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
[    8.940569] systemd[1]: systemd-journald.service: (This warning is only shown for the first unit using IP firewalling.)
[    8.953556] systemd[1]: Starting systemd-journald.service - Journal Service...
         Starting systemd-journald.service - Journal Service...
[    8.976230] systemd[1]: Starting systemd-modules-load.service - Load Kernel Modules...
         Starting systemd-modules-load.service - Load Kernel Modules...
[    8.996348] systemd[1]: systemd-pcrmachine.service - TPM PCR Machine ID Measurement was skipped because of an unmet condition check (ConditionSecurity=measured-uki).
[    9.021648] systemd[1]: Starting systemd-tmpfiles-setup-dev-early.service - Create Static Device Nodes in /dev gracefully...
         Starting systemd-tmpfiles-setup-de… Device Nodes in /dev gracefully...
[    9.048446] systemd[1]: systemd-tpm2-setup-early.service - Early TPM SRK Setup was skipped because of an unmet condition check (ConditionSecurity=measured-uki).
[    9.065520] systemd[1]: Starting systemd-udev-load-credentials.service - Load udev Rules from Credentials...
         Starting systemd-udev-load-credent…Load udev Rules from Credentials...
[    9.094957] systemd[1]: Starting systemd-udev-trigger.service - Coldplug All udev Devices...
         Starting systemd-udev-trigger.service - Coldplug All udev Devices...
[    9.123198] systemd[1]: Mounted dev-hugepages.mount - Huge Pages File System.
[  OK  ] Mounted dev-hugepages.mount - Hu[    9.131151] systemd-journald[195]: Collecting audit messages is disabled.
ge Pages File System.
[    9.148709] systemd[1]: Mounted dev-mqueue.mount - POSIX Message Queue File System.
[  OK  ] Mounted dev-mqueue.mount - POSIX Message Queue File System.
[    9.168893] systemd[1]: Mounted run-lock.mount - Legacy Locks Directory /run/lock.
[  OK  ] Mounted run-lock.mount - Legacy Locks Directory /run/lock.
[    9.188826] systemd[1]: Mounted sys-kernel-debug.mount - Kernel Debug File System.
[  OK  ] Mounted sys-kernel-debug.mount - Kernel Debug File System.
[    9.208640] systemd[1]: Mounted tmp.mount - Temporary Directory /tmp.
[  OK  ] Mounted tmp.mount - Temporary Directory /tmp.
[    9.229018] systemd[1]: fake-hwclock-load.service: Deactivated successfully.
[    9.236560] systemd[1]: Finished fake-hwclock-load.service - Restore the current clock.
[  OK  ] Finished fake-hwclock-load.service - Restore the current clock.
[    9.257328] systemd[1]: modprobe@configfs.service: Deactivated successfully.
[    9.264882] systemd[1]: Finished modprobe@configfs.service - Load Kernel Module configfs.
[  OK  ] Finished modprobe@configfs.service - Load Kernel Module configfs.
[    9.284967] systemd[1]: Started systemd-journald.service - Journal Service.
[  OK  ] Started systemd-journald.service - Journal Service.
[  OK  ] Finished modprobe@drm.service - Load Kernel Module drm.
[  OK  ] Finished modprobe@efi_pstore.service - Load Kernel Module efi_pstore.
[  OK  ] Finished modprobe@fuse.service - Load Kernel Module fuse.
[  OK  ] Finished systemd-modules-load.service - Load Kernel Modules.
[  OK  ] Finished systemd-tmpfiles-setup-de…ic Device Nodes in /dev gracefully.
[  OK  ] Finished systemd-udev-load-credent…- Load udev Rules from Credentials.
         Mounting sys-fs-fuse-connections.mount - FUSE Control File System...
         Mounting sys-kernel-config.mount - Kernel Configuration File System...
         Starting systemd-remount-fs.servic…unt Root and Kernel File Systems...
         Starting systemd-sysctl.service - Apply Kernel Variables...
[  OK  ] Mounted sys-fs-fuse-connections.mount - FUSE Control File System.
[  OK  ] Mounted sys-kernel-config.mount - Kernel Configuration File System.
[  OK  ] Finished systemd-sysctl.service - Apply Kernel Variables.
[  OK  ] Finished systemd-remount-fs.servic…mount Root and Kernel File Systems.
         Starting systemd-journal-flush.ser…sh Journal to Persistent Storage...
         Starting systemd-random-seed.service - Load/Save OS Random Seed...
         Starting systemd-tmpfiles-setup-de…eate Static Device Nodes in /dev...
[  OK  ] Finished systemd-tmpfiles-setup-de…Create Static Device Nodes in /dev.
[  OK  ] Reached target local-fs-pre.target…Preparation for Local File Systems.
         Starting systemd-udevd.service - R…ager for Device Events and Files...
[  OK  ] Finished systemd-random-seed.service - Load/Save OS Random Seed.
[  OK  ] Finished systemd-udev-trigger.service - Coldplug All udev Devices.
         Starting ifupdown-pre.service - He…synchronize boot up for ifupdown...
         Starting systemd-udev-settle.servi…o Complete Device Initialization...
[  OK  ] Finished systemd-journal-flush.ser…lush Journal to Persistent Storage.
[  OK  ] Finished ifupdown-pre.service - He…o synchronize boot up for ifupdown.
[  OK  ] Started systemd-udevd.service - Ru…anager for Device Events and Files.
         Starting plymouth-start.service - Show Plymouth Boot Screen...
[  OK  ] Found device dev-ttyPS0.device - /dev/ttyPS0.
[  OK  ] Started plymouth-start.service - Show Plymouth Boot Screen.
mtdoops: mtd device (mtddev=name/number) must be supplied
systemd[1]: Failed to find module 'autofs4'
[  OK  ] Found device dev-disk-by\x2dpartuu… /dev/disk/by-partuuid/92057440-01.
[  OK  ] Finished systemd-udev-settle.servi… To Complete Device Initialization.
[  OK  ] Started systemd-ask-password-plymo…quests to Plymouth Directory Watch.
[  OK  ] Reached target paths.target - Path Units.
[  OK  ] Reached target usb-gadget.target - Hardware activated USB gadget.
[  OK  ] Listening on systemd-rfkill.socket…ll Switch Status /dev/rfkill Watch.
         Starting fake-hwclock-load.service - Restore the current clock...
         Starting modprobe@efi_pstore.servi… - Load Kernel Module efi_pstore...
[  OK  ] Finished modprobe@efi_pstore.service - Load Kernel Module efi_pstore.
[  OK  ] Finished fake-hwclock-load.service - Restore the current clock.
         Starting systemd-fsck@dev-disk-by\…dev/disk/by-partuuid/92057440-01...
[  OK  ] Finished systemd-fsck@dev-disk-by\… /dev/disk/by-partuuid/92057440-01.
         Mounting boot.mount - /boot...
[  OK  ] Mounted boot.mount - /boot.
[  OK  ] Reached target local-fs.target - Local File Systems.
[  OK  ] Listening on systemd-sysext.socket… System Extension Image Management.
         Starting networking.service - Raise network interfaces...
         Starting plymouth-read-write.servi…ymouth To Write Out Runtime Data...
         Starting systemd-tmpfiles-setup.se…ate System Files and Directories...
[  OK  ] Finished plymouth-read-write.servi…Plymouth To Write Out Runtime Data.
[  OK  ] Finished systemd-tmpfiles-setup.se…reate System Files and Directories.
[  OK  ] Reached target sysinit.target - System Initialization.
[  OK  ] Started apt-daily.timer - Daily apt download activities.
[  OK  ] Started apt-daily-upgrade.timer - …y apt upgrade and clean activities.
[  OK  ] Started dpkg-db-backup.timer - Daily dpkg database backup timer.
[  OK  ] Started e2scrub_all.timer - Period…Metadata Check for All Filesystems.
[  OK  ] Started fake-hwclock-save.timer - Periodically save current clock.
[  OK  ] Started fstrim.timer - Discard unused filesystem blocks once a week.
[  OK  ] Started logrotate.timer - Daily rotation of log files.
[  OK  ] Started man-db.timer - Daily man-db regeneration.
[  OK  ] Started ntpsec-rotate-stats.timer - Rotate ntpd stats daily.
[  OK  ] Started systemd-tmpfiles-clean.tim…y Cleanup of Temporary Directories.
[  OK  ] Reached target timers.target - Timer Units.
[  OK  ] Listening on avahi-daemon.socket -…DNS/DNS-SD Stack Activation Socket.
[  OK  ] Listening on dbus.socket - D-Bus System Message Bus Socket.
[  OK  ] Listening on sshd-unix-local.socke…temd-ssh-generator, AF_UNIX Local).
[  OK  ] Listening on systemd-hostnamed.socket - Hostname Service Socket.
[  OK  ] Reached target sockets.target - Socket Units.
[  OK  ] Reached target basic.target - Basic System.
         Starting accounts-daemon.service - Accounts Service...
         Starting adi-power.service - Analog Devices power up/down sequence...
         Starting avahi-daemon.service - Avahi mDNS/DNS-SD Stack...
         Starting blueman-mechanism.service - Bluetooth management mechanism...
[  OK  ] Started cron.service - Regular background program processing daemon.
         Starting dbus.service - D-Bus System Message Bus...
         Starting e2scrub_reap.service - Re…ne ext4 Metadata Check Snapshots...
[  OK  ] Started fan-control.service - fan-control.
         Starting fix-display-port.service - Fix DP audio and X11...
         Starting iiod_context_attr.service…ating IIOD Context Attributes......
         Starting systemd-logind.service - User Login Management...
         Starting udisks2.service - Disk Manager...
         Starting xserver.service - ADI X Server...
[  OK  ] Finished networking.service - Raise network interfaces.
[  OK  ] Started systemd-logind.service - User Login Management.
[  OK  ] Finished fix-display-port.service - Fix DP audio and X11.
[  OK  ] Started dbus.service - D-Bus System Message Bus.
         Starting NetworkManager.service - Network Manager...
         Starting wpa_supplicant.service - WPA supplicant...
[  OK  ] Started avahi-daemon.service - Avahi mDNS/DNS-SD Stack.
         Starting polkit.service - Authorization Manager...
[  OK  ] Created slice user-1000.slice - User Slice of UID 1000.
         Starting user-runtime-dir@1000.ser…Runtime Directory /run/user/1000...
[  OK  ] Finished adi-power.service - Analog Devices power up/down sequence.
[  OK  ] Finished user-runtime-dir@1000.ser…r Runtime Directory /run/user/1000.
[  OK  ] Started wpa_supplicant.service - WPA supplicant.
[  OK  ] Finished iiod_context_attr.service…reating IIOD Context Attributes....
[  OK  ] Started polkit.service - Authorization Manager.
[  OK  ] Started accounts-daemon.service - Accounts Service.
         Starting systemd-hostnamed.service - Hostname Service...
[  OK  ] Finished e2scrub_reap.service - Re…line ext4 Metadata Check Snapshots.
[  OK  ] Started systemd-hostnamed.service - Hostname Service.
[  OK  ] Started udisks2.service - Disk Manager.
         Starting NetworkManager-dispatcher…anager Script Dispatcher Service...
[  OK  ] Started NetworkManager.service - Network Manager.
[  OK  ] Reached target network.target - Network.
         Starting gt.service - Load USB gadget scheme...
         Starting htpdate.service - HTTP based time synchronization tool...
[  OK  ] Started iiod.service - IIO Daemon.
         Starting ntpsec.service - Network Time Service...
         Starting ssh.service - OpenBSD Secure Shell server...
         Starting systemd-user-sessions.service - Permit User Sessions...
[  OK  ] Started udiskie.service - Udiskie …rvice for managing removable media.
[  OK  ] Started NetworkManager-dispatcher.… Manager Script Dispatcher Service.
[  OK  ] Finished gt.service - Load USB gadget scheme.
[  OK  ] Found device dev-ttyGS0.device - /dev/ttyGS0.
         Mounting dev-iio_ffs.mount - Mount FunctionFS instance...
[  OK  ] Finished systemd-user-sessions.service - Permit User Sessions.
         Starting plymouth-quit-wait.servic…d until boot process finishes up...
         Starting user@1000.service - User Manager for UID 1000...
[  OK  ] Started htpdate.service - HTTP based time synchronization tool.
[  OK  ] Mounted dev-iio_ffs.mount - Mount FunctionFS instance.
         Starting iiod_ffs.service - IIO Daemon with USB FFS support...
         Stopping iiod.service - IIO Daemon...
[  OK  ] Stopped iiod.service - IIO Daemon.
[  OK  ] Started iiod_ffs.service - IIO Daemon with USB FFS support.
         Starting gt-start.service - Start USB gadget scheme...
[  OK  ] Started ntpsec.service - Network Time Service.
[  OK  ] Started ssh.service - OpenBSD Secure Shell server.
[  OK  ] Started blueman-mechanism.service - Bluetooth management mechanism.
[  OK  ] Finished gt-start.service - Start USB gadget scheme.
[  OK  ] Reached target gt.target - Hardware activated USB gadget.
[  OK  ] Started user@1000.service - User Manager for UID 1000.
[  OK  ] Started session-c1.scope - Session c1 of User analog.
[  OK  ] Finished xserver.service - ADI X Server.
         Starting lightdm.service - Light Display Manager...
         Starting x11vnc.service - VNC Server for X11...
         Starting rtkit-daemon.service - Re…imeKit Scheduling Policy Service...
[FAILED] Failed to start x11vnc.service - VNC Server for X11.

Debian GNU/Linux 13 analog ttyPS0

analog login: root (automatic login)

Linux analog 6.12.77-ge2f9fe8e3654 #1 SMP Thu Mar 26 12:20:17 UTC 2026 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.
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:

~$
iio_info | grep iio:device
iio:device0: xilinx-ams
iio:device1: ad9361-phy
iio:device2: ad9361-phy-B
iio:device3: ad7291
iio:device4: cf-ad9361-A (buffer capable)
iio:device5: cf-ad9361-B
iio:device6: cf-ad9361-dds-core-lpc (buffer capable)
iio:device7: cf-ad9361-dds-core-B

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 though this is Linux, this is a persistent file system. Care should be taken not to corrupt the file system – please shut down properly, don’t just turn off the power switch. You can do this from the terminal with sudo shutdown -h now or the above-mentioned command for powering off.

ADI IIO Oscilloscope

The IIO Oscilloscope is a cross-platform application for interfacing with IIO devices, enabling you to configure device parameters and visualize data.

Important

Make sure to download/update to the latest version of IIO Oscilloscope.

Remote run on host

The IIO Oscilloscope application can be used to connect to another platform that has a connected device, to configure the device and read data from it.

Please see IIO Oscilloscope documentation for installation steps and more details.

Build and start osc on a network-enabled Linux host. For Windows computers, open the application from the start menu.

Once the application is launched, go to Settings > Connect > URI and type “ip:” then the IP address of the target in the pop-up window. This IP can be found out with a command from the previous section of this documentation.

Locally run on the board

If you connected a DisplayPort monitor to your FPGA and a mouse and a keyboard (both on one dongle), you can navigate the ADI Kuiper Linux that is on the FPGA.

Going to the top left corner icon (the menu icon), search for IIO Oscilloscope. Opening it will automatically connect to the setup and you can use the application.

About the IIO devices

The AD-FMCOMMS5-EBZ carries two AD9361 transceiver devices (Device A and Device B). Each AD9361 provides two receive and two transmit channels. The table below lists every IIO device exposed by the driver stack on ZCU102 (ZynqMP):

IIO device

Description

ad9361-phy

AD9361 Device A — physical layer controls (LO, gain, bandwidth, sampling rate, calibration)

ad9361-phy-B

AD9361 Device B — physical layer controls

cf-ad9361-A

Device A RX capture (buffer capable)

cf-ad9361-B

Device B RX capture

cf-ad9361-dds-core-lpc

Device A TX DDS / DMA (buffer capable)

cf-ad9361-dds-core-B

Device B TX DDS / DMA

ad7291

On-board voltage and temperature monitor

xilinx-ams

Xilinx AMS on-chip monitor (ZynqMP-specific)

Note

On Zynq-7000 carriers (ZC702, ZC706) the on-chip monitor appears as xadc instead of xilinx-ams, and device numbering may differ.

Each AD9361 exposes four data channels per direction:

  • voltage0, voltage1 — RX1 I/Q (or TX1 I/Q)

  • voltage2, voltage3 — RX2 I/Q (or TX2 I/Q)

In the IIO Oscilloscope, voltage0voltage3 correspond to Device A and voltage4voltage7 to Device B. Channels must be enabled pairwise (I and Q together) and the number of enabled pairs must be equal between the two devices.

For a full description of every GUI control, see FMComms5 Plugin Description.

Loopback test with IIO Oscilloscope

This example transmits a sinewave from the TX outputs and captures it on the RX inputs using SMA loopback cables. Connect TX1A_A to RX1A_A, TX2A_A to RX2A_A (Device A) and TX1A_B to RX1A_B, TX2A_B to RX2A_B (Device B).

Open the FMComms5 tab in the IIO Oscilloscope and configure the following settings.

Receive Chain

https://media.githubusercontent.com/media/analogdevicesinc/documentation/main/docs/solutions/reference-designs/fmcomms5/images/fmcomms5_loopback_rxtx.png

Setting

Value

RF Bandwidth

18.000 MHz

Sampling Rate

61.440000 MSPS

RF Port Select

A_BALANCED

RX LO Frequency (both devices)

2300.000000 MHz

Gain Control Modes

slow_attack

Tracking

Quadrature, RF DC, BB DC (all enabled)

Transmit Chain

Setting

Value

RF Bandwidth

18.000 MHz

Sampling Rate

61.440000 MSPS

RF Port Select

A

TX LO Frequency (both devices)

2300.000000 MHz

TX1–TX4 Attenuation

10.00 dB

FPGA Settings — Transmit / DDS

https://media.githubusercontent.com/media/analogdevicesinc/documentation/main/docs/solutions/reference-designs/fmcomms5/images/fmcomms5_loopback_dds.png
  1. Set DDS Mode to DAC Buffer Output for all four transmitters (TX1–TX4).

  2. Under File Selection, choose sinewave_0.6.mat and click Load. The status should read “Waveform loaded successfully.” On Linux the waveform files are installed to /usr/lib/osc/waveforms/; on Windows they are at C:\Program Files\IIO Oscilloscope\lib\osc\waveforms.

  3. Under DAC Channels, enable all channels (voltage0voltage7).

  4. Scale: 0.0 dBFS.

Switch to the Capture window and set the Plot Type to Time Domain. Enable 1, 2, 4, or 8 channels. Valid counts are powers of two; other counts (3, 5, 6, 7) are not supported. The screenshot below shows voltage0 (I) and voltage1 (Q) from cf-ad9361-A:

https://media.githubusercontent.com/media/analogdevicesinc/documentation/main/docs/solutions/reference-designs/fmcomms5/images/fmcomms5_loopback_capture.png

To view the frequency spectrum, change the Plot Type to Frequency Domain. Set the FFT Size to 65536 and the Window to Hanning. The plot below shows the received tone at approximately -11 dBFS near 2300 MHz, with the AD9361 bandpass filter shape clearly visible:

https://media.githubusercontent.com/media/analogdevicesinc/documentation/main/docs/solutions/reference-designs/fmcomms5/images/fmcomms5_fft_bandpass_filter.png