]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - README
Merge remote branch 'remotes/kc/karo-tx6q' into karo-tx28-devel
[karo-tx-uboot.git] / README
diff --git a/README b/README
index e9d189108f70f2cf526395fd2db06e10e7ec10ab..e6ea6fe8d476581d043f3851fb8ee37bd6e32bb6 100644 (file)
--- a/README
+++ b/README
@@ -1,5 +1,5 @@
 #
-# (C) Copyright 2000 - 2011
+# (C) Copyright 2000 - 2012
 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 #
 # See file CREDITS for list of people who contributed to this
@@ -54,6 +54,11 @@ In case of problems see the CHANGELOG and CREDITS files to find out
 who contributed the specific port. The MAINTAINERS file lists board
 maintainers.
 
+Note: There is no CHANGELOG file in the actual U-Boot source tree;
+it can be created dynamically from the Git log using:
+
+       make CHANGELOG
+
 
 Where to get help:
 ==================
@@ -363,6 +368,12 @@ The following options need to be configured:
                ICache only when Code runs from RAM.
 
 - 85xx CPU Options:
+               CONFIG_SYS_PPC64
+
+               Specifies that the core is a 64-bit PowerPC implementation (implements
+               the "64" category of the Power ISA). This is necessary for ePAPR
+               compliance, among other possible reasons.
+
                CONFIG_SYS_FSL_TBCLK_DIV
 
                Defines the core time base clock divider ratio compared to the
@@ -374,6 +385,46 @@ The following options need to be configured:
                Defines the string to utilize when trying to match PCIe device
                tree nodes for the given platform.
 
+               CONFIG_SYS_PPC_E500_DEBUG_TLB
+
+               Enables a temporary TLB entry to be used during boot to work
+               around limitations in e500v1 and e500v2 external debugger
+               support. This reduces the portions of the boot code where
+               breakpoints and single stepping do not work.  The value of this
+               symbol should be set to the TLB1 entry to be used for this
+               purpose.
+
+               CONFIG_SYS_FSL_ERRATUM_A004510
+
+               Enables a workaround for erratum A004510.  If set,
+               then CONFIG_SYS_FSL_ERRATUM_A004510_SVR_REV and
+               CONFIG_SYS_FSL_CORENET_SNOOPVEC_COREONLY must be set.
+
+               CONFIG_SYS_FSL_ERRATUM_A004510_SVR_REV
+               CONFIG_SYS_FSL_ERRATUM_A004510_SVR_REV2 (optional)
+
+               Defines one or two SoC revisions (low 8 bits of SVR)
+               for which the A004510 workaround should be applied.
+
+               The rest of SVR is either not relevant to the decision
+               of whether the erratum is present (e.g. p2040 versus
+               p2041) or is implied by the build target, which controls
+               whether CONFIG_SYS_FSL_ERRATUM_A004510 is set.
+
+               See Freescale App Note 4493 for more information about
+               this erratum.
+
+               CONFIG_SYS_FSL_CORENET_SNOOPVEC_COREONLY
+
+               This is the value to write into CCSR offset 0x18600
+               according to the A004510 workaround.
+
+- Generic CPU options:
+               CONFIG_SYS_BIG_ENDIAN, CONFIG_SYS_LITTLE_ENDIAN
+
+               Defines the endianess of the CPU. Implementation of those
+               values is arch specific.
+
 - Intel Monahans options:
                CONFIG_SYS_MONAHANS_RUN_MODE_OSC_RATIO
 
@@ -420,6 +471,20 @@ The following options need to be configured:
                XWAY SoCs for booting from NOR flash. The U-Boot image needs to
                be swapped if a flash programmer is used.
 
+- ARM options:
+               CONFIG_SYS_EXCEPTION_VECTORS_HIGH
+
+               Select high exception vectors of the ARM core, e.g., do not
+               clear the V bit of the c1 register of CP15.
+
+               CONFIG_SYS_THUMB_BUILD
+
+               Use this flag to build U-Boot using the Thumb instruction
+               set for ARM architectures. Thumb instruction set provides
+               better code density. For ARM architectures that support
+               Thumb2 this flag will result in Thumb2 code generated by
+               GCC.
+
 - Linux Kernel Interface:
                CONFIG_CLOCKS_IN_MHZ
 
@@ -551,6 +616,14 @@ The following options need to be configured:
                boot loader that has already initialized the UART.  Define this
                variable to flush the UART at init time.
 
+               CONFIG_SYS_NS16550_BROKEN_TEMT
+
+               16550 UART set the Transmitter Empty (TEMT) Bit when all output
+               has finished and the transmitter is totally empty. U-Boot waits
+               for this bit to be set to initialize the serial console. On some
+               broken platforms this bit is not set in SPL making U-Boot to
+               hang while waiting for TEMT. Define this option to avoid it.
+
 
 - Console Interface:
                Depending on board, define exactly one serial port
@@ -601,6 +674,10 @@ The following options need to be configured:
                                                additional board info beside
                                                the logo
 
+               When CONFIG_CFB_CONSOLE_ANSI is defined, console will support
+               a limited number of ANSI escape sequences (cursor control,
+               erase functions and limited graphics rendition control).
+
                When CONFIG_CFB_CONSOLE is defined, video console is
                default i/o. Serial console can be forced with
                environment 'console=serial'.
@@ -638,9 +715,20 @@ The following options need to be configured:
                'Sane' compilers will generate smaller code if
                CONFIG_PRE_CON_BUF_SZ is a power of 2
 
