Hello,
One of our customers has the following questions:
A few months ago, my company bought an AD9082-FMCA-EBZ board. We are going to use the “AD9082-FMCA-EBZ board” with an “Mercury XU8 SoC and ST1 board” from the Enclustra company (basically the Mercury XU8 SoC is a Xilinx Zynq
UltraScale+ MPSoC Module).
Based on the hdl (https://urldefense.com/v3/__https://github.com/analogdevicesinc/hdl__;!!A3Ni8CS0y2Y!6A7y31gGLhzNc9kx_WB1UwuZNVYRXikd5CN-CFvonnW0aOwVgcC_xGFP36XHpeYtiD_7dqe0qL2uLUzR9t73Zg$ ) for a ZCU102, I have made the modifications to adapt the hdl for Mercury XU8/ST1. The modified design considers the same clock for transmission and reception (due to available pins on the FMC connector of Mercury XU8/ST1, we use clkin10_n/p while clkin6_n/p are not used).
To build the embedded Linux I configured the tools and I was able to build the Linux using Petalinux for the ZCU102 case. I have tried to replicate the same steps for the Mercury XU8/ST1 and found the following
limitations:
---------------------------------------
Case 1: usign meta-adi git repository
* There is no coincidence between the versions of Enclustra and ADI to build embedded Linux. Enclusta provides the BSP files (https://urldefense.com/v3/__https://github.com/enclustra/Mercury_XU8_ST1_Reference_Design/releases__;!!A3Ni8CS0y2Y!6A7y31gGLhzNc9kx_WB1UwuZNVYRXikd5CN-CFvonnW0aOwVgcC_xGFP36XHpeYtiD_7dqe0qL2uLUzNNn0m0Q$ ) for Petalinux versions 2020.1 / 2020.2 / 2022.1. While ADI provides the meta-adi (https://urldefense.com/v3/__https://github.com/analogdevicesinc/meta-adi__;!!A3Ni8CS0y2Y!6A7y31gGLhzNc9kx_WB1UwuZNVYRXikd5CN-CFvonnW0aOwVgcC_xGFP36XHpeYtiD_7dqe0qL2uLUxzUhDNIQ$ ) for Petalinux versions 2018_R2 / 2019_R1 / 2019_R2 / 2021_R1 / 2021_R2 / 2022_R2 / 2023.1.
* I have not found a document that explains the proper way to create ‘device tree’ files (for example zynqmp-zcu102-rev10-ad9082-m4-l8.dts).
To build embedded Linux I need the device tree files adapted to the Mercury XU8/ST1.
---------------------------------------
Case 2: using pbeltram git repository
* In the ADI EngineerZone, I found the following post:
https://ez.analog.com/fpga/f/q-a/573360/enclustra-st1-xu8-and-ad-fmcomms3-ebz/504460
The publication says that it worked with AD-FMCOMMS3-EBZ and the Mercury XU8/ST1, and access is also given to the git repository. I have followed the steps to build embedded Linux but like the previous case I do not have the device tree files.
* I manage to generate some device tree files by following the steps provided in https://urldefense.com/v3/__https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842279/Build*Device*Tree*Blob__;Kysr!!A3Ni8CS0y2Y!6A7y31gGLhzNc9kx_WB1UwuZNVYRXikd5CN-CFvonnW0aOwVgcC_xGFP36XHpeYtiD_7dqe0qL2uLUwNxCdeFw$ , in the generated files I do not find any reference to adi (axi_ad9081_adxcvr_rx, axi_ad9081_core_tx, adi,jesd-links, ad9081_adc0, ad9081_dac0, etc).
---------------------------------------
I have the following questions:
1). Could you generate the device tree files for the case of AD9082-FMCA-EBZ and Mercury XU8/ST1, or provide me with a guide on how to write these files?
2). For building embedded Linux, what steps and strategies can you recommend (case 1, case 2, or another more generic case that you know of)?
3). For another application we are going to use the AD9082-FMCA-EBZ but with another Zynq UltraScale+ model, do you know a generic method or flow for building embedded Linux?
I attach the system_top.xsa file generated with the hdl repository (adapted for AD9082-FMCA-EBZ and Mercury XU8/ST1) and the vivado 2020.2 version.
Please contact me directly so I can share the xsa file mentioned above.
Thanks
Alex Moreira