u-boot/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
..
device-tree-bindings power: Add support for TPS65090 PMU chip. 2014-05-28 10:58:19 +09:00
DocBook kbuild: docbook: sync with Linux Kernel v3.15-rc1 2014-04-18 11:43:36 -04:00
driver-model dm: Expand and improve the device lifecycle docs 2014-06-20 11:56:53 -06:00
SPI doc: SPI: Add qspi test details on AM43xx 2014-02-18 22:41:09 +05:30
SPL Fix references to the documentation files 2013-05-10 08:16:33 -04:00
uImage.FIT Add documentation for verified boot on Beaglebone Black 2014-06-19 11:19:03 -04:00
feature-removal-schedule.txt feature-removal-schedule.txt: Drop CONFIG_SYS_ENABLE_PADS_ALL/CLOCKS_ENABLE_ALL 2014-01-24 11:01:56 -05:00
git-mailrc doc:git-mailrc: Add entry for dfu subsystem 2014-05-23 16:51:26 -04:00
I2C_Edge_Conditions rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
kwboot.1 Change e-mail address of Luka Perkov 2012-12-07 08:47:52 -07:00
mkimage.1 mkimage: Add -r option to specify keys that must be verified 2013-06-26 10:18:56 -04:00
README.440-DDR-performance PPC440 DDR setup: Set SDRAM0_CFG0[PMU]=0 for best performance 2006-07-28 18:34:58 +02:00
README.ag102 board/adp-ag102: add configuration of adp-ag102 2012-04-22 16:58:23 +08:00
README.AMCC-eval-boards-cleanup Major cleanup for AMCC PPC4xx eval boards. 2005-08-01 16:49:12 +02:00
README.android-fastboot usb/gadget: add the fastboot gadget 2014-05-08 10:38:30 +02:00
README.android-fastboot-protocol usb/gadget: add the fastboot gadget 2014-05-08 10:38:30 +02:00
README.ARC arc: add README for architecture 2014-02-07 08:14:34 -05:00
README.arm-caches cache: add ALLOC_CACHE_ALIGN_BUFFER macro 2011-10-25 09:23:10 +02:00
README.ARM-memory-map Rename TEXT_BASE into CONFIG_SYS_TEXT_BASE 2010-10-18 22:07:10 +02:00
README.arm-relocation nand: mxc: Switch NAND SPL to generic SPL 2013-04-12 07:55:07 +02:00
README.ARM-SoC arm: Move cpu/$CPU to arch/arm/cpu/$CPU 2010-04-13 09:13:24 +02:00
README.arm64 arm64: core support 2014-01-09 16:08:44 +01:00
README.at91 ARM: at91: add NAND partition table and index 2013-05-21 11:54:21 +02:00
README.at91-soc at91: remove all occourances of CONFIG_AT91_LEGACY 2013-11-13 22:17:57 +01:00
README.atmel_mci ATMEL: remove old atmel_mci driver 2012-03-13 12:06:42 +01:00
README.atmel_pmecc arm:at91: enable ROM loadable atmel image 2014-05-27 00:10:49 +02:00
README.autoboot autoboot: add an option to override keyed autoboot 2013-11-08 15:25:14 -05:00
README.AVR32 avr32: Update README 2008-09-01 13:41:58 +02:00
README.AVR32-port-muxing doc: Fix some typos in different files 2012-03-27 13:31:37 +02:00
README.b4860qds board/b4qds:Add support of 2 stage NAND boot-loader 2014-04-22 17:58:51 -07:00
README.bedbug Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
README.bitbangMII Coding Style cleanup; update CHANGELOG, prepare -rc1 2009-10-28 00:49:47 +01:00
README.blackfin add some more Blackfin docs 2008-02-04 19:26:54 -05:00
README.bootmenu Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
README.bus_vcxk Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
README.cfi mpc5200, digsy_mtc: add support for rev5 board version 2011-01-18 23:34:26 +01:00
README.commands kbuild: rename TOPDIR to stctree 2014-03-12 17:04:55 -04:00
README.commands.itest * Patch by Laurent Mohin, 10 Feb 2004: 2004-02-23 20:48:38 +00:00
README.commands.spl Add cmd_spl command 2012-03-27 22:05:28 +02:00
README.console powerpc: remove genietv board support 2014-04-18 10:42:29 -04:00
README.davinci arm, da850evm: Add an SPL for SPI boot 2011-12-24 10:23:30 +01:00
README.davinci.nand_spl arm, davinci: add cam_enc_4xx support 2011-11-03 22:56:25 +01:00
README.displaying-bmps lcd: implement a callback for splashimage 2013-03-11 11:06:09 -04:00
README.dns Coding Style cleanup; update CHANGELOG. 2009-07-23 22:23:23 +02:00
README.drivers.eth Program net device MAC addresses after initializing 2010-05-03 14:52:49 -07:00
README.enetaddr net: allow setting env enetaddr from net device setting 2012-07-11 13:15:32 -05:00
README.ext4 Coding Style cleanup: replace leading SPACEs by TABs 2013-10-14 16:06:54 -04:00
README.falcon spl_mmc/CONFIG_SPL_OS_BOOT: Allow environment to determine what to boot 2014-04-17 14:39:54 -04:00
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 doc/README.fec_mxc: add documentation 2013-01-28 06:57:49 +01:00
README.fsl-ddr README.fsl-ddr typos and update to reflect hotkey 2013-01-30 11:25:13 -06:00
README.fsl-hwconfig powerpc/85xx: Specify hwconfig usage for USB controller 2011-07-11 13:24:20 -05:00
README.fsl_iim Add fsl_iim driver 2013-04-28 11:07:41 +02:00
README.fuse Add fuse API and commands 2013-04-28 11:07:40 +02:00
README.generic-board doc: README.generic-board: Fix typo 2014-05-12 15:19:46 -04:00
README.generic_usb_ohci rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
README.gpt disk: part_efi: add support for the Backup GPT 2014-05-12 15:20:05 -04:00
README.hwconfig Cosmetic: Fix a number of typos, no functional changes. 2013-09-20 10:30:54 -04:00
README.idma2intr * Patch by Arun Dharankar, 4 Apr 2003: 2003-04-05 00:53:31 +00:00
README.imx5 imx: Document fuse assignments for MAC addresses 2013-04-28 11:07:44 +02:00
README.imx6 doc: README.fuse: Add an example on how to use the fuse API on mx6q 2014-01-02 17:16:50 +01:00
README.imx25 imx: Document fuse assignments for MAC addresses 2013-04-28 11:07:44 +02:00
README.imx27 imx: Document fuse assignments for MAC addresses 2013-04-28 11:07:44 +02:00
README.imx31 move README.imx31 to doc/ and merge with README.mx31 2008-10-08 18:59:04 +02:00
README.imximage tools: add support for setting the CSF into imximage 2013-08-31 15:06:29 +02:00
README.iomux Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
README.JFFS2 rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
README.JFFS2_NAND doc: Fix a typo in the description in doc/README.JFFS2_NAND 2013-10-07 08:21:13 -04:00
README.kwbimage kirkwood: kwbimage: refactor CONFIG_SYS_KWD_CONFIG 2014-03-12 17:04:52 -04:00
README.LED Move lib_$ARCH directories to arch/$ARCH/lib 2010-04-13 09:13:03 +02:00
README.LED_display led_display: remove unused DISPLAY_MARK define 2010-10-21 22:25:04 +02:00
README.link-local Minor Coding Style cleanup 2012-07-10 09:18:33 +02:00
README.lynxkdi rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
README.m68k cleanup: Fix typos and misspellings in various files. 2011-07-28 21:27:36 +02:00
README.m54418twr ColdFire: Add Freescale MCF54418TWR ColdFire development board support 2012-10-24 22:27:46 +08:00
README.malta malta: correct tcl script path in README.malta 2014-03-04 23:41:54 +01:00
README.marubun-pcmcia rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
README.memory-test Feature Removal: disable "mtest" command by default 2013-03-11 15:26:59 -04:00
README.menu Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
README.mips MIPS: remove obsolete TODO items 2013-07-24 09:51:05 -04:00
README.Modem * Code cleanup: 2003-06-27 21:31:46 +00:00
README.mpc5xx Move arch/ppc to arch/powerpc 2010-04-21 23:42:38 +02:00
README.mpc74xx Initial revision 2002-11-02 23:30:20 +00:00
README.mpc83xx.ddrecc mpc83xx: Correct the README for DDR ECC 2007-08-10 01:13:11 -05:00
README.mpc83xxads Add support for ep8248 board 2005-08-06 01:42:58 +02:00
README.mpc85xx spl/85xx: new SPL support 2012-11-26 15:41:25 -06:00
README.mpc85xx-sd-spi-boot powerpc: mpc85xx: Support booting from SD Card with SPL 2013-08-20 09:47:26 -07:00
README.mpc85xx-spin-table powerpc/mpc85xx: Rewrite spin table to comply with ePAPR v1.1 2012-10-22 14:31:32 -05:00
README.mpc85xxads doc: Fix some typos in different files 2012-03-27 13:31:37 +02:00
README.mpc85xxcds * Patch by Jon Loeliger, 2005-05-05 2005-07-25 14:05:07 -05:00
README.MPC866 rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
README.mxc_hab Coding Style cleanup: replace leading SPACEs by TABs 2013-10-14 16:06:54 -04:00
README.mxc_ocotp arm: vf610: Add Vybrid VF610 to mxc_ocotp document 2013-06-03 10:56:54 +02:00
README.mxs mx28evk: Add documentation on how to boot from SPI NOR 2014-06-17 16:39:10 +02:00
README.mxsimage Coding Style cleanup: replace leading SPACEs by TABs 2013-10-14 16:06:54 -04:00
README.N1213 doc/README: documents and readme for NDS32 arch 2011-10-22 00:54:45 +02:00
README.nand am335x: update README for BCH16 2014-06-06 17:46:11 -04:00
README.nand-boot-ppc440 Fix some typos 2008-05-09 20:53:52 +02:00
README.NDS32 doc/README: documents and readme for NDS32 arch 2011-10-22 00:54:45 +02:00
README.ne2000 * Patches by Richard Woodruff, 01 Oct 2004: 2005-01-09 23:16:25 +00:00
README.NetConsole net: Make the netconsole buffer size configurable 2012-09-24 13:55:43 -05:00
README.nokia_rx51 Coding Style cleanup: replace leading SPACEs by TABs 2013-10-14 16:06:54 -04:00
README.OFT Code cleanup, especially MIPS for GCC 4.x 2005-12-04 00:40:34 +01:00
README.omap-reset-time ARM: OMAP5: Fix warm reset with USB cable connected 2013-05-10 08:25:55 -04:00
README.omap-ulpi-viewport usb: ulpi: Add omap-ulpi-view port support 2012-02-12 10:11:30 +01:00
README.omap3 mtd: nand: omap: add CONFIG_NAND_OMAP_ECCSCHEME for selection of ecc-scheme 2013-11-21 13:33:41 -06:00
README.pblimage powerpc/tool/pbl: fix pbl image compiling process 2013-10-16 16:13:13 -07:00
README.plan9 cmd_bootm: Add command line arguments to Plan 9 2013-06-26 10:25:22 -04:00
README.POST post/i2c: Add ability to ignore I2C devices 2010-10-22 02:19:14 -05:00
README.power-framework doc:power:pmic: Add doc entry for PMIC(v2) framework 2014-04-18 10:42:30 -04:00
README.ppc440 Remove unused CONFIG_SERIAL_SOFTWARE_FIFO feature 2010-09-23 09:02:05 +02:00
README.pxe Add GPL-2.0+ SPDX-License-Identifier to source files 2013-07-24 09:44:38 -04:00
README.qemu-mips Coding Style cleanup: drop some excessive empty lines 2013-10-14 16:06:54 -04:00
README.ramboot-ppc85xx Coding Style cleanup: replace leading SPACEs by TABs 2013-10-14 16:06:54 -04:00
README.rmobile arm: rmobile: Update README.rmobile 2013-12-18 16:35:45 +09:00
README.s5pc1xx s5pc1xx: update the README file 2010-04-03 15:24:26 -05:00
README.sata doc: english polishing for README.sata 2008-04-13 14:56:51 -07:00
README.sched * Patch by Arun Dharankar, 4 Apr 2003: 2003-04-05 00:53:31 +00:00
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 rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
README.sh sh: Add support Renesas Solutions R7780MP 2008-03-28 14:16:12 +09:00
README.sh7752evb sh: add support for sh7752evb board 2012-12-20 13:20:17 +09:00
README.sh7753evb sh: add support for sh7753evb board 2013-12-18 16:49:08 +09:00
README.sha1 rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
README.silent Allow u-boot to be silent without forcing Linux to be 2013-03-11 17:01:02 -04:00
README.SNTP doc: Fix some typos in different files 2012-03-27 13:31:37 +02:00
README.socfpga socfpga/dwmmc: Adding DesignWare MMC driver support for SOCFPGA 2014-01-09 11:53:55 +02:00
README.spear SPEAr: Add configuration options for spear3xx and spear6xx boards 2012-07-07 14:07:40 +02:00
README.SPL kbuild: rename TOPDIR to stctree 2014-03-12 17:04:55 -04:00
README.splashprepare video: lcd: Make splash_screen_prepare weak, remove config macro 2013-07-01 21:47:16 +02:00
README.srio-pcie-boot-corenet powerpc/doc: Update the README.srio-pcie-boot-corenet 2013-06-20 17:08:47 -05:00
README.standalone doc/README: documents and readme for NDS32 arch 2011-10-22 00:54:45 +02:00
README.switch_config arm,davinci: update for enbw_cmc board 2012-07-07 14:07:21 +02:00
README.t4240qds powerpc/T4QDS: add two stage boot of nand/sd 2014-04-22 17:58:53 -07:00
README.TPL kbuild: rename TOPDIR to stctree 2014-03-12 17:04:55 -04:00
README.trace Coding Style cleanup: replace leading SPACEs by TABs 2013-10-14 16:06:54 -04:00
README.ubi Coding Style cleanup: replace leading SPACEs by TABs 2013-10-14 16:06:54 -04:00
README.ublimage Minor coding style cleanup. 2011-09-11 21:24:09 +02:00
README.unaligned-memory-access.txt arm: Switch to -mno-unaligned-access when supported by the compiler 2014-02-26 21:19:32 +01:00
README.update add command fitupd to run an update from a FIT image 2011-07-26 16:58:48 +02:00
README.usb usb: net: update README.usb to list all USB ethernet options 2014-03-12 17:04:35 -04:00
README.vf610 arm: vf610: Add Vybrid VF610 CPU support 2013-06-03 10:56:53 +02:00
README.video powerpc: remove genietv board support 2014-04-18 10:42:29 -04:00
README.VLAN Patches by Pantelis Antoniou, 30 Mar 2004: 2004-04-15 21:48:45 +00:00
README.VSC3316-3308 board/freescale/common: VSC3316/VSC3308 initialization code 2012-10-22 14:31:21 -05:00
README.vxworks README.vxworks: add a document describing the new VxWorks boot interface 2013-12-16 08:59:42 -05:00
README.watchdog blackfin: Move blackfin watchdog driver out of the blackfin arch folder. 2013-05-13 16:30:26 +08:00
README.zfs Coding Style cleanup: replace leading SPACEs by TABs 2013-10-14 16:06:54 -04:00
README.zynq doc: Update the zynq u-boot status 2014-01-10 15:18:33 +01:00

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