.. 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