+- Safe printf() functions
+               Define CONFIG_SYS_VSNPRINTF to compile in safe versions of
+               the printf() functions. These are defined in
+               include/vsprintf.h and include snprintf(), vsnprintf() and
+               so on. Code size increase is approximately 300-500 bytes.
+               If this option is not given then these functions will
+               silently discard their buffer size argument - this means
+               you are not getting any overflow checking in this case.
+
 - Boot Delay:  CONFIG_BOOTDELAY - in seconds
                Delay before automatically booting the default image;
                set to -1 to disable autoboot.
+               set to -2 to autoboot with no delay and not check for abort
+               (even when CONFIG_ZERO_BOOTDELAY_CHECK is defined).
 
                See doc/README.autoboot for these options that
                work with CONFIG_BOOTDELAY. None are required.
@@ -706,8 +794,8 @@ The following options need to be configured:
 - Monitor Functions:
                Monitor commands can be included or excluded
                from the build by using the #include files
-               "config_cmd_all.h" and #undef'ing unwanted
-               commands, or using "config_cmd_default.h"
+               <config_cmd_all.h> and #undef'ing unwanted
+               commands, or using <config_cmd_default.h>
                and augmenting with additional #define's
                for wanted commands.
 
@@ -735,15 +823,21 @@ The following options need to be configured:
                CONFIG_CMD_EDITENV        edit env variable
                CONFIG_CMD_EEPROM       * EEPROM read/write support
                CONFIG_CMD_ELF          * bootelf, bootvx
+               CONFIG_CMD_ENV_CALLBACK * display details about env callbacks
+               CONFIG_CMD_ENV_FLAGS    * display details about env flags
                CONFIG_CMD_EXPORTENV    * export the environment
+               CONFIG_CMD_EXT2         * ext2 command support
+               CONFIG_CMD_EXT4         * ext4 command support
                CONFIG_CMD_SAVEENV        saveenv
                CONFIG_CMD_FDC          * Floppy Disk Support
-               CONFIG_CMD_FAT          * FAT partition support
+               CONFIG_CMD_FAT          * FAT command support
                CONFIG_CMD_FDOS         * Dos diskette Support
                CONFIG_CMD_FLASH          flinfo, erase, protect
                CONFIG_CMD_FPGA           FPGA device initialization support
+               CONFIG_CMD_GETTIME      * Get time since boot
                CONFIG_CMD_GO           * the 'go' command (exec code)
                CONFIG_CMD_GREPENV      * search environment
+               CONFIG_CMD_HASH         * calculate hash / digest
                CONFIG_CMD_HWFLOW       * RTS/CTS hw flow control
                CONFIG_CMD_I2C          * I2C serial bus support
                CONFIG_CMD_IDE          * IDE harddisk support
@@ -751,15 +845,19 @@ The following options need to be configured:
                CONFIG_CMD_IMLS           List all found images
                CONFIG_CMD_IMMAP        * IMMR dump support
                CONFIG_CMD_IMPORTENV    * import an environment
+               CONFIG_CMD_INI          * import data from an ini file into the env
                CONFIG_CMD_IRQ          * irqinfo
                CONFIG_CMD_ITEST          Integer/string test of 2 values
                CONFIG_CMD_JFFS2        * JFFS2 Support
                CONFIG_CMD_KGDB         * kgdb
                CONFIG_CMD_LDRINFO        ldrinfo (display Blackfin loader)
+               CONFIG_CMD_LINK_LOCAL   * link-local IP address auto-configuration
+                                         (169.254.*.*)
                CONFIG_CMD_LOADB          loadb
                CONFIG_CMD_LOADS          loads
                CONFIG_CMD_MD5SUM         print md5 message digest
                                          (requires CONFIG_CMD_MEMORY and CONFIG_MD5)
+               CONFIG_CMD_MEMINFO      * Display detailed memory information
                CONFIG_CMD_MEMORY         md, mm, nm, mw, cp, cmp, crc, base,
                                          loop, loopw, mtest
                CONFIG_CMD_MISC           Misc functions like sleep etc
@@ -775,6 +873,7 @@ The following options need to be configured:
                CONFIG_CMD_PING         * send ICMP ECHO_REQUEST to network
                                          host
                CONFIG_CMD_PORTIO       * Port I/O
+               CONFIG_CMD_READ         * Read raw data from partition
                CONFIG_CMD_REGINFO      * Register dump
                CONFIG_CMD_RUN            run command in env variable
                CONFIG_CMD_SAVES        * save S record dump
@@ -783,16 +882,18 @@ The following options need to be configured:
                                          (requires CONFIG_CMD_I2C)
                CONFIG_CMD_SETGETDCR      Support for DCR Register access
                                          (4xx only)
+               CONFIG_CMD_SF           * Read/write/erase SPI NOR flash
                CONFIG_CMD_SHA1SUM        print sha1 memory digest
                                          (requires CONFIG_CMD_MEMORY)
                CONFIG_CMD_SOURCE         "source" command Support
                CONFIG_CMD_SPI          * SPI serial bus support
                CONFIG_CMD_TFTPSRV      * TFTP transfer in server mode
                CONFIG_CMD_TFTPPUT      * TFTP put command (upload)
-               CONFIG_CMD_TIME         * run command and report execution time
+               CONFIG_CMD_TIME         * run command and report execution time (ARM specific)
+               CONFIG_CMD_TIMER        * access to the system tick timer
                CONFIG_CMD_USB          * USB support
                CONFIG_CMD_CDP          * Cisco Discover Protocol support
-               CONFIG_CMD_FSL          * Microblaze FSL support
+               CONFIG_CMD_MFSL         * Microblaze FSL support
 
 
                EXAMPLE: If you want all functions except of network
@@ -866,7 +967,8 @@ The following options need to be configured:
                If this variable is defined, an environment variable
                named "ver" is created by U-Boot showing the U-Boot
                version as printed by the "version" command.
-               This variable is readonly.
+               Any change to this variable will be reverted at the
+               next reset.
 
 - Real-Time Clock:
 
