uboot/doc
Darwin Rambo 261d27605c arm: Add support for semihosting for armv8 fastmodel targets.
The armv8 ARM Trusted Firmware (ATF) can be used to load various ATF
images and u-boot, and does this for virtual platforms by using
semihosting. This commit extends this idea by allowing u-boot to also
use semihosting to load the kernel/ramdisk/dtb. This eliminates the need
for a bootwrapper and produces a more realistic boot sequence with
virtual models.

Though the semihosting code is quite generic, support for armv7 in
fastmodel is less useful due to the wide range of available silicon
and the lack of a free armv7 fastmodel, so this change contains an
untested armv7 placeholder for the service trap opcode.

Please refer to doc/README.semihosting for a more detailed description
of semihosting and how it is used with the armv8 virtual platforms.

Signed-off-by: Darwin Rambo <drambo@broadcom.com>
Cc: trini@ti.com
Cc: fenghua@phytium.com.cn
Cc: bhupesh.sharma@freescale.com
2014-07-03 08:35:45 +02:00
..
DocBook
SPI
SPL
device-tree-bindings
driver-model dm: Expand and improve the device lifecycle docs 2014-06-20 11:56:53 -06:00
uImage.FIT Add documentation for verified boot on Beaglebone Black 2014-06-19 11:19:03 -04:00
I2C_Edge_Conditions
README.440-DDR-performance
README.AMCC-eval-boards-cleanup
README.ARC
README.ARM-SoC
README.ARM-memory-map
README.AVR32
README.AVR32-port-muxing
README.JFFS2
README.JFFS2_NAND
README.LED
README.LED_display
README.MPC866
README.Modem
README.N1213
README.NDS32
README.NetConsole
README.OFT
README.POST
README.SNTP
README.SPL
README.TPL
README.VLAN
README.VSC3316-3308
README.ag102
README.android-fastboot
README.android-fastboot-protocol
README.arm-caches
README.arm-relocation
README.arm64
README.at91
README.at91-soc
README.atmel_mci
README.atmel_pmecc
README.autoboot
README.b4860qds
README.bedbug
README.bitbangMII
README.blackfin
README.bootmenu
README.bus_vcxk
README.cfi
README.commands
README.commands.itest
README.commands.spl
README.console
README.davinci
README.davinci.nand_spl
README.displaying-bmps
README.dns
README.drivers.eth
README.enetaddr
README.ext4
README.falcon
README.fdt-control fdt: Rename the DEV_TREE_BIN Makefile flag to to EXT_DTB 2014-06-19 11:18:56 -04:00
README.fec_mxc
README.fsl-ddr
README.fsl-hwconfig
README.fsl_iim
README.fuse
README.generic-board
README.generic_usb_ohci
README.gpt
README.hwconfig
README.idma2intr
README.imx5
README.imx6
README.imx25
README.imx27
README.imx31
README.imximage
README.iomux
README.kwbimage
README.link-local
README.lynxkdi
README.m68k
README.m54418twr
README.malta
README.marubun-pcmcia
README.memory-test
README.menu
README.mips
README.mpc5xx
README.mpc74xx
README.mpc83xx.ddrecc
README.mpc83xxads
README.mpc85xx
README.mpc85xx-sd-spi-boot
README.mpc85xx-spin-table
README.mpc85xxads
README.mpc85xxcds
README.mxc_hab
README.mxc_ocotp
README.mxs mx28evk: Add documentation on how to boot from SPI NOR 2014-06-17 16:39:10 +02:00
README.mxsimage
README.nand am335x: update README for BCH16 2014-06-06 17:46:11 -04:00
README.nand-boot-ppc440
README.ne2000
README.nokia_rx51
README.omap-reset-time
README.omap-ulpi-viewport
README.omap3
README.pblimage
README.plan9
README.power-framework
README.ppc440
README.pxe
README.qemu-mips
README.ramboot-ppc85xx
README.rmobile
README.s5pc1xx
README.sata
README.sched
README.scrapyard nand_spl: remove simpc8313 support 2014-06-05 17:01:59 -04:00
README.semihosting arm: Add support for semihosting for armv8 fastmodel targets. 2014-07-03 08:35:45 +02:00
README.serial_multi
README.sh
README.sh7752evb
README.sh7753evb
README.sha1
README.silent
README.socfpga
README.spear
README.splashprepare
README.srio-pcie-boot-corenet
README.standalone
README.switch_config
README.t4240qds
README.trace
README.ubi
README.ublimage
README.unaligned-memory-access.txt
README.update
README.usb
README.vf610
README.video
README.vxworks
README.watchdog
README.zfs
README.zynq
feature-removal-schedule.txt
git-mailrc
kwboot.1
mkimage.1

README.zynq

#
# Xilinx ZYNQ U-Boot
#
# (C) Copyright 2013 Xilinx, Inc.
#
# SPDX-License-Identifier:	GPL-2.0+
#

1. About this

This document describes the information about Xilinx Zynq U-Boot -
like supported boards, ML status and TODO list.

2. Zynq boards

Xilinx Zynq-7000 All Programmable SoCs enable extensive system level
differentiation, integration, and flexibility through hardware, software,
and I/O programmability.

* zc70x
  - 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)

3. Building

 # Configure for zc70x board
   $ make zynq_zc70x_config
     Configuring for zynq_zc70x board...

 # Building default dts for zc702 board
   $ make

 # Building specified dts for zc706 board
   $ make DEVICE_TREE=zynq-zc706

4. 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
#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.

5. 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, zc770_xm012, zc770_xm013
- Added zynq drivers:
  serial - drivers/serial/serial_zynq.c
  net - drivers/net/zynq_gem.c
  mmc - drivers/mmc/zynq_sdhci.c
  mmc - drivers/mmc/zynq_sdhci.c
  spi-  drivers/spi/zynq_spi.c
  i2c - drivers/i2c/zynq_i2c.c
- Done proper cleanups on board configurations
- Added basic FDT support for zynq boards
- d-cache support for zynq_gem.c

6. TODO

- Add zynq boards support - zc770_xm011
- Add zynq qspi controller driver
- Add zynq nand controller driver
- 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