Hardware
Carrier: PE1-300
SOM: XU5-2EG-1I
Web links
Mercury XU5 Reference Design:
https://download.enclustra.com/public_files/SoC_Modules/Mercury_XU5/Mercury_XU5_Reference_Design_for_Mercury_PE1_V6.2.zip
Mercury XU5 Schematic:
https://download.enclustra.com/public_files/SoC_Modules/Mercury_XU5/Mercury_XU5-R1-2_User_Schematics_V5.pdf
Mercury XU5 FPGA pinout:
https://download.enclustra.com/public_files/SoC_Modules/Mercury_XU5/Mercury_XU5-R1_FPGA_Pinout.xlsx
Mercury XU5 User Manual:
https://download.enclustra.com/public_files/SoC_Modules/Mercury_XU5/Mercury_XU5_User_Manual_V07.pdf
Enclustra build howto:
https://www.enclustra.com/assets/scripts/download.php?f=Enclustra_Build_Environment_HowToGuide_V02.pdf
Mercury+ PE1 Schematic:
https://download.enclustra.com/public_files/Base_Boards/Mercury+_PE1/Mercury_PE1-R4-5_User_Schematics_V0.pdf
Mercury+ PE1 FMC pinout:
https://download.enclustra.com/public_files/Base_Boards/Mercury+_PE1/Mercury_PE1-R4-3_User_Schematics_V1_FMC_Pinout.pdf
Mercury+ PE1 User Manual:
https://download.enclustra.com/public_files/Base_Boards/Mercury+_PE1/Mercury_PE1_User_Manual_V05.pdf
Vivado reference project
- Vivado release: 2018.3
1 | cd <reference-design-directory> |
- Edit scripts/settings.tcl and modify FPGA type:
1 | set fpga_part xczu2eg-sfvc784-2-i |
- Edit scripts/MercuryXU5_bd_PE1.tcl
1 | set scripts_vivado_version 2018.3 |
- Create project
1 | vivado -mode batch -source scripts/create_project.tcl |
Output project: Vivado_PE1/MercuryXU5_PE1.xpr
Kernel build
Kernel repository: https://github.com/enclustra-bsp/xilinx-linux (4.14.0)
Checkout release v1.8.2
1 | git checkout v1.8.2 |
- Build Linux kernel
1 | export PATH=/opt/aarch64-none-linux-gnueabi/bin:\$PATH |
Output file: arch/arm64/boot/Image
Device Tree
- Checkout release 2018.3
1 | git checkout xilinx-v2018.3 |
- Generate a device tree from reference Vivado project
1 | hsi |
- Compile device tree blob (.dtb) from device tree source (.dts)
1 | cd my_dts |
Output file: my_dts/devicetree.dtb
U-Boot
- U-Boot repository: https://github.com/enclustra-bsp/xilinx-uboot (2019.1)
1 | export PATH=/opt/aarch64-none-linux-gnueabi/bin:\$PATH |
Output file: u-boot.elf
Important
Verify that bootargs parameter contains ‘clk_ignore_unused’ otherwise ETH1 will not work !!!
U-Boot scripts
In u-boot-xlnx/bscripts there are .scr files (U-Boot scripts) to boot from different devices
FSBL, PMU and BL31
- Refer to notes Zynq Linux
boot.bin
- Refer to notes Zynq Linux
Boot from SD
- U-Boot script for boot from SD
1 | setenv autoload no |