| .. SPDX-License-Identifier: GPL-2.0+ |
| .. (C) Copyright 2013 Xilinx, Inc. |
| |
| ZYNQ |
| ==== |
| |
| About this |
| ---------- |
| |
| This document describes the information about Xilinx Zynq U-Boot - |
| like supported boards, ML status and TODO list. |
| |
| Zynq boards |
| ----------- |
| |
| Xilinx Zynq-7000 All Programmable SoCs enable extensive system level |
| differentiation, integration, and flexibility through hardware, software, |
| and I/O programmability. |
| |
| * zc702 (single qspi, gem0, mmc) [1] |
| * zc706 (dual parallel qspi, gem0, mmc) [2] |
| * zed (single qspi, gem0, mmc) [3] |
| * microzed (single qspi, gem0, mmc) [4] |
| * zc770 |
| - zc770-xm010 (single qspi, gem0, mmc) |
| - zc770-xm011 (8 or 16 bit nand) |
| - zc770-xm012 (nor) |
| - zc770-xm013 (dual parallel qspi, gem1) |
| |
| Building |
| -------- |
| |
| configure and build for zc702 board:: |
| |
| $ export DEVICE_TREE=zynq-zc702 |
| $ make xilinx_zynq_virt_defconfig |
| $ make |
| |
| Bootmode |
| -------- |
| |
| Zynq has a facility to read the bootmode from the slcr bootmode register |
| once user is setting through jumpers on the board - see page no:1546 on [5] |
| |
| All possible bootmode values are defined in Table 6-2:Boot_Mode MIO Pins |
| on [5]. |
| |
| board_late_init() will read the bootmode values using slcr bootmode register |
| at runtime and assign the modeboot variable to specific bootmode string which |
| is intern used in autoboot. |
| |
| SLCR bootmode register Bit[3:0] values |
| |
| .. code-block:: c |
| |
| #define ZYNQ_BM_NOR 0x02 |
| #define ZYNQ_BM_SD 0x05 |
| #define ZYNQ_BM_JTAG 0x0 |
| |
| "modeboot" variable can assign any of "norboot", "sdboot" or "jtagboot" |
| bootmode strings at runtime. |
| |
| Flashing |
| -------- |
| |
| SD Card |
| ^^^^^^^ |
| |
| To write an image that boots from a SD card first create a FAT32 partition |
| and a FAT32 filesystem on the SD card:: |
| |
| sudo fdisk /dev/sdx |
| sudo mkfs.vfat -F 32 /dev/sdx1 |
| |
| Mount the SD card and copy the SPL and U-Boot to the root directory of the |
| SD card:: |
| |
| sudo mount -t vfat /dev/sdx1 /mnt |
| sudo cp spl/boot.bin /mnt |
| sudo cp u-boot.img /mnt |
| |
| Mainline status |
| --------------- |
| |
| - Added basic board configurations support. |
| - Added zynq u-boot bsp code - arch/arm/cpu/armv7/zynq |
| - Added zynq boards named - zc70x, zed, microzed, zc770_xm010/xm011/xm012/xm013 |
| - Added zynq drivers: |
| |
| :serial: drivers/serial/serial_zynq.c |
| :net: drivers/net/zynq_gem.c |
| :mmc: drivers/mmc/zynq_sdhci.c |
| :spi: drivers/spi/zynq_spi.c |
| :qspi: drivers/spi/zynq_qspi.c |
| :i2c: drivers/i2c/zynq_i2c.c |
| :nand: drivers/mtd/nand/raw/zynq_nand.c |
| |
| - Done proper cleanups on board configurations |
| - Added basic FDT support for zynq boards |
| - d-cache support for zynq_gem.c |
| |
| TODO |
| ---- |
| |
| Add FDT support on individual drivers |
| |
| * [1] http://www.xilinx.com/products/boards-and-kits/EK-Z7-ZC702-G.htm |
| * [2] http://www.xilinx.com/products/boards-and-kits/EK-Z7-ZC706-G.htm |
| * [3] http://zedboard.org/product/zedboard |
| * [4] http://zedboard.org/product/microzed |
| * [5] http://www.xilinx.com/support/documentation/user_guides/ug585-Zynq-7000-TRM.pdf |
| |
| |
| .. Jagannadha Sutradharudu Teki <jaganna@xilinx.com> |
| .. Sun Dec 15 14:52:41 IST 2013 |