ZC706 Quickstart
This guide provides quick instructions on how to setup the AD-FMCOMMS2-EBZ or AD-FMCOMMS3-EBZ or AD-FMCOMMS4-EBZ on:
ZC706 on FMC LPC
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.binLinux Kernel image:
uImageLinux device tree:
devicetree.dtb
They can either be taken from the SD card – already generated by us, or you can build them manually:
Instructions on how to choose the boot files from the SD card can be found in the Platform-Specific Manual Steps section from here Hardware Configuration.
Instructions on how to manually build the boot files from source can be found here:
FMCOMMS2/3/4 HDL Project build documentation. More HDL build details at Build an HDL project.
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
ZC706 Rev 1.2 or later board and its power supply
AD-FMCOMMS2-EBZ / AD-FMCOMMS3-EBZ / AD-FMCOMMS4-EBZ FMC evaluation board
Mini-USB cable
Ethernet cable
2x SMA cable or Antenna
(Optional) USB keyboard & mouse and a HDMI compatible monitor (Full HD only)
More details as to why you need these, can be found at Prerequisites for AD9361/AD9364 based boards.
Testing
Creating the setup
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.
In the following example, we will make a physical loopback between the ADC and the DAC channels on the evaluation board, using SMA cables.
Follow the steps in this order, to avoid damaging the components:
Get the ZC706
Configure ZC706 for SD BOOT (SW11: 1-Down, 2-Down, 3-Up, 4-Up, 5-Down).
Insert the SD-CARD into the SD Card Interface Connector (J30).
Connect the AD-FMCOMMS2-EBZ FMC board to the FPGA carrier LPC FMC socket (J5).
Plug the Power Supply into 12V Power input connector (J52) (DO NOT turn the device on).
Plug-in an Ethernet cable from your router/switch to the Ethernet port on the FPGA board
Connect USB UART (Mini-USB) to your host PC (J21).
Turn on the power switch on the FPGA board
Wait ~30 seconds for the “DONE” LED to turn green (above the power switch)
Observe Kernel and serial console output messages on your terminal
You can also connect a monitor, keyboard and mouse directly to the board for a local connection. The UART connection is still recommended for debugging purposes. For the local connection, follow these additional steps:
Plug your HDMI display device into the HDMI Video Connector (P1).
Plug your USB mouse/keyboard into the USB 2.0 ULPI Controller, w/ Micro-B Connector (J49). You will have to use a USB hub to connect both mouse and keyboard. Some keyboards have a mouse or touch pad sharing the same USB connection or wireless dongle. This can be used to eliminate the use of a USB hub.
Wait another ~30 seconds for the HDMI display device to start showing signs of life.
Note
The USB 2.0 circuit requires specific jumper settings for OTG mode. Ensure the following jumper settings on the ZC706 board (these are the defaults; verify them if USB is not working):
Shunt J10
J11 → open (no shunt)
J48 → Shunt pins 2–3
J49 → Shunt pins 1–2
J50 → Shunt pins 1–2
J51 → Shunt pins 1–2
See also
For more detailed information on ZC706 switch configuration, check the ZC706 Hardware User Guide (chapter “Device Configuration”) here.
Boot messages
The following is what is printed in the serial console, after you have connected to the proper ttyUSB or COM port:
U-Boot 2018.01-01677-geb93226123b (Mar 09 2026 - 12:14:12 +0200) Xilinx Zynq ZC706, Build: jenkins-development-build_uboot-69
Model: Zynq ZC706 Development Board
Board: Xilinx Zynq
Silicon: v3.1
I2C: ready
DRAM: ECC disabled 1 GiB
MMC: sdhci@e0100000: 0 (SD)
SF: Detected s25fl128s_64k with page size 512 Bytes, erase size 128 KiB, total 32 MiB
In: serial@e0001000
Out: serial@e0001000
Err: serial@e0001000
Net: ZYNQ GEM: e000b000, phyaddr 7, interface rgmii-id
eth0: ethernet@e000b000
reading uEnv.txt
408 bytes read in 21 ms (18.6 KiB/s)
Importing environment from SD ...
Hit any key to stop autoboot: 0
Device: sdhci@e0100000
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 22 ms (17.6 KiB/s)
Loaded environment from uEnv.txt
Importing environment from SD ...
Running uenvcmd ...
Copying Linux from SD to RAM...
reading uImage
9145624 bytes read in 524 ms (16.6 MiB/s)
reading devicetree.dtb
26264 bytes read in 28 ms (916 KiB/s)
** Unable to read file uramdisk.image.gz **
## Booting kernel from Legacy Image at 03000000 ...
Image Name: Linux-6.12.77-ge2f9fe8e3654
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 9145560 Bytes = 8.7 MiB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
## Flattened Device Tree blob at 02a00000
Booting using the fdt blob at 0x2a00000
Loading Kernel Image ... OK
Loading Device Tree to 1fff6000, end 1ffff697 ... OK
Starting kernel ...
Booting Linux on physical CPU 0x0
Linux version 6.12.77-ge2f9fe8e3654 (root@ebafaf243508) (arm-linux-gnueabi-gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0, GNU ld (GNU Binutils for Ubuntu) 2.42) #1 SMP PREEMPT Thu Mar 26 12:00:45 UTC 2026
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
OF: fdt: Machine model: Xilinx Zynq ZC706
OF: fdt: earlycon: stdout-path /amba@0/uart@E0001000 not found
Memory policy: Data cache writealloc
cma: Reserved 128 MiB at 0x38000000 on node -1
Zone ranges:
Normal [mem 0x0000000000000000-0x000000002fffffff]
HighMem [mem 0x0000000030000000-0x000000003fffffff]
Movable zone start for each node
Early memory node ranges
node 0: [mem 0x0000000000000000-0x000000003fffffff]
Initmem setup node 0 [mem 0x0000000000000000-0x000000003fffffff]
OF: reserved mem: Reserved memory: No reserved-memory node in the DT
percpu: Embedded 12 pages/cpu s17548 r8192 d23412 u49152
Kernel command line: console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlycon rootfstype=ext4 rootwait clk_ignore_unused cpuidle.off=1
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes, linear)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
Built 1 zonelists, mobility grouping on. Total pages: 262144
mem auto-init: stack:all(zero), heap alloc:off, heap free:off
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
rcu: Preemptible hierarchical RCU implementation.
rcu: RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
efuse mapped to (ptrval)
slcr mapped to (ptrval)
L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
L2C-310 erratum 769419 enabled
L2C-310 enabling early BRESP for Cortex-A9
L2C-310 full line of zeros enabled for Cortex-A9
L2C-310 ID prefetch enabled, offset 1 lines
L2C-310 dynamic clock gating enabled, standby mode enabled
L2C-310 cache controller enabled, 8 ways, 512 kB
L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76760001
rcu: srcu_init: Setting srcu_struct sizes based on contention.
zynq_clock_init: clkc starts at (ptrval)
Zynq clock init
sched_clock: 64 bits at 167MHz, resolution 6ns, wraps every 4398046511103ns
clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x26703d7dd8, max_idle_ns: 440795208065 ns
Switching to timer-based delay loop, resolution 6ns
Console: colour dummy device 80x30
Calibrating delay loop (skipped), value calculated using timer frequency.. 333.33 BogoMIPS (lpj=1666666)
CPU: Testing write buffer coherency: ok
CPU0: Spectre v2: using BPIALL workaround
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes, linear)
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x100000 - 0x100060
rcu: Hierarchical SRCU implementation.
rcu: Max phase no-delay instances is 1000.
smp: Bringing up secondary CPUs ...
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
CPU1: Spectre v2: using BPIALL workaround
smp: Brought up 1 node, 2 CPUs
SMP: Total of 2 processors activated (666.66 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
Memory: 877428K/1048576K available (13312K kernel code, 913K rwdata, 11080K rodata, 1024K init, 498K bss, 37736K reserved, 131072K cma-reserved, 131072K highmem)
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
futex hash table entries: 512 (order: 3, 32768 bytes, linear)
pinctrl core: initialized pinctrl subsystem
NET: Registered PF_NETLINK/PF_ROUTE protocol family
DMA: preallocated 256 KiB pool for atomic coherent allocations
thermal_sys: Registered thermal governor 'step_wise'
/axi/etb@f8801000: Fixed dependency cycle(s) with /replicator
/axi/tpiu@f8803000: Fixed dependency cycle(s) with /replicator
/axi/funnel@f8804000: Fixed dependency cycle(s) with /axi/ptm@f889d000
/axi/funnel@f8804000: Fixed dependency cycle(s) with /axi/ptm@f889c000
/axi/funnel@f8804000: Fixed dependency cycle(s) with /replicator
/axi/ptm@f889c000: Fixed dependency cycle(s) with /axi/funnel@f8804000
/axi/ptm@f889d000: Fixed dependency cycle(s) with /axi/funnel@f8804000
/replicator: Fixed dependency cycle(s) with /axi/etb@f8801000
/axi/etb@f8801000: Fixed dependency cycle(s) with /replicator
/replicator: Fixed dependency cycle(s) with /axi/tpiu@f8803000
/axi/tpiu@f8803000: Fixed dependency cycle(s) with /replicator
/replicator: Fixed dependency cycle(s) with /axi/funnel@f8804000
/axi/funnel@f8804000: Fixed dependency cycle(s) with /axi/ptm@f889d000
/axi/funnel@f8804000: Fixed dependency cycle(s) with /axi/ptm@f889c000
/axi/funnel@f8804000: Fixed dependency cycle(s) with /replicator
/axi/funnel@f8804000: Fixed dependency cycle(s) with /axi/ptm@f889c000
/axi/ptm@f889c000: Fixed dependency cycle(s) with /axi/funnel@f8804000
/axi/funnel@f8804000: Fixed dependency cycle(s) with /axi/ptm@f889d000
/axi/ptm@f889d000: Fixed dependency cycle(s) with /axi/funnel@f8804000
/fpga-axi@0/i2c@41600000/i2cswitch@74/i2c@1/adv7511@39: Fixed dependency cycle(s) with /fpga-axi@0/axi_hdmi@70e00000
/fpga-axi@0/axi_hdmi@70e00000: Fixed dependency cycle(s) with /fpga-axi@0/i2c@41600000/i2cswitch@74/i2c@1/adv7511@39
/fpga-axi@0/i2c@41600000/i2cswitch@74/i2c@1/adv7511@39: Fixed dependency cycle(s) with /fpga-axi@0/axi_hdmi@70e00000
/fpga-axi@0/i2c@41600000/i2cswitch@74/i2c@1/adv7511@39: Fixed dependency cycle(s) with /fpga-axi@0/axi_hdmi@70e00000
/fpga-axi@0/axi_hdmi@70e00000: Fixed dependency cycle(s) with /fpga-axi@0/i2c@41600000/i2cswitch@74/i2c@1/adv7511@39
hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 4 bytes.
e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 26, base_baud = 3125000) is a xuartps
printk: legacy console [ttyPS0] enabled
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
mc: Linux media interface: v0.10
videodev: Linux video capture interface: v2.00
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
PTP clock support registered
jesd204: found 0 devices and 0 topologies
FPGA manager framework
Advanced Linux Sound Architecture Driver Initialized.
clocksource: Switched to clocksource arm_global_timer
NET: Registered PF_INET protocol family
IP idents hash table entries: 16384 (order: 5, 131072 bytes, linear)
tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
TCP established hash table entries: 8192 (order: 3, 32768 bytes, linear)
TCP bind hash table entries: 8192 (order: 5, 131072 bytes, linear)
TCP: Hash tables configured (established 8192 bind 8192)
UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
NET: Registered PF_UNIX/PF_LOCAL protocol family
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp-with-tls transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
workingset: timestamp_bits=30 max_order=18 bucket_order=0
NFS: Registering the id_resolver key type
Key type id_resolver registered
Key type id_legacy registered
nfs4filelayout_init: NFSv4 File Layout Driver Registering...
nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
fuse: init (API version 7.41)
bounce: pool size: 64 pages
io scheduler mq-deadline registered
io scheduler kyber registered
io scheduler bfq registered
zynq-pinctrl 700.pinctrl: zynq pinctrl initialized
ledtrig-cpu: registered to indicate activity on CPUs
dma-pl330 f8003000.dma-controller: Loaded driver for PL330 DMAC-241330
dma-pl330 f8003000.dma-controller: DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
brd: module loaded
loop: module loaded
Registered mathworks_ip class
mwipcore 43c00000.mwipcore: error -ENXIO: IRQ index 0 not found
mwipcore 43c00000.mwipcore: Dev memory resource found at (ptrval) 0000FFFF.
mwipcore 43c00000.mwipcore: 'mwipcore' device not found, creating
mwipcore 43c00000.mwipcore: Char dev region registered: major num:245
mwipcore 43c00000.mwipcore: 'mwipcore' device created
spi-nor spi2.0: found s25fl128s1, expected n25q128a11
5 fixed-partitions partitions found on MTD device spi2.0
Creating 5 MTD partitions on "spi2.0":
0x000000000000-0x000000500000 : "boot"
0x000000500000-0x000000520000 : "bootenv"
0x000000520000-0x000000540000 : "config"
0x000000540000-0x000000fc0000 : "image"
0x000000fc0000-0x000001000000 : "spare"
MACsec IEEE 802.1AE
tun: Universal TUN/TAP device driver, 1.6
macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 43 (00:0a:35:ab:01:22)
usbcore: registered new interface driver asix
usbcore: registered new interface driver ax88179_178a
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver net1080
usbcore: registered new interface driver cdc_subset
usbcore: registered new interface driver zaurus
usbcore: registered new interface driver cdc_ncm
usbcore: registered new interface driver r8153_ecm
usbcore: registered new interface driver uas
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial support registered for generic
usbcore: registered new interface driver ftdi_sio
usbserial: USB Serial support registered for FTDI USB Serial Device
usbcore: registered new interface driver upd78f0730
usbserial: USB Serial support registered for upd78f0730
ULPI transceiver vendor/product ID 0x0424/0x0007
Found SMSC USB3320 ULPI transceiver.
ULPI integrity check: passed.
ci_hdrc ci_hdrc.0: EHCI Host Controller
ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.12
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: EHCI Host Controller
usb usb1: Manufacturer: Linux 6.12.77-ge2f9fe8e3654 ehci_hcd
usb usb1: SerialNumber: ci_hdrc.0
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
i2c_dev: i2c /dev entries driver
/fpga-axi@0/i2c@41600000/i2cswitch@74/i2c@1/adv7511@39: Fixed dependency cycle(s) with /fpga-axi@0/axi_hdmi@70e00000
pca954x 0-0074: supply vdd not found, using dummy regulator
si570 1-005d: registered, current frequency 156250000 Hz
i2c i2c-0: Added multiplexed i2c bus 1
/fpga-axi@0/axi_hdmi@70e00000: Fixed dependency cycle(s) with /fpga-axi@0/i2c@41600000/i2cswitch@74/i2c@1/adv7511@39
/fpga-axi@0/i2c@41600000/i2cswitch@74/i2c@1/adv7511@39: Fixed dependency cycle(s) with /fpga-axi@0/axi_hdmi@70e00000
adv7511 2-0039: supply avdd not found, using dummy regulator
adv7511 2-0039: supply dvdd not found, using dummy regulator
adv7511 2-0039: supply pvdd not found, using dummy regulator
adv7511 2-0039: supply bgvdd not found, using dummy regulator
adv7511 2-0039: supply dvdd-3v not found, using dummy regulator
i2c i2c-0: Added multiplexed i2c bus 2
at24 3-0054: supply vcc not found, using dummy regulator
at24 3-0054: 1024 byte 24c08 EEPROM, writable, 1 bytes/write
i2c i2c-0: Added multiplexed i2c bus 3
pca953x 4-0021: supply vcc not found, using dummy regulator
pca953x 4-0021: using no AI
i2c i2c-0: Added multiplexed i2c bus 4
rtc-pcf8563 5-0051: registered as rtc0
rtc-pcf8563 5-0051: setting system clock to 2026-04-23T08:34:39 UTC (1776933279)
i2c i2c-0: Added multiplexed i2c bus 5
i2c i2c-0: Added multiplexed i2c bus 6
at24 7-0050: supply vcc not found, using dummy regulator
at24 7-0050: 256 byte 24c02 EEPROM, writable, 1 bytes/write
i2c i2c-0: Added multiplexed i2c bus 7
i2c i2c-0: Added multiplexed i2c bus 8
pca954x 0-0074: registered 8 multiplexed busses for I2C switch pca9548
gspca_main: v2.14.0 registered
usbcore: registered new interface driver uvcvideo
cdns-wdt f8005000.watchdog: Xilinx Watchdog Timer with timeout 10s
Xilinx Zynq CpuIdle Driver started
failed to register cpuidle driver
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 537538477 ns
timer #0 at (ptrval), irq=48
hid: raw HID events driver (C) Jiri Kosina
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
SPI driver fb_seps525 has no spi_device_id for syncoam,seps525
mmc0: SDHCI controller on e0100000.mmc [e0100000.mmc] using ADMA
ad9361 spi0.0: ad9361_probe : enter (ad9361)
ad9361 spi0.0: No GPIOs defined for ext band ctrl
mmc0: new high speed SDHC card at address aaaa
mmcblk0: mmc0:aaaa SK32G 29.7 GiB
mmcblk0: p1 p2 p3
ad9361 spi0.0: ad9361_probe : AD936x Rev 0 successfully initialized
adf4350 spi1.0: supply vcc not found, using dummy regulator
adf4350 spi1.0: Probe failed (muxout)
adf4350 spi1.1: supply vcc not found, using dummy regulator
adf4350 spi1.1: Probe failed (muxout)
cf_axi_dds 79024000.cf-ad9361-dds-core-lpc: Analog Devices CF_AXI_DDS_DDS MASTER (9.02.b) at 0x79024000 mapped to 0x(ptrval), probed DDS AD9361
armv7-pmu f8891000.pmu: hw perfevents: no interrupt-affinity property, guessing.
hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 (8000003f) counters available
axi_sysid 45000000.axi-sysid-0: AXI System ID core version (1.01.a) found
axi_sysid 45000000.axi-sysid-0: [fmcomms2] on [zc706] git branch <hdl_2026_r1> git <5da8736cb717e92a827934dd1c272b5c07c8e871> clean [2026-03-20 19:43:17] UTC
fpga_manager fpga0: Xilinx Zynq FPGA Manager registered
usbcore: registered new interface driver snd-usb-audio
NET: Registered PF_INET6 protocol family
Segment Routing with IPv6
In-situ OAM (IOAM) with IPv6
sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
NET: Registered PF_PACKET protocol family
NET: Registered PF_IEEE802154 protocol family
Key type dns_resolver registered
Registering SWP/SWPB emulation handler
of-fpga-region fpga-region: FPGA Region probed
[drm] Initialized axi_hdmi_drm 1.0.0 for 70e00000.axi_hdmi on minor 0
axi-hdmi 70e00000.axi_hdmi: [drm] Cannot find any crtc or sizes
axi-hdmi 70e00000.axi_hdmi: [drm] Cannot find any crtc or sizes
cf_axi_adc 79020000.cf-ad9361-lpc: ADI AIM (10.03.) probed ADC AD9361 as MASTER
input: gpio_keys as /devices/soc0/gpio_keys/input/input0
of_cfs_init
of_cfs_init: OK
clk: Not disabling unused clocks
ALSA device list:
#0: HDMI monitor
EXT4-fs (mmcblk0p2): mounted filesystem 66300ab8-01bc-428e-8e3c-2d9b293210b5 r/w with ordered data mode. Quota mode: disabled.
VFS: Mounted root (ext4 filesystem) on device 179:2.
devtmpfs: mounted
Freeing unused kernel image (initmem) memory: 1024K
Run /sbin/init as init process
systemd[1]: Failed to find module 'autofs4'
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)
systemd[1]: Detected architecture arm.
Welcome to Debian GNU/Linux 13 (trixie)!
systemd[1]: Hostname set to <analog>.
systemd[1]: /usr/lib/systemd/system/iiod.service:16: Invalid environment assignment, ignoring: $IIOD_EXTRA_OPTS=
systemd[1]: Queued start job for default target graphical.target.
systemd[1]: Created slice system-getty.slice - Slice /system/getty.
[ OK ] Created slice system-getty.slice - Slice /system/getty.
systemd[1]: Created slice system-modprobe.slice - Slice /system/modprobe.
[ OK ] Created slice system-modprobe.slice - Slice /system/modprobe.
systemd[1]: Created slice system-serial\x2dgetty.slice - Slice /system/serial-getty.
[ OK ] Created slice system-serial\x2dget&slice - Slice /system/serial-getty.
systemd[1]: Created slice system-systemd\x2dfsck.slice - Slice /system/systemd-fsck.
[ OK ] Created slice system-systemd\x2dfs&slice - Slice /system/systemd-fsck.
systemd[1]: Created slice user.slice - User and Session Slice.
[ OK ] Created slice user.slice - User and Session Slice.
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.
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).
systemd[1]: Expecting device dev-disk-by\x2dpartuuid-d29065e8\x2d01.device - /dev/disk/by-partuuid/d29065e8-01...
Expecting device dev-disk-by\x2dpa&dev/disk/by-partuuid/d29065e8-01...
systemd[1]: Expecting device dev-ttyGS0.device - /dev/ttyGS0...
Expecting device dev-ttyGS0.device - /dev/ttyGS0...
systemd[1]: Expecting device dev-ttyGS1.device - /dev/ttyGS1...
Expecting device dev-ttyGS1.device - /dev/ttyGS1...
systemd[1]: Expecting device dev-ttyPS0.device - /dev/ttyPS0...
Expecting device dev-ttyPS0.device - /dev/ttyPS0...
systemd[1]: Expecting device dev-ttyS0.device - /dev/ttyS0...
Expecting device dev-ttyS0.device - /dev/ttyS0...
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.
systemd[1]: Reached target remote-fs.target - Remote File Systems.
[ OK ] Reached target remote-fs.target - Remote File Systems.
systemd[1]: Reached target slices.target - Slice Units.
[ OK ] Reached target slices.target - Slice Units.
systemd[1]: Reached target swap.target - Swaps.
[ OK ] Reached target swap.target - Swaps.
systemd[1]: Listening on systemd-creds.socket - Credential Encryption/Decryption.
[ OK ] Listening on systemd-creds.socket - Credential Encryption/Decryption.
systemd[1]: Listening on systemd-initctl.socket - initctl Compatibility Named Pipe.
[ OK ] Listening on systemd-initctl.socke&- initctl Compatibility Named Pipe.
systemd[1]: Listening on systemd-journald-dev-log.socket - Journal Socket (/dev/log).
[ OK ] Listening on systemd-journald-dev-&socket - Journal Socket (/dev/log).
systemd[1]: Listening on systemd-journald.socket - Journal Sockets.
[ OK ] Listening on systemd-journald.socket - Journal Sockets.
systemd[1]: systemd-pcrextend.socket - TPM PCR Measurements was skipped because of an unmet condition check (ConditionSecurity=measured-uki).
systemd[1]: systemd-pcrlock.socket - Make TPM PCR Policy was skipped because of an unmet condition check (ConditionSecurity=measured-uki).
systemd[1]: Listening on systemd-udevd-control.socket - udev Control Socket.
[ OK ] Listening on systemd-udevd-control.socket - udev Control Socket.
systemd[1]: Listening on systemd-udevd-kernel.socket - udev Kernel Socket.
[ OK ] Listening on systemd-udevd-kernel.socket - udev Kernel Socket.
systemd[1]: dev-hugepages.mount - Huge Pages File System was skipped because of an unmet condition check (ConditionPathExists=/sys/kernel/mm/hugepages).
systemd[1]: dev-mqueue.mount - POSIX Message Queue File System was skipped because of an unmet condition check (ConditionPathExists=/proc/sys/fs/mqueue).
systemd[1]: Mounting run-lock.mount - Legacy Locks Directory /run/lock...
Mounting run-lock.mount - Legacy Locks Directory /run/lock...
systemd[1]: Mounting sys-kernel-debug.mount - Kernel Debug File System...
Mounting sys-kernel-debug.mount - Kernel Debug File System...
systemd[1]: sys-kernel-tracing.mount - Kernel Trace File System was skipped because of an unmet condition check (ConditionPathExists=/sys/kernel/tracing).
systemd[1]: Mounting tmp.mount - Temporary Directory /tmp...
Mounting tmp.mount - Temporary Directory /tmp...
systemd[1]: Starting fake-hwclock-load.service - Restore the current clock...
Starting fake-hwclock-load.service - Restore the current clock...
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).
systemd[1]: Starting modprobe@configfs.service - Load Kernel Module configfs...
Starting modprobe@configfs.service - Load Kernel Module configfs...
systemd[1]: Starting modprobe@drm.service - Load Kernel Module drm...
Starting modprobe@drm.service - Load Kernel Module drm...
systemd[1]: Starting modprobe@efi_pstore.service - Load Kernel Module efi_pstore...
Starting modprobe@efi_pstore.servi& - Load Kernel Module efi_pstore...
systemd[1]: Starting modprobe@fuse.service - Load Kernel Module fuse...
Starting modprobe@fuse.service - Load Kernel Module fuse...
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).
systemd[1]: systemd-journald.service: unit configures an IP firewall, but the local system does not support BPF/cgroup firewalling.
systemd[1]: systemd-journald.service: (This warning is only shown for the first unit using IP firewalling.)
systemd[1]: Starting systemd-journald.service - Journal Service...
Starting systemd-journald.service - Journal Service...
systemd[1]: Starting systemd-modules-load.service - Load Kernel Modules...
Starting systemd-modules-load.service - Load Kernel Modules...
systemd[1]: systemd-pcrmachine.service - TPM PCR Machine ID Measurement was skipped because of an unmet condition check (ConditionSecurity=measured-uki).
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...
systemd[1]: systemd-tpm2-setup-early.service - Early TPM SRK Setup was skipped because of an unmet condition check (ConditionSecurity=measured-uki).
systemd[1]: Starting systemd-udev-load-credentials.service - Load udev Rules from Credentials...
Starting systemd-udev-load-credent&Load udev Rules from Credentials...
systemd[1]: Starting systemd-udev-trigger.service - Coldplug All udev Devices...
Starting systemd-udev-trigger.service - Coldplug All udev Devices...
systemd[1]: Mounted run-lock.mount - Legacy Locks Directory /run/lock.
[ OK ] Mounted run-lock.mount - Legacy Locks Directory /run/lock.
systemd-journald[89]: Collecting audit messages is disabled.
systemd[1]: Mounted sys-kernel-debug.mount - Kernel Debug File System.
[ OK ] Mounted sys-kernel-debug.mount - Kernel Debug File System.
systemd[1]: Mounted tmp.mount - Temporary Directory /tmp.
[ OK ] Mounted tmp.mount - Temporary Directory /tmp.
systemd[1]: fake-hwclock-load.service: Deactivated successfully.
systemd[1]: Finished fake-hwclock-load.service - Restore the current clock.
[ OK ] Finished fake-hwclock-load.service - Restore the current clock.
systemd[1]: modprobe@configfs.service: Deactivated successfully.
systemd[1]: Finished modprobe@configfs.service - Load Kernel Module configfs.
[ OK ] Finished modprobe@configfs.service - Load Kernel Module configfs.
systemd[1]: modprobe@drm.service: Deactivated successfully.
systemd[1]: Finished modprobe@drm.service - Load Kernel Module drm.
[ OK ] Finished modprobe@drm.service - Load Kernel Module drm.
systemd[1]: Started systemd-journald.service - Journal Service.
[ OK ] Started systemd-journald.service - Journal Service.
[ 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-udev-trigger.service - Coldplug All udev Devices.
[ OK ] Finished systemd-tmpfiles-setup-de&Create Static Device Nodes in /dev.
[ OK ] Finished systemd-random-seed.service - Load/Save OS Random Seed.
[ OK ] Reached target local-fs-pre.target&Preparation for Local File Systems.
Starting ifupdown-pre.service - He&synchronize boot up for ifupdown...
Starting systemd-udev-settle.servi&o Complete Device Initialization...
Starting systemd-udevd.service - R&ager for Device Events and Files...
[ OK ] Finished ifupdown-pre.service - He&o synchronize boot up for ifupdown.
[ OK ] Finished systemd-journal-flush.ser&lush Journal to Persistent Storage.
[ OK ] Started systemd-udevd.service - Ru&anager for Device Events and Files.
Starting plymouth-start.service - Show Plymouth Boot Screen...
mwipcore 43c00000.mwipcore: error -ENXIO: IRQ index 0 not found
failed to register cpuidle driver
adf4350 spi1.0: Probe failed (muxout)
adf4350 spi1.1: Probe failed (muxout)
systemd[1]: Failed to find module 'autofs4'
[ OK ] Started plymouth-start.service - Show Plymouth Boot Screen.
[ OK ] Found device dev-ttyPS0.device - /dev/ttyPS0.
[ OK ] Found device dev-disk-by\x2dpartuu& /dev/disk/by-partuuid/d29065e8-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 sound.target - Sound Card.
Starting systemd-fsck@dev-disk-by\&dev/disk/by-partuuid/d29065e8-01...
[ OK ] Finished systemd-fsck@dev-disk-by\& /dev/disk/by-partuuid/d29065e8-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 ] Started dbus.service - D-Bus System Message Bus.
[ OK ] Finished fix-display-port.service - Fix DP audio and X11.
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 ] Started systemd-logind.service - User Login Management.
[ OK ] Finished networking.service - Raise network interfaces.
[ OK ] Started wpa_supplicant.service - WPA supplicant.
[ OK ] Finished adi-power.service - Analog Devices power up/down sequence.
[ OK ] Created slice user-1000.slice - User Slice of UID 1000.
Starting modprobe@drm.service - Load Kernel Module drm...
Starting systemd-hostnamed.service - Hostname Service...
[ OK ] Finished e2scrub_reap.service - Re&line ext4 Metadata Check Snapshots.
[ OK ] Finished modprobe@drm.service - Load Kernel Module drm.
Starting user-runtime-dir@1000.ser&Runtime Directory /run/user/1000...
[ OK ] Finished user-runtime-dir@1000.ser&r Runtime Directory /run/user/1000.
[ OK ] Finished iiod_context_attr.service&reating IIOD Context Attributes....
[ OK ] Started polkit.service - Authorization Manager.
[ OK ] Started accounts-daemon.service - Accounts Service.
[ OK ] Started systemd-hostnamed.service - Hostname Service.
[ OK ] Started udisks2.service - Disk Manager.
Starting NetworkManager-dispatcher&anager Script Dispatcher Service...
[ OK ] Started NetworkManager-dispatcher.& Manager Script Dispatcher Service.
[ OK ] Started NetworkManager.service - Network Manager.
[ OK ] Reached target network.target - Network.
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 ntpsec.service - Network Time Service.
[ OK ] Started htpdate.service - HTTP based time synchronization tool.
[ 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 ssh.service - OpenBSD Secure Shell server.
[ OK ] Started blueman-mechanism.service - Bluetooth management mechanism.
[ 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...
[ OK ] Started rtkit-daemon.service - RealtimeKit Scheduling Policy Service.
Debian GNU/Linux 13 analog ttyPS0
analog login: root (automatic login)
Linux analog 6.12.77-ge2f9fe8e3654 #1 SMP PREEMPT Thu Mar 26 12:00:45 UTC 2026 armv7l
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: ad7291
iio:device1: ad9361-phy
iio:device2: xadc
iio:device3: cf-ad9361-dds-core-lpc (buffer capable)
iio:device4: cf-ad9361-lpc (buffer capable)
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.