blob: 76d67bd62ee9f293dd2e636e68b3156faaf4b593 [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
Johannes Krottmayer1a6c8bb2020-06-03 11:50:06 +020063Flashing
64--------
65
66SD Card
67^^^^^^^
68
69To write an image that boots from a SD card first create a FAT32 partition
70and a FAT32 filesystem on the SD card::
71
72 sudo fdisk /dev/sdx
73 sudo mkfs.vfat -F 32 /dev/sdx1
74
75Mount the SD card and copy the SPL and U-Boot to the root directory of the
76SD card::
77
78 sudo mount -t vfat /dev/sdx1 /mnt
79 sudo cp spl/boot.bin /mnt
80 sudo cp u-boot.img /mnt
81
Bin Meng6a1e2392019-07-18 00:34:25 -070082Mainline status
83---------------
84
85- Added basic board configurations support.
Michal Simek4d0837b2023-09-08 09:11:31 +020086- Added zynq U-Boot bsp code - arch/arm/mach-zynq
Bin Meng6a1e2392019-07-18 00:34:25 -070087- Added zynq boards named - zc70x, zed, microzed, zc770_xm010/xm011/xm012/xm013
88- Added zynq drivers:
89
90 :serial: drivers/serial/serial_zynq.c
91 :net: drivers/net/zynq_gem.c
92 :mmc: drivers/mmc/zynq_sdhci.c
93 :spi: drivers/spi/zynq_spi.c
94 :qspi: drivers/spi/zynq_qspi.c
95 :i2c: drivers/i2c/zynq_i2c.c
96 :nand: drivers/mtd/nand/raw/zynq_nand.c
97
98- Done proper cleanups on board configurations
99- Added basic FDT support for zynq boards
100- d-cache support for zynq_gem.c
101
Bin Meng6a1e2392019-07-18 00:34:25 -0700102* [1] http://www.xilinx.com/products/boards-and-kits/EK-Z7-ZC702-G.htm
103* [2] http://www.xilinx.com/products/boards-and-kits/EK-Z7-ZC706-G.htm
104* [3] http://zedboard.org/product/zedboard
105* [4] http://zedboard.org/product/microzed
106* [5] http://www.xilinx.com/support/documentation/user_guides/ug585-Zynq-7000-TRM.pdf
107
108
109.. Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
110.. Sun Dec 15 14:52:41 IST 2013