@@ -909,13 +1011,20 @@ The following options need to be configured:
                commands like bootm or iminfo. This option is
                automatically enabled when you select CONFIG_CMD_DATE .
 
-- Partition Support:
-               CONFIG_MAC_PARTITION and/or CONFIG_DOS_PARTITION
-               and/or CONFIG_ISO_PARTITION and/or CONFIG_EFI_PARTITION
+- Partition Labels (disklabels) Supported:
+               Zero or more of the following:
+               CONFIG_MAC_PARTITION   Apple's MacOS partition table.
+               CONFIG_DOS_PARTITION   MS Dos partition table, traditional on the
+                                      Intel architecture, USB sticks, etc.
+               CONFIG_ISO_PARTITION   ISO partition table, used on CDROM etc.
+               CONFIG_EFI_PARTITION   GPT partition table, common when EFI is the
+                                      bootloader.  Note 2TB partition limit; see
+                                      disk/part_efi.c
+               CONFIG_MTD_PARTITIONS  Memory Technology Device partition table.
 
                If IDE or SCSI support is enabled (CONFIG_CMD_IDE or
                CONFIG_CMD_SCSI) you must configure support for at
-               least one partition type as well.
+               least one non-MTD partition type as well.
 
 - IDE Reset method:
                CONFIG_IDE_RESET_ROUTINE - this is defined in several
@@ -955,6 +1064,9 @@ The following options need to be configured:
                devices.
                CONFIG_SYS_SCSI_SYM53C8XX_CCF to fix clock timing (80Mhz)
 
+                The environment variable 'scsidevs' is set to the number of
+                SCSI devices found during the last scan.
+
 - NETWORK Support (PCI):
                CONFIG_E1000
                Support for Intel 8254x/8257x gigabit chips.
@@ -1003,7 +1115,10 @@ The following options need to be configured:
                        If this defined, the driver is quiet.
                        The driver doen't show link status messages.
 
-               CONFIG_DRIVER_LAN91C96
+               CONFIG_CALXEDA_XGMAC
+               Support for the Calxeda XGMAC device
+
+               CONFIG_LAN91C96
                Support for SMSC's LAN91C96 chips.
 
                        CONFIG_LAN91C96_BASE
@@ -1013,7 +1128,7 @@ The following options need to be configured:
                        CONFIG_LAN91C96_USE_32_BIT
                        Define this to enable 32 bit addressing
 
-               CONFIG_DRIVER_SMC91111
+               CONFIG_SMC91111
                Support for SMSC's LAN91C111 chip
 
                        CONFIG_SMC91111_BASE
@@ -1106,6 +1221,9 @@ The following options need to be configured:
                                May be defined to allow interrupt polling
                                instead of using asynchronous interrupts
 
+               CONFIG_USB_EHCI_TXFIFO_THRESH enables setting of the
+               txfilltuning field in the EHCI controller on reset.
+
 - USB Device:
                Define the below if you wish to use the USB console.
                Once firmware is rebuilt from a serial console issue the
@@ -1129,6 +1247,14 @@ The following options need to be configured:
                        Define this to have a tty type of device available to
                        talk to the UDC device
 
+                       CONFIG_USBD_HS
+                       Define this to enable the high speed support for usb
+                       device and usbtty. If this feature is enabled, a routine
+                       int is_usbd_high_speed(void)
+                       also needs to be defined by the driver to dynamically poll
+                       whether the enumeration has succeded at high speed or full
+                       speed.
+
                        CONFIG_SYS_CONSOLE_IS_IN_ENV
                        Define this if you want stdin, stdout &/or stderr to
                        be set to usbtty.
@@ -1168,6 +1294,17 @@ The following options need to be configured:
                        for your device
                        - CONFIG_USBD_PRODUCTID 0xFFFF
 
+- ULPI Layer Support:
+               The ULPI (UTMI Low Pin (count) Interface) PHYs are supported via
+               the generic ULPI layer. The generic layer accesses the ULPI PHY
+               via the platform viewport, so you need both the genric layer and
+               the viewport enabled. Currently only Chipidea/ARC based
+               viewport is supported.
+               To enable the ULPI layer support, define CONFIG_USB_ULPI and
+               CONFIG_USB_ULPI_VIEWPORT in your board configuration file.
+               If your ULPI phy needs a different reference clock than the
+               standard 24 MHz then you have to define CONFIG_ULPI_REF_CLK to
+               the appropriate value in Hz.
 
 - MMC Support:
                The MMC controller on the Intel PXA is supported. To
@@ -1206,8 +1343,19 @@ The following options need to be configured:
 
 - FAT(File Allocation Table) filesystem write function support:
                CONFIG_FAT_WRITE
-               Support for saving memory data as a file
-               in FAT formatted partition
+
+               Define this to enable support for saving memory data as a
+               file in FAT formatted partition.
+
+               This will also enable the command "fatwrite" enabling the
+               user to write files to FAT.
+
+CBFS (Coreboot Filesystem) support
+               CONFIG_CMD_CBFS
+
+               Define this to enable support for reading from a Coreboot
+               filesystem. Available commands are cbfsinit, cbfsinfo, cbfsls
+               and cbfsload.
 
 - Keyboard Support:
                CONFIG_ISA_KEYBOARD
@@ -1280,6 +1428,13 @@ The following options need to be configured:
                boot.  See the documentation file README.video for a
                description of this variable.
 
+               CONFIG_VIDEO_VGA
+
+               Enable the VGA video / BIOS for x86. The alternative if you
+               are using coreboot is to use the coreboot frame buffer
+               driver.
+
+
 - Keyboard Support:
                CONFIG_KEYBOARD
 
@@ -1340,6 +1495,30 @@ The following options need to be configured:
                Normally display is black on white background; define
                CONFIG_SYS_WHITE_ON_BLACK to get it inverted.
 
