zynq_zed: bump U-Boot to xilinx-v2016.2

This is the latest release tag in the Xilinx repository, based on
U-Boot v2016.01 in the mainline.

Commit 46d6a561be ("zedboard: Generate BOOT.BIN automatically")
switched from the Xilinx GitHub repository to the U-Boot mainline,
but this commit gets it back to the Xilinx GitHub repository for the
following reasons:

 - This defconfig still relies on the Xilinx's local repository for
   the kernel.  The vendor does the best test for the combination of
   U-Boot and the kernel with the same release tag (xilinx-v2016.2
   in this case).

 - At the time of commit 46d6a561be, the u-boot-xlnx still needed
   manual copy of ps7_init(_gpl).c/h in order to build a working SPL
   image.  So, the mainline U-Boot had advantage in that point of
   time.  However, the improvement in the mainline U-Boot was merged
   into the u-boot-xlnx at the xilinx-v2015.3 release.  Now, the
   mainline and the u-boot-xlnx are even in this point of view.

 - The mainline U-Boot defaults to boot FIT, so something must be
   done; either patch environments around with a local patch to
   switch to uImage booting (current solution), or build an FIT
   with a post build script (chromebook snow does this).  On the
   other hand, the Xilinx repository defaults to uImage booting,
   so it is straightforward, and needs no addition care.

This commit does:

 - Switch to the Xilinx custom git repository, and stick to the
   xilinx-v2016.2 tag.

 - Delete the local patch board/avnet/zedboard/uboot/0001...
   since the Xilinx custom repository can boot uImage by default.

 - Enable BR2_TARGET_UBOOT_FORMAT_IMG instead of ..._FORMAT_DTB_IMG
   since all the Zynq boards in U-Boot enable CONFIG_OF_EMBED.

 - Replace BR2_TARGET_UBOOT_ZYNQ_IMAGE with BR2_TARGET_UBOOT_SPL_NAME
   since U-Boot can natively generate the Zynq boot image now. The
   Zynq image support for mkimage tool was upstreamed at v2016.01
   (so xilinx-v2016.1 as well), so no additional tool is needed
   any more.

 - Update readme.txt

Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
Reviewed-by: Matt Weber <matthew.weber@rockwellcollins.com>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
Masahiro Yamada 2016-07-18 18:38:18 +09:00 committed by Thomas Petazzoni
parent 291f8397cd
commit 6dd5a33c48
3 changed files with 13 additions and 94 deletions

View File

@ -9,52 +9,16 @@ Steps to create a working system for Zedboard:
1) make zynq_zed_defconfig
2) make
3) copy files BOOT.BIN, u-boot-dtb.img, rootfs.cpio.uboot,
uImage, zynq-zed.dtb into your SD card
3) All needed files will be available in the output/images directory.
Create a FAT32 partition at the beginning of your SD Card and copy files:
- boot.bin
- u-boot.img
- uImage
- uramdisk.image.gz (should be renamed from rootfs.cpio.uboot)
- devicetree.dtb (should be renamed from zynq-zed.dtb)
into your SD card
4) boot your Zedboard
The expected output:
U-Boot SPL 2015.07 (Jul 22 2015 - 12:01:55)
mmc boot
reading system.dtb
spl_load_image_fat_os: error reading image system.dtb, err - -1
reading u-boot-dtb.img
reading u-boot-dtb.img
U-Boot 2015.07 (Jul 22 2015 - 12:01:55 +0200)
Model: Zynq ZED Board
I2C: ready
DRAM: ECC disabled 512 MiB
MMC: zynq_sdhci: 0
Using default environment
...
When using an older U-Boot then 2015.07, a working ps7_init.c
file is required to be installed into the U-Boot directory
structure. From 2015.07, the major Zynq-based boards are
supported without any manual intervention.
Resulting system
----------------
A FAT32 partition should be created at the beginning of the SD Card
and the following files should be installed:
/BOOT.BIN
/zynq-zed.dtb
/uImage
/rootfs-cpio.uboot
/u-boot-dtb.img
All needed files can be taken from output/images/
BOOT.BIN, uImage and u-boot-dtb.img are direct copies of the same files
available on output/images/
There is a patch attached that redefines the U-Boot's environment
to work with Buildroot out-of-the-box.
You can alter the booting procedure by creating a file uEnv.txt
in the root of the SD card. It is a plain text file in format
<key>=<value> one per line:

