1This is the Buildroot support for Zynq boards. Zynq boards are available from 2Xilinx and some third party vendors, but the build procedure is very similar. 3 4Currently, three boards are natively supported by Buildroot: 5 - Xilinx ZC706 board (zynq_zc706_defconfig) 6 - Avnet ZedBoard (zynq_zed_defconfig) 7 - Avnet MicroZed (zynq_microzed_defconfig) 8 9Steps to create a working system for a Zynq board: 10 111) Configuration (do one of the following) 12 make zynq_zc706_defconfig (ZC706) 13 make zynq_zed_defconfig (Zedboard) 14 make zynq_microzed_defconfig (MicroZed) 152) make 163) All needed files will be available in the output/images directory. 17 The sdcard.img file is a complete bootable image ready to be written 18 on the boot medium. To install it, simply copy the image to an SD 19 card: 20 21 # dd if=output/images/sdcard.img of=/dev/sdX 22 23 Where 'sdX' is the device node of the uSD. 244) boot your board 25 26You can alter the booting procedure by creating a file uEnv.txt 27in the root of the SD card. It is a plain text file in format 28<key>=<value> one per line: 29 30kernel_image=myimage 31modeboot=myboot 32myboot=... 33 34Note: 35The DTB for MicroZed is the same as the one for the Zedboard (zynq-zed.dtb), 36and this is the recommended solution, see 37https://forums.xilinx.com/t5/Embedded-Linux/Microzed-default-device-tree-dts/td-p/432856. 38 39References: 40 - ZC706 information including schematics, reference designs, and manuals are 41 available from 42 http://www.xilinx.com/products/boards-and-kits/ek-z7-zc706-g.html. 43 44 - Zedboard/Microzed information including schematics, reference designs, and 45 manuals are available from http://www.zedboard.org . 46 47Support for other boards: 48 49If you want to build a system for other boards based on the same SoC 50(for ex. Digilent Zybo board), and the board is already supported by 51the upstream kernel and U-Boot, you simply need to change the 52following Buildroot options: 53 54 - Kernel Device Tree file name (BR2_LINUX_KERNEL_INTREE_DTS_NAME) 55 - U-Boot board defconfig (BR2_TARGET_UBOOT_BOARD_DEFCONFIG) 56 57Custom ps7_init_gpl.c/h support: 58 59To generate a working boot.bin image, ps7_init_gpl.c/h are required in 60the U-Boot source tree. Without those files, boot.bin will be built 61successfully but it will not be functional at all. Those files are 62output from the Xilinx tools, but for convenience, U-Boot includes the 63default ps7_init_gpl.c/h of popular boards. Those files may need to be 64updated for any programmable logic customizations which impact 65ps7_init (clock/pin setup & mapping/AXI bridge setup/etc). See 66board/xilinx/zynq/ directory of U-Boot for natively supported ps7_init 67files. If the ps7_init files for your board are not found in U-Boot, 68you need to add them by yourself. 69 701) Start with a defconfig supported by Buildroot (e.g. Zedboard) 71 make zynq_zed_defconfig 72 732) make uboot-menuconfig 74 Visit the following menu and enable CONFIG_ZYNQ_CUSTOM_INIT. 75 76 ARM architecture ---> 77 [*] Use custom ps7_init provided by Xilinx tool 78 793) Copy ps7_init_gpl.c/h generated by the Xilinx tools into 80 output/build/uboot-xilinx-<pkg version>/board/xilinx/zynq/custom_hw_platform/ 81 824) make 83 84Note: The files in step 3 will need to be re-copied after cleaning the 85output directory and at this time, there is no way to save them as 86part of the buildroot configuration, except as a U-Boot patch. 87