+               CONFIG_LCD_ALIGNMENT
+
+               Normally the LCD is page-aligned (tyically 4KB). If this is
+               defined then the LCD will be aligned to this value instead.
+               For ARM it is sometimes useful to use MMU_SECTION_SIZE
+               here, since it is cheaper to change data cache settings on
+               a per-section basis.
+
+               CONFIG_CONSOLE_SCROLL_LINES
+
+               When the console need to be scrolled, this is the number of
+               lines to scroll by. It defaults to 1. Increasing this makes
+               the console jump but can help speed up operation when scrolling
+               is slow.
+
+               CONFIG_LCD_BMP_RLE8
+
+               Support drawing of RLE8-compressed bitmaps on the LCD.
+
+               CONFIG_I2C_EDID
+
+               Enables an 'i2c edid' command which can read EDID
+               information over I2C from an attached LCD display.
+
 - Splash Screen Support: CONFIG_SPLASH_SCREEN
 
                If this option is set, the environment is checked for
@@ -1383,6 +1562,12 @@ The following options need to be configured:
                can be displayed via the splashscreen support or the
                bmp command.
 
+- Do compresssing for memory range:
+               CONFIG_CMD_ZIP
+
+               If this option is set, it would use zlib deflate method
+               to compress the specified memory at its best effort.
+
 - Compression support:
                CONFIG_BZIP2
 
@@ -1520,6 +1705,17 @@ The following options need to be configured:
                4th and following
                BOOTP requests:         delay 0 ... 8 sec
 
+- BOOTP Random transaction ID:
+               CONFIG_BOOTP_RANDOM_ID
+
+               The standard algorithm to generate a DHCP/BOOTP transaction ID
+               by using the MAC address and the current time stamp may not
+               quite unlikely produce duplicate transaction IDs from different
+               clients in the same network. This option creates a transaction
+               ID using the rand() function. Provided that the RNG has been
+               seeded well, this should guarantee unique transaction IDs
+               always.
+
 - DHCP Advanced Options:
                You can fine tune the DHCP functionality by defining
                CONFIG_BOOTP_* symbols:
@@ -1536,10 +1732,17 @@ The following options need to be configured:
                CONFIG_BOOTP_NTPSERVER
                CONFIG_BOOTP_TIMEOFFSET
                CONFIG_BOOTP_VENDOREX
+               CONFIG_BOOTP_MAY_FAIL
 
                CONFIG_BOOTP_SERVERIP - TFTP server will be the serverip
                environment variable, not the BOOTP server.
 
+               CONFIG_BOOTP_MAY_FAIL - If the DHCP server is not found
+               after the configured retry count, the call will fail
+               instead of starting over.  This can be used to fail over
+               to Link-local IP address configuration if the DHCP server
+               is not available.
+
                CONFIG_BOOTP_DNS2 - If a DHCP client requests the DNS
                serverip from a DHCP server, it is possible that more
                than one DNS serverip is offered to the client.
@@ -1570,6 +1773,14 @@ The following options need to be configured:
                the DHCP timeout and retry process takes a longer than
                this delay.
 
+ - Link-local IP address negotiation:
+               Negotiate with other link-local clients on the local network
+               for an address that doesn't require explicit configuration.
+               This is especially useful if a DHCP server cannot be guaranteed
+               to exist in all environments that the device must operate.
+
+               See doc/README.link-local for more information.
+
  - CDP Options:
                CONFIG_CDP_DEVICE_ID
 
@@ -2012,6 +2223,11 @@ The following options need to be configured:
                serial# is unaffected by this, i. e. it remains
                read-only.]
 
+               The same can be accomplished in a more flexible way
+               for any variable by configuring the type of access
+               to allow for those variables in the ".flags" variable
+               or define CONFIG_ENV_FLAGS_LIST_STATIC.
+
 - Protected RAM:
                CONFIG_PRAM
 
@@ -2041,10 +2257,18 @@ The following options need to be configured:
                following board configurations are known to be
                "pRAM-clean":
 
-                       ETX094, IVMS8, IVML24, SPD8xx, TQM8xxL,
-                       HERMES, IP860, RPXlite, LWMON, LANTEC,
+                       IVMS8, IVML24, SPD8xx, TQM8xxL,
+                       HERMES, IP860, RPXlite, LWMON,
                        FLAGADM, TQM8260
 
+- Access to physical memory region (> 4GB)
+               Some basic support is provided for operations on memory not
+               normally accessible to U-Boot - e.g. some architectures
+               support access to more than 4GB of memory on 32-bit
+               machines using physical address extension or similar.
+               Define CONFIG_PHYSMEM to access this basic support, which
+               currently only supports clearing the memory.
+
 - Error Recovery:
                CONFIG_PANIC_HANG
 
@@ -2067,6 +2291,13 @@ The following options need to be configured:
 
                Timeout waiting for an ARP reply in milliseconds.
 
+               CONFIG_NFS_TIMEOUT
+
+               Timeout in milliseconds used in NFS protocol.
+               If you encounter "ERROR: Cannot umount" in nfs command,
+               try longer timeout such as
+               #define CONFIG_NFS_TIMEOUT 10000UL
+
 - Command Interpreter:
                CONFIG_AUTO_COMPLETE
 
@@ -2147,6 +2378,35 @@ The following options need to be configured:
                the environment like the "source" command or the
                boot command first.
 
