]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - README
fdt_support: add missing #ifdef after merge
[karo-tx-uboot.git] / README
diff --git a/README b/README
index 837dca0c931852d5592047fe19012ffeb3e3e6a3..fc74c913cb4f24aab19ded12138e31e7aee709c7 100644 (file)
--- a/README
+++ b/README
@@ -182,11 +182,9 @@ Directory Hierarchy:
     /lib               Architecture specific library files
   /powerpc             Files generic to PowerPC architecture
     /cpu               CPU specific files
-      /74xx_7xx                Files specific to Freescale MPC74xx and 7xx CPUs
       /mpc5xx          Files specific to Freescale MPC5xx CPUs
       /mpc5xxx         Files specific to Freescale MPC5xxx CPUs
       /mpc8xx          Files specific to Freescale MPC8xx CPUs
-      /mpc824x         Files specific to Freescale MPC824x CPUs
       /mpc8260         Files specific to Freescale MPC8260 CPUs
       /mpc85xx         Files specific to Freescale MPC85xx CPUs
       /ppc4xx          Files specific to AMCC PowerPC 4xx CPUs
@@ -275,6 +273,75 @@ run some of U-Boot's tests.
 See board/sandbox/README.sandbox for more details.
 
 
+Board Initialisation Flow:
+--------------------------
+
+This is the intended start-up flow for boards. This should apply for both
+SPL and U-Boot proper (i.e. they both follow the same rules). At present SPL
+mostly uses a separate code path, but the funtion names and roles of each
+function are the same. Some boards or architectures may not conform to this.
+At least most ARM boards which use CONFIG_SPL_FRAMEWORK conform to this.
+
+Execution starts with start.S with three functions called during init after
+that. The purpose and limitations of each is described below.
+
+lowlevel_init():
+       - purpose: essential init to permit execution to reach board_init_f()
+       - no global_data or BSS
+       - there is no stack (ARMv7 may have one but it will soon be removed)
+       - must not set up SDRAM or use console
+       - must only do the bare minimum to allow execution to continue to
+               board_init_f()
+       - this is almost never needed
+       - return normally from this function
+
+board_init_f():
+       - purpose: set up the machine ready for running board_init_r():
+               i.e. SDRAM and serial UART
+       - global_data is available
+       - stack is in SRAM
+       - BSS is not available, so you cannot use global/static variables,
+               only stack variables and global_data
+
+       Non-SPL-specific notes:
+       - dram_init() is called to set up DRAM. If already done in SPL this
+               can do nothing
+
+       SPL-specific notes:
+       - you can override the entire board_init_f() function with your own
+               version as needed.
+       - preloader_console_init() can be called here in extremis
+       - should set up SDRAM, and anything needed to make the UART work
+       - these is no need to clear BSS, it will be done by crt0.S
+       - must return normally from this function (don't call board_init_r()
+               directly)
+
+Here the BSS is cleared. For SPL, if CONFIG_SPL_STACK_R is defined, then at
+this point the stack and global_data are relocated to below
+CONFIG_SPL_STACK_R_ADDR. For non-SPL, U-Boot is relocated to run at the top of
+memory.
+
+board_init_r():
+       - purpose: main execution, common code
+       - global_data is available
+       - SDRAM is available
+       - BSS is available, all static/global variables can be used
+       - execution eventually continues to main_loop()
+
+       Non-SPL-specific notes:
+       - U-Boot is relocated to the top of memory and is now running from
+               there.
+
+       SPL-specific notes:
+       - stack is optionally in SDRAM, if CONFIG_SPL_STACK_R is defined and
+               CONFIG_SPL_STACK_R_ADDR points into SDRAM
+       - preloader_console_init() can be called here - typically this is
+               done by defining CONFIG_SPL_BOARD_INIT and then supplying a
+               spl_board_init() function containing this call
+       - loads U-Boot or (in falcon mode) Linux
+
+
+
 Configuration Options:
 ----------------------
 
@@ -326,10 +393,6 @@ The following options need to be configured:
                                          multiple fs option at one time
                                          for marvell soc family
 
