Wiki

This version is outdated by a newer approved version.DiffThis version (25 May 2020 23:14) was approved by Mihai Bancisor.The Previously approved version (25 May 2020 23:10) is available.Diff

This is an old revision of the document!


FMCOMMS8 Quick Start Guide

This guide provides some quick instructions (still takes awhile to download, and set things up) on how to setup the FMCOMMS8 on ADRV9009-ZU11EG and ZCU102.

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

Required Software

Pre-release SD Card Creation

The project will be release as part of 2019_r2 release.Before then, the SD image for 2019_r1 can be used.

Writing the SD Card

Details on how to write the SD card can be found here: Zynq & Altera SoC Quick Start Guide including the 2019_R1 image.

FMCOMMS8 Specific Boot Files

After writing the image, on the boot partition FMCOMMS8 specific files can be added from:

Copy:

  1. BOOT.BIN
  2. Image
  3. system.dtb

→ To the root directory of the SD-Card FAT32 BOOT partition.

Required Hardware

  • ADRV9009-ZU11EG SoM board
  • ADRV2CRR-FMC carrier board
  • Micro-USB cable
  • Ethernet cable
  • Power Supply

OR

  • ZCU102
  • Micro-USB cable
  • Ethernet cable
  • Power Supply

Optional Hardware

  • Reference clock source
  • USB Type-C multiport HUB
  • USB keyboard and mouse
  • DisplayPort compatible monitor

Testing

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.

Hardware Setup

ADRV9009-ZU11EG

  • Connect the ADRV9009-ZU11EG System on Module to the ADRV2CRR-FMC carrier board.
  • Connect the 12V Power Supply to P11
  • Connect USB UART P8 (Micro USB) to your host PC.
  • Connect fan to P9
  • Insert SD card into socket P15.
  • Configure ADRV2CRR-FMC for SD BOOT using S13, S14, S15, S16. See picture below.

  • Configure ADRV2CRR-FMC for SD BOOT from carrier using S9. See picture below.

  • Turn on the power switch on the carrier board using S12.
  • Optionally connect test and measurement equipment to U.FL RF ports.
  • Observe kernel and serial console messages on your terminal. (use the first ttyUSB or COM port registered, Baud rate 115200 (8N1))

Messages

This specifies any shell prompt running on the target

Release 2018.3   Mar  9 2020  -  12:23:37


U-Boot 2018.01-21435-g099c929 (May 28 2019 - 08:42:11 +0000) Analog Devices Inc. ADR9009-ZU11EG

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

In:    serial@ff010000
Out:   serial@ff010000
Err:   serial@ff010000
Bootmode: LVL_SHFT_SD_MODE1
Net:   ZYNQ GEM: ff0b0000, phyaddr 1, interface sgmii
i2c_mux_set: could not set mux: id: 5 chip: 74 channel: 0
I2C EEPROM MAC address read failed

Warning: ethernet@ff0b0000 (eth1) using random MAC address - 62:74:59:ed:d4:0d
eth1: ethernet@ff0b0000ZYNQ GEM: ff0e0000, phyaddr 0, interface rgmii-id
I2C EEPROM MAC address read failed