+               CONFIG_ENV_VARS_UBOOT_CONFIG
+
+               Define this in order to add variables describing the
+               U-Boot build configuration to the default environment.
+               These will be named arch, cpu, board, vendor, and soc.
+
+               Enabling this option will cause the following to be defined:
+
+               - CONFIG_SYS_ARCH
+               - CONFIG_SYS_CPU
+               - CONFIG_SYS_BOARD
+               - CONFIG_SYS_VENDOR
+               - CONFIG_SYS_SOC
+
+               CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG
+
+               Define this in order to add variables describing certain
+               run-time determined information about the hardware to the
+               environment.  These will be named board_name, board_rev.
+
+               CONFIG_DELAY_ENVIRONMENT
+
+               Normally the environment is loaded when the board is
+               intialised so that it is available to U-Boot. This inhibits
+               that so that the environment is not available until
+               explicitly loaded later by U-Boot code. With CONFIG_OF_CONTROL
+               this is instead controlled by the value of
+               /config/load-environment.
+
 - DataFlash Support:
                CONFIG_HAS_DATAFLASH
 
@@ -2154,6 +2414,30 @@ The following options need to be configured:
                allows to read/write in Dataflash via the standard
                commands cp, md...
 
+- Serial Flash support
+               CONFIG_CMD_SF
+
+               Defining this option enables SPI flash commands
+               'sf probe/read/write/erase/update'.
+
+               Usage requires an initial 'probe' to define the serial
+               flash parameters, followed by read/write/erase/update
+               commands.
+
+               The following defaults may be provided by the platform
+               to handle the common case when only a single serial
+               flash is present on the system.
+
+               CONFIG_SF_DEFAULT_BUS           Bus identifier
+               CONFIG_SF_DEFAULT_CS            Chip-select
+               CONFIG_SF_DEFAULT_MODE          (see include/spi.h)
+               CONFIG_SF_DEFAULT_SPEED         in Hz
+
+               CONFIG_CMD_SF_TEST
+
+               Define this option to include a destructive SPI flash
+               test ('sf test').
+
 - SystemACE Support:
                CONFIG_SYSTEMACE
 
@@ -2188,6 +2472,23 @@ The following options need to be configured:
                A better solution is to properly configure the firewall,
                but sometimes that is not allowed.
 
+- Hashing support:
+               CONFIG_CMD_HASH
+
+               This enables a generic 'hash' command which can produce
+               hashes / digests from a few algorithms (e.g. SHA1, SHA256).
+
+               CONFIG_HASH_VERIFY
+
+               Enable the hash verify command (hash -v). This adds to code
+               size a little.
+
+               CONFIG_SHA1 - support SHA1 hashing
+               CONFIG_SHA256 - support SHA256 hashing
+
+               Note: There is also a sha1sum command, which should perhaps
+               be deprecated in favour of 'hash sha1'.
+
 - Show boot progress:
                CONFIG_SHOW_BOOT_PROGRESS
 
@@ -2198,6 +2499,56 @@ The following options need to be configured:
                example, some LED's) on your board. At the moment,
                the following checkpoints are implemented:
 
+- Detailed boot stage timing
+               CONFIG_BOOTSTAGE
+               Define this option to get detailed timing of each stage
+               of the boot process.
+
+               CONFIG_BOOTSTAGE_USER_COUNT
+               This is the number of available user bootstage records.
+               Each time you call bootstage_mark(BOOTSTAGE_ID_ALLOC, ...)
+               a new ID will be allocated from this stash. If you exceed
+               the limit, recording will stop.
+
+               CONFIG_BOOTSTAGE_REPORT
+               Define this to print a report before boot, similar to this:
+
+               Timer summary in microseconds:
+                      Mark    Elapsed  Stage
+                         0          0  reset
+                 3,575,678  3,575,678  board_init_f start
+                 3,575,695         17  arch_cpu_init A9
+                 3,575,777         82  arch_cpu_init done
+                 3,659,598     83,821  board_init_r start
+                 3,910,375    250,777  main_loop
+                29,916,167 26,005,792  bootm_start
+                30,361,327    445,160  start_kernel
+
+               CONFIG_CMD_BOOTSTAGE
+               Add a 'bootstage' command which supports printing a report
+               and un/stashing of bootstage data.
+
+               CONFIG_BOOTSTAGE_FDT
+               Stash the bootstage information in the FDT. A root 'bootstage'
+               node is created with each bootstage id as a child. Each child
+               has a 'name' property and either 'mark' containing the
+               mark time in microsecond, or 'accum' containing the
+               accumulated time for that bootstage id in microseconds.
+               For example:
+
+               bootstage {
+                       154 {
+                               name = "board_init_f";
+                               mark = <3575678>;
+                       };
+                       170 {
+                               name = "lcd";
+                               accum = <33482>;
+                       };
+               };
+
+               Code in the Linux kernel can find this in /proc/devicetree.
+
 Legacy uImage format:
 
   Arg  Where                   When
@@ -2351,6 +2702,17 @@ FIT uImage format:
  -150  common/cmd_nand.c       Incorrect FIT image format
   151  common/cmd_nand.c       FIT image format OK
 
+- FIT image support:
+               CONFIG_FIT
+               Enable support for the FIT uImage format.
+
+               CONFIG_FIT_BEST_MATCH
+               When no configuration is explicitly selected, default to the
+               one whose fdt's compatibility field best matches that of
+               U-Boot itself. A match is considered "best" if it matches the
+               most specific compatibility entry of U-Boot's fdt's root node.
+               The order of entries in the configuration's fdt is ignored.
+
 - Standalone program support:
                CONFIG_STANDALONE_LOAD_ADDR
 
@@ -2363,10 +2725,13 @@ FIT uImage format:
                CONFIG_FB_ADDR
 
                Define CONFIG_FB_ADDR if you want to use specific
