mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-12 15:53:21 +09:00
![Michal Simek](/assets/img/avatar_default.png)
There are a lot of zynq configurations which can be merged together and use
only one for all. The similar change has been done for ZynqMP by commit
be1b6c32d9
("arm64: zynqmp: Use zynqmp_virt platform")
Build SPL with u-boot.img for zc706 like this.
export DEVICE_TREE=zynq-zc706 && make xilinx_zynq_virt_defconfig && make -j8
u-boot.img is generic for all boards.
Tested on Zybo, zc702, zc706, zc770-xm011-x16, cc108 and microzed.
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
97 lines
2.5 KiB
ReStructuredText
97 lines
2.5 KiB
ReStructuredText
.. SPDX-License-Identifier: GPL-2.0+
|
|
.. (C) Copyright 2013 Xilinx, Inc.
|
|
|
|
ZYNQ
|
|
====
|
|
|
|
About this
|
|
----------
|
|
|
|
This document describes the information about Xilinx Zynq U-Boot -
|
|
like supported boards, ML status and TODO list.
|
|
|
|
Zynq boards
|
|
-----------
|
|
|
|
Xilinx Zynq-7000 All Programmable SoCs enable extensive system level
|
|
differentiation, integration, and flexibility through hardware, software,
|
|
and I/O programmability.
|
|
|
|
* zc702 (single qspi, gem0, mmc) [1]
|
|
* zc706 (dual parallel qspi, gem0, mmc) [2]
|
|
* zed (single qspi, gem0, mmc) [3]
|
|
* microzed (single qspi, gem0, mmc) [4]
|
|
* zc770
|
|
- zc770-xm010 (single qspi, gem0, mmc)
|
|
- zc770-xm011 (8 or 16 bit nand)
|
|
- zc770-xm012 (nor)
|
|
- zc770-xm013 (dual parallel qspi, gem1)
|
|
|
|
Building
|
|
--------
|
|
|
|
configure and build for zc702 board::
|
|
|
|
$ export DEVICE_TREE=zynq-zc702
|
|
$ make xilinx_zynq_virt_defconfig
|
|
$ make
|
|
|
|
Bootmode
|
|
--------
|
|
|
|
Zynq has a facility to read the bootmode from the slcr bootmode register
|
|
once user is setting through jumpers on the board - see page no:1546 on [5]
|
|
|
|
All possible bootmode values are defined in Table 6-2:Boot_Mode MIO Pins
|
|
on [5].
|
|
|
|
board_late_init() will read the bootmode values using slcr bootmode register
|
|
at runtime and assign the modeboot variable to specific bootmode string which
|
|
is intern used in autoboot.
|
|
|
|
SLCR bootmode register Bit[3:0] values
|
|
|
|
.. code-block:: c
|
|
|
|
#define ZYNQ_BM_NOR 0x02
|
|
#define ZYNQ_BM_SD 0x05
|
|
#define ZYNQ_BM_JTAG 0x0
|
|
|
|
"modeboot" variable can assign any of "norboot", "sdboot" or "jtagboot"
|
|
bootmode strings at runtime.
|
|
|
|
Mainline status
|
|
---------------
|
|
|
|
- Added basic board configurations support.
|
|
- Added zynq u-boot bsp code - arch/arm/cpu/armv7/zynq
|
|
- Added zynq boards named - zc70x, zed, microzed, zc770_xm010/xm011/xm012/xm013
|
|
- Added zynq drivers:
|
|
|
|
:serial: drivers/serial/serial_zynq.c
|
|
:net: drivers/net/zynq_gem.c
|
|
:mmc: drivers/mmc/zynq_sdhci.c
|
|
:spi: drivers/spi/zynq_spi.c
|
|
:qspi: drivers/spi/zynq_qspi.c
|
|
:i2c: drivers/i2c/zynq_i2c.c
|
|
:nand: drivers/mtd/nand/raw/zynq_nand.c
|
|
|
|
- Done proper cleanups on board configurations
|
|
- Added basic FDT support for zynq boards
|
|
- d-cache support for zynq_gem.c
|
|
|
|
TODO
|
|
----
|
|
|
|
Add FDT support on individual drivers
|
|
|
|
* [1] http://www.xilinx.com/products/boards-and-kits/EK-Z7-ZC702-G.htm
|
|
* [2] http://www.xilinx.com/products/boards-and-kits/EK-Z7-ZC706-G.htm
|
|
* [3] http://zedboard.org/product/zedboard
|
|
* [4] http://zedboard.org/product/microzed
|
|
* [5] http://www.xilinx.com/support/documentation/user_guides/ug585-Zynq-7000-TRM.pdf
|
|
|
|
|
|
.. Jagannadha Sutradharudu Teki <jaganna@xilinx.com>
|
|
.. Sun Dec 15 14:52:41 IST 2013
|