Warning: ethernet@ff0e0000 (eth0) using random MAC address - 42:d0:73:57:9c:b7
, eth0: ethernet@ff0e0000
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0 is current device
Device: sdhci@ff170000
Manufacturer ID: 27
OEM: 5048
Name: APUSD
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 7.4 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
reading uEnv.txt
416 bytes read in 11 ms (36.1 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
78202 bytes read in 27 ms (2.8 MiB/s)
reading Image
18403840 bytes read in 1202 ms (14.6 MiB/s)
## Flattened Device Tree blob at 04000000
   Booting using the fdt blob at 0x4000000
   Loading Device Tree to 000000000ffe9000, end 000000000ffff179 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.14.0-g85e0210 (acostina@romlx2.adlk.analog.com) (gcc version 8.2.0 (GCC)) #154 SMP Mon Mar 9 15:02:46 GMT 2020
[    0.000000] Boot CPU: AArch64 Processor [410fd034]
[    0.000000] Machine model: Analog Devices ADRV9009-ZU11EG Rev.B
[    0.000000] earlycon: cdns0 at MMIO 0x00000000ff010000 (options '115200n8')
[    0.000000] bootconsole [cdns0] enabled
[    0.000000] efi: Getting EFI parameters from FDT:
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 256 MiB at 0x0000000070000000
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] random: fast init done
.
.
.
[    4.217212] adrv9009 spi1.0: adrv9009_probe : enter
[    4.222255] adrv9009 spi1.1: adrv9009_probe : enter
[    4.227253] adrv9009 spi2.0: adrv9009_probe : enter
[    4.232258] adrv9009 spi2.1: adrv9009_probe : enter
[    4.291617] axi_adxcvr 84a40000.axi-adxcvr-rx: AXI-ADXCVR-RX (17.01.a) using GTH4 at 0x84A40000 mapped to 0xffffff80095a5000. Number of lanes: 8.
[    4.306239] axi_adxcvr 84a60000.axi-adxcvr-rx-os: AXI-ADXCVR-RX (17.01.a) using GTH4 at 0x84A60000 mapped to 0xffffff80095ad000. Number of lanes: 8.
[    4.320207] axi_adxcvr 84a20000.axi-adxcvr-tx: AXI-ADXCVR-TX (17.01.a) using GTH4 at 0x84A20000 mapped to 0xffffff80095b5000. Number of lanes: 16.
[    4.334717] xilinx-dp-snd-card fd4a0000.zynqmp-display:zynqmp_dp_snd_card: ASoC: CPU DAI (null) not registered
[    4.345022] macb ff0b0000.ethernet: Not enabling partial store and forward
[    4.352352] libphy: MACB_mii_bus: probed
[    4.368115] mmc0: new high speed SDHC card at address 0007
[    4.373751] mmcblk0: mmc0:0007 APUSD 7.42 GiB
[    4.378802]  mmcblk0: p1 p2 p3
[    4.427364] macb ff0b0000.ethernet eth1: Cadence GEM rev 0x50070106 at 0xff0b0000 irq 13 (62:74:59:ed:d4:0d)
[    4.437185] Marvell 88E1510 ff0e0000.ethernet-ffffffff:01: attached PHY driver [Marvell 88E1510] (mii_bus:phy_addr=ff0e0000.ethernet-ffffffff:01, irq=POLL)
[    4.451429] adrv9009 spi1.0: adrv9009_probe : enter
[    4.458924] adrv9009 spi1.0: ADIHAL_resetHw at index
[    4.787278] [drm] Cannot find any crtc or sizes
[    4.858803] random: crng init done
[   12.003164] adrv9009 spi1.0: TAL_DEFRAMER_A deframerStatus 0x12
[   12.009165] adrv9009 spi1.0: TAL_FRAMER_A framerStatus 0x21
[   12.014823] adrv9009 spi1.0: TAL_FRAMER_B framerStatus 0x29
[   12.124377] adrv9009 spi1.0: adrv9009_probe: adrv9009-x4 Rev 192, Firmware 6.0.2 API version: 3.6.0.5 successfully initialized
[   12.135923] adrv9009 spi1.1: adrv9009_probe : enter
[   12.143165] adrv9009 spi1.1: ADIHAL_resetHw at index
[   19.673166] adrv9009 spi1.1: TAL_FRAMER_A framerStatus 0x1
[   19.678735] adrv9009 spi1.1: TAL_FRAMER_B framerStatus 0x9
[   19.788165] adrv9009 spi1.1: adrv9009_probe: adrv9009 Rev 192, Firmware 6.0.2 API version: 3.6.0.5 successfully initialized
[   19.799446] adrv9009 spi2.0: adrv9009_probe : enter
[   19.806693] adrv9009 spi2.0: ADIHAL_resetHw at index
[   27.596084] adrv9009 spi2.0: TAL_FRAMER_A framerStatus 0x1
[   27.601663] adrv9009 spi2.0: TAL_FRAMER_B framerStatus 0x9
[   27.611311] adrv9009 spi2.0: adrv9009_probe: adrv9009 Rev 192, Firmware 6.0.2 API version: 3.6.0.5 successfully initialized
[   27.622593] adrv9009 spi2.1: adrv9009_probe : enter
[   27.629845] adrv9009 spi2.1: ADIHAL_resetHw at index
[   28.371288] axi-jesd204-rx 84a50000.axi-jesd204-rx: Lane 6 desynced (15 errors), restarting link
[   28.380066] axi-jesd204-rx 84a50000.axi-jesd204-rx: Lane 7 desynced (8 errors), restarting link
[   28.488779] axi-jesd204-rx 84a70000.axi-jesd204-rx: Lane 6 desynced (26 errors), restarting link
[   28.497558] axi-jesd204-rx 84a70000.axi-jesd204-rx: Lane 7 desynced (354 errors), restarting link
[   29.491289] axi-jesd204-rx 84a50000.axi-jesd204-rx: Lane 7 desynced (102 errors), restarting link
[   35.763278] axi-jesd204-rx 84a70000.axi-jesd204-rx: Lane 6 desynced (31 errors), restarting link
[   35.772054] axi-jesd204-rx 84a70000.axi-jesd204-rx: Lane 7 desynced (22 errors), restarting link
[   35.883345] adrv9009 spi2.1: adrv9009_probe: adrv9009 Rev 192, Firmware 6.0.2 API version: 3.6.0.5 successfully initialized
[   35.912777] cf_axi_dds 84a04000.axi-adrv9009-tx-hpc: Analog Devices CF_AXI_DDS_DDS MASTER (9.01.b) at 0x84A04000 mapped to 0xffffff800beb0000, probed DDS ADRV9009-X4
[   35.927747] xilinx-dp-snd-card fd4a0000.zynqmp-display:zynqmp_dp_snd_card: ASoC: CPU DAI (null) not registered
[   35.958482] cf_axi_adc 84a00000.axi-adrv9009-rx-hpc: ADI AIM (10.01.b) at 0x84A00000 mapped to 0xffffff800bec8000, probed ADC ADRV9009-X4 as MASTER
[   35.971835] xilinx-dp-snd-card fd4a0000.zynqmp-display:zynqmp_dp_snd_card: ASoC: CPU DAI (null) not registered
[   35.982836] input: gpio_keys as /devices/platform/gpio_keys/input/input0
[   35.989688] hctosys: unable to open rtc device (rtc0)
[   35.995840] ALSA device list:
[   35.998794]   No soundcards found.
[   36.002623] xilinx-dp-snd-card fd4a0000.zynqmp-display:zynqmp_dp_snd_card: ASoC: CPU DAI (null) not registered
[   36.667288] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[   36.675383] VFS: Mounted root (ext4 filesystem) on device 179:2.
[   36.689156] devtmpfs: mounted
[   36.692213] Freeing unused kernel memory: 512K
[   36.755282] axi-jesd204-rx 84a50000.axi-jesd204-rx: Lane 6 desynced (12 errors), restarting link
[   36.764059] axi-jesd204-rx 84a50000.axi-jesd204-rx: Lane 7 desynced (9 errors), restarting link
Mount failed for selinuxfs on /sys/fs/selinux:  No such file or directory
[   37.059089] init: hwclock main process (1822) terminated with status 1
 * Setting up X socket directories...                                    [ OK ]
 * STARTDISTCC is set to false in /etc/default/distcc
 * /usr/bin/distccd not starting
 * Starting IIO Daemon iiod                                              [ OK ]