-               address for frame buffer.
-               Then system will reserve the frame buffer address to
-               defined address instead of lcd_setmem (this function
-               grabs the memory for frame buffer by panel's size).
+               address for frame buffer.  This is typically the case
+               when using a graphics controller has separate video
+               memory.  U-Boot will then place the frame buffer at
+               the given address instead of dynamically reserving it
+               in system RAM by calling lcd_setmem(), which grabs
+               the memory for the frame buffer depending on the
+               configured panel size.
 
                Please see board_init_f function.
 
@@ -2393,11 +2758,50 @@ FIT uImage format:
                CONFIG_SPL
                Enable building of SPL globally.
 
+               CONFIG_SPL_LDSCRIPT
+               LDSCRIPT for linking the SPL binary.
+
+               CONFIG_SPL_MAX_SIZE
+               Maximum binary size (text, data and rodata) of the SPL binary.
+
                CONFIG_SPL_TEXT_BASE
                TEXT_BASE for linking the SPL binary.
 
-               CONFIG_SPL_LDSCRIPT
-               LDSCRIPT for linking the SPL binary.
+               CONFIG_SPL_RELOC_TEXT_BASE
+               Address to relocate to.  If unspecified, this is equal to
+               CONFIG_SPL_TEXT_BASE (i.e. no relocation is done).
+
+               CONFIG_SPL_BSS_START_ADDR
+               Link address for the BSS within the SPL binary.
+
+               CONFIG_SPL_BSS_MAX_SIZE
+               Maximum binary size of the BSS section of the SPL binary.
+
+               CONFIG_SPL_STACK
+               Adress of the start of the stack SPL will use
+
+               CONFIG_SPL_RELOC_STACK
+               Adress of the start of the stack SPL will use after
+               relocation.  If unspecified, this is equal to
+               CONFIG_SPL_STACK.
+
+               CONFIG_SYS_SPL_MALLOC_START
+               Starting address of the malloc pool used in SPL.
+
+               CONFIG_SYS_SPL_MALLOC_SIZE
+               The size of the malloc pool used in SPL.
+
+               CONFIG_SPL_FRAMEWORK
+               Enable the SPL framework under common/.  This framework
+               supports MMC, NAND and YMODEM loading of U-Boot and NAND
+               NAND loading of the Linux Kernel.
+
+               CONFIG_SPL_DISPLAY_PRINT
+               For ARM, enable an optional function to print more information
+               about the running system.
+
+               CONFIG_SPL_INIT_MINIMAL
+               Arch init code should be built for a very small image
 
                CONFIG_SPL_LIBCOMMON_SUPPORT
                Support for common/libcommon.o in SPL binary
@@ -2414,6 +2818,66 @@ FIT uImage format:
                CONFIG_SPL_MMC_SUPPORT
                Support for drivers/mmc/libmmc.o in SPL binary
 
+               CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR,
+               CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS,
+               CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION
+               Address, size and partition on the MMC to load U-Boot from
+               when the MMC is being used in raw mode.
+
+               CONFIG_SPL_FAT_SUPPORT
+               Support for fs/fat/libfat.o in SPL binary
+
+               CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME
+               Filename to read to load U-Boot when reading from FAT
+
+               CONFIG_SPL_MPC83XX_WAIT_FOR_NAND
+               Set this for NAND SPL on PPC mpc83xx targets, so that
+               start.S waits for the rest of the SPL to load before
+               continuing (the hardware starts execution after just
+               loading the first page rather than the full 4K).
+
+               CONFIG_SPL_NAND_BASE
+               Include nand_base.c in the SPL.  Requires
+               CONFIG_SPL_NAND_DRIVERS.
+
+               CONFIG_SPL_NAND_DRIVERS
+               SPL uses normal NAND drivers, not minimal drivers.
+
+               CONFIG_SPL_NAND_ECC
+               Include standard software ECC in the SPL
+
+               CONFIG_SPL_NAND_SIMPLE
+               Support for NAND boot using simple NAND drivers that
+               expose the cmd_ctrl() interface.
+
+               CONFIG_SYS_NAND_5_ADDR_CYCLE, CONFIG_SYS_NAND_PAGE_COUNT,
+               CONFIG_SYS_NAND_PAGE_SIZE, CONFIG_SYS_NAND_OOBSIZE,
+               CONFIG_SYS_NAND_BLOCK_SIZE, CONFIG_SYS_NAND_BAD_BLOCK_POS,
+               CONFIG_SYS_NAND_ECCPOS, CONFIG_SYS_NAND_ECCSIZE,
+               CONFIG_SYS_NAND_ECCBYTES
+               Defines the size and behavior of the NAND that SPL uses
+               to read U-Boot
+
+               CONFIG_SYS_NAND_U_BOOT_OFFS
+               Location in NAND to read U-Boot from
+
+               CONFIG_SYS_NAND_U_BOOT_DST
+               Location in memory to load U-Boot to
+
+               CONFIG_SYS_NAND_U_BOOT_SIZE
+               Size of image to load
+
+               CONFIG_SYS_NAND_U_BOOT_START
+               Entry point in loaded image to jump to
+
+               CONFIG_SYS_NAND_HW_ECC_OOBFIRST
+               Define this if you need to first read the OOB and then the
+               data. This is used for example on davinci plattforms.
+
+               CONFIG_SPL_OMAP3_ID_NAND
+               Support for an OMAP3-specific set of functions to return the
+               ID and MFR of the first attached NAND chip, if present.
+
                CONFIG_SPL_SERIAL_SUPPORT
                Support for drivers/serial/libserial.o in SPL binary
 
@@ -2423,12 +2887,21 @@ FIT uImage format:
                CONFIG_SPL_SPI_SUPPORT
                Support for drivers/spi/libspi.o in SPL binary
 
-               CONFIG_SPL_FAT_SUPPORT
-               Support for fs/fat/libfat.o in SPL binary
+               CONFIG_SPL_RAM_DEVICE
+               Support for running image already present in ram, in SPL binary
 
                CONFIG_SPL_LIBGENERIC_SUPPORT
                Support for lib/libgeneric.o in SPL binary
 
+               CONFIG_SPL_PAD_TO
+               Linker address to which the SPL should be padded before
+               appending the SPL payload.
+
+               CONFIG_SPL_TARGET
+               Final target image containing SPL and payload.  Some SPLs
+               use an arch-specific makefile fragment instead, for
+               example if more than one image needs to be produced.
+
 Modem Support:
 --------------
 
@@ -2563,9 +3036,6 @@ Configuration Settings:
                non page size aligned address and this could cause major
                problems.
 
-- CONFIG_SYS_TFTP_LOADADDR:
-               Default load address for network file downloads
-
 - CONFIG_SYS_LOADS_BAUD_CHANGE:
                Enable temporary baudrate change while serial download
 
@@ -2707,6 +3177,49 @@ Configuration Settings:
        cases. This setting can be used to tune behaviour; see
        lib/hashtable.c for details.
 
+- CONFIG_ENV_FLAGS_LIST_DEFAULT
+- CONFIG_ENV_FLAGS_LIST_STATIC
+       Enable validation of the values given to enviroment variables when
+       calling env set.  Variables can be restricted to only decimal,
+       hexadecimal, or boolean.  If CONFIG_CMD_NET is also defined,
+       the variables can also be restricted to IP address or MAC address.
+
+       The format of the list is:
+               type_attribute = [s|d|x|b|i|m]
+               access_atribute = [a|r|o|c]
+               attributes = type_attribute[access_atribute]
+               entry = variable_name[:attributes]
+               list = entry[,list]
+
+       The type attributes are:
+               s - String (default)
+               d - Decimal
+               x - Hexadecimal
+               b - Boolean ([1yYtT|0nNfF])
+               i - IP address
+               m - MAC address
+
+       The access attributes are:
+               a - Any (default)
+               r - Read-only
+               o - Write-once
+               c - Change-default
+
+       - CONFIG_ENV_FLAGS_LIST_DEFAULT
+               Define this to a list (string) to define the ".flags"
+               envirnoment variable in the default or embedded environment.
+
+       - CONFIG_ENV_FLAGS_LIST_STATIC
+               Define this to a list (string) to define validation that
+               should be done if an entry is not found in the ".flags"
+               environment variable.  To override a setting in the static
+               list, simply add an entry for the same variable name to the
+               ".flags" variable.
+
+- CONFIG_ENV_ACCESS_IGNORE_FORCE
+       If defined, don't allow the -f switch to env set override variable
+       access flags.
+
 The following definitions that deal with the placement and management
 of environment data (variable area); in general, we support the
 following configurations:
@@ -2880,6 +3393,24 @@ to save the current settings.
          environment area within the total memory of your DataFlash placed
          at the specified address.
 
+- CONFIG_ENV_IS_IN_REMOTE:
+
+       Define this if you have a remote memory space which you
+       want to use for the local device's environment.
+
+       - CONFIG_ENV_ADDR:
+       - CONFIG_ENV_SIZE:
+
+         These two #defines specify the address and size of the
+         environment area within the remote memory space. The
+         local device can get the environment from remote memory
+         space by SRIO or PCIE links.
+
+BE CAREFUL! For some special cases, the local device can not use
+"saveenv" command. For example, the local device will get the
+environment stored in a remote NOR flash by SRIO or PCIE link,
+but it can not erase, write this NOR flash by SRIO or PCIE interface.
+
 - CONFIG_ENV_IS_IN_NAND:
 
        Define this if you have a NAND device which you want to use
@@ -2964,6 +3495,16 @@ use the "saveenv" command to store a valid environment.
                space for already greatly restricted images, including but not
                limited to NAND_SPL configurations.
 
+- CONFIG_DISPLAY_BOARDINFO
+               Display information about the board that U-Boot is running on
+               when U-Boot starts up. The board function checkboard() is called
+               to do this.
+
+- CONFIG_DISPLAY_BOARDINFO_LATE
+               Similar to the previous option, but display this information
+               later, once stdio is running and output goes to the LCD, if
+               present.
+
 Low Level (hardware related) configuration options:
 ---------------------------------------------------
 
@@ -3158,6 +3699,13 @@ Low Level (hardware related) configuration options:
                Disable PCI-Express on systems where it is supported but not
                required.
 
+- CONFIG_PCI_ENUM_ONLY
+               Only scan through and get the devices on the busses.
+               Don't do any setup work, presumably because someone or
+               something has already done it, and we don't need to do it
+               a second time.  Useful for platforms that are pre-booted
+               by coreboot or similar.
+
 - CONFIG_SYS_SRIO:
                Chip has SRIO or not
 
@@ -3273,17 +3821,22 @@ Low Level (hardware related) configuration options:
                that is executed before the actual U-Boot. E.g. when
                compiling a NAND SPL.
 
-- CONFIG_SYS_NAND_HW_ECC_OOBFIRST
-               define this, if you want to read first the oob data
-               and then the data. This is used for example on
-               davinci plattforms.
-
 - CONFIG_USE_ARCH_MEMCPY
   CONFIG_USE_ARCH_MEMSET
                If these options are used a optimized version of memcpy/memset will
                be used if available. These functions may be faster under some
                conditions but may increase the binary size.
 
+- CONFIG_X86_NO_RESET_VECTOR
+               If defined, the x86 reset vector code is excluded. You will need
+               to do this when U-Boot is running from Coreboot.
+
+- CONFIG_X86_NO_REAL_MODE
+               If defined, x86 real mode code is omitted. This assumes a
+               32-bit environment where such code is not needed. You will
+               need to do this when U-Boot is running from Coreboot.
+
+
 Freescale QE/FMAN Firmware Support:
 -----------------------------------
 
@@ -3321,6 +3874,12 @@ within that device.
        Specifies that QE/FMAN firmware is located on the primary SPI
        device.  CONFIG_SYS_FMAN_FW_ADDR is the byte offset on that device.
 
+- CONFIG_SYS_QE_FMAN_FW_IN_REMOTE
+       Specifies that QE/FMAN firmware is located in the remote (master)
+       memory space.   CONFIG_SYS_FMAN_FW_ADDR is a virtual address which
+       can be mapped from slave TLB->slave LAW->slave SRIO or PCIE outbound
+       window->master inbound window->master LAW->the ucode address in
+       master's memory space.
 
 Building the Software:
 ======================
@@ -3358,7 +3917,7 @@ is done by typing:
        make NAME_config
 
 where "NAME_config" is the name of one of the existing configu-
-rations; see the main Makefile for supported names.
+rations; see boards.cfg for supported names.
 
 Note: for some board special configuration names may exist; check if
       additional information is available from the board vendor; for
@@ -3413,10 +3972,8 @@ to port U-Boot to your hardware platform. To do this, follow these
 steps:
 
 1.  Add a new configuration option for your board to the toplevel
-    "Makefile" and to the "MAKEALL" script, using the existing
-    entries as examples. Note that here and at many other places
-    boards and other names are listed in alphabetical sort order. Please
-    keep this order.
+    "boards.cfg" file, using the existing entries as examples.
+    Follow the instructions there to keep the boards in order.
 2.  Create a new directory to hold your board specific code. Add any
     files you need. In your board directory, you will need at least
     the "Makefile", a "<board>.c", "flash.c" and "u-boot.lds".
@@ -3482,6 +4039,7 @@ go        - start application at address 'addr'
 run    - run commands in an environment variable
 bootm  - boot application image from memory
 bootp  - boot image via network using BootP/TFTP protocol
+bootz   - boot zImage from memory
 tftpboot- boot image via network using TFTP protocol
               and env variables "ipaddr" and "serverip"
               (and eventually "gatewayip")
@@ -3506,6 +4064,7 @@ saveenv - save environment variables to persistent storage
 protect - enable or disable FLASH write protection
 erase  - erase FLASH memory
 flinfo - print FLASH memory information
+nand   - NAND memory operations (see doc/README.nand)
 bdinfo - print Board Info structure
 iminfo - print header information for application image
 coninfo - print console devices and informations
@@ -3602,6 +4161,14 @@ List of environment variables (most likely not complete):
 
   fdt_high     - if set this restricts the maximum address that the
                  flattened device tree will be copied into upon boot.
+                 For example, if you have a system with 1 GB memory
+                 at physical address 0x10000000, while Linux kernel
+                 only recognizes the first 704 MB as low memory, you
+                 may need to set fdt_high as 0x3C000000 to have the
+                 device tree blob be copied to the maximum address
+                 of the 704 MB low memory, so that Linux kernel can
+                 access it during the boot procedure.
+
                  If this is set to the special value 0xFFFFFFFF then
                  the fdt will not be copied at all on boot.  For this
                  to work it must reside in writable memory, have
@@ -3764,6 +4331,36 @@ Please note that changes to some configuration parameters may take
 only effect after the next boot (yes, that's just like Windoze :-).
 
 
+Callback functions for environment variables:
+---------------------------------------------
+
+For some environment variables, the behavior of u-boot needs to change
+when their values are changed.  This functionailty allows functions to
+be associated with arbitrary variables.  On creation, overwrite, or
+deletion, the callback will provide the opportunity for some side
+effect to happen or for the change to be rejected.
+
+The callbacks are named and associated with a function using the
+U_BOOT_ENV_CALLBACK macro in your board or driver code.
+
+These callbacks are associated with variables in one of two ways.  The
+static list can be added to by defining CONFIG_ENV_CALLBACK_LIST_STATIC
+in the board configuration to a string that defines a list of
+associations.  The list must be in the following format:
+
+       entry = variable_name[:callback_name]
+       list = entry[,list]
+
+If the callback name is not specified, then the callback is deleted.
+Spaces are also allowed anywhere in the list.
+
+Callbacks can also be associated by defining the ".callbacks" variable
+with the same list format above.  Any association in ".callbacks" will
+override any association in the static list. You can define
+CONFIG_ENV_CALLBACK_LIST_DEFAULT to a list (string) to define the
+".callbacks" envirnoment variable in the default or embedded environment.
+
+
 Command Line Parsing:
 =====================
 
@@ -4294,6 +4891,18 @@ U-Boot supports the following image types:
        useful when you configure U-Boot to use a real shell (hush)
        as command interpreter.
 
+Booting the Linux zImage:
+-------------------------
+
+On some platforms, it's possible to boot Linux zImage. This is done
+using the "bootz" command. The syntax of "bootz" command is the same
+as the syntax of "bootm" command.
+
+Note, defining the CONFIG_SUPPORT_INITRD_RAW allows user to supply
+kernel with raw initrd images. The syntax is slightly different, the
+address of the initrd must be augmented by it's size, in the following
+format: "<initrd addres>:<initrd size>".
+
 
 Standalone HOWTO:
 =================
@@ -4391,7 +5000,10 @@ Over time, many people have reported problems when trying to use the
 consider minicom to be broken, and recommend not to use it. Under
 Unix, I recommend to use C-Kermit for general purpose use (and
 especially for kermit binary protocol download ("loadb" command), and
-use "cu" for S-Record download ("loads" command).
+use "cu" for S-Record download ("loads" command).  See
+http://www.denx.de/wiki/view/DULG/SystemSetup#Section_4.3.
+for help with kermit.
+
 
 Nevertheless, if you absolutely want to use it try adding this
 configuration to your "File transfer protocols" section: