[Buildroot] [1/1] microzed: add Avnet Microzed support

Jan Viktorin viktorin at rehivetech.com
Tue Sep 15 21:42:22 UTC 2015


Hello Davide,

it builds successfully for me. Unfortunately, I don't have the
microzed board to make a real test of it.

I am just courious why you use the same DTS for both Microzed and
Zedboard. I would expect these are different boards. Are they so
compatible? I can see that the Microzed has more RAM, smaller QSPI
Flash, Zedboard has USB-OTG (no idea what about Microzed, does it
matter, btw?). Also, Microzed uses a different Zynq (Z010)...

Well, I answer myself, there is no such DTS in the kernel tree. It is
suggested [1] to use the zynq-zed.dts and change the RAM size. So at
least, I would prefer to mention it in the commit message or in the
readme...

Otherwise, you can add:

Reviewed-by: Jan Viktorin <viktorin at rehivetech.com>

Regards
Jan Viktorin

[1] https://forums.xilinx.com/t5/Embedded-Linux/Microzed-default-device-tree-dts/td-p/432856

On Tue, 15 Sep 2015 22:24:59 +0200
Davide Viti <zinosat at tiscali.it> wrote:

> From: Davide Viti <d.viti at infosolution.it>
> 
> Changes are based on Zedboard
> 
> Signed-off-by: Davide Viti <zinosat at tiscali.it>
> ---
>  board/avnet/microzed/readme.txt                    | 65
> ++++++++++++++++++++++ ...eate-microzed-specific-U-Boot-environment.patch
> | 34 +++++++++++ configs/microzed_defconfig                         |
> 26 +++++++++ 3 files changed, 125 insertions(+)
>  create mode 100644 board/avnet/microzed/readme.txt
>  create mode 100644
> board/avnet/microzed/uboot/0001-zynq-Create-microzed-specific-U-Boot-environment.patch
> create mode 100644 configs/microzed_defconfig
> 
> diff --git a/board/avnet/microzed/readme.txt
> b/board/avnet/microzed/readme.txt new file mode 100644
> index 0000000..e15baab
> --- /dev/null
> +++ b/board/avnet/microzed/readme.txt
> @@ -0,0 +1,65 @@
> +This is the buildroot board support for the Avnet Microzed. The
> Microzed is +a development board based on the Xilinx Zynq-7000 based
> All-Programmable +System-On-Chip.
> +
> +Microzed information including schematics, reference designs, and
> manuals are +available from http://www.zedboard.org .
> +
> +Steps to create a working system for Microzed:
> +
> +1) make microzed_defconfig
> +2) make
> +3) copy files BOOT.BIN, u-boot-dtb.img, rootfs.cpio.uboot,
> +	uImage, zynq-zed.dtb into your SD card
> +4) boot your Microzed
> +
> +The expected output:
> +
> + U-Boot SPL 2015.07 (Sep 15 2015 - 16:10:56)
> + 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 (Sep 15 2015 - 16:10:56 +0200)
> + 
> + Model: Zynq MicroZED Board
> + I2C:   ready
> + DRAM:  ECC disabled 1 GiB
> + 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:
> +
> +kernel_image=myimage
> +modeboot=myboot
> +myboot=...
> diff --git
> a/board/avnet/microzed/uboot/0001-zynq-Create-microzed-specific-U-Boot-environment.patch
> b/board/avnet/microzed/uboot/0001-zynq-Create-microzed-specific-U-Boot-environment.patch
> new file mode 100644 index 0000000..55c1585 --- /dev/null
> +++
> b/board/avnet/microzed/uboot/0001-zynq-Create-microzed-specific-U-Boot-environment.patch
> @@ -0,0 +1,34 @@ +This is a copy of the patch supplied for Zedboard
> +
> +--- a/include/configs/zynq_microzed.h	2015-07-14
> 19:32:21.000000000 +0200 ++++
> b/include/configs/zynq_microzed.h	2015-09-02
> 12:19:35.728503472 +0200 +@@ -22,4 +22,29 @@
> + 
> + #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 $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 envload; run fpgaboot;"                          \
> ++	" fatload mmc 0 0x1000000 ${kernel_image}"             \
> ++	" && fatload mmc 0 0x2000000 ${ramdisk_image}"         \
> ++	" && fatload mmc 0 0x3000000 ${devicetree_image}"      \
> ++	" && bootm 0x1000000 0x2000000 0x3000000\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_MICROZED_H */
> diff --git a/configs/microzed_defconfig b/configs/microzed_defconfig
> new file mode 100644
> index 0000000..5a94275
> --- /dev/null
> +++ b/configs/microzed_defconfig
> @@ -0,0 +1,26 @@
> +BR2_arm=y
> +BR2_cortex_a9=y
> +BR2_ARM_ENABLE_NEON=y
> +BR2_KERNEL_HEADERS_VERSION=y
> +BR2_DEFAULT_KERNEL_VERSION="3.8"
> +BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_3_8=y
> +BR2_TARGET_GENERIC_GETTY_PORT="ttyPS0"
> +BR2_LINUX_KERNEL=y
> +BR2_LINUX_KERNEL_CUSTOM_GIT=y
> +BR2_LINUX_KERNEL_CUSTOM_REPO_URL="git://github.com/Xilinx/linux-xlnx.git"
> +BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="xilinx-v2015.1"
> +BR2_LINUX_KERNEL_DEFCONFIG="xilinx_zynq"
> +BR2_LINUX_KERNEL_UIMAGE_LOADADDR="0x8000"
> +BR2_LINUX_KERNEL_DTS_SUPPORT=y
> +BR2_LINUX_KERNEL_INTREE_DTS_NAME="zynq-zed"
> +BR2_TARGET_ROOTFS_CPIO=y
> +BR2_TARGET_ROOTFS_CPIO_GZIP=y
> +BR2_TARGET_ROOTFS_CPIO_UIMAGE=y
> +BR2_TARGET_UBOOT=y
> +BR2_TARGET_UBOOT_BOARDNAME="zynq_microzed"
> +BR2_TARGET_UBOOT_CUSTOM_VERSION=y
> +BR2_TARGET_UBOOT_CUSTOM_VERSION_VALUE="2015.07"
> +BR2_TARGET_UBOOT_PATCH="$(TOPDIR)/board/avnet/microzed/uboot"
> +BR2_TARGET_UBOOT_FORMAT_DTB_IMG=y
> +BR2_TARGET_UBOOT_SPL=y
> +BR2_TARGET_UBOOT_ZYNQ_IMAGE=y



-- 
  Jan Viktorin                E-mail: Viktorin at RehiveTech.com
  System Architect            Web:    www.RehiveTech.com
  RehiveTech
  Brno, Czech Republic


More information about the buildroot mailing list