u-boot/doc
Jean-Jacques Hiblot f1d2bc9034 lib: fdtdec: Add function re-setup the fdt more effeciently
In some cases it may be useful to be able to change the fdt we have been
using and use another one instead. For example, the TI platforms uses an
EEPROM to store board information and, based on the type of board,
different dtbs are used by the SPL. When DM_I2C is used, a first dtb must
be used before the I2C is initialized and only then the final dtb can be
selected.
To speed up the process and reduce memory usage, introduce a new function
fdtdec_setup_best_match() that re-use the DTBs loaded in memory by
fdtdec_setup() to select the best match.

Signed-off-by: Jean-Jacques Hiblot <jjhiblot@ti.com>
Reviewed-by: Heiko Schocher <hs@denx.de>
2018-12-10 07:21:21 +01:00
..
chromium doc: fix incorrect usage of DT node unit address 2018-01-15 18:29:21 -07:00
device-tree-bindings spi: cadence_qspi: use "cdns,qspi-nor" as compatible 2018-11-29 12:45:15 +01:00
driver-model Merge branch 'master' of git://git.denx.de/u-boot-spi 2018-12-05 15:06:24 -05:00
imx doc: imx: Improve i.MX documentation naming 2018-10-22 14:22:42 +02:00
mvebu doc: cmd: bubt: drop duplicated text 2018-06-12 18:44:00 -04:00
SPI Fix various typos, scattered over the code. 2016-05-05 21:39:26 -04:00
SPL doc: SPL: Add README for secure boot support 2016-07-21 11:11:29 -07:00
uImage.FIT doc: uImage.FIT: signature.txt: add option padding 2018-12-03 10:44:10 -05:00
bounces patman: add support for omitting bouncing addresses 2017-09-11 21:43:58 -06:00
feature-removal-schedule.txt Various, unrelated tree-wide typo fixes. 2016-07-16 09:43:12 -04:00
git-mailrc doc/git-mailrc: add Stefan Roese to the kirkwood alias 2018-09-19 08:59:26 +02:00
I2C_Edge_Conditions rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
kwboot.1 Fix spelling of "transferred". 2016-03-22 12:16:16 -04:00
mkimage.1 mkimage: Allow including a ramdisk in FIT auto mode 2016-11-06 07:33:42 -05:00
README.440-DDR-performance Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
README.ae350 doc: ae250: Rename as ae350 2018-05-29 14:45:02 +08:00
README.ag101p NDS32: Generic Board Support and Unsupport 2015-08-28 11:46:35 -04:00
README.AMCC-eval-boards-cleanup Major cleanup for AMCC PPC4xx eval boards. 2005-08-01 16:49:12 +02:00
README.android-fastboot fastboot: Update fastboot documentation 2018-05-30 11:59:21 +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 doc: ARM: Use the right function name 2015-01-14 11:37:39 -05:00
README.ARM-memory-map Rename TEXT_BASE into CONFIG_SYS_TEXT_BASE 2010-10-18 22:07:10 +02:00
README.arm-relocation mtd: move NAND files into a raw/ subdirectory 2018-09-20 20:10:49 +05:30
README.arm64 doc: update README.arm64 2016-11-05 07:27:44 -04:00
README.armada-secureboot arm: mvebu: Implement secure boot 2017-02-01 09:04:18 +01:00
README.at91 arm: at91: wdt: Convert watchdog driver to dm/dt 2018-11-16 13:34:34 -05:00
README.atmel_mci avr32: Retire AVR32 for good 2017-07-06 16:17:19 -04:00
README.atmel_pmecc Change my mailaddress 2016-05-02 18:37:09 -04:00
README.autoboot SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
README.avb2 avb_verify: support using OP-TEE TA AVB 2018-10-07 11:07:25 -04:00
README.AX25 doc: ae250: Rename as ae350 2018-05-29 14:45:02 +08:00
README.b4860qds Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
README.bcm7xxx board: arm: Add support for Broadcom BCM7445 2018-07-10 16:55:57 -04: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.bloblist Add bloblist documentation 2018-11-26 08:25:33 -05:00
README.bootmenu SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
README.boston boston: Introduce support for the MIPS Boston development board 2016-09-21 16:24:36 +02:00
README.bus_vcxk SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
README.cfi doc/README.cfi: Update code snippet, and add example. 2017-01-02 11:14:01 -05:00
README.chromium tegra: nyan-big: Update CONFIG_SYS_TEXT to the default in README.chromium 2018-07-06 09:12:39 -07:00
README.clang clang: Update documentation 2018-04-27 14:54:49 -04:00
README.coccinelle Makefile: add coccicheck target 2017-11-20 20:18:38 -05:00
README.commands doc: expand README.commands 2018-05-23 17:30:04 -04:00
README.commands.itest * Patch by Laurent Mohin, 10 Feb 2004: 2004-02-23 20:48:38 +00:00
README.commands.spl Fix various typos, scattered over the code. 2016-05-05 21:39:26 -04:00
README.console SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -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.dfutftp SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
README.displaying-bmps lcd: implement a callback for splashimage 2013-03-11 11:06:09 -04:00
README.distro distro_bootcmd: add VirtIO distro boot command 2018-11-26 13:57:32 +08:00
README.dns Coding Style cleanup; update CHANGELOG. 2009-07-23 22:23:23 +02:00
README.drivers.eth net: cosmetic: Fix var naming net <-> eth drivers 2015-04-18 11:11:33 -06:00
README.enetaddr env: Rename eth_getenv_enetaddr() to eth_env_get_enetaddr() 2017-08-16 08:30:44 -04:00
README.esbc_validate SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
README.ext4 fs: Migrate ext4 to Kconfig 2018-01-22 16:43:30 -05:00
README.falcon cmd: spl: provide address and size of prepared FDT in environment 2017-08-26 14:56:12 -04:00
README.fdt-control lib: fdtdec: Add function re-setup the fdt more effeciently 2018-12-10 07:21:21 +01:00
README.fdt-overlays doc: overlays: Tweak documentation regarding overlays 2017-09-15 05:27:49 -06:00
README.fec_mxc driver/net/fec: support fixed speed connection 2016-07-12 17:58:48 +02:00
README.fsl-clk doc: restore doc/README.fsl-clk 2017-06-29 21:30:16 -04:00
README.fsl-ddr driver/ddr/fsl: Add address parity support for DDR4 UDIMM/discrete 2016-03-21 12:42:13 -07:00
README.fsl-dpaa armv8/ls1043a: Add Fman support 2015-10-29 10:34:01 -07:00
README.fsl-esdhc mmc: fsl_esdhc: drop CONFIG_SYS_FSL_ESDHC_FORCE_VSELECT 2017-07-12 09:44:22 +02:00
README.fsl-hwconfig powerpc/85xx: Specify hwconfig usage for USB controller 2011-07-11 13:24:20 -05:00
README.fsl-trustzone-components armv8: LS2080A: Rename LS2085A to reflect LS2080A 2015-11-30 08:53:04 -08: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 SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
README.generic_usb_ohci powerpc, 5xxx, 512x: remove support for mpc5xxx and mpc512x 2017-06-16 10:14:55 -04:00
README.gpt SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
README.Heterogeneous-SoCs powerpc/mpc85xx: Add DSP side awareness for Freescale Heterogeneous SoCs 2015-03-04 10:15:29 -08:00
README.hwconfig Cosmetic: Fix a number of typos, no functional changes. 2013-09-20 10:30:54 -04:00
README.i2c i2c: Add a mux for GPIO-based I2C bus arbitration 2015-08-05 21:06:10 -06:00
README.iomux SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
README.iscsi doc: README.iscsi: Open-iSCSI configuration 2018-12-02 22:00:57 +01:00
README.JFFS2 fs: Kconfig: Add a separate option for FS_JFFS2 2017-05-22 12:45:31 -04:00
README.JFFS2_NAND README: Drop unused JFFS2 options 2016-10-06 20:40:26 -04:00
README.kconfig treewide: fix "followings" to "following" 2016-08-26 17:04:58 -04:00
README.kwbimage doc: fix documentation of out-of-tree build 2014-11-07 16:27:07 -05:00
README.LED powerpc, 8xx: remove support for 8xx 2017-06-12 08:37:55 -04:00
README.LED_display led_display: remove unused DISPLAY_MARK define 2010-10-21 22:25:04 +02:00
README.link-local net: cosmetic: Fix checkpatch.pl failures in net.c 2015-04-18 11:11:35 -06:00
README.log log: Add units to code-size stats in README.log 2018-04-10 11:52:16 -04:00
README.lynxkdi rename CFG_ macros to CONFIG_SYS 2008-10-18 21:54:03 +02:00
README.m68k m68k: doc: update outdated documentation 2017-11-06 09:59:02 -05:00
README.m54418twr m68k: Drop unreferenced CONFIG_* defines 2018-01-19 15:49:32 -05:00
README.malta Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
README.marubun-pcmcia Fix various typos, scattered over the code. 2016-05-05 21:39:26 -04:00
README.marvell arm64: mvebu: use single defconfig for Armada8K development boards 2017-07-12 06:57:55 +02:00
README.mediatek doc: README.mediatek: Add a simple README for MediaTek 2018-11-28 23:04:54 -05:00
README.memory-test Feature Removal: disable "mtest" command by default 2013-03-11 15:26:59 -04:00
README.menu SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
README.mips MIPS: remove obsolete TODO items 2013-07-24 09:51:05 -04: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 README: Drop CONFIG_MPC8349ADS 2016-10-06 20:40:51 -04:00
README.mpc85xx board_f: Rename initdram() to dram_init() 2017-04-13 09:40:57 -04:00
README.mpc85xx-sd-spi-boot powerpc: P2010: Drop configuration for P2010 2016-11-23 23:42:10 -08:00
README.mpc85xx-spin-table Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
README.mpc85xxcds Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
README.multi-dtb-fit spl: dm: Make it possible for the SPL to pick its own DTB from a FIT 2017-10-06 11:26:41 -04:00
README.mxc_ocotp arm: vf610: Add Vybrid VF610 to mxc_ocotp document 2013-06-03 10:56:54 +02:00
README.N1213 doc/README: documents and readme for NDS32 arch 2011-10-22 00:54:45 +02:00
README.nand mtd: move NAND files into a raw/ subdirectory 2018-09-20 20:10:49 +05:30
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.nios2 nios2: change README.nios2 to use 10m50 as template 2015-11-12 08:26:59 +08:00
README.nokia_rx51 Coding Style cleanup: replace leading SPACEs by TABs 2013-10-14 16:06:54 -04:00
README.nvme SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
README.odroid odroid: Update README with correct firmware link and XU4 support 2016-04-14 19:38:40 +09:00
README.OFT Code cleanup, especially MIPS for GCC 4.x 2005-12-04 00:40:34 +01:00
README.omap-ulpi-viewport usb: ulpi: Add omap-ulpi-view port support 2012-02-12 10:11:30 +01:00
README.omap3 arm: armv7-a: Compile and tune for armv7-a instead of armv5 2018-09-10 20:48:16 -04: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: remove reference to power functions 2018-03-16 14:54:14 -04:00
README.power-framework doc:power:pmic: Add doc entry for PMIC(v2) framework 2014-04-18 10:42:30 -04:00
README.pxe cmd: pxe: add support for FIT config selection 2018-10-08 14:45:02 -04:00
README.qemu-arm doc: qemu-arm: Drop highmem=off references 2018-05-26 12:46:50 -04:00
README.qemu-mips Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
README.qemu-riscv riscv: Add QEMU virt board support 2018-10-03 17:48:37 +08:00
README.ramboot-ppc85xx powerpc: mpc85xx: Convert CONFIG_SYS_CCSRBAR_DEFAULT to Kconfig option 2016-12-02 08:52:34 -08:00
README.rmobile doc: rmobile: Update the README 2018-05-02 10:52:00 +02:00
README.rockchip rockchip: doc: clarify usage of CONFIG_SPL_ROCKCHIP_BACK_TO_BROM 2018-07-21 01:55:26 +02:00
README.rockusb usb: rockchip: implement K_FW_LBA_ERASE_10 command 2018-08-08 22:22:07 +02:00
README.s5pc1xx s5pc1xx: update the README file 2010-04-03 15:24:26 -05:00
README.sata Use correct spelling of "U-Boot" 2016-02-06 12:00:59 +01:00
README.sched * Patch by Arun Dharankar, 4 Apr 2003: 2003-04-05 00:53:31 +00:00
README.scrapyard avr32: Retire AVR32 for good 2017-07-06 16:17:19 -04:00
README.semihosting SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
README.serial_multi powerpc, 5xxx, 512x: remove support for mpc5xxx and mpc512x 2017-06-16 10:14:55 -04: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 Drop references to MAKEALL in the documentation 2016-07-31 19:37:08 -06: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 ARM: socfpga: add fpga build and bsp handoff instructions to readme 2017-04-14 14:06:38 +02:00
README.spear SPEAr: Add configuration options for spear3xx and spear6xx boards 2012-07-07 14:07:40 +02:00
README.SPL mtd: move NAND files into a raw/ subdirectory 2018-09-20 20:10:49 +05:30
README.splashprepare splash: add support for loading splash from a FIT image 2017-01-13 17:40:38 +01: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 riscv: doc: Add relative doc to describe RISC-V 2018-01-12 08:05:12 -05:00
README.t1040-l2switch drivers: net: vsc9953: Add LAG support 2016-01-28 12:22:19 -06:00
README.tee Documentation: tee uclass and op-tee driver 2018-10-07 10:47:38 -04:00
README.ti-secure doc: Updates info on using Keystone2 secure devices 2017-04-08 21:35:06 -04:00
README.TPL kbuild: rename TOPDIR to stctree 2014-03-12 17:04:55 -04:00
README.trace sandbox: Drop the deprecated 'sb' command 2018-11-26 08:25:35 -05:00
README.u-boot_on_efi x86: Rename efi-x86 target to efi-x86_app 2018-06-17 21:16:04 +08:00
README.ubi Coding Style cleanup: replace leading SPACEs by TABs 2013-10-14 16:06:54 -04:00
README.ubispl spl: Lightweight UBI and UBI fastmap support 2016-07-22 09:53:00 -04:00
README.ublimage Minor coding style cleanup. 2011-09-11 21:24:09 +02:00
README.uefi Revert "efi_loader: no support for ARMV7_NONSEC=y" 2018-07-25 14:57:43 +02:00
README.unaligned-memory-access.txt doc: Fix comparison operator 2014-10-27 11:04:00 -04:00
README.uniphier ARM: uniphier: enable distro boot 2018-07-25 08:47:53 +09:00
README.update Fix typo: commmand -> command. 2015-12-05 18:22:21 -05:00
README.usb SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
README.vf610 arm: vf610: Add Vybrid VF610 CPU support 2013-06-03 10:56:53 +02:00
README.video SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
README.virtio doc: Document virtio support 2018-11-14 09:16:28 -08: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 doc: vxworks: Mention chain-loading an x86 kernel via 'bootefi' 2018-07-02 09:23:28 +08:00
README.watchdog arm: at91: wdt: Convert watchdog driver to dm/dt 2018-11-16 13:34:34 -05:00
README.x86 x86: doc: Remove stale sections of 64-bit support 2018-10-22 17:51:45 +08:00
README.xtensa xtensa: add support for the xtensa processor architecture [1/2] 2016-08-15 18:46:38 -04:00
README.zfs Coding Style cleanup: replace leading SPACEs by TABs 2013-10-14 16:06:54 -04:00
README.zynq mtd: move NAND files into a raw/ subdirectory 2018-09-20 20:10:49 +05:30

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

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.

* 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

 ex. configure and build for zc702 board
   $ make zynq_zc702_config
   $ make

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

6. 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