Wiki

This version is outdated by a newer approved version.DiffThis version (13 Dec 2021 11:34) was approved by Laszlo Nagy.The Previously approved version (13 Dec 2021 10:50) is available.Diff

This is an old revision of the document!


AD9081/AD9082 Versal ACAP VCK190/VMK180 Quick Start Guide

This guide provides some quick instructions (still takes awhile to download, and set things up) on how to setup the AD9081-FMCA-EBZ/AD9082-FMCA-EBZ on VCK190 or VMK180 boards. In this page the VMK180 and VCK190 terms are interchangeable.

Instructions on how to build the ZynqMP / MPSoC / Versal ACAP Linux kernel and devicetrees from source can be found here:

Required Software

Required Hardware

  • Xilinx VCK190 or Xilinx VMK180 rev A
  • AD9081-FMCA-EBZ/AD9082-FMCA-EBZ FMC board.
  • USB type-C cable
  • Ethernet cable
  • Optionally USB keyboard mouse and a Display Port compatible monitor

Example Device Trees

AD9081-FMCA-EBZ / AD9082-FMCA-EBZ on VCK190 (Versal ACAP)

Testing

  • Connect the AD9081-FMCA-EBZ FMC board to the FPGA carrier FMC+ FMCP1 socket.
  • Connect USB UART J207 (Type-C USB) to your host PC.
  • Insert Versal SD card into socket J302.
  • Insert System Controller SD card into socket J206.
  • Configure ACAP for SD BOOT (mode SW1[4:1] switch in the position OFF,OFF,OFF,ON as seen in the below picture).

  • Configure System Controller for SD BOOT (mode SW11[4:1] switch in the position OFF,OFF,OFF,ON as seen in the below picture).

  • Turn on the power switch on the FPGA board.
  • Observe kernel and serial console messages on your terminal. (use the first ttyUSB or COM port registered)

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.

ACAP SDcard boot files

The files that need to be present on the sdcard BOOT partition are:

  • BOOT.BIN
  • Image
  • system.dtb

Copy the BOOT.BIN and system.dtb from the versal-vck190-reva-ad9081 directory.
For evaluation boards populated with VXCO 100 MHz copy the device tree from vcxo100 folder.
For evaluation boards populated with VXCO 122.88 MHz copy the device tree from vcxo122p88 folder.
Copy the Image from the zynqmp-common directory.

On windows machines make sure the copy process did not encrypted the files.

Setting up UART

When setting up the UART make sure you connect to the ACAP UART interface and not the System controller.

Boot messages

The latest master pre-built Image based boot messages looks like the followings :

Complete kernel boot log (Click to expand)

Complete kernel boot log (Click to expand)

This specifies any shell prompt running on the target

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd083]
[    0.000000] Linux version 5.10.0-97800-g491fbc6ee668 (lnagy@romlx7.adlk.analog.com) (aarch64-linux-gnu-gcc (GCC) 8.2.0, GNU ld (Linaro_Binutils-) 2.31) #1 SMP Fri Oct 15 12:58:33 IST 2021
[    0.000000] Machine model: Xilinx Versal vck190 Eval board revA
[    0.000000] earlycon: pl11 at MMIO32 0x00000000ff000000 (options '115200n8')
[    0.000000] printk: bootconsole [pl11] enabled
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 256 MiB at 0x000000006dc00000
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000000000-0x000000003fffffff]
[    0.000000]   DMA32    [mem 0x0000000040000000-0x00000000ffffffff]
[    0.000000]   Normal   [mem 0x0000000100000000-0x000000097fffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000007fffffff]
[    0.000000]   node   0: [mem 0x0000000800000000-0x000000097fffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000097fffffff]
[    0.000000] On node 0 totalpages: 2097152
[    0.000000]   DMA zone: 3584 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 262144 pages, LIFO batch:63
[    0.000000]   DMA32 zone: 3584 pages used for memmap
[    0.000000]   DMA32 zone: 262144 pages, LIFO batch:63
[    0.000000]   Normal zone: 21504 pages used for memmap
[    0.000000]   Normal zone: 1572864 pages, LIFO batch:63
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.2
[    0.000000] percpu: Embedded 22 pages/cpu s49496 r8192 d32424 u90112
[    0.000000] pcpu-alloc: s49496 r8192 d32424 u90112 alloc=22*4096
[    0.000000] pcpu-alloc: [0] 0 [0] 1 
[    0.000000] Detected PIPT I-cache on CPU0
[    0.000000] CPU features: detected: GIC system register CPU interface
[    0.000000] CPU features: detected: Spectre-v2
[    0.000000] CPU features: detected: ARM errata 1165522, 1319367, or 1530923
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 2068480
[    0.000000] Kernel command line: console=ttyAMA0 earlycon=pl011,mmio32,0xFF000000,115200n8 clk_ignore_unused root=/dev/mmcblk0p2 rw rootfstype=ext4 rootwait
[    0.000000] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear)
[    0.000000] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] software IO TLB: mapped [mem 0x000000003bfff000-0x000000003ffff000] (64MB)
[    0.000000] Memory: 7885048K/8388608K available (15680K kernel code, 1800K rwdata, 10936K rodata, 2624K init, 605K bss, 241416K reserved, 262144K cma-reserved)
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu: 	RCU event tracing is enabled.
[    0.000000] rcu: 	RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
[    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=2
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GICv3: GIC: Using split EOI/Deactivate mode
[    0.000000] GICv3: 160 SPIs implemented
[    0.000000] GICv3: 0 Extended SPIs implemented
[    0.000000] GICv3: Distributor has no Range Selector support
[    0.000000] GICv3: 16 PPIs implemented
[    0.000000] GICv3: CPU0: found redistributor 0 region 0:0x00000000f9080000
[    0.000000] ITS [mem 0xf9020000-0xf903ffff]
[    0.000000] ITS@0x00000000f9020000: allocated 65536 Devices @800080000 (flat, esz 8, psz 64K, shr 0)
[    0.000000] ITS: using cache flushing for cmd queue
[    0.000000] GICv3: using LPI property table @0x0000000800030000
[    0.000000] GIC: using cache flushing for LPI property table
[    0.000000] GICv3: CPU0: using allocated LPI pending table @0x0000000800040000
[    0.000000] ITS queue timeout (64 0)
[    0.000000] ITS cmd its_build_mapc_cmd failed
[    0.000000] ITS queue timeout (96 0)
[    0.000000] ITS cmd its_build_invall_cmd failed
[    0.000000] random: get_random_bytes called from start_kernel+0x320/0x640 with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 100.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x171024e7e0, max_idle_ns: 440795205315 ns
[    0.000002] sched_clock: 56 bits at 100MHz, resolution 10ns, wraps every 4398046511100ns
[    0.008361] Console: colour dummy device 80x25
[    0.012843] Calibrating delay loop (skipped), value calculated using timer frequency.. 200.00 BogoMIPS (lpj=400000)
[    0.023354] pid_max: default: 32768 minimum: 301
[    0.028097] Mount-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.035748] Mountpoint-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.044396] rcu: Hierarchical SRCU implementation.
[    0.049313] Platform MSI: gic-its@f9020000 domain created
[    0.054797] PCI/MSI: /amba_apu/interrupt-controller@f9000000/gic-its@f9020000 domain created
[    0.063338] EFI services will not be available.
[    0.067956] smp: Bringing up secondary CPUs ...
[    0.072787] Detected PIPT I-cache on CPU1
[    0.072806] GICv3: CPU1: found redistributor 1 region 0:0x00000000f90a0000
[    0.072813] GICv3: CPU1: using allocated LPI pending table @0x0000000800050000
[    1.242513] ITS queue timeout (160 0)
[    1.242522] ITS cmd its_build_mapc_cmd failed
[    2.412219] ITS queue timeout (192 0)
[    2.412223] ITS cmd its_build_invall_cmd failed
[    2.412240] CPU1: Booted secondary processor 0x0000000001 [0x410fd083]
[    2.412287] smp: Brought up 1 node, 2 CPUs
[    2.457476] SMP: Total of 2 processors activated.
[    2.462211] CPU features: detected: 32-bit EL0 Support
[    2.467380] CPU features: detected: CRC32 instructions
[    2.472584] CPU: All CPU(s) started at EL2
[    2.476716] alternatives: patching kernel code
[    2.481776] devtmpfs: initialized
[    2.487211] Registered cp15_barrier emulation handler
[    2.492305] Registered setend emulation handler
[    2.496946] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    2.506761] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[    2.516554] DMI not present or invalid.
[    2.520533] NET: Registered protocol family 16
[    2.525676] DMA: preallocated 1024 KiB GFP_KERNEL pool for atomic allocations
[    2.532947] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA pool for atomic allocations
[    2.540942] DMA: preallocated 1024 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    2.549030] audit: initializing netlink subsys (disabled)
[    2.554535] audit: type=2000 audit(2.472:1): state=initialized audit_enabled=0 res=1
[    2.562346] cpuidle: using governor menu
[    2.566380] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    2.573231] ASID allocator initialised with 65536 entries
[    2.578718] Serial: AMBA PL011 UART driver
[    2.595427] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[    2.602182] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[    2.608929] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    2.615673] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[    3.155800] cryptd: max_cpu_qlen set to 1000
[    3.174367] DRBG: Continuing without Jitter RNG
[    3.252174] raid6: neonx8   gen()  3970 MB/s
[    3.324503] raid6: neonx8   xor()  2900 MB/s
[    3.396834] raid6: neonx4   gen()  4070 MB/s
[    3.469163] raid6: neonx4   xor()  3001 MB/s
[    3.541498] raid6: neonx2   gen()  3630 MB/s
[    3.613827] raid6: neonx2   xor()  2749 MB/s
[    3.686164] raid6: neonx1   gen()  2811 MB/s
[    3.758494] raid6: neonx1   xor()  2207 MB/s
[    3.830830] raid6: int64x8  gen()  2325 MB/s
[    3.903163] raid6: int64x8  xor()  1347 MB/s
[    3.975501] raid6: int64x4  gen()  2304 MB/s
[    4.047831] raid6: int64x4  xor()  1378 MB/s
[    4.120169] raid6: int64x2  gen()  2185 MB/s
[    4.192500] raid6: int64x2  xor()  1222 MB/s
[    4.264843] raid6: int64x1  gen()  1691 MB/s
[    4.337172] raid6: int64x1  xor()   910 MB/s
[    4.341466] raid6: using algorithm neonx4 gen() 4070 MB/s
[    4.346897] raid6: .... xor() 3001 MB/s, rmw enabled
[    4.351892] raid6: using neon recovery algorithm
[    4.356972] iommu: Default domain type: Translated 
[    4.362030] SCSI subsystem initialized
[    4.365814] libata version 3.00 loaded.
[    4.365903] usbcore: registered new interface driver usbfs
[    4.371437] usbcore: registered new interface driver hub
[    4.376801] usbcore: registered new device driver usb
[    4.381969] mc: Linux media interface: v0.10
[    4.386275] videodev: Linux video capture interface: v2.00
[    4.391833] EDAC MC: Ver: 3.0.0
[    4.395273] zynqmp-ipi-mbox mailbox@ff3f0440: Registered ZynqMP IPI mbox with TX/RX channels.
[    4.404024] jesd204: created con: id=0, topo=0, link=0, /amba/spi@ff050000/hmc7044@0 <-> /fpga-axi@0/axi-jesd204-tx@a4b90000
[    4.415329] jesd204: created con: id=1, topo=0, link=2, /amba/spi@ff050000/hmc7044@0 <-> /fpga-axi@0/axi-jesd204-rx@a4a90000
[    4.426631] jesd204: created con: id=2, topo=0, link=0, /fpga-axi@0/axi-jesd204-tx@a4b90000 <-> /fpga-axi@0/axi-ad9081-tx-hpc@a4b10000
[    4.438811] jesd204: created con: id=3, topo=0, link=2, /fpga-axi@0/axi-jesd204-rx@a4a90000 <-> /fpga-axi@0/axi-ad9081-rx-hpc@a4a10000
[    4.450992] jesd204: created con: id=4, topo=0, link=2, /fpga-axi@0/axi-ad9081-rx-hpc@a4a10000 <-> /amba/spi@ff040000/ad9081@0
[    4.462467] jesd204: created con: id=5, topo=0, link=0, /fpga-axi@0/axi-ad9081-tx-hpc@a4b10000 <-> /amba/spi@ff040000/ad9081@0
[    4.473944] jesd204: /amba/spi@ff040000/ad9081@0: JESD204[2] transition uninitialized -> initialized
[    4.483142] jesd204: /amba/spi@ff040000/ad9081@0: JESD204[0] transition uninitialized -> initialized
[    4.492333] jesd204: found 6 devices and 1 topologies
[    4.497433] FPGA manager framework
[    4.500937] Advanced Linux Sound Architecture Driver Initialized.
[    4.507293] Bluetooth: Core ver 2.22
[    4.510896] NET: Registered protocol family 31
[    4.515366] Bluetooth: HCI device and connection manager initialized
[    4.521762] Bluetooth: HCI socket layer initialized
[    4.526669] Bluetooth: L2CAP socket layer initialized
[    4.531754] Bluetooth: SCO socket layer initialized
[    4.536933] clocksource: Switched to clocksource arch_sys_counter
[    4.543149] VFS: Disk quotas dquot_6.6.0
[    4.547129] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    4.556575] NET: Registered protocol family 2
[    4.561232] tcp_listen_portaddr_hash hash table entries: 4096 (order: 4, 65536 bytes, linear)
[    4.569877] TCP established hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    4.578136] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes, linear)
[    4.586157] TCP: Hash tables configured (established 65536 bind 65536)
[    4.592811] UDP hash table entries: 4096 (order: 5, 131072 bytes, linear)
[    4.599763] UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes, linear)
[    4.607219] NET: Registered protocol family 1
[    4.611816] RPC: Registered named UNIX socket transport module.
[    4.617783] RPC: Registered udp transport module.
[    4.622520] RPC: Registered tcp transport module.
[    4.627252] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    4.634024] PCI: CLS 0 bytes, default 64
[    4.649023] Initialise system trusted keyrings
[    4.653597] workingset: timestamp_bits=62 max_order=21 bucket_order=0
[    4.660563] NFS: Registering the id_resolver key type
[    4.665661] Key type id_resolver registered
[    4.669874] Key type id_legacy registered
[    4.673918] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    4.680674] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    4.715631] NET: Registered protocol family 38
[    4.720109] xor: measuring software checksum speed
[    4.726615]    8regs           :  5865 MB/sec
[    4.732449]    32regs          :  6782 MB/sec
[    4.738593]    arm64_neon      :  5599 MB/sec
[    4.742976] xor: using function: 32regs (6782 MB/sec)
[    4.748061] Key type asymmetric registered
[    4.752183] Asymmetric key parser 'x509' registered
[    4.757109] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
[    4.764556] io scheduler mq-deadline registered
[    4.769115] io scheduler kyber registered
[    4.774226] ps_pcie_dma init()
[    4.792525] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    4.799566] Serial: AMBA driver
[    4.803769] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    4.812710] brd: module loaded
[    4.818574] loop: module loaded
[    4.822471] mtdoops: mtd device (mtddev=name/number) must be supplied
[    4.829926] libphy: Fixed MDIO Bus: probed
[    4.834839] tun: Universal TUN/TAP device driver, 1.6
[    4.840007] CAN device driver interface
[    4.844272] usbcore: registered new interface driver asix
[    4.849734] usbcore: registered new interface driver ax88179_178a
[    4.855880] usbcore: registered new interface driver cdc_ether
[    4.861765] usbcore: registered new interface driver net1080
[    4.867471] usbcore: registered new interface driver cdc_subset
[    4.873440] usbcore: registered new interface driver zaurus
[    4.879067] usbcore: registered new interface driver cdc_ncm
[    4.885172] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    4.891742] ehci-pci: EHCI PCI platform driver
[    4.896407] usbcore: registered new interface driver uas
[    4.901776] usbcore: registered new interface driver usb-storage
[    4.907863] usbcore: registered new interface driver usbserial_generic
[    4.914444] usbserial: USB Serial support registered for generic
[    4.920501] usbcore: registered new interface driver ftdi_sio
[    4.926290] usbserial: USB Serial support registered for FTDI USB Serial Device
[    4.933659] usbcore: registered new interface driver upd78f0730
[    4.939624] usbserial: USB Serial support registered for upd78f0730
[    4.946300] udc-core: couldn't find an available UDC - added [g_mass_storage] to list of pending drivers
[    4.956023] i2c /dev entries driver
[    4.960600] usbcore: registered new interface driver uvcvideo
[    4.966385] USB Video Class driver (1.1.1)
[    4.971088] Bluetooth: HCI UART driver ver 2.3
[    4.975563] Bluetooth: HCI UART protocol H4 registered
[    4.980732] Bluetooth: HCI UART protocol BCSP registered
[    4.986088] Bluetooth: HCI UART protocol LL registered
[    4.991259] Bluetooth: HCI UART protocol ATH3K registered
[    4.996700] Bluetooth: HCI UART protocol Three-wire (H5) registered
[    5.003033] Bluetooth: HCI UART protocol Intel registered
[    5.008475] Bluetooth: HCI UART protocol QCA registered
[    5.013752] usbcore: registered new interface driver bcm203x
[    5.019462] usbcore: registered new interface driver bpa10x
[    5.025085] usbcore: registered new interface driver bfusb
[    5.030618] usbcore: registered new interface driver btusb
[    5.036163] usbcore: registered new interface driver ath3k
[    5.041970] sdhci: Secure Digital Host Controller Interface driver
[    5.048197] sdhci: Copyright(c) Pierre Ossman
[    5.052579] sdhci-pltfm: SDHCI platform and OF driver helper
[    5.058472] ledtrig-cpu: registered to indicate activity on CPUs
[    5.064530] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
[    5.071109] zynqmp_firmware_probe Platform Management API v1.0
[    5.076988] zynqmp_firmware_probe Trustzone version v1.0
[    5.082712] xlnx_event_manager xlnx_event_manager: Failed to find property for Interrupt parent
[    5.091477] xlnx_event_manager xlnx_event_manager: SGI Init has been failed with -22
[    5.099275] xlnx_event_manager: probe of xlnx_event_manager failed with error -22
[    5.150456] usbcore: registered new interface driver usbhid
[    5.156074] usbhid: USB HID core driver
[    5.161516] sysmon f1270000.sysmon: Successfully registered Versal Sysmon
[    5.170227] ARM CCI_500 PMU driver probed
[    5.170306] axi_sysid a5000000.axi-sysid-0: AXI System ID core version (1.01.a) found
[    5.182380] axi_sysid a5000000.axi-sysid-0: [ad9081_fmca_ebz] on [vck190] git branch <dev_versal_hier> git <b1c04ddc39baa15e77c234a0ff3b13d4c4fe40de> clean [2021-11-12 11:25:25] UTC
[    5.198937] fpga_manager fpga0: Xilinx Versal FPGA Manager registered
[    5.205685] usbcore: registered new interface driver snd-usb-audio
[    5.212952] pktgen: Packet Generator for packet performance testing. Version: 2.75
[    5.221114] Initializing XFRM netlink socket
[    5.225462] NET: Registered protocol family 10
[    5.230204] Segment Routing with IPv6
[    5.234001] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    5.240205] NET: Registered protocol family 17
[    5.244685] NET: Registered protocol family 15
[    5.249238] can: controller area network core
[    5.253650] NET: Registered protocol family 29
[    5.258126] can: raw protocol
[    5.261111] can: broadcast manager protocol
[    5.265322] can: netlink gateway - max_hops=1
[    5.269765] Bluetooth: RFCOMM TTY layer initialized
[    5.274680] Bluetooth: RFCOMM socket layer initialized
[    5.279862] Bluetooth: RFCOMM ver 1.11
[    5.283636] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    5.288981] Bluetooth: BNEP filters: protocol multicast
[    5.294241] Bluetooth: BNEP socket layer initialized
[    5.299235] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[    5.305194] Bluetooth: HIDP socket layer initialized
[    5.310312] 9pnet: Installing 9P2000 support
[    5.314615] NET: Registered protocol family 36
[    5.319095] Key type dns_resolver registered
[    5.323575] registered taskstats version 1
[    5.327701] Loading compiled-in X.509 certificates
[    5.333340] Btrfs loaded, crc32c=crc32c-generic
[    5.343647] ff000000.serial: ttyAMA0 at MMIO 0xff000000 (irq = 31, base_baud = 0) is a SBSA
[    5.352092] printk: console [ttyAMA0] enabled
[    5.360821] printk: bootconsole [pl11] disabled
[    5.370264] of-fpga-region fpga: FPGA Region probed
[    5.375637] gpio gpiochip2: (pmc_gpio): detected irqchip that is shared with multiple gpiochips: please fix the driver.
[    5.387085] xilinx-zynqmp-dma ffa80000.dma: ZynqMP DMA driver Probe success
[    5.394258] xilinx-zynqmp-dma ffa90000.dma: ZynqMP DMA driver Probe success
[    5.401417] xilinx-zynqmp-dma ffaa0000.dma: ZynqMP DMA driver Probe success
[    5.408585] xilinx-zynqmp-dma ffab0000.dma: ZynqMP DMA driver Probe success
[    5.415741] xilinx-zynqmp-dma ffac0000.dma: ZynqMP DMA driver Probe success
[    5.422897] xilinx-zynqmp-dma ffad0000.dma: ZynqMP DMA driver Probe success
[    5.430062] xilinx-zynqmp-dma ffae0000.dma: ZynqMP DMA driver Probe success
[    5.437223] xilinx-zynqmp-dma ffaf0000.dma: ZynqMP DMA driver Probe success
[    5.492875] hmc7044 spi2.0: PLL1: Locked, CLKIN0 @ 100000000 Hz, PFD: 10000 kHz - PLL2: Locked @ 2880.000000 MHz
[    5.503253] jesd204: /amba/spi@ff050000/hmc7044@0,jesd204:1,parent=spi2.0: Using as SYSREF provider
[    5.513343] macb ff0c0000.ethernet: Not enabling partial store and forward
[    5.520664] libphy: MACB_mii_bus: probed
[    5.525826] macb ff0c0000.ethernet eth0: Cadence GEM rev 0x0107010b at 0xff0c0000 irq 23 (00:0a:35:ad:90:81)
[    5.535957] macb ff0d0000.ethernet: Not enabling partial store and forward
[    5.551775] libphy: MACB_mii_bus: probed
[    5.555744] macb ff0d0000.ethernet eth1: Cadence GEM rev 0x0107010b at 0xff0d0000 irq 24 (a6:4f:84:d8:02:48)
[    5.566431] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[    5.571924] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 1
[    5.579654] xhci-hcd xhci-hcd.0.auto: hcc params 0x0238fe65 hci version 0x110 quirks 0x0000000000010810
[    5.589062] xhci-hcd xhci-hcd.0.auto: irq 49, io mem 0xfe200000
[    5.595202] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
[    5.603470] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    5.610692] usb usb1: Product: xHCI Host Controller
[    5.615562] usb usb1: Manufacturer: Linux 5.10.0-97800-g491fbc6ee668 xhci-hcd
[    5.622689] usb usb1: SerialNumber: xhci-hcd.0.auto
[    5.627786] hub 1-0:1.0: USB hub found
[    5.631543] hub 1-0:1.0: 1 port detected
[    5.635688] xhci-hcd xhci-hcd.0.auto: xHCI Host Controller
[    5.641179] xhci-hcd xhci-hcd.0.auto: new USB bus registered, assigned bus number 2
[    5.648831] xhci-hcd xhci-hcd.0.auto: Host supports USB 3.0 SuperSpeed
[    5.655426] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.10
[    5.663689] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    5.670907] usb usb2: Product: xHCI Host Controller
[    5.675777] usb usb2: Manufacturer: Linux 5.10.0-97800-g491fbc6ee668 xhci-hcd
[    5.682907] usb usb2: SerialNumber: xhci-hcd.0.auto
[    5.688051] hub 2-0:1.0: USB hub found
[    5.691939] hub 2-0:1.0: config failed, hub doesn't have any ports! (err -19)
[    5.699838] rtc_zynqmp f12a0000.rtc: registered as rtc0
[    5.705075] rtc_zynqmp f12a0000.rtc: setting system clock to 2021-11-14T01:20:50 UTC (1636852850)
[    5.714384] cdns-i2c ff020000.i2c: 400 kHz mmio ff020000 irq 27
[    5.720724] Xilinx Watchdog fd4d0000.watchdog: Xilinx Watchdog Timer with timeout 30s
[    5.728877] cpu cpu0: dev_pm_opp_set_rate: failed to find current OPP for freq 1399999986 (-34)
[    5.737622] cpufreq: cpufreq_online: CPU0: Running at unlisted initial frequency: 1399999 KHz, changing to: 1199999 KHz
[    5.748407] cpu cpu0: dev_pm_opp_set_rate: failed to find current OPP for freq 1399999986 (-34)
[    5.758286] axi-jesd204-rx a4a90000.axi-jesd204-rx: AXI-JESD204-RX (1.07.a) at 0xA4A90000. Encoder 64b66b, width 8/12, lanes 2, jesd204-fsm.
[    5.771261] axi-jesd204-tx a4b90000.axi-jesd204-tx: AXI-JESD204-TX (1.06.a) at 0xA4B90000. Encoder 64b66b, width 8/12, lanes 2, jesd204-fsm.
[    5.788980] mmc0: SDHCI controller on f1050000.sdhci [f1050000.sdhci] using ADMA 64-bit
[    5.832333] mmc0: new high speed SDHC card at address e624
[    5.838101] mmcblk0: mmc0:e624 SB16G 14.8 GiB 
[    5.846729]  mmcblk0: p1 p2 p3
[    6.043130] random: fast init done
[    6.685549] ad9081 spi1.0: AD9081 Rev. 3 Grade 2 (API 1.1.1) probed
[    6.712493] cf_axi_adc a4a10000.axi-ad9081-rx-hpc: ADI AIM (10.01.b) at 0xA4A10000 mapped to 0x(____ptrval____), probed ADC AD9081 as MASTER
[    6.745126] cf_axi_dds a4b10000.axi-ad9081-tx-hpc: Analog Devices CF_AXI_DDS_DDS MASTER (9.01.b) at 0xA4B10000 mapped to 0x(____ptrval____), probed DDS AD9081
[    6.759310] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition initialized -> probed
[    6.769914] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition initialized -> probed
[    6.780520] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition probed -> idle
[    6.790515] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition probed -> idle
[    6.800511] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition idle -> device_init
[    6.810943] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition idle -> device_init
[    6.821379] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition device_init -> link_init
[    6.832242] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition device_init -> link_init
[    6.843113] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition link_init -> link_supported
[    6.854237] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition link_init -> link_supported
[    6.865541] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition link_supported -> link_pre_setup
[    6.877102] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition link_supported -> link_pre_setup
[    6.890799] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition link_pre_setup -> clk_sync_stage1
[    6.902445] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition link_pre_setup -> clk_sync_stage1
[    6.914091] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition clk_sync_stage1 -> clk_sync_stage2
[    6.925821] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition clk_sync_stage1 -> clk_sync_stage2
[    6.937559] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition clk_sync_stage2 -> clk_sync_stage3
[    6.949290] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition clk_sync_stage2 -> clk_sync_stage3
[    6.961025] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition clk_sync_stage3 -> link_setup
[    6.972324] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition clk_sync_stage3 -> link_setup
[    6.988467] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition link_setup -> opt_setup_stage1
[    6.999855] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition link_setup -> opt_setup_stage1
[    7.016062] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition opt_setup_stage1 -> opt_setup_stage2
[    7.027968] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition opt_setup_stage1 -> opt_setup_stage2
[    7.040096] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition opt_setup_stage2 -> opt_setup_stage3
[    7.052002] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition opt_setup_stage2 -> opt_setup_stage3
[    7.063911] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition opt_setup_stage3 -> opt_setup_stage4
[    7.075816] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition opt_setup_stage3 -> opt_setup_stage4
[    7.087723] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition opt_setup_stage4 -> opt_setup_stage5
[    7.099627] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition opt_setup_stage4 -> opt_setup_stage5
[    7.115630] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition opt_setup_stage5 -> clocks_enable
[    7.127277] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition opt_setup_stage5 -> clocks_enable
[    7.138985] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition clocks_enable -> link_enable
[    7.150197] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition clocks_enable -> link_enable
[    7.185158] ad9081 spi1.0: JESD RX (JTX) Link2 PLL locked, PHASE established, MODE valid
[    7.277199] ad9081 spi1.0: JESD TX (JRX) Link0 204C status: Undef (1)
[    7.283637] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] got error from cb: -1
[    7.293285] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: Rolling back from 'link_enable', got error -1
[    7.304062] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition link_enable -> link_running
[    7.315186] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition link_enable -> link_running
[    7.326363] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition link_running -> link_enable
[    7.337489] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition link_running -> link_enable
[    7.352662] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition link_enable -> clocks_enable
[    7.363872] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition link_enable -> clocks_enable
[    7.375083] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition clocks_enable -> opt_setup_stage5
[    7.386726] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition clocks_enable -> opt_setup_stage5
[    7.398373] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition opt_setup_stage5 -> opt_setup_stage4
[    7.410278] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition opt_setup_stage5 -> opt_setup_stage4
[    7.422184] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition opt_setup_stage4 -> opt_setup_stage3
[    7.434089] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition opt_setup_stage4 -> opt_setup_stage3
[    7.445996] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition opt_setup_stage3 -> opt_setup_stage2
[    7.457903] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition opt_setup_stage3 -> opt_setup_stage2
[    7.469810] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition opt_setup_stage2 -> opt_setup_stage1
[    7.481714] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition opt_setup_stage2 -> opt_setup_stage1
[    7.493621] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition opt_setup_stage1 -> link_setup
[    7.505005] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition opt_setup_stage1 -> link_setup
[    7.516390] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition link_setup -> clk_sync_stage3
[    7.527689] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition link_setup -> clk_sync_stage3
[    7.538987] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition clk_sync_stage3 -> clk_sync_stage2
[    7.550718] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition clk_sync_stage3 -> clk_sync_stage2
[    7.562451] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition clk_sync_stage2 -> clk_sync_stage1
[    7.574182] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition clk_sync_stage2 -> clk_sync_stage1
[    7.585916] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition clk_sync_stage1 -> link_pre_setup
[    7.597560] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition clk_sync_stage1 -> link_pre_setup
[    7.609206] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition link_pre_setup -> link_supported
[    7.620763] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition link_pre_setup -> link_supported
[    7.632322] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition link_supported -> link_init
[    7.643445] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition link_supported -> link_init
[    7.654572] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition link_init -> device_init
[    7.665435] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition link_init -> device_init
[    7.676299] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition device_init -> idle
[    7.686728] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition device_init -> idle
[    7.697160] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition idle -> idle
[    7.706981] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition idle -> idle
[    7.716806] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition idle -> device_init
[    7.727235] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition idle -> device_init
[    7.737667] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition device_init -> link_init
[    7.748529] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition device_init -> link_init
[    7.759398] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition link_init -> link_supported
[    7.770521] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition link_init -> link_supported
[    7.781823] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition link_supported -> link_pre_setup
[    7.793382] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition link_supported -> link_pre_setup
[    7.807077] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition link_pre_setup -> clk_sync_stage1
[    7.818724] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition link_pre_setup -> clk_sync_stage1
[    7.830369] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition clk_sync_stage1 -> clk_sync_stage2
[    7.842102] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition clk_sync_stage1 -> clk_sync_stage2
[    7.853834] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition clk_sync_stage2 -> clk_sync_stage3
[    7.865564] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition clk_sync_stage2 -> clk_sync_stage3
[    7.877298] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition clk_sync_stage3 -> link_setup
[    7.888597] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition clk_sync_stage3 -> link_setup
[    7.904730] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition link_setup -> opt_setup_stage1
[    7.916116] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition link_setup -> opt_setup_stage1
[    7.932388] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition opt_setup_stage1 -> opt_setup_stage2
[    7.944295] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition opt_setup_stage1 -> opt_setup_stage2
[    7.956422] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition opt_setup_stage2 -> opt_setup_stage3
[    7.968329] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition opt_setup_stage2 -> opt_setup_stage3
[    7.980235] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition opt_setup_stage3 -> opt_setup_stage4
[    7.992140] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition opt_setup_stage3 -> opt_setup_stage4
[    8.004048] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition opt_setup_stage4 -> opt_setup_stage5
[    8.015952] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition opt_setup_stage4 -> opt_setup_stage5
[    8.031956] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition opt_setup_stage5 -> clocks_enable
[    8.043601] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition opt_setup_stage5 -> clocks_enable
[    8.055307] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition clocks_enable -> link_enable
[    8.066518] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition clocks_enable -> link_enable
[    8.101156] ad9081 spi1.0: JESD RX (JTX) Link2 PLL locked, PHASE established, MODE valid
[    8.109482] ad9081 spi1.0: JESD TX (JRX) Link0 204C status: Link is good (6)
[    8.116528] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition link_enable -> link_running
[    8.127651] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition link_enable -> link_running
[    8.138777] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[2] transition link_running -> opt_post_running_stage
[    8.150856] jesd204: /amba/spi@ff040000/ad9081@0,jesd204:0,parent=spi1.0: JESD204[0] transition link_running -> opt_post_running_stage
[    8.164837] of_cfs_init
[    8.167302] of_cfs_init: OK
[    8.170152] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    8.243043] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    8.249574] clk: Not disabling unused clocks
[    8.254308] ALSA device list:
[    8.257270]   No soundcards found.
[    8.261050] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    8.269659] cfg80211: failed to load regulatory.db
[    8.298048] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    8.306158] VFS: Mounted root (ext4 filesystem) on device 179:2.
[    8.321759] devtmpfs: mounted
[    8.325456] Freeing unused kernel memory: 2624K
[    8.330036] Run /sbin/init as init process
[    8.334124]   with arguments:
[    8.334127]     /sbin/init
[    8.334129]   with environment:
[    8.334131]     HOME=/
[    8.334134]     TERM=linux
[    8.883587] systemd[1]: systemd 241 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN2 +IDN -PCRE2 default-hierarchy=hybrid)
[    8.905219] systemd[1]: Detected architecture arm64.
[    8.931721] systemd[1]: Set hostname to <analog>.
[    9.125733] systemd[1]: File /lib/systemd/system/systemd-journald.service:12 configures an IP firewall (IPAddressDeny=any), but the local system does not support BPF/cgroup based firewalling.
[    9.142786] systemd[1]: Proceeding WITHOUT firewalling in effect! (This warning is only shown for the first loaded unit using IP firewalling.)
[    9.267476] systemd[1]: /etc/systemd/system/tof-server.service:1: Assignment outside of section. Ignoring.
[    9.277167] systemd[1]: /etc/systemd/system/tof-server.service:2: Assignment outside of section. Ignoring.
[    9.407039] random: systemd: uninitialized urandom read (16 bytes read)
[    9.421214] random: systemd: uninitialized urandom read (16 bytes read)
[    9.427892] systemd[1]: Reached target Swap.
[    9.445014] random: systemd: uninitialized urandom read (16 bytes read)
[    9.451751] systemd[1]: Started Forward Password Requests to Wall Directory Watch.
[    9.477298] systemd[1]: Listening on Journal Socket (/dev/log).
[   10.187619] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
[   10.336220] systemd-journald[230]: Received request to flush runtime journal from PID 1
[   14.631672] macb ff0c0000.ethernet eth0: PHY [ff0c0000.ethernet-ffffffff:01] driver [TI DP83867] (irq=POLL)
[   14.631681] macb ff0c0000.ethernet eth0: configuring for phy/rgmii-id link mode
[   14.635875] macb ff0d0000.ethernet eth1: PHY [ff0c0000.ethernet-ffffffff:02] driver [TI DP83867] (irq=POLL)
[   14.635884] macb ff0d0000.ethernet eth1: configuring for phy/rgmii-id link mode
[   15.029389] Adding 102396k swap on /var/swap.  Priority:-2 extents:1 across:102396k SS
[   16.944965] random: crng init done
[   16.944971] random: 7 urandom warning(s) missed due to ratelimiting
[   17.714484] macb ff0c0000.ethernet eth0: Link is Up - 1Gbps/Full - flow control off
[   17.714687] IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready

