blob: 6a09df1d15f8e094561e020ca684c6de6f20b2a2 [file] [log] [blame]
Bin Meng6a1e2392019-07-18 00:34:25 -07001.. SPDX-License-Identifier: GPL-2.0+
2.. (C) Copyright 2013 Xilinx, Inc.
3
4ZYNQ
5====
6
7About this
8----------
9
10This document describes the information about Xilinx Zynq U-Boot -
11like supported boards, ML status and TODO list.
12
13Zynq boards
14-----------
15
16Xilinx Zynq-7000 All Programmable SoCs enable extensive system level
17differentiation, integration, and flexibility through hardware, software,
18and 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
30Building
31--------
32
33configure and build for zc702 board::
34
Michal Simekf8834fd2020-02-13 15:03:29 +010035 $ export DEVICE_TREE=zynq-zc702
36 $ make xilinx_zynq_virt_defconfig
Bin Meng6a1e2392019-07-18 00:34:25 -070037 $ make
38
39Bootmode
40--------
41
42Zynq has a facility to read the bootmode from the slcr bootmode register
43once user is setting through jumpers on the board - see page no:1546 on [5]
44
45All possible bootmode values are defined in Table 6-2:Boot_Mode MIO Pins
46on [5].
47
48board_late_init() will read the bootmode values using slcr bootmode register
49at runtime and assign the modeboot variable to specific bootmode string which
50is intern used in autoboot.
51
52SLCR 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"
61bootmode strings at runtime.
62
63Mainline 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
83TODO
84----
85
86Add 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