-- MPC824X Family Member (if CONFIG_MPC824X is defined)
-               Define exactly one of
-               CONFIG_MPC8240, CONFIG_MPC8245
-
 - 8xx CPU Options: (if using an MPC8xx CPU)
                CONFIG_8xx_GCLK_FREQ    - deprecated: CPU clock if
                                          get_gclk_freq() cannot work
@@ -407,7 +470,11 @@ The following options need to be configured:
 
                CONFIG_A003399_NOR_WORKAROUND
                Enables a workaround for IFC erratum A003399. It is only
-               requred during NOR boot.
+               required during NOR boot.
+
+               CONFIG_A008044_WORKAROUND
+               Enables a workaround for T1040/T1042 erratum A008044. It is only
+               required during NAND boot and valid for Rev 1.0 SoC revision
 
                CONFIG_SYS_FSL_CORENET_SNOOPVEC_COREONLY
 
@@ -439,7 +506,7 @@ The following options need to be configured:
                time of U-boot entry and is required to be re-initialized.
 
                CONFIG_DEEP_SLEEP
-               Inidcates this SoC supports deep sleep feature. If deep sleep is
+               Indicates this SoC supports deep sleep feature. If deep sleep is
                supported, core will start to execute uboot when wakes up.
 
 - Generic CPU options:
@@ -623,6 +690,21 @@ The following options need to be configured:
                exists, unlike the similar options in the Linux kernel. Do not
                set these options unless they apply!
 
+               NOTE: The following can be machine specific errata. These
+               do have ability to provide rudimentary version and machine
+               specific checks, but expect no product checks.
+               CONFIG_ARM_ERRATA_430973
+               CONFIG_ARM_ERRATA_454179
+               CONFIG_ARM_ERRATA_621766
+               CONFIG_ARM_ERRATA_798870
+
+- Tegra SoC options:
+               CONFIG_TEGRA_SUPPORT_NON_SECURE
+
+               Support executing U-Boot in non-secure (NS) mode. Certain
+               impossible actions will be skipped if the CPU is in NS mode,
+               such as ARM architectural timer initialization.
+
 - Linux Kernel Interface:
                CONFIG_CLOCKS_IN_MHZ
 
@@ -639,7 +721,7 @@ The following options need to be configured:
 
                CONFIG_MEMSIZE_IN_BYTES         [relevant for MIPS only]
 
-               When transferring memsize parameter to linux, some versions
+               When transferring memsize parameter to Linux, some versions
                expect it to be in bytes, others in MB.
                Define CONFIG_MEMSIZE_IN_BYTES to make it in bytes.
 
@@ -669,6 +751,13 @@ The following options need to be configured:
                Board code has addition modification that it wants to make
                to the flat device tree before handing it off to the kernel
 
+               CONFIG_OF_SYSTEM_SETUP
+
+               Other code has addition modification that it wants to make
+               to the flat device tree before handing it off to the kernel.
+               This causes ft_system_setup() to be called before booting
+               the kernel.
+
                CONFIG_OF_BOOT_CPU
 
                This define fills in the correct boot CPU in the boot
@@ -989,6 +1078,7 @@ The following options need to be configured:
                CONFIG_CMD_EXT4         * ext4 command support
                CONFIG_CMD_FS_GENERIC   * filesystem commands (e.g. load, ls)
                                          that work for multiple fs types
+               CONFIG_CMD_FS_UUID      * Look up a filesystem UUID
                CONFIG_CMD_SAVEENV        saveenv
                CONFIG_CMD_FDC          * Floppy Disk Support
                CONFIG_CMD_FAT          * FAT command support
@@ -1137,6 +1227,9 @@ The following options need to be configured:
                SoC, then define this variable and provide board
                specific code for the "hw_watchdog_reset" function.
 
+               CONFIG_AT91_HW_WDT_TIMEOUT
+               specify the timeout in seconds. default 2 seconds.
+
 - U-Boot Version:
                CONFIG_VERSION_VARIABLE
                If this variable is defined, an environment variable
@@ -1647,6 +1740,15 @@ The following options need to be configured:
                regarding the non-volatile storage device. Define this to
                the eMMC device that fastboot should use to store the image.
 
