xref: /openbmc/u-boot/doc/README.zynq (revision 592cd5defd4f71d34ffcbd8dd3326bc10f662e20)
183d290c5STom Rini# SPDX-License-Identifier: GPL-2.0+
2ba45a072SJagannadha Sutradharudu Teki#
3ba45a072SJagannadha Sutradharudu Teki# Xilinx ZYNQ U-Boot
4ba45a072SJagannadha Sutradharudu Teki#
5ba45a072SJagannadha Sutradharudu Teki# (C) Copyright 2013 Xilinx, Inc.
6ba45a072SJagannadha Sutradharudu Teki
7ba45a072SJagannadha Sutradharudu Teki1. About this
8ba45a072SJagannadha Sutradharudu Teki
9ba45a072SJagannadha Sutradharudu TekiThis document describes the information about Xilinx Zynq U-Boot -
10ba45a072SJagannadha Sutradharudu Tekilike supported boards, ML status and TODO list.
11ba45a072SJagannadha Sutradharudu Teki
12ba45a072SJagannadha Sutradharudu Teki2. Zynq boards
13ba45a072SJagannadha Sutradharudu Teki
14ba45a072SJagannadha Sutradharudu TekiXilinx Zynq-7000 All Programmable SoCs enable extensive system level
15ba45a072SJagannadha Sutradharudu Tekidifferentiation, integration, and flexibility through hardware, software,
16ba45a072SJagannadha Sutradharudu Tekiand I/O programmability.
17ba45a072SJagannadha Sutradharudu Teki
189bd53b62SMasahiro Yamada* zc702 (single qspi, gem0, mmc) [1]
199bd53b62SMasahiro Yamada* zc706 (dual parallel qspi, gem0, mmc) [2]
20ba45a072SJagannadha Sutradharudu Teki* zed (single qspi, gem0, mmc) [3]
21ba45a072SJagannadha Sutradharudu Teki* microzed (single qspi, gem0, mmc) [4]
22ba45a072SJagannadha Sutradharudu Teki* zc770
23ba45a072SJagannadha Sutradharudu Teki  - zc770-xm010 (single qspi, gem0, mmc)
24ba45a072SJagannadha Sutradharudu Teki  - zc770-xm011 (8 or 16 bit nand)
25ba45a072SJagannadha Sutradharudu Teki  - zc770-xm012 (nor)
26ba45a072SJagannadha Sutradharudu Teki  - zc770-xm013 (dual parallel qspi, gem1)
27ba45a072SJagannadha Sutradharudu Teki
2810a147bcSJagannadha Sutradharudu Teki3. Building
2910a147bcSJagannadha Sutradharudu Teki
309bd53b62SMasahiro Yamada ex. configure and build for zc702 board
319bd53b62SMasahiro Yamada   $ make zynq_zc702_config
3210a147bcSJagannadha Sutradharudu Teki   $ make
3310a147bcSJagannadha Sutradharudu Teki
3410a147bcSJagannadha Sutradharudu Teki4. Bootmode
35b3de9249SJagannadha Sutradharudu Teki
36b3de9249SJagannadha Sutradharudu TekiZynq has a facility to read the bootmode from the slcr bootmode register
37b3de9249SJagannadha Sutradharudu Tekionce user is setting through jumpers on the board - see page no:1546 on [5]
38b3de9249SJagannadha Sutradharudu Teki
39b3de9249SJagannadha Sutradharudu TekiAll possible bootmode values are defined in Table 6-2:Boot_Mode MIO Pins
40b3de9249SJagannadha Sutradharudu Tekion [5].
41b3de9249SJagannadha Sutradharudu Teki
42b3de9249SJagannadha Sutradharudu Tekiboard_late_init() will read the bootmode values using slcr bootmode register
43b3de9249SJagannadha Sutradharudu Tekiat runtime and assign the modeboot variable to specific bootmode string which
44b3de9249SJagannadha Sutradharudu Tekiis intern used in autoboot.
45b3de9249SJagannadha Sutradharudu Teki
46b3de9249SJagannadha Sutradharudu TekiSLCR bootmode register Bit[3:0] values
47b3de9249SJagannadha Sutradharudu Teki#define ZYNQ_BM_NOR		0x02
48b3de9249SJagannadha Sutradharudu Teki#define ZYNQ_BM_SD		0x05
49b3de9249SJagannadha Sutradharudu Teki#define ZYNQ_BM_JTAG		0x0
50b3de9249SJagannadha Sutradharudu Teki
51b3de9249SJagannadha Sutradharudu Teki"modeboot" variable can assign any of "norboot", "sdboot" or "jtagboot"
52b3de9249SJagannadha Sutradharudu Tekibootmode strings at runtime.
53b3de9249SJagannadha Sutradharudu Teki
5410a147bcSJagannadha Sutradharudu Teki5. Mainline status
55ba45a072SJagannadha Sutradharudu Teki
56ba45a072SJagannadha Sutradharudu Teki- Added basic board configurations support.
57ba45a072SJagannadha Sutradharudu Teki- Added zynq u-boot bsp code - arch/arm/cpu/armv7/zynq
58546a496fSMichal Simek- Added zynq boards named - zc70x, zed, microzed, zc770_xm010/xm011/xm012/xm013
59ba45a072SJagannadha Sutradharudu Teki- Added zynq drivers:
60ba45a072SJagannadha Sutradharudu Teki  serial - drivers/serial/serial_zynq.c
61ba45a072SJagannadha Sutradharudu Teki  net - drivers/net/zynq_gem.c
62ba45a072SJagannadha Sutradharudu Teki  mmc - drivers/mmc/zynq_sdhci.c
63ba45a072SJagannadha Sutradharudu Teki  spi - drivers/spi/zynq_spi.c
64fe3dfb23SEzequiel Garcia  qspi - drivers/spi/zynq_qspi.c
65ba45a072SJagannadha Sutradharudu Teki  i2c - drivers/i2c/zynq_i2c.c
66*a430fa06SMiquel Raynal  nand - drivers/mtd/nand/raw/zynq_nand.c
6710a147bcSJagannadha Sutradharudu Teki- Done proper cleanups on board configurations
6810a147bcSJagannadha Sutradharudu Teki- Added basic FDT support for zynq boards
6910a147bcSJagannadha Sutradharudu Teki- d-cache support for zynq_gem.c
70ba45a072SJagannadha Sutradharudu Teki
7110a147bcSJagannadha Sutradharudu Teki6. TODO
72ba45a072SJagannadha Sutradharudu Teki
7310a147bcSJagannadha Sutradharudu Teki- Add FDT support on individual drivers
74ba45a072SJagannadha Sutradharudu Teki
75ba45a072SJagannadha Sutradharudu Teki[1] http://www.xilinx.com/products/boards-and-kits/EK-Z7-ZC702-G.htm
76ba45a072SJagannadha Sutradharudu Teki[2] http://www.xilinx.com/products/boards-and-kits/EK-Z7-ZC706-G.htm
77ba45a072SJagannadha Sutradharudu Teki[3] http://zedboard.org/product/zedboard
78ba45a072SJagannadha Sutradharudu Teki[4] http://zedboard.org/product/microzed
79b3de9249SJagannadha Sutradharudu Teki[5] http://www.xilinx.com/support/documentation/user_guides/ug585-Zynq-7000-TRM.pdf
80ba45a072SJagannadha Sutradharudu Teki
81ba45a072SJagannadha Sutradharudu Teki--
82ba45a072SJagannadha Sutradharudu TekiJagannadha Sutradharudu Teki <jaganna@xilinx.com>
83ba45a072SJagannadha Sutradharudu TekiSun Dec 15 14:52:41 IST 2013
84