Last login: Thu Jan  1 00:00:43 UTC 1970 on ttyPS0
Welcome to Linaro 14.04 (GNU/Linux 4.14.0-g85e0210 aarch64)

 * Documentation:  https://wiki.analog.com/ https://ez.analog.com/

New release '16.04.6 LTS' available.
Run 'do-release-upgrade' to upgrade to it.

Make sure all devices are present

This specifies any shell prompt running on the target

root@analog:~# iio_info | grep iio:device
        iio:device0: ams
        iio:device1: hmc7044-car
        iio:device10: axi-adrv9009-rx-obs-hpc (buffer capable)
        iio:device11: axi-adrv9009-tx-hpc (buffer capable)
        iio:device12: axi-adrv9009-rx-hpc (buffer capable)
        iio:device2: hmc7044-ext
        iio:device3: hmc7044-fmc
        iio:device4: adm1177
        iio:device5: hmc7044
        iio:device6: adrv9009-phy
        iio:device7: adrv9009-phy-b
        iio:device8: adrv9009-phy-c
        iio:device9: adrv9009-phy-d

Issue a sysref request for syncrhonizing the HMC7044s

After changing the clock structure, a sysref request from HMC7044-CAR needs to be issued in order for the clock tree to be properly synchronized. At boot, the clock tree is not synchronized.

This specifies any shell prompt running on the target

root@analog:~#  iio_attr -q -d hmc7044-car sysref_request 1        

Check clock chip lock status on SoM, FMCOMMS8 and Carrier

This specifies any shell prompt running on the target

