We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Showing results for 
Search instead for 
Did you mean: 
Visitor chettige
Registered: ‎10-08-2019

Building PL Ethernet (10G) using XAPP1305 for Vivado 2019.1 and Petalinux 2019.1

This post is a guide to build the XAPP1305 for PL Ethernet 10G using Vivado 2019.1 and Petalinux 2019.1 as the available guide would not work for the aforementioned versions of the software. This post is a collection of information from several forum posts.

  1. Follow the guide available for XAPP1305 from Xilinx Wiki. When the Vivado bitstream generation and hardware SDK export is completed, continue on to Petalinux Build Procedures for 2019.1. Before starting this procedure, continue to Note 01, where directions for creating a project using the HDF file is specified.
  2. Do not follow the step In petalinux-config DTG Settings ---> (template) MACHINE_NAME, change the template to zcu102-rev1.0. Keep the name as it is.
  3. In the next note Changes to system-user.dtsi, rather than the given changes, copy and replace the content on system-user.dtsi with the system-user.txt attached to this post.
  4.  After system-user.dtsi is updated, continue the Petalinux Build Procedures from Configure the Kernel onwards.

This will build a working image!

NOTE: For the curious mind, the given system-user.dtsi is made from the default Device Tree from Petalinux 2018.3 as the device tree on Petalinux 2019.1 is broken. Further, changes to system-user.dtsi given in the XAPP1305 Wiki is incorporated while changing the factory-fout and clock-frequency of i2c@2 to <156250000> as this is the proper frequency for a 10G Connection. (10 000 000 000 bits/sec / 64 bits wide axi stream = 156.25 Mhz)

Few of the errors that will be solved by this solution:

ERROR: device-tree-xilinx+gitAUTOINC+73e546e312-r0 do_compile: Function failed: devicetree_do_compile
eth1: XXV MAC block lock not complete! Cross-check the MAC ref clock configuration

Known Issues:

Following errors/warnings will still appear at boot, even though the system is working properly.

root@ref_10g_xilinx:~# dmesg | grep enet
[    2.767945] xilinx_axienet 80010000.ethernet: missing/invalid xlnx,addrwidth property, using default
[    2.768001] xilinx_axienet 80010000.ethernet: Ethernet clock init failed -517
[    5.596995] xilinx_axienet 80010000.ethernet: missing/invalid xlnx,addrwidth property, using default
[    5.606175] xilinx_axienet 80010000.ethernet: couldn't find phy i/f

References and Kudos to following forum posts to tackling different aspects of the problem:

  1. So, what now? (Petalinux build error) by satguy. Especially the replies by stephenm and eliezer
  2. Xapp1305 Block lock issue by kieucua1503. Especially the reply from simon.beaudoin