Login Information

  • user: analog
  • password: analog

The following devices should be present:

This specifies any shell prompt running on the target

root@analog:~# iio_info | grep iio:device
        iio:device0: xlnx,versal-sysmon
        iio:device1: hmc7044
        iio:device2: axi-ad9081-rx-hpc (buffer capable)
        iio:device3: axi-ad9081-tx-hpc (buffer capable)


IIO Oscilloscope Remote

Please see also here:Oscilloscope

The IIO Oscilloscope application can be used locally on FPGA platforms featuring a graphical desktop environment such as ZCU102 or ZC706 or remote using a network connection.

When using the remote option, once you logged in to the Linux terminal you need to check the IP address of the using the ifconfig command to see if there was any address assigned by a DHCP server. If not, you need to manually set an address with ifconfig in the same address space your PC is using.

Once the IIO Osc application is launched goto Settings → Connect and enter the IP address of the target in the popup window.

IIO OSC AD9081 Capture Window

Introduction

Main receivers are handled by the axi-ad9081-rx-hpc IIO device, The number of channels depend on the JESD mode (M) parameter and can vary from case to case. When using complex IQ, two channels index by _i and _q from a receiver.

Screenshots
Time Domain View

Frequency Domain View

AD9081 Plugin Description

The AD9081 plugin works with the IIO Oscilloscope. You always use the latest version if possible. Changing any field will immediately write changes which have been made to the AD9081 settings to the hardware, and then read it back to make sure the setting is valid. If you want to set something that the GUI changes to a different number, that either means that GUI is rounding (sorry), or the hardware (either the AD9081 or the FPGA fabric) does not support that mode/precision.

If you want to go play with /sys/bus/iio/devices/…. and manipulate the devices behind the back of the GUI, it's still possible to see the settings by clicking the Reload Settings button at the bottom of the GUI.

The AD9081 view is divided in three sections:

  • Receive Chain
  • Transmit Chain
  • FPGA Settings

Receive Chain

  • ADC Rate(MHz): Displays the ADC Sample Rate. Read More
  • ADC Nyquist Zone Control: Selects the Nyquist Zone. Read More
  • RX Main NCO Frequency Control: Controls the Main NCO. Frequency Read More
  • RX Main NCO Phase Control: Controls the Main NCO Phase. Read More
  • RX Channel NCO Frequency Control: Controls the Channel NCO Frequency. Read More
  • RX Channel NCO Phase Control: Controls the Channel NCO Phase. Read More

Transmit Chain

  • DAC Rate(MHz): Displays the DAC Sample Rate. Read More
  • TX Main NCO Frequency Control: Controls the Main NCO Frequency. Read More
  • TX Main NCO Phase Control: Controls the Main NCO Phase. Read More
  • TX Channel NCO Frequency Control: Controls the Channel. NCO Frequency Read More
  • TX Channel NCO Phase Control: Controls the Channel NCO Phase. Read More
  • TX NCO Channel Digital Gain: Controls the Channel NCO digital gain. Read More
  • TX NCO Test Tone Modes: Controls the Test Tone generation. Read More

FPGA Settings
Transmit/DDS

The plugin provides several options on how the transmitted data is generated.

It is possible to either use the built-in two tone Direct Digital Synthesizer (DDS) to transmit a bi-tonal signal on channels I and Q of the DAC. Or it is possible to use the Direct Memory Access (DMA) facility to transmit custom data that you have stored in a file.

This can be achieved by selecting one of the following options listed by the DDS Mode:

One CW Tone

In One CW Tone mode one continuous wave (CW) tone will be outputted. The plugin displays the controls to set the Frequency, Amplitude and Phase for just one tone and makes sure that the amplitude of the other tone is set to 0. The resulting signal will be outputted on the Channel I of the DAC and the exact same signal but with a difference in phase of 90 degrees will be outputted on the Channel Q of the DAC.

Two CW Tone

In Two CW Tone mode two continuous wave (CW) tones will be outputted. The plugin displays the controls to set the frequencies F1 and F2, amplitudes A1 and A2, phases P1 and P2 for the two tones. The resulting signal will be outputted on the Channel I of the DAC and the exact same signal but with a difference in phase of 90 degrees will be outputted on the Channel Q of the DAC.

Independent I/Q Control

In Independent I/Q Control the plugin displays the controls to set the frequencies, amplitudes and phases for the two tones that will be outputted on channel I and additionally it allows for the two tones that will be outputted on channel Q of the DAC to be configured independently.

