Merge branch 'zynq' of git://www.denx.de/git/u-boot-microblaze
[platform/kernel/u-boot.git] / doc / README.zynq
1 #
2 # Xilinx ZYNQ U-Boot
3 #
4 # (C) Copyright 2013 Xilinx, Inc.
5 #
6 # SPDX-License-Identifier:      GPL-2.0+
7 #
8
9 1. About this
10
11 This document describes the information about Xilinx Zynq U-Boot -
12 like supported boards, ML status and TODO list.
13
14 2. Zynq boards
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 3. Building
31
32  ex. configure and build for zc702 board
33    $ make zynq_zc702_config
34    $ make
35
36 4. Bootmode
37
38 Zynq has a facility to read the bootmode from the slcr bootmode register
39 once user is setting through jumpers on the board - see page no:1546 on [5]
40
41 All possible bootmode values are defined in Table 6-2:Boot_Mode MIO Pins
42 on [5].
43
44 board_late_init() will read the bootmode values using slcr bootmode register
45 at runtime and assign the modeboot variable to specific bootmode string which
46 is intern used in autoboot.
47
48 SLCR bootmode register Bit[3:0] values
49 #define ZYNQ_BM_NOR             0x02
50 #define ZYNQ_BM_SD              0x05
51 #define ZYNQ_BM_JTAG            0x0
52
53 "modeboot" variable can assign any of "norboot", "sdboot" or "jtagboot"
54 bootmode strings at runtime.
55
56 5. Mainline status
57
58 - Added basic board configurations support.
59 - Added zynq u-boot bsp code - arch/arm/cpu/armv7/zynq
60 - Added zynq boards named - zc70x, zed, microzed, zc770_xm010, zc770_xm012, zc770_xm013
61 - Added zynq drivers:
62   serial - drivers/serial/serial_zynq.c
63   net - drivers/net/zynq_gem.c
64   mmc - drivers/mmc/zynq_sdhci.c
65   mmc - drivers/mmc/zynq_sdhci.c
66   spi-  drivers/spi/zynq_spi.c
67   i2c - drivers/i2c/zynq_i2c.c
68 - Done proper cleanups on board configurations
69 - Added basic FDT support for zynq boards
70 - d-cache support for zynq_gem.c
71
72 6. TODO
73
74 - Add zynq boards support - zc770_xm011
75 - Add zynq qspi controller driver
76 - Add zynq nand controller driver
77 - Add FDT support on individual drivers
78
79 [1] http://www.xilinx.com/products/boards-and-kits/EK-Z7-ZC702-G.htm
80 [2] http://www.xilinx.com/products/boards-and-kits/EK-Z7-ZC706-G.htm
81 [3] http://zedboard.org/product/zedboard
82 [4] http://zedboard.org/product/microzed
83 [5] http://www.xilinx.com/support/documentation/user_guides/ug585-Zynq-7000-TRM.pdf
84
85 --
86 Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
87 Sun Dec 15 14:52:41 IST 2013