root@analog:~# iio_attr -q -D hmc7044 status
--- PLL1 ---
Status: Locked
Using:  CLKIN1 @ 122880000 Hz
PFD:    30720 kHz
--- PLL2 ---
Status: Locked (Synchronized)
Frequency:      2949120000 Hz
SYSREF Status:  Valid & Locked
SYNC Status:    Synchronized
Lock Status:    PLL1 & PLL2 Locked

root@analog:~# iio_attr -q -D hmc7044-fmc status
--- PLL1 ---
Status: Locked
Using:  CLKIN1 @ 122880000 Hz
PFD:    30720 kHz
--- PLL2 ---
Status: Locked (Synchronized)
Frequency:      2949120000 Hz
SYSREF Status:  Valid & Locked
SYNC Status:    Synchronized
Lock Status:    PLL1 & PLL2 Locked

root@analog:~# iio_attr -q -D hmc7044-car status
--- PLL1 ---
Status: Holdover
Using:  CLKIN1 @ 30720000 Hz
PFD:    30720 kHz
--- PLL2 ---
Status: Locked (Unsynchronized)
Frequency:      2949120000 Hz
SYSREF Status:  Valid & Locked
SYNC Status:    Unsynchronized
Lock Status:    Unlocked

Synchronizing the ADRV9009s

After the HMC7044s are synchronized, a MCS sync procedure should be issued in order to synchronize the ADRV9009 LOs. This can be done through IIO-Oscilloscope, by pressing the MCS Sync button.

Using the JESD204B Status Utility

This specifies any shell prompt running on the target

root@analog:~# TERM=vt100 jesd_status -s
(DEVICES) Found 3 JESD204 Link Layer peripherals

  (0): 84a30000.axi-jesd204-tx
  (1): 84a50000.axi-jesd204-rx
  (2): 84a70000.axi-jesd204-rx

  (STATUS)               (0)          (1)        (2)
  Link is                 enabled      enabled    enabled
  Link Status             DATA         DATA       DATA
  Measured Link Clock     122.879      245.758    122.878
  Reported Link Clock     122.880      245.760    122.880
  Lane rate               4915.200     9830.400   4915.200
  Lane rate / 40          122.880      245.760    122.880
  LMFC rate               7.680        7.680      3.840
  SYSREF captured         Yes          Yes        Yes
  SYSREF alignment error  No           No         No
  SYNC~                   deasserted

  (LANE STATUS)                   (1)                                                      (2)
  Lane#                             0      1      2      3      4      5      6      7       0      1      2      3      4      5      6      7
  Errors                            0      0      0      0      0      0      0      0       0      0      0      0      0      0      0      0
  Latency (Multiframes/Octets)      2/81   2/78   2/73   2/78   2/80   2/81   2/84   2/83    2/54   2/53   2/52   2/54   2/54   2/53   2/57   2/55
  CGS State                         DATA   DATA   DATA   DATA   DATA   DATA   DATA   DATA    DATA   DATA   DATA   DATA   DATA   DATA   DATA   DATA
  Initial Frame Sync                Yes    Yes    Yes    Yes    Yes    Yes    Yes    Yes     Yes    Yes    Yes    Yes    Yes    Yes    Yes    Yes
  Initial Lane Alignment Sequence   Yes    Yes    Yes    Yes    Yes    Yes    Yes    Yes     Yes    Yes    Yes    Yes    Yes    Yes    Yes    Yes

ZCU102

For ZCU102, FMCOMMS8 board connects to the HPC0 connector. The carrier setup requires power, UART (115200), ethernet (Linux), DisplayPort and/or JTAG connections.

Messages

This specifies any shell prompt running on the target

Xilinx Zynq MP First Stage Boot Loader
Release 2018.3   Mar  9 2020  -  12:23:38
NOTICE:  ATF running on XCZU9EG/silicon v4/RTL5.1 at 0xfffea000
NOTICE:  BL31: Secure code at 0x0
NOTICE:  BL31: Non secure code at 0x8000000
NOTICE:  BL31: v1.5(release):xilinx-v2018.3
NOTICE:  BL31: Built : 15:00:47, Mar 18 2019
PMUFW:  v1.1


U-Boot 2018.01 (Jun 29 2018 - 13:20:51 +0200) Xilinx ZynqMP ZCU102 rev1.0

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 c, interface rgmii-id

