Merge branch 'master' of git://git.denx.de/u-boot-usb
[pandora-u-boot.git] / doc / board / xilinx / zynq.rst
1 .. SPDX-License-Identifier: GPL-2.0+
2 ..  (C) Copyright 2013 Xilinx, Inc.
3
4 ZYNQ
5 ====
6
7 About this
8 ----------
9
10 This document describes the information about Xilinx Zynq U-Boot -
11 like supported boards, ML status and TODO list.
12
13 Zynq boards
14 -----------
15
16 Xilinx Zynq-7000 All Programmable SoCs enable extensive system level
17 differentiation, integration, and flexibility through hardware, software,
18 and I/O programmability.
19
20 * zc702 (single qspi, gem0, mmc) [1]
21 * zc706 (dual parallel qspi, gem0, mmc) [2]
22 * zed (single qspi, gem0, mmc) [3]
23 * microzed (single qspi, gem0, mmc) [4]
24 * zc770
25      - zc770-xm010 (single qspi, gem0, mmc)
26      - zc770-xm011 (8 or 16 bit nand)
27      - zc770-xm012 (nor)
28      - zc770-xm013 (dual parallel qspi, gem1)
29
30 Building
31 --------
32
33 configure and build for zc702 board::
34
35    $ export DEVICE_TREE=zynq-zc702
36    $ make xilinx_zynq_virt_defconfig
37    $ make
38
39 Bootmode
40 --------
41
42 Zynq has a facility to read the bootmode from the slcr bootmode register
43 once user is setting through jumpers on the board - see page no:1546 on [5]
44
45 All possible bootmode values are defined in Table 6-2:Boot_Mode MIO Pins
46 on [5].
47
48 board_late_init() will read the bootmode values using slcr bootmode register
49 at runtime and assign the modeboot variable to specific bootmode string which
50 is intern used in autoboot.
51
52 SLCR bootmode register Bit[3:0] values
53
54 .. code-block:: c
55
56    #define ZYNQ_BM_NOR          0x02
57    #define ZYNQ_BM_SD           0x05
58    #define ZYNQ_BM_JTAG         0x0
59
60 "modeboot" variable can assign any of "norboot", "sdboot" or "jtagboot"
61 bootmode strings at runtime.
62
63 Mainline status
64 ---------------
65
66 - Added basic board configurations support.
67 - Added zynq u-boot bsp code - arch/arm/cpu/armv7/zynq
68 - Added zynq boards named - zc70x, zed, microzed, zc770_xm010/xm011/xm012/xm013
69 - Added zynq drivers:
70
71   :serial: drivers/serial/serial_zynq.c
72   :net: drivers/net/zynq_gem.c
73   :mmc: drivers/mmc/zynq_sdhci.c
74   :spi: drivers/spi/zynq_spi.c
75   :qspi: drivers/spi/zynq_qspi.c
76   :i2c: drivers/i2c/zynq_i2c.c
77   :nand: drivers/mtd/nand/raw/zynq_nand.c
78
79 - Done proper cleanups on board configurations
80 - Added basic FDT support for zynq boards
81 - d-cache support for zynq_gem.c
82
83 TODO
84 ----
85
86 Add FDT support on individual drivers
87
88 * [1] http://www.xilinx.com/products/boards-and-kits/EK-Z7-ZC702-G.htm
89 * [2] http://www.xilinx.com/products/boards-and-kits/EK-Z7-ZC706-G.htm
90 * [3] http://zedboard.org/product/zedboard
91 * [4] http://zedboard.org/product/microzed
92 * [5] http://www.xilinx.com/support/documentation/user_guides/ug585-Zynq-7000-TRM.pdf
93
94
95 .. Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
96 .. Sun Dec 15 14:52:41 IST 2013