+               CONFIG_FASTBOOT_GPT_NAME
+               The fastboot "flash" command supports writing the downloaded
+               image to the Protective MBR and the Primary GUID Partition
+               Table. (Additionally, this downloaded image is post-processed
+               to generate and write the Backup GUID Partition Table.)
+               This occurs when the specified "partition name" on the
+               "fastboot flash" command line matches this value.
+               Default is GPT_ENTRY_NAME (currently "gpt") if undefined.
+
 - Journaling Flash filesystem support:
                CONFIG_JFFS2_NAND, CONFIG_JFFS2_NAND_OFF, CONFIG_JFFS2_NAND_SIZE,
                CONFIG_JFFS2_NAND_DEV
@@ -1832,7 +1934,7 @@ CBFS (Coreboot Filesystem) support
 
                CONFIG_LCD_ALIGNMENT
 
-               Normally the LCD is page-aligned (tyically 4KB). If this is
+               Normally the LCD is page-aligned (typically 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
@@ -1908,7 +2010,7 @@ CBFS (Coreboot Filesystem) support
                can be displayed via the splashscreen support or the
                bmp command.
 
-- Do compresssing for memory range:
+- Do compressing for memory range:
                CONFIG_CMD_ZIP
 
                If this option is set, it would use zlib deflate method
@@ -2078,6 +2180,17 @@ CBFS (Coreboot Filesystem) support
                requests. Increasing this will allow U-Boot to accept offers
                from a BOOTP client in networks with unusually high latency.
 
+- 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:
@@ -2271,7 +2384,7 @@ CBFS (Coreboot Filesystem) support
                  - define slave for bus 2 with CONFIG_SYS_MXC_I2C2_SLAVE
                  - define speed for bus 3 with CONFIG_SYS_MXC_I2C3_SPEED
                  - define slave for bus 3 with CONFIG_SYS_MXC_I2C3_SLAVE
-               If thoses defines are not set, default value is 100000
+               If those defines are not set, default value is 100000
                for speed, and 0 for slave.
 
                - drivers/i2c/rcar_i2c.c:
@@ -2304,7 +2417,7 @@ CBFS (Coreboot Filesystem) support
                  - CONFIG_SYS_I2C_SH_SPEED4 for for the speed channel 4
                  - CONFIG_SYS_I2C_SH_BASE5 for setting the register channel 5
                  - CONFIG_SYS_I2C_SH_SPEED5 for for the speed channel 5
-                 - CONFIF_SYS_I2C_SH_NUM_CONTROLLERS for nummber of i2c buses
+                 - CONFIG_SYS_I2C_SH_NUM_CONTROLLERS for number of i2c buses
 
                - drivers/i2c/omap24xx_i2c.c
                  - activate this driver with CONFIG_SYS_I2C_OMAP24XX
@@ -2348,7 +2461,7 @@ CBFS (Coreboot Filesystem) support
                additional defines:
 
                CONFIG_SYS_NUM_I2C_BUSES
-               Hold the number of i2c busses you want to use. If you
+               Hold the number of i2c buses you want to use. If you
                don't use/have i2c muxes on your i2c bus, this
                is equal to CONFIG_SYS_NUM_I2C_ADAPTERS, and you can
                omit this define.
@@ -2364,7 +2477,7 @@ CBFS (Coreboot Filesystem) support
                define.
 
                CONFIG_SYS_I2C_BUSES
-               hold a list of busses you want to use, only used if
+               hold a list of buses you want to use, only used if
                CONFIG_SYS_I2C_DIRECT_BUS is not defined, for example
                a board with CONFIG_SYS_I2C_MAX_HOPS = 1 and
                CONFIG_SYS_NUM_I2C_BUSES = 9:
@@ -2702,14 +2815,14 @@ CBFS (Coreboot Filesystem) support
 
                CONFIG_SYS_FPGA_WAIT_INIT
 
-               Maximum time to wait for the INIT_B line to deassert
-               after PROB_B has been deasserted during a Virtex II
+               Maximum time to wait for the INIT_B line to de-assert
+               after PROB_B has been de-asserted during a Virtex II
                FPGA configuration sequence. The default time is 500
                ms.
 
                CONFIG_SYS_FPGA_WAIT_BUSY
 
-               Maximum time to wait for BUSY to deassert during
+               Maximum time to wait for BUSY to de-assert during
                Virtex II FPGA configuration. The default is 5 ms.
 
                CONFIG_SYS_FPGA_WAIT_CONFIG
@@ -2834,18 +2947,6 @@ CBFS (Coreboot Filesystem) support
 
                Enable auto completion of commands using TAB.
 
-               CONFIG_SYS_HUSH_PARSER
-
-               Define this variable to enable the "hush" shell (from
-               Busybox) as command line interpreter, thus enabling
-               powerful command line syntax like
-               if...then...else...fi conditionals or `&&' and '||'
-               constructs ("shell scripts").
-
-               If undefined, you get the old, much simpler behaviour
-               with a somewhat smaller memory footprint.
-
-
                CONFIG_SYS_PROMPT_HUSH_PS2
 
                This defines the secondary prompt string, which is
@@ -2873,11 +2974,11 @@ CBFS (Coreboot Filesystem) support
                of the backslashes before semicolons and special
                symbols.
 
-- Commandline Editing and History:
+- Command Line Editing and History:
                CONFIG_CMDLINE_EDITING
 
                Enable editing and History functions for interactive
-               commandline input operations
+               command line input operations
 
 - Default Environment:
                CONFIG_EXTRA_ENV_SETTINGS
@@ -2928,7 +3029,7 @@ CBFS (Coreboot Filesystem) support
                CONFIG_DELAY_ENVIRONMENT
 
                Normally the environment is loaded when the board is
-               intialised so that it is available to U-Boot. This inhibits
+               initialised 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
@@ -2974,7 +3075,7 @@ CBFS (Coreboot Filesystem) support
 
                Define this option to use dual flash support where two flash
                memories can be connected with a given cs line.
-               currently Xilinx Zynq qspi support these type of connections.
+               Currently Xilinx Zynq qspi supports these type of connections.
 
                CONFIG_SYS_SPI_ST_ENABLE_WP_PIN
                enable the W#/Vpp signal to disable writing to the status
@@ -3032,8 +3133,18 @@ CBFS (Coreboot Filesystem) support
                Enable the hash verify command (hash -v). This adds to code
                size a little.
 
-               CONFIG_SHA1 - support SHA1 hashing
-               CONFIG_SHA256 - support SHA256 hashing
+               CONFIG_SHA1 - This option enables support of hashing using SHA1
+               algorithm. The hash is calculated in software.
+               CONFIG_SHA256 - This option enables support of hashing using
+               SHA256 algorithm. The hash is calculated in software.
+               CONFIG_SHA_HW_ACCEL - This option enables hardware acceleration
+               for SHA1/SHA256 hashing.
+               This affects the 'hash' command and also the
+               hash_lookup_algo() function.
+               CONFIG_SHA_PROG_HW_ACCEL - This option enables
+               hardware-acceleration for SHA1/SHA256 progressive hashing.
+               Data can be streamed in a block at a time and the hashing
+               is performed in hardware.
 
                Note: There is also a sha1sum command, which should perhaps
                be deprecated in favour of 'hash sha1'.
@@ -3059,8 +3170,13 @@ CBFS (Coreboot Filesystem) support
                This enables the RSA algorithm used for FIT image verification
                in U-Boot. See doc/uImage.FIT/signature.txt for more information.
 
+               The Modular Exponentiation algorithm in RSA is implemented using
+               driver model. So CONFIG_DM needs to be enabled by default for this
+               library to function.
+
                The signing part is build into mkimage regardless of this
-               option.
+               option. The software based modular exponentiation is built into
+               mkimage irrespective of this option.
 
 - bootcount support:
                CONFIG_BOOTCOUNT_LIMIT
@@ -3322,8 +3438,10 @@ FIT uImage format:
 
                CONFIG_FIT_SIGNATURE
                This option enables signature verification of FIT uImages,
-               using a hash signed and verified using RSA. See
-               doc/uImage.FIT/signature.txt for more details.
+               using a hash signed and verified using RSA. If
+               CONFIG_SHA_PROG_HW_ACCEL is defined, i.e support for progressive
+               hashing is available using hardware, RSA library will use it.
+               See doc/uImage.FIT/signature.txt for more details.
 
                WARNING: When relying on signed FIT images with required
                signature check the legacy image format is default
@@ -3376,9 +3494,6 @@ FIT uImage format:
                Adds the MTD partitioning infrastructure from the Linux
                kernel. Needed for UBI support.
 
-               CONFIG_MTD_NAND_VERIFY_WRITE
-               verify if the written data is correct reread.
-
 - UBI support
                CONFIG_CMD_UBI
 
@@ -3407,7 +3522,7 @@ FIT uImage format:
                to 128 or 256, although it does not have to be power of 2).
 
                default: 4096
-               
+
                CONFIG_MTD_UBI_BEB_LIMIT
                This option specifies the maximum bad physical eraseblocks UBI
                expects on the MTD device (per 1024 eraseblocks). If the
@@ -3503,6 +3618,16 @@ FIT uImage format:
                CONFIG_SPL_STACK
                Adress of the start of the stack SPL will use
 
+               CONFIG_SPL_PANIC_ON_RAW_IMAGE
+               When defined, SPL will panic() if the image it has
+               loaded does not have a signature.
+               Defining this is useful when code which loads images
+               in SPL cannot guarantee that absolutely all read errors
+               will be caught.
+               An example is the LPC32XX MLC NAND driver, which will
+               consider that a completely unreadable NAND block is bad,
+               and thus should be skipped silently.
+
                CONFIG_SPL_RELOC_STACK
                Adress of the start of the stack SPL will use after
                relocation.  If unspecified, this is equal to
@@ -3547,10 +3672,13 @@ FIT uImage format:
 
                CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR,
                CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS,
-               CONFIG_SYS_MMC_SD_FS_BOOT_PARTITION
-               Address, size and partition on the MMC to load U-Boot from
+               Address and partition on the MMC to load U-Boot from
                when the MMC is being used in raw mode.
 
+               CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION
+               Partition on the MMC to load U-Boot from when the MMC is being
+               used in raw mode
+
                CONFIG_SYS_MMCSD_RAW_MODE_KERNEL_SECTOR
                Sector to load kernel uImage from when MMC is being
                used in raw mode (for Falcon mode)
@@ -3561,6 +3689,10 @@ FIT uImage format:
                parameters from when MMC is being used in raw mode
                (for falcon mode)
 
+               CONFIG_SYS_MMCSD_FS_BOOT_PARTITION
+               Partition on the MMC to load U-Boot from when the MMC is being
+               used in fs mode
+
                CONFIG_SPL_FAT_SUPPORT
                Support for fs/fat/libfat.o in SPL binary
 
@@ -3642,7 +3774,7 @@ FIT uImage format:
 
                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.
+               data. This is used, for example, on davinci platforms.
 
                CONFIG_SPL_OMAP3_ID_NAND
                Support for an OMAP3-specific set of functions to return the
@@ -3875,12 +4007,36 @@ Configuration Settings:
                This feature allocates regions with increasing addresses
                within the region. calloc() is supported, but realloc()
                is not available. free() is supported but does nothing.
-               The memory will be freed (or in fact just forgotton) when
+               The memory will be freed (or in fact just forgotten) when
                U-Boot relocates itself.
 
                Pre-relocation malloc() is only supported on ARM and sandbox
                at present but is fairly easy to enable for other archs.
 
+- CONFIG_SYS_MALLOC_SIMPLE
+               Provides a simple and small malloc() and calloc() for those
+               boards which do not use the full malloc in SPL (which is
+               enabled with CONFIG_SYS_SPL_MALLOC_START).
+
+- CONFIG_SYS_NONCACHED_MEMORY:
+               Size of non-cached memory area. This area of memory will be
+               typically located right below the malloc() area and mapped
+               uncached in the MMU. This is useful for drivers that would
+               otherwise require a lot of explicit cache maintenance. For
+               some drivers it's also impossible to properly maintain the
+               cache. For example if the regions that need to be flushed
+               are not a multiple of the cache-line size, *and* padding
+               cannot be allocated between the regions to align them (i.e.
+               if the HW requires a contiguous array of regions, and the
+               size of each region is not cache-aligned), then a flush of
+               one region may result in overwriting data that hardware has
+               written to another region in the same cache-line. This can
+               happen for example in network drivers where descriptors for
+               buffers are typically smaller than the CPU cache-line (e.g.
+               16 bytes vs. 32 or 64 bytes).
+
+               Non-cached memory is only supported on 32-bit ARM at present.
+
 - CONFIG_SYS_BOOTM_LEN:
                Normally compressed uImages are limited to an
                uncompressed size of 8 MBytes. If this is not enough,
@@ -4012,8 +4168,8 @@ Configuration Settings:
 
        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]
+               access_attribute = [a|r|o|c]
+               attributes = type_attribute[access_attribute]
                entry = variable_name[:attributes]
                list = entry[,list]
 
@@ -4033,7 +4189,7 @@ Configuration Settings:
 
        - CONFIG_ENV_FLAGS_LIST_DEFAULT
                Define this to a list (string) to define the ".flags"
-               envirnoment variable in the default or embedded environment.
+               environment variable in the default or embedded environment.
 
        - CONFIG_ENV_FLAGS_LIST_STATIC
                Define this to a list (string) to define validation that
@@ -4052,14 +4208,14 @@ Configuration Settings:
        to this new framework over time. Defining this will disable the
        arch/foo/lib/board.c file and use common/board_f.c and
        common/board_r.c instead. To use this option your architecture
-       must support it (i.e. must define __HAVE_ARCH_GENERIC_BOARD in
-       its config.mk file). If you find problems enabling this option on
-       your board please report the problem and send patches!
+       must support it (i.e. must select HAVE_GENERIC_BOARD in arch/Kconfig).
+       If you find problems enabling this option on your board please report
+       the problem and send patches!
 
 - CONFIG_OMAP_PLATFORM_RESET_TIME_MAX_USEC (OMAP only)
        This is set by OMAP boards for the max time that reset should
        be asserted. See doc/README.omap-reset-time for details on how
-       the value can be calulated on a given board.
+       the value can be calculated on a given board.
 
 - CONFIG_USE_STDINT
        If stdint.h is available with your toolchain you can define this
@@ -4160,7 +4316,7 @@ accordingly!
          provision.
 
 BE CAREFUL! The first access to the environment happens quite early
-in U-Boot initalization (when we try to get the setting of for the
+in U-Boot initialization (when we try to get the setting of for the
 console baudrate). You *MUST* have mapped your NVRAM area then, or
 U-Boot will hang.
 
@@ -4185,6 +4341,9 @@ to save the current settings.
          If defined, specified the chip address of the EEPROM device.
          The default address is zero.
 
+       - CONFIG_SYS_I2C_EEPROM_BUS:
+         If defined, specified the i2c bus of the EEPROM device.
+
        - CONFIG_SYS_EEPROM_PAGE_WRITE_BITS:
          If defined, the number of bits used to address bytes in a
          single page in the EEPROM device.  A 64 byte page, for example
@@ -4383,16 +4542,16 @@ but it can not erase, write this NOR flash by SRIO or PCIE interface.
                               table, or the whole device D if has no partition
                               table.
                - "D:auto": first partition in device D with bootable flag set.
-                           If none, first valid paratition in device D. If no
+                           If none, first valid partition in device D. If no
                            partition table then means device D.
 
        - FAT_ENV_FILE:
 
          It's a string of the FAT file name. This file use to store the
-         envrionment.
+         environment.
 
        - CONFIG_FAT_WRITE:
-         This should be defined. Otherwise it cannot save the envrionment file.
+         This should be defined. Otherwise it cannot save the environment file.
 
 - CONFIG_ENV_IS_IN_MMC:
 
@@ -4575,7 +4734,7 @@ Low Level (hardware related) configuration options:
                if CONFIG_SYS_FDC_HW_INIT is defined, then the function
                fdc_hw_init() is called at the beginning of the FDC
                setup. fdc_hw_init() must be provided by the board
-               source code. It is used to make hardware dependant
+               source code. It is used to make hardware-dependent
                initializations.
 
 - CONFIG_IDE_AHB:
@@ -4584,7 +4743,7 @@ Low Level (hardware related) configuration options:
                When software is doing ATA command and data transfer to
                IDE devices through IDE-AHB controller, some additional
                registers accessing to these kind of IDE-AHB controller
-               is requierd.
+               is required.
 
 - CONFIG_SYS_IMMR:     Physical address of the Internal Memory.
                DO NOT CHANGE unless you know exactly what you're
@@ -4697,7 +4856,7 @@ Low Level (hardware related) configuration options:
                required.
 
 - CONFIG_PCI_ENUM_ONLY
-               Only scan through and get the devices on the busses.
+               Only scan through and get the devices on the buses.
                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
@@ -4760,6 +4919,9 @@ Low Level (hardware related) configuration options:
 - CONFIG_FSL_DDR_INTERACTIVE
                Enable interactive DDR debugging. See doc/README.fsl-ddr.
 
+- CONFIG_FSL_DDR_SYNC_REFRESH
+               Enable sync of refresh for multiple controllers.
+
 - CONFIG_SYS_83XX_DDR_USES_CS0
                Only for 83xx systems. If specified, then DDR should
                be configured using CS0 and CS1 instead of CS2 and CS3.
@@ -5319,7 +5481,7 @@ List of environment variables (most likely not complete):
 
   npe_ucode    - set load address for the NPE microcode
 
-  silent_linux  - If set then linux will be told to boot silently, by
+  silent_linux  - If set then Linux will be told to boot silently, by
                  changing the console to be empty. If "yes" it will be
                  made silent. If "no" it will not be made silent. If
                  unset, then it will be made silent if the U-Boot console
@@ -5406,7 +5568,7 @@ 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
+when their values are changed.  This functionality 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.
@@ -5429,7 +5591,7 @@ 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.
+".callbacks" environment variable in the default or embedded environment.
 
 
 Command Line Parsing:
@@ -5751,9 +5913,10 @@ option performs the converse operation of the mkimage's second form (the "-d"
 option). Given an image built by mkimage, the dumpimage extracts a "data file"
 from the image:
 
-       tools/dumpimage -i image -p position data_file
-         -i ==> extract from the 'image' a specific 'data_file', \
-          indexed by 'position'
+       tools/dumpimage -i image -T type -p position data_file
+         -i ==> extract from the 'image' a specific 'data_file'
+         -T ==> set image type to 'type'
+         -p ==> 'position' (starting at 0) of the 'data_file' inside the 'image'
 
 
 Installing a Linux Image:
@@ -6194,7 +6357,7 @@ code for the initialization procedures:
 * Initialized global data (data segment) is read-only. Do not attempt
   to write it.
 
-* Do not use any uninitialized global data (or implicitely initialized
+* Do not use any uninitialized global data (or implicitly initialized
   as zero data - BSS segment) at all - this is undefined, initiali-
   zation is performed later (when relocating to RAM).
 
@@ -6202,7 +6365,7 @@ code for the initialization procedures:
   that.
 
 Having only the stack as writable memory limits means we cannot use
-normal global data to share information beween the code. But it
+normal global data to share information between the code. But it
 turned out that the implementation of U-Boot can be greatly
 simplified by making a global data structure (gd_t) available to all
 functions. We could pass a pointer to this data as argument to _all_
@@ -6333,7 +6496,7 @@ System Initialization:
 
 In the reset configuration, U-Boot starts at the reset entry point
 (on most PowerPC systems at address 0x00000100). Because of the reset
-configuration for CS0# this is a mirror of the onboard Flash memory.
+configuration for CS0# this is a mirror of the on board Flash memory.
 To be able to re-map memory U-Boot then jumps to its link address.
 To be able to implement the initialization code in C, a (small!)
 initial stack is set up in the internal Dual Ported RAM (in case CPUs
@@ -6449,7 +6612,7 @@ coding style; see the file "Documentation/CodingStyle" and the script
 
 Source files originating from a different project (for example the
 MTD subsystem) are generally exempt from these guidelines and are not
-reformated to ease subsequent migration to newer versions of those
+reformatted to ease subsequent migration to newer versions of those
 sources.
 
 Please note that U-Boot is implemented in C (and to some small parts in