View File

@ -1,45 +0,0 @@
From a4c0058967a551385da5e16d2787d9f704cab225 Mon Sep 17 00:00:00 2001
From: Jan Viktorin <viktorin@rehivetech.com>
Date: Thu, 18 Jun 2015 16:26:02 +0200
Subject: [PATCH 2/2] zynq: Create zedboard-specific U-Boot environment
---
include/configs/zynq_zed.h | 25 +++++++++++++++++++++++++
1 file changed, 25 insertions(+)
diff --git a/include/configs/zynq_zed.h b/include/configs/zynq_zed.h
index 946de95..2400a88 100644
--- a/include/configs/zynq_zed.h
+++ b/include/configs/zynq_zed.h
@@ -24,0 +24,0 @@
#include <configs/zynq-common.h>
+#undef CONFIG_EXTRA_ENV_SETTINGS
+#define CONFIG_EXTRA_ENV_SETTINGS \
+ "envload=mmc info && if fatload mmc 0 0x1000 uEnv.txt;"\
+ " then echo Importing uEnv.txt; env import -t 0x1000" \
+ " $filesize; fi;\0" \
+ "bootcmd=run envload; run $modeboot\0" \
+ "modeboot=sdboot\0" \
+ "baudrate=115200\0" \
+ "bootenv=uEnv.txt\0" \
+ "devicetree_image=zynq-zed.dtb\0" \
+ "kernel_image=uImage\0" \
+ "ramdisk_image=rootfs.cpio.uboot\0" \
+ "fpga_image=system.bit\0" \
+ "sdboot=echo Booting from SD...; run fpgaboot;" \
+ " fatload mmc 0 0x1000000 ${kernel_image}" \
+ " && fatload mmc 0 0x3000000 ${ramdisk_image}" \
+ " && fatload mmc 0 0x2000000 ${devicetree_image}" \
+ " && bootm 0x1000000 0x3000000 0x2000000\0" \
+ "fpgaboot=if fatload mmc 0 0x1000000 ${fpga_image};" \
+ " then echo Booting FPGA from ${fpga_image};" \
+ " fpga info 0 && fpga loadb 0 0x1000000 $filesize;" \
+ " else echo FPGA image ${fpga_image} was not found," \
+ " skipping...; fi;\0"
+
#endif /* __CONFIG_ZYNQ_ZED_H */
--
2.4.3

View File

@ -17,10 +17,10 @@ BR2_TARGET_ROOTFS_CPIO_GZIP=y
BR2_TARGET_ROOTFS_CPIO_UIMAGE=y
BR2_TARGET_UBOOT=y
BR2_TARGET_UBOOT_BOARDNAME="zynq_zed"
BR2_TARGET_UBOOT_CUSTOM_VERSION=y
BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2015.07"
BR2_TARGET_UBOOT_PATCH="$(TOPDIR)/board/avnet/zedboard/uboot"
BR2_TARGET_UBOOT_CUSTOM_GIT=y
BR2_TARGET_UBOOT_CUSTOM_REPO_URL="https://github.com/Xilinx/u-boot-xlnx.git"
BR2_TARGET_UBOOT_CUSTOM_REPO_VERSION="xilinx-v2016.2"
BR2_TARGET_UBOOT_NEEDS_DTC=y
BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y
BR2_TARGET_UBOOT_FORMAT_IMG=y
BR2_TARGET_UBOOT_SPL=y
BR2_TARGET_UBOOT_ZYNQ_IMAGE=y
BR2_TARGET_UBOOT_SPL_NAME="spl/boot.bin"