Warning: ethernet@ff0e0000 using MAC address from ROM
eth0: ethernet@ff0e0000
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0 is current device
Device: sdhci@ff170000
Manufacturer ID: 27
OEM: 5048
Name: APUSD
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 7.4 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
reading uEnv.txt
416 bytes read in 11 ms (36.1 KiB/s)
Loaded environment from uEnv.txt
Importing environment from SD ...
## Error: Can't overwrite "ethaddr"
himport_r: can't insert "ethaddr=56:7f:a2:a4:16:78" into hash table
Running uenvcmd ...
Copying Linux from SD to RAM...
** No boot file defined **
reading system.dtb
65923 bytes read in 26 ms (2.4 MiB/s)
reading Image
18328064 bytes read in 1208 ms (14.5 MiB/s)
## Flattened Device Tree blob at 04000000
   Booting using the fdt blob at 0x4000000
   Loading Device Tree to 000000000ffec000, end 000000000ffff182 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0
[    0.000000] Linux version 4.14.0-g338c0a9 (acostina@romlx2.adlk.analog.com) (gcc version 8.2.0 (GCC)) #153 SMP Mon Mar 9 12:28:26 GMT 2020
.
.
.
[    2.318130] axi_adxcvr 85a40000.axi-adxcvr-rx: AXI-ADXCVR-RX (17.01.a) using GTH4 at 0x85A40000 mapped to 0xffffff800949d000. Number of lanes: 4.
[    2.326997] axi_adxcvr 85a60000.axi-adxcvr-rx-os: AXI-ADXCVR-RX (17.01.a) using GTH4 at 0x85A60000 mapped to 0xffffff80094a5000. Number of lanes: 4.
[    2.339170] axi_adxcvr 85a20000.axi-adxcvr-tx: AXI-ADXCVR-TX (17.01.a) using GTH4 at 0x85A20000 mapped to 0xffffff80094ad000. Number of lanes: 8.
.
.
.
[   12.329405] adrv9009 spi1.0: TAL_FRAMER_A framerStatus 0x21
[   12.335076] adrv9009 spi1.0: TAL_FRAMER_B framerStatus 0x29
[   12.344932] adrv9009 spi1.0: adrv9009_probe: adrv9009-x2 Rev 192, Firmware 6.0.2 API version: 3.6.0.5 successfully initialized
[   12.356531] adrv9009 spi1.1: adrv9009_probe : enter
[   12.364150] adrv9009 spi1.1: ADIHAL_resetHw at index
[   13.330586] axi-jesd204-rx 85a70000.axi-jesd204-rx: Lane 2 desynced (16 errors), restarting link
[   13.339365] axi-jesd204-rx 85a70000.axi-jesd204-rx: Lane 3 desynced (14 errors), restarting link
[   13.448169] axi-jesd204-rx 85a50000.axi-jesd204-rx: Lane 2 desynced (7 errors), restarting link
[   13.456860] axi-jesd204-rx 85a50000.axi-jesd204-rx: Lane 3 desynced (9 errors), restarting link
[   20.615101] adrv9009 spi1.1: adrv9009_probe: adrv9009 Rev 192, Firmware 6.0.2 API version: 3.6.0.5 successfully initialized
[   20.647340] cf_axi_dds 85a04000.axi-adrv9009-tx-hpc: Analog Devices CF_AXI_DDS_DDS MASTER (9.01.b) at 0x85A04000 mapped to 0xffffff800d690000, probed DDS ADRV9009-X2
[   20.682658] cf_axi_adc 85a00000.axi-adrv9009-rx-hpc: ADI AIM (10.01.b) at 0x85A00000 mapped to 0xffffff800d6a8000, probed ADC ADRV9009-X2 as MASTER
[   20.696663] input: gpio-keys as /devices/platform/gpio-keys/input/input0
[   20.703559] rtc_zynqmp ffa60000.rtc: setting system clock to 2020-03-10 12:54:31 UTC (1583844871)
[   20.712654] PLL: shutdown
[   20.715274] zynqmp_pll_disable() clock disable failed for dpll_int, ret = -13
[   20.723339] ALSA device list:
[   20.726296]   #0: DisplayPort monitor
[   20.730238] axi-jesd204-rx 85a50000.axi-jesd204-rx: Lane 2 desynced (136 errors), restarting link
[   20.739106] axi-jesd204-rx 85a50000.axi-jesd204-rx: Lane 3 desynced (9 errors), restarting link
[   21.339935] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[   21.348040] VFS: Mounted root (ext4 filesystem) on device 179:2.
[   21.374271] devtmpfs: mounted
[   21.377345] Freeing unused kernel memory: 512K
[   21.618589] axi-jesd204-rx 85a70000.axi-jesd204-rx: Lane 2 desynced (22 errors), restarting link
[   21.627370] axi-jesd204-rx 85a70000.axi-jesd204-rx: Lane 3 desynced (12 errors), restarting link
Mount failed for selinuxfs on /sys/fs/selinux:  No such file or directory
[   21.874594] axi-jesd204-rx 85a50000.axi-jesd204-rx: Lane 2 desynced (51 errors), restarting link
 * Setting up X socket directories...                                    [ OK ]
 * STARTDISTCC is set to false in /etc/default/distcc
 * /usr/bin/distccd not starting
 * Starting IIO Daemon iiod                                              [ OK ]