Note: The bi-tonal signal (T) is defined as the sum of two tones:
T(t) = A1 * sin(2 * p * F1 * t + P1) + A2 * sin(2 * p * F2 * t + P2),
where A-amplitude, F-frequency, P-phase of a tone.

DAC Buffer Output

The file selector under the File Selection section is used to locate and choose the desired data file. Under the DAC Channels section the enabled channels will be used to transmit the data stored in the file. To finalize the process, a click on the Load button is required.

Restrictions:

  • There are two types of files than can be loaded: .txt or .mat. The IIO-Oscilloscope comes with several data files that can be used. If you want to create your own data files please take a look at the Basic IQ Data Files documentation first.
  • Due to hardware limitation only specific combinations of enabled channels are possible. You can enable a total of 1, 2, 4, etc. channels. If 1 channel is enabled then it can be any of them. If two channels are enabled then channels 0, 1 or channels 2, 3 can be enabled and so on.
Disable

In this mode both DDS and DMA are disabled causing the DAC channels to stop transmitting any data.

Upon pressing Reload Settings button the values will be reloaded with the corresponding driver values. Useful in scenarios where the diver values get changed outside this plugin and a refresh on plugin's values is needed.

Some plugin values will be rounded to the nearest value supported by the hardware.

Shut down

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

Support

Analog Devices will provide limited online support for anyone using the reference design with Analog Devices components via the EngineerZone.

resources/eval/user-guides/ad9081_fmca_ebz/quickstart/versal.1639391322.txt.gz · Last modified: 13 Dec 2021 11:28 by Laszlo Nagy