blob: 043c9701409026f7793cdbfc0450462fc094390a [file] [log] [blame]
Jagannadha Sutradharudu Tekiba45a072014-01-09 01:48:11 +05301#
2# Xilinx ZYNQ U-Boot
3#
4# (C) Copyright 2013 Xilinx, Inc.
5#
6# SPDX-License-Identifier: GPL-2.0+
7#
8
91. About this
10
11This document describes the information about Xilinx Zynq U-Boot -
12like supported boards, ML status and TODO list.
13
142. Zynq boards
15
16Xilinx Zynq-7000 All Programmable SoCs enable extensive system level
17differentiation, integration, and flexibility through hardware, software,
18and I/O programmability.
19
20* zc70x
21 - zc702 (single qspi, gem0, mmc) [1]
22 - zc706 (dual parallel qspi, gem0, mmc) [2]
23* zed (single qspi, gem0, mmc) [3]
24* microzed (single qspi, gem0, mmc) [4]
25* zc770
26 - zc770-xm010 (single qspi, gem0, mmc)
27 - zc770-xm011 (8 or 16 bit nand)
28 - zc770-xm012 (nor)
29 - zc770-xm013 (dual parallel qspi, gem1)
30
Jagannadha Sutradharudu Teki10a147b2014-01-09 01:48:31 +0530313. Building
32
33 # Configure for zc70x board
34 $ make zynq_zc70x_config
35 Configuring for zynq_zc70x board...
36
37 # Building default dts for zc702 board
38 $ make
39
40 # Building specified dts for zc706 board
41 $ make DEVICE_TREE=zynq-zc706
42
434. Bootmode
Jagannadha Sutradharudu Tekib3de9242014-01-09 01:48:21 +053044
45Zynq has a facility to read the bootmode from the slcr bootmode register
46once user is setting through jumpers on the board - see page no:1546 on [5]
47
48All possible bootmode values are defined in Table 6-2:Boot_Mode MIO Pins
49on [5].
50
51board_late_init() will read the bootmode values using slcr bootmode register
52at runtime and assign the modeboot variable to specific bootmode string which
53is intern used in autoboot.
54
55SLCR bootmode register Bit[3:0] values
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
Jagannadha Sutradharudu Teki10a147b2014-01-09 01:48:31 +0530635. Mainline status
Jagannadha Sutradharudu Tekiba45a072014-01-09 01:48:11 +053064
65- Added basic board configurations support.
66- Added zynq u-boot bsp code - arch/arm/cpu/armv7/zynq
Jagannadha Sutradharudu Teki10a147b2014-01-09 01:48:31 +053067- Added zynq boards named - zc70x, zed, microzed, zc770_xm010, zc770_xm012, zc770_xm013
Jagannadha Sutradharudu Tekiba45a072014-01-09 01:48:11 +053068- Added zynq drivers:
69 serial - drivers/serial/serial_zynq.c
70 net - drivers/net/zynq_gem.c
71 mmc - drivers/mmc/zynq_sdhci.c
72 mmc - drivers/mmc/zynq_sdhci.c
73 spi- drivers/spi/zynq_spi.c
74 i2c - drivers/i2c/zynq_i2c.c
Jagannadha Sutradharudu Teki10a147b2014-01-09 01:48:31 +053075- Done proper cleanups on board configurations
76- Added basic FDT support for zynq boards
77- d-cache support for zynq_gem.c
Jagannadha Sutradharudu Tekiba45a072014-01-09 01:48:11 +053078
Jagannadha Sutradharudu Teki10a147b2014-01-09 01:48:31 +0530796. TODO
Jagannadha Sutradharudu Tekiba45a072014-01-09 01:48:11 +053080
Jagannadha Sutradharudu Teki10a147b2014-01-09 01:48:31 +053081- Add zynq boards support - zc770_xm011
Jagannadha Sutradharudu Tekiba45a072014-01-09 01:48:11 +053082- Add zynq qspi controller driver
83- Add zynq nand controller driver
Jagannadha Sutradharudu Teki10a147b2014-01-09 01:48:31 +053084- Add FDT support on individual drivers
Jagannadha Sutradharudu Tekiba45a072014-01-09 01:48:11 +053085
86[1] http://www.xilinx.com/products/boards-and-kits/EK-Z7-ZC702-G.htm
87[2] http://www.xilinx.com/products/boards-and-kits/EK-Z7-ZC706-G.htm
88[3] http://zedboard.org/product/zedboard
89[4] http://zedboard.org/product/microzed
Jagannadha Sutradharudu Tekib3de9242014-01-09 01:48:21 +053090[5] http://www.xilinx.com/support/documentation/user_guides/ug585-Zynq-7000-TRM.pdf
Jagannadha Sutradharudu Tekiba45a072014-01-09 01:48:11 +053091
92--
93Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
94Sun Dec 15 14:52:41 IST 2013