Last login: Tue Mar 10 12:44:48 UTC 2020 on ttyPS0
Welcome to Linaro 14.04 (GNU/Linux 4.14.0-g338c0a9 aarch64)

 * Documentation:  https://wiki.analog.com/ https://ez.analog.com/

root@analog:~#

Make sure all devices are present

This specifies any shell prompt running on the target

root@analog:~# iio_info | grep iio:device
        iio:device0: ams
        iio:device1: hmc7044
        iio:device2: ad7291
        iio:device3: adrv9009-phy
        iio:device4: adrv9009-phy-b
        iio:device5: axi-adrv9009-rx-obs-hpc (buffer capable)
        iio:device6: axi-adrv9009-tx-hpc (buffer capable)
        iio:device7: axi-adrv9009-rx-hpc (buffer capable)

Check clock chip lock status on FMCOMMS8

This specifies any shell prompt running on the target

root@analog:~# iio_attr -q -D hmc7044 status
--- PLL1 ---
Status: Holdover
Using:  CLKIN1 @ 122880000 Hz
PFD:    7680 kHz
--- PLL2 ---
Status: Locked (Unsynchronized)
Frequency:      2949120000 Hz
SYSREF Status:  Valid & Locked
SYNC Status:    Unsynchronized
Lock Status:    Unlocked

Synchronizing the ADRV9009s

An MCS sync procedure should be issued in order to synchronize the ADRV9009 LOs. This can be done through IIO-Oscilloscope, by pressing the MCS Sync button.

Using the JESD204B Status Utility

This specifies any shell prompt running on the target

root@analog:~# TERM=vt100 jesd_status -s
  (DEVICES) Found 3 JESD204 Link Layer peripherals

  (0): 85a50000.axi-jesd204-rx
  (1): 85a70000.axi-jesd204-rx
  (2): 85a30000.axi-jesd204-tx

  (STATUS)               (0)        (1)        (2)
  Link is                 enabled    enabled    enabled
  Link Status             DATA       DATA       DATA
  Measured Link Clock     245.784    122.891    122.893
  Reported Link Clock     245.760    122.880    122.880
  Lane rate               9830.400   4915.200   4915.200
  Lane rate / 40          245.760    122.880    122.880
  LMFC rate               7.680      3.840      7.680
  SYSREF captured         Yes        Yes        Yes
  SYSREF alignment error  No         No         No
  SYNC~                                         deasserted

  (LANE STATUS)                   (0)                          (1)
  Lane#                             0      1      2      3       0      1      2      3
  Errors                            0      0      54     0       0      0      0      0
  Latency (Multiframes/Octets)      2/76   2/78   2/81   2/79    2/50   2/49   2/50   2/49
  CGS State                         DATA   DATA   DATA   DATA    DATA   DATA   DATA   DATA
  Initial Frame Sync                Yes    Yes    Yes    Yes     Yes    Yes    Yes    Yes
  Initial Lane Alignment Sequence   Yes    Yes    Yes    Yes     Yes    Yes    Yes    Yes

Video Configuration

The default configuration for most of the projects is to use the HDMI output, but for this project the DisplayPort is used. In order for it to work, you should follow the steps described here: DisplayPort No Picture
After following the steps, the board should be rebooted.

IIO Oscilloscope Remote

Please see also here:Oscilloscope

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

Build and start osc on a network enabled Linux host.

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

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

resources/eval/user-guides/ad-fmcomms8-ebz/quick-start-guide.1590441236.txt.gz · Last modified: 25 May 2020 23:13 by Mihai Bancisor