]> git.sur5r.net Git - u-boot/blobdiff - README
Merge with git://www.denx.de/git/u-boot.git
[u-boot] / README
diff --git a/README b/README
index 316f44d308a492063c917c888cb55085a5ff5b1c..0df024fb7cf0f9dd22b33a852ba1865ba8a07142 100644 (file)
--- a/README
+++ b/README
@@ -1,5 +1,5 @@
 #
-# (C) Copyright 2000 - 2004
+# (C) Copyright 2000 - 2005
 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 #
 # See file CREDITS for list of people who contributed to this
@@ -25,9 +25,10 @@ Summary:
 ========
 
 This directory contains the source code for U-Boot, a boot loader for
-Embedded boards based on PowerPC and ARM processors, which can be
-installed in a boot ROM and used to initialize and test the hardware
-or to download and run application code.
+Embedded boards based on PowerPC, ARM, MIPS and several other
+processors, which can be installed in a boot ROM and used to
+initialize and test the hardware or to download and run application
+code.
 
 The development of U-Boot is closely related to Linux: some parts of
 the source code originate in the Linux source tree, we have some
@@ -122,24 +123,30 @@ Directory Hierarchy:
 - board                Board dependent files
 - common       Misc architecture independent functions
 - cpu          CPU specific files
-  - 74xx_7xx   Files specific to Motorola MPC74xx and 7xx CPUs
+  - 74xx_7xx   Files specific to Freescale MPC74xx and 7xx CPUs
   - arm720t    Files specific to ARM 720 CPUs
   - arm920t    Files specific to ARM 920 CPUs
+    - at91rm9200 Files specific to Atmel AT91RM9200 CPU
+    - imx      Files specific to Freescale MC9328 i.MX CPUs
+    - s3c24x0  Files specific to Samsung S3C24X0 CPUs
   - arm925t    Files specific to ARM 925 CPUs
   - arm926ejs  Files specific to ARM 926 CPUs
-  - at91rm9200 Files specific to Atmel AT91RM9200 CPUs
+  - arm1136    Files specific to ARM 1136 CPUs
+  - at32ap     Files specific to Atmel AVR32 AP CPUs
   - i386       Files specific to i386 CPUs
   - ixp                Files specific to Intel XScale IXP CPUs
-  - mcf52x2    Files specific to Motorola ColdFire MCF52x2 CPUs
+  - mcf52x2    Files specific to Freescale ColdFire MCF52x2 CPUs
   - mips       Files specific to MIPS CPUs
-  - mpc5xx     Files specific to Motorola MPC5xx  CPUs
-  - mpc5xxx    Files specific to Motorola MPC5xxx CPUs
-  - mpc8xx     Files specific to Motorola MPC8xx  CPUs
-  - mpc824x    Files specific to Motorola MPC824x CPUs
-  - mpc8260    Files specific to Motorola MPC8260 CPUs
-  - mpc85xx    Files specific to Motorola MPC85xx CPUs
+  - mpc5xx     Files specific to Freescale MPC5xx  CPUs
+  - mpc5xxx    Files specific to Freescale MPC5xxx CPUs
+  - mpc8xx     Files specific to Freescale MPC8xx  CPUs
+  - mpc8220    Files specific to Freescale MPC8220 CPUs
+  - mpc824x    Files specific to Freescale MPC824x CPUs
+  - mpc8260    Files specific to Freescale MPC8260 CPUs
+  - mpc85xx    Files specific to Freescale MPC85xx CPUs
   - nios       Files specific to Altera NIOS CPUs
-  - ppc4xx     Files specific to IBM PowerPC 4xx CPUs
+  - nios2      Files specific to Altera Nios-II CPUs
+  - ppc4xx     Files specific to AMCC PowerPC 4xx CPUs
   - pxa                Files specific to Intel XScale PXA CPUs
   - s3c44b0    Files specific to Samsung S3C44B0 CPUs
   - sa1100     Files specific to Intel StrongARM SA1100 CPUs
@@ -150,12 +157,14 @@ Directory Hierarchy:
 - examples     Example code for standalone applications, etc.
 - include      Header Files
 - lib_arm      Files generic to ARM     architecture
+- lib_avr32    Files generic to AVR32   architecture
 - lib_generic  Files generic to all     architectures
 - lib_i386     Files generic to i386    architecture
 - lib_m68k     Files generic to m68k    architecture
 - lib_mips     Files generic to MIPS    architecture
 - lib_nios     Files generic to NIOS    architecture
 - lib_ppc      Files generic to PowerPC architecture
+- libfdt       Library files to support flattened device trees
 - net          Networking code
 - post         Power On Self Test
 - rtc          Real Time Clock drivers
@@ -225,6 +234,7 @@ The following options need to be configured:
                -------------------
                CONFIG_MPC823,  CONFIG_MPC850,  CONFIG_MPC855,  CONFIG_MPC860
        or      CONFIG_MPC5xx
+       or      CONFIG_MPC8220
        or      CONFIG_MPC824X, CONFIG_MPC8260
        or      CONFIG_MPC85xx
        or      CONFIG_IOP480
@@ -239,58 +249,97 @@ The following options need to be configured:
                CONFIG_SA1110
                CONFIG_ARM7
                CONFIG_PXA250
+               CONFIG_PXA27X
+               CONFIG_CPU_MONAHANS
 
+               MicroBlaze based CPUs:
+               ----------------------
+               CONFIG_MICROBLAZE
+
+               Nios-2 based CPUs:
+               ----------------------
+               CONFIG_NIOS2
+
+               AVR32 based CPUs:
+               ----------------------
+               CONFIG_AT32AP
 
 - Board Type:  Define exactly one of
 
                PowerPC based boards:
                ---------------------
 
-               CONFIG_ADCIOP,     CONFIG_ICU862      CONFIG_RPXsuper,
-               CONFIG_ADS860,     CONFIG_IP860,      CONFIG_SM850,
-               CONFIG_AMX860,     CONFIG_IPHASE4539, CONFIG_SPD823TS,
-               CONFIG_AR405,      CONFIG_IVML24,     CONFIG_SXNI855T,
-               CONFIG_BAB7xx,     CONFIG_IVML24_128, CONFIG_Sandpoint8240,
-               CONFIG_CANBT,      CONFIG_IVML24_256, CONFIG_Sandpoint8245,
-               CONFIG_CCM,        CONFIG_IVMS8,      CONFIG_TQM823L,
-               CONFIG_CPCI405,    CONFIG_IVMS8_128,  CONFIG_TQM850L,
-               CONFIG_CPCI4052,   CONFIG_IVMS8_256,  CONFIG_TQM855L,
-               CONFIG_CPCIISER4,  CONFIG_LANTEC,     CONFIG_TQM860L,
-               CONFIG_CPU86,      CONFIG_MBX,        CONFIG_TQM8260,
-               CONFIG_CRAYL1,     CONFIG_MBX860T,    CONFIG_TTTech,
-               CONFIG_CU824,      CONFIG_MHPC,       CONFIG_UTX8245,
-               CONFIG_DASA_SIM,   CONFIG_MIP405,     CONFIG_W7OLMC,
-               CONFIG_DU405,      CONFIG_MOUSSE,     CONFIG_W7OLMG,
-               CONFIG_ELPPC,      CONFIG_MPC8260ADS, CONFIG_WALNUT405,
-               CONFIG_ERIC,       CONFIG_MUSENKI,    CONFIG_ZUMA,
-               CONFIG_ESTEEM192E, CONFIG_MVS1,       CONFIG_c2mon,
-               CONFIG_ETX094,     CONFIG_NX823,      CONFIG_cogent_mpc8260,
-               CONFIG_EVB64260,   CONFIG_OCRTC,      CONFIG_cogent_mpc8xx,
-               CONFIG_FADS823,    CONFIG_ORSG,       CONFIG_ep8260,
-               CONFIG_FADS850SAR, CONFIG_OXC,        CONFIG_gw8260,
-               CONFIG_FADS860T,   CONFIG_PCI405,     CONFIG_hermes,
-               CONFIG_FLAGADM,    CONFIG_PCIPPC2,    CONFIG_hymod,
-               CONFIG_FPS850L,    CONFIG_PCIPPC6,    CONFIG_lwmon,
-               CONFIG_GEN860T,    CONFIG_PIP405,     CONFIG_pcu_e,
-               CONFIG_GENIETV,    CONFIG_PM826,      CONFIG_ppmc8260,
-               CONFIG_GTH,        CONFIG_RPXClassic, CONFIG_rsdproto,
-               CONFIG_IAD210,     CONFIG_RPXlite,    CONFIG_sbc8260,
-               CONFIG_EBONY,      CONFIG_sacsng,     CONFIG_FPS860L,
-               CONFIG_V37,        CONFIG_ELPT860,    CONFIG_CMI,
-               CONFIG_NETVIA,     CONFIG_RBC823,     CONFIG_ZPC1900,
-               CONFIG_MPC8540ADS, CONFIG_MPC8560ADS, CONFIG_QS850,
-               CONFIG_QS823,      CONFIG_QS860T,     CONFIG_DB64360,
-               CONFIG_DB64460,    CONFIG_DUET_ADS
+               CONFIG_ADCIOP           CONFIG_FPS860L          CONFIG_OXC
+               CONFIG_ADS860           CONFIG_GEN860T          CONFIG_PCI405
+               CONFIG_AMX860           CONFIG_GENIETV          CONFIG_PCIPPC2
+               CONFIG_AP1000           CONFIG_GTH              CONFIG_PCIPPC6
+               CONFIG_AR405            CONFIG_gw8260           CONFIG_pcu_e
+               CONFIG_BAB7xx           CONFIG_hermes           CONFIG_PIP405
+               CONFIG_BC3450           CONFIG_hymod            CONFIG_PM826
+               CONFIG_c2mon            CONFIG_IAD210           CONFIG_ppmc8260
+               CONFIG_CANBT            CONFIG_ICU862           CONFIG_QS823
+               CONFIG_CCM              CONFIG_IP860            CONFIG_QS850
+               CONFIG_CMI              CONFIG_IPHASE4539       CONFIG_QS860T
+               CONFIG_cogent_mpc8260   CONFIG_IVML24           CONFIG_RBC823
+               CONFIG_cogent_mpc8xx    CONFIG_IVML24_128       CONFIG_RPXClassic
+               CONFIG_CPCI405          CONFIG_IVML24_256       CONFIG_RPXlite
+               CONFIG_CPCI4052         CONFIG_IVMS8            CONFIG_RPXsuper
+               CONFIG_CPCIISER4        CONFIG_IVMS8_128        CONFIG_rsdproto
+               CONFIG_CPU86            CONFIG_IVMS8_256        CONFIG_sacsng
+               CONFIG_CRAYL1           CONFIG_JSE              CONFIG_Sandpoint8240
+               CONFIG_CSB272           CONFIG_LANTEC           CONFIG_Sandpoint8245
+               CONFIG_CU824            CONFIG_LITE5200B        CONFIG_sbc8260
+               CONFIG_DASA_SIM         CONFIG_lwmon            CONFIG_sbc8560
+               CONFIG_DB64360          CONFIG_MBX              CONFIG_SM850
+               CONFIG_DB64460          CONFIG_MBX860T          CONFIG_SPD823TS
+               CONFIG_DU405            CONFIG_MHPC             CONFIG_STXGP3
+               CONFIG_DUET_ADS         CONFIG_MIP405           CONFIG_SXNI855T
+               CONFIG_EBONY            CONFIG_MOUSSE           CONFIG_TQM823L
+               CONFIG_ELPPC            CONFIG_MPC8260ADS       CONFIG_TQM8260
+               CONFIG_ELPT860          CONFIG_MPC8540ADS       CONFIG_TQM850L
+               CONFIG_ep8260           CONFIG_MPC8540EVAL      CONFIG_TQM855L
+               CONFIG_ERIC             CONFIG_MPC8560ADS       CONFIG_TQM860L
+               CONFIG_ESTEEM192E       CONFIG_MUSENKI          CONFIG_TTTech
+               CONFIG_ETX094           CONFIG_MVS1             CONFIG_UTX8245
+               CONFIG_EVB64260         CONFIG_NETPHONE         CONFIG_V37
+               CONFIG_FADS823          CONFIG_NETTA            CONFIG_W7OLMC
+               CONFIG_FADS850SAR       CONFIG_NETVIA           CONFIG_W7OLMG
+               CONFIG_FADS860T         CONFIG_NX823            CONFIG_WALNUT
+               CONFIG_FLAGADM          CONFIG_OCRTC            CONFIG_ZPC1900
+               CONFIG_FPS850L          CONFIG_ORSG             CONFIG_ZUMA
 
                ARM based boards:
                -----------------
 
-               CONFIG_HHP_CRADLE,  CONFIG_DNP1110,     CONFIG_EP7312,
-               CONFIG_IMPA7,       CONFIG_LART,        CONFIG_LUBBOCK,
-               CONFIG_INNOVATOROMAP1510,      CONFIG_INNOVATOROMAP1610,
-               CONFIG_H2_OMAP1610, CONFIG_SHANNON,     CONFIG_SMDK2400,
-               CONFIG_SMDK2410,    CONFIG_TRAB,        CONFIG_VCMA9,
-               CONFIG_AT91RM9200DK
+               CONFIG_ARMADILLO,       CONFIG_AT91RM9200DK,    CONFIG_CERF250,
+               CONFIG_CSB637,          CONFIG_DELTA,           CONFIG_DNP1110,
+               CONFIG_EP7312,          CONFIG_H2_OMAP1610,     CONFIG_HHP_CRADLE,
+               CONFIG_IMPA7,       CONFIG_INNOVATOROMAP1510,   CONFIG_INNOVATOROMAP1610,
+               CONFIG_KB9202,          CONFIG_LART,            CONFIG_LPD7A400,
+               CONFIG_LUBBOCK,         CONFIG_OSK_OMAP5912,    CONFIG_OMAP2420H4,
+               CONFIG_PLEB2,           CONFIG_SHANNON,         CONFIG_P2_OMAP730,
+               CONFIG_SMDK2400,        CONFIG_SMDK2410,        CONFIG_TRAB,
+               CONFIG_VCMA9
+
+               MicroBlaze based boards:
+               ------------------------
+
+               CONFIG_SUZAKU
+
+               Nios-2 based boards:
+               ------------------------
+
+               CONFIG_PCI5441 CONFIG_PK1C20
+               CONFIG_EP1C20 CONFIG_EP1S10 CONFIG_EP1S40
+
+               AVR32 based boards:
+               -------------------
+
+               CONFIG_ATSTK1000
+
+- CPU Daughterboard Type: (if CONFIG_ATSTK1000 is defined)
+               Define exactly one of
+               CONFIG_ATSTK1002
 
 
 - CPU Module Type: (if CONFIG_COGENT is defined)
@@ -320,23 +369,24 @@ The following options need to be configured:
                        CFG_8260ADS     - original MPC8260ADS
                        CFG_8266ADS     - MPC8266ADS
                        CFG_PQ2FADS     - PQ2FADS-ZU or PQ2FADS-VR
-
+                       CFG_8272ADS     - MPC8272ADS
 
 - MPC824X Family Member (if CONFIG_MPC824X is defined)
                Define exactly one of
                CONFIG_MPC8240, CONFIG_MPC8245
 
 - 8xx CPU Options: (if using an MPC8xx cpu)
-               Define one or more of
-               CONFIG_8xx_GCLK_FREQ    - if get_gclk_freq() cannot work
+               CONFIG_8xx_GCLK_FREQ    - deprecated: CPU clock if
+                                         get_gclk_freq() cannot work
                                          e.g. if there is no 32KHz
                                          reference PIT/RTC clock
+               CONFIG_8xx_OSCLK        - PLL input clock (either EXTCLK
+                                         or XTAL/EXTAL)
 
-- 859/866 CPU options: (if using a MPC859 or MPC866 CPU):
-               CFG_866_OSCCLK
-               CFG_866_CPUCLK_MIN
-               CFG_866_CPUCLK_MAX
-               CFG_866_CPUCLK_DEFAULT
+- 859/866/885 CPU options: (if using a MPC859 or MPC866 or MPC885 CPU):
+               CFG_8xx_CPUCLK_MIN
+               CFG_8xx_CPUCLK_MAX
+               CONFIG_8xx_CPUCLK_DEFAULT
                        See doc/README.MPC866
 
                CFG_MEASURE_CPUCLK
@@ -346,7 +396,21 @@ The following options need to be configured:
                values. Mostly useful for board bringup to make sure
                the PLL is locked at the intended frequency. Note
                that this requires a (stable) reference clock (32 kHz
-               RTC clock),
+               RTC clock or CFG_8XX_XIN)
+
+- Intel Monahans options:
+               CFG_MONAHANS_RUN_MODE_OSC_RATIO
+
+               Defines the Monahans run mode to oscillator
+               ratio. Valid values are 8, 16, 24, 31. The core
+               frequency is this value multiplied by 13 MHz.
+
+               CFG_MONAHANS_TURBO_RUN_MODE_RATIO
+
+               Defines the Monahans turbo mode to oscillator
+               ratio. Valid values are 1 (default if undefined) and
+               2. The core frequency as calculated above is multiplied
+               by this value.
 
 - Linux Kernel Interface:
                CONFIG_CLOCKS_IN_MHZ
@@ -368,6 +432,77 @@ The following options need to be configured:
                expect it to be in bytes, others in MB.
                Define CONFIG_MEMSIZE_IN_BYTES to make it in bytes.
 
+               CONFIG_OF_LIBFDT / CONFIG_OF_FLAT_TREE
+
+               New kernel versions are expecting firmware settings to be
+               passed using flattened device trees (based on open firmware
+               concepts).
+
+               CONFIG_OF_LIBFDT
+                * New libfdt-based support
+                * Adds the "fdt" command
+                * The bootm command does _not_ modify the fdt
+
+               CONFIG_OF_FLAT_TREE
+                * Deprecated, see CONFIG_OF_LIBFDT
+                * Original ft_build.c-based support
+                * Automatically modifies the dft as part of the bootm command
+                * The environment variable "disable_of", when set,
+                    disables this functionality.
+
+               CONFIG_OF_FLAT_TREE_MAX_SIZE
+
+               The maximum size of the constructed OF tree.
+
+               OF_CPU - The proper name of the cpus node.
+               OF_SOC - The proper name of the soc node.
+               OF_TBCLK - The timebase frequency.
+               OF_STDOUT_PATH - The path to the console device
+
+               CONFIG_OF_HAS_BD_T
+
+                * CONFIG_OF_LIBFDT - enables the "fdt bd_t" command
+                * CONFIG_OF_FLAT_TREE - The resulting flat device tree
+                    will have a copy of the bd_t.  Space should be
+                    pre-allocated in the dts for the bd_t.
+
+               CONFIG_OF_HAS_UBOOT_ENV
+
+                * CONFIG_OF_LIBFDT - enables the "fdt bd_t" command
+                * CONFIG_OF_FLAT_TREE - The resulting flat device tree
+                    will have a copy of u-boot's environment variables
+
+               CONFIG_OF_BOARD_SETUP
+
+               Board code has addition modification that it wants to make
+               to the flat device tree before handing it off to the kernel
+
+               CONFIG_OF_BOOT_CPU
+
+               This define fills in the correct boot cpu in the boot
+               param header, the default value is zero if undefined.
+
+- Serial Ports:
+               CFG_PL010_SERIAL
+
+               Define this if you want support for Amba PrimeCell PL010 UARTs.
+
+               CFG_PL011_SERIAL
+
+               Define this if you want support for Amba PrimeCell PL011 UARTs.
+
+               CONFIG_PL011_CLOCK
+
+               If you have Amba PrimeCell PL011 UARTs, set this variable to
+               the clock speed of the UARTs.
+
+               CONFIG_PL01x_PORTS
+
+               If you have Amba PrimeCell PL010 or PL011 UARTs on your board,
+               define this to a list of base addresses for each (supported)
+               port. See e.g. include/configs/versatile.h
+
+
 - Console Interface:
                Depending on board, define exactly one serial port
                (like CONFIG_8xx_CONS_SMC1, CONFIG_8xx_CONS_SMC2,
@@ -407,7 +542,7 @@ The following options need to be configured:
                        CFG_CONSOLE_BLINK_COUNT blink interval (cf. i8042.c)
                        CONFIG_CONSOLE_TIME     display time/date info in
                                                upper right corner
-                                               (requires CFG_CMD_DATE)
+                                               (requires CONFIG_CMD_DATE)
                        CONFIG_VIDEO_LOGO       display Linux logo in
                                                upper left corner
                        CONFIG_VIDEO_BMP_LOGO   use bmp_logo.h instead of
@@ -447,7 +582,7 @@ The following options need to be configured:
 - Console UART Number:
                CONFIG_UART1_CONSOLE
 
-               IBM PPC4xx only.
+               AMCC PPC4xx only.
                If defined internal UART1 (and not UART0) is used
                as default U-Boot console.
 
@@ -511,97 +646,96 @@ The following options need to be configured:
                time on others. This setting #define's the initial
                value of the "loads_echo" environment variable.
 
-- Kgdb Serial Baudrate: (if CFG_CMD_KGDB is defined)
+- Kgdb Serial Baudrate: (if CONFIG_CMD_KGDB is defined)
                CONFIG_KGDB_BAUDRATE
                Select one of the baudrates listed in
                CFG_BAUDRATE_TABLE, see below.
 
 - Monitor Functions:
-               CONFIG_COMMANDS
-               Most monitor functions can be selected (or
-               de-selected) by adjusting the definition of
-               CONFIG_COMMANDS; to select individual functions,
-               #define CONFIG_COMMANDS by "OR"ing any of the
-               following values:
-
-               #define enables commands:
-               -------------------------
-               CFG_CMD_ASKENV  * ask for env variable
-               CFG_CMD_AUTOSCRIPT Autoscript Support
-               CFG_CMD_BDI       bdinfo
-               CFG_CMD_BEDBUG    Include BedBug Debugger
-               CFG_CMD_BMP     * BMP support
-               CFG_CMD_BOOTD     bootd
-               CFG_CMD_CACHE     icache, dcache
-               CFG_CMD_CONSOLE   coninfo
-               CFG_CMD_DATE    * support for RTC, date/time...
-               CFG_CMD_DHCP      DHCP support
-               CFG_CMD_DIAG    * Diagnostics
-               CFG_CMD_DOC     * Disk-On-Chip Support
-               CFG_CMD_DTT       Digital Therm and Thermostat
-               CFG_CMD_ECHO    * echo arguments
-               CFG_CMD_EEPROM  * EEPROM read/write support
-               CFG_CMD_ELF       bootelf, bootvx
-               CFG_CMD_ENV       saveenv
-               CFG_CMD_FDC     * Floppy Disk Support
-               CFG_CMD_FAT       FAT partition support
-               CFG_CMD_FDOS    * Dos diskette Support
-               CFG_CMD_FLASH     flinfo, erase, protect
-               CFG_CMD_FPGA      FPGA device initialization support
-               CFG_CMD_HWFLOW  * RTS/CTS hw flow control
-               CFG_CMD_I2C     * I2C serial bus support
-               CFG_CMD_IDE     * IDE harddisk support
-               CFG_CMD_IMI       iminfo
-               CFG_CMD_IMLS      List all found images
-               CFG_CMD_IMMAP   * IMMR dump support
-               CFG_CMD_IRQ     * irqinfo
-               CFG_CMD_ITEST   * Integer/string test of 2 values
-               CFG_CMD_JFFS2   * JFFS2 Support
-               CFG_CMD_KGDB    * kgdb
-               CFG_CMD_LOADB     loadb
-               CFG_CMD_LOADS     loads
-               CFG_CMD_MEMORY    md, mm, nm, mw, cp, cmp, crc, base,
-                                 loop, mtest
-               CFG_CMD_MISC      Misc functions like sleep etc
-               CFG_CMD_MMC       MMC memory mapped support
-               CFG_CMD_MII       MII utility commands
-               CFG_CMD_NAND    * NAND support
-               CFG_CMD_NET       bootp, tftpboot, rarpboot
-               CFG_CMD_PCI     * pciinfo
-               CFG_CMD_PCMCIA  * PCMCIA support
-               CFG_CMD_PING    * send ICMP ECHO_REQUEST to network host
-               CFG_CMD_PORTIO  * Port I/O
-               CFG_CMD_REGINFO * Register dump
-               CFG_CMD_RUN       run command in env variable
-               CFG_CMD_SAVES     save S record dump
-               CFG_CMD_SCSI    * SCSI Support
-               CFG_CMD_SDRAM   * print SDRAM configuration information
-               CFG_CMD_SETGETDCR Support for DCR Register access (4xx only)
-               CFG_CMD_SPI     * SPI serial bus support
-               CFG_CMD_USB     * USB support
-               CFG_CMD_VFD     * VFD support (TRAB)
-               CFG_CMD_BSP     * Board SPecific functions
-               -----------------------------------------------
-               CFG_CMD_ALL     all
-
-               CFG_CMD_DFL     Default configuration; at the moment
-                               this is includes all commands, except
-                               the ones marked with "*" in the list
-                               above.
-
-               If you don't define CONFIG_COMMANDS it defaults to
-               CFG_CMD_DFL in include/cmd_confdefs.h. A board can
-               override the default settings in the respective
-               include file.
+               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"
+               and augmenting with additional #define's
+               for wanted commands.
+
+               The default command configuration includes all commands
+               except those marked below with a "*".
+
+               CONFIG_CMD_ASKENV       * ask for env variable
+               CONFIG_CMD_AUTOSCRIPT     Autoscript Support
+               CONFIG_CMD_BDI            bdinfo
+               CONFIG_CMD_BEDBUG       * Include BedBug Debugger
+               CONFIG_CMD_BMP          * BMP support
+               CONFIG_CMD_BSP          * Board specific commands
+               CONFIG_CMD_BOOTD          bootd
+               CONFIG_CMD_CACHE        * icache, dcache
+               CONFIG_CMD_CONSOLE        coninfo
+               CONFIG_CMD_DATE         * support for RTC, date/time...
+               CONFIG_CMD_DHCP         * DHCP support
+               CONFIG_CMD_DIAG         * Diagnostics
+               CONFIG_CMD_DOC          * Disk-On-Chip Support
+               CONFIG_CMD_DTT          * Digital Therm and Thermostat
+               CONFIG_CMD_ECHO           echo arguments
+               CONFIG_CMD_EEPROM       * EEPROM read/write support
+               CONFIG_CMD_ELF          * bootelf, bootvx
+               CONFIG_CMD_ENV            saveenv
+               CONFIG_CMD_FDC          * Floppy Disk Support
+               CONFIG_CMD_FAT          * FAT partition support
+               CONFIG_CMD_FDOS         * Dos diskette Support
+               CONFIG_CMD_FLASH          flinfo, erase, protect
+               CONFIG_CMD_FPGA           FPGA device initialization support
+               CONFIG_CMD_HWFLOW       * RTS/CTS hw flow control
+               CONFIG_CMD_I2C          * I2C serial bus support
+               CONFIG_CMD_IDE          * IDE harddisk support
+               CONFIG_CMD_IMI            iminfo
+               CONFIG_CMD_IMLS           List all found images
+               CONFIG_CMD_IMMAP        * IMMR dump support
+               CONFIG_CMD_IRQ          * irqinfo
+               CONFIG_CMD_ITEST          Integer/string test of 2 values
+               CONFIG_CMD_JFFS2        * JFFS2 Support
+               CONFIG_CMD_KGDB         * kgdb
+               CONFIG_CMD_LOADB          loadb
+               CONFIG_CMD_LOADS          loads
+               CONFIG_CMD_MEMORY         md, mm, nm, mw, cp, cmp, crc, base,
+                                         loop, loopw, mtest
+               CONFIG_CMD_MISC           Misc functions like sleep etc
+               CONFIG_CMD_MMC          * MMC memory mapped support
+               CONFIG_CMD_MII          * MII utility commands
+               CONFIG_CMD_NAND         * NAND support
+               CONFIG_CMD_NET            bootp, tftpboot, rarpboot
+               CONFIG_CMD_PCI          * pciinfo
+               CONFIG_CMD_PCMCIA               * PCMCIA support
+               CONFIG_CMD_PING         * send ICMP ECHO_REQUEST to network
+                                         host
+               CONFIG_CMD_PORTIO       * Port I/O
+               CONFIG_CMD_REGINFO      * Register dump
+               CONFIG_CMD_RUN            run command in env variable
+               CONFIG_CMD_SAVES        * save S record dump
+               CONFIG_CMD_SCSI         * SCSI Support
+               CONFIG_CMD_SDRAM        * print SDRAM configuration information
+                                         (requires CONFIG_CMD_I2C)
+               CONFIG_CMD_SETGETDCR      Support for DCR Register access
+                                         (4xx only)
+               CONFIG_CMD_SPI          * SPI serial bus support
+               CONFIG_CMD_USB          * USB support
+               CONFIG_CMD_VFD          * VFD support (TRAB)
+               CONFIG_CMD_BSP          * Board SPecific functions
+               CONFIG_CMD_CDP          * Cisco Discover Protocol support
+               CONFIG_CMD_FSL          * Microblaze FSL support
+
 
                EXAMPLE: If you want all functions except of network
                support you can write:
 
-               #define CONFIG_COMMANDS (CFG_CMD_ALL & ~CFG_CMD_NET)
+               #include "config_cmd_all.h"
+               #undef CONFIG_CMD_NET
 
+       Other Commands:
+               fdt (flattened device tree) command: CONFIG_OF_LIBFDT
 
        Note:   Don't enable the "icache" and "dcache" commands
-               (configuration option CFG_CMD_CACHE) unless you know
+               (configuration option CONFIG_CMD_CACHE) unless you know
                what you (and your U-Boot users) are doing. Data
                cache cannot be enabled on systems like the 8xx or
                8260 (where accesses to the IMMR region must be
@@ -629,7 +763,7 @@ The following options need to be configured:
 
 - Real-Time Clock:
 
-               When CFG_CMD_DATE is selected, the type of the RTC
+               When CONFIG_CMD_DATE is selected, the type of the RTC
                has to be selected, too. Define exactly one of the
                following options:
 
@@ -640,6 +774,7 @@ The following options need to be configured:
                CONFIG_RTC_DS1337       - use Maxim, Inc. DS1337 RTC
                CONFIG_RTC_DS1338       - use Maxim, Inc. DS1338 RTC
                CONFIG_RTC_DS164x       - use Dallas DS164x RTC
+               CONFIG_RTC_MAX6900      - use Maxim, Inc. MAX6900 RTC
 
                Note that if the RTC uses I2C, then the I2C interface
                must also be configured. See I2C Support, below.
@@ -649,14 +784,14 @@ The following options need to be configured:
                When CONFIG_TIMESTAMP is selected, the timestamp
                (date and time) of an image is printed by image
                commands like bootm or iminfo. This option is
-               automatically enabled when you select CFG_CMD_DATE .
+               automatically enabled when you select CONFIG_CMD_DATE .
 
 - Partition Support:
                CONFIG_MAC_PARTITION and/or CONFIG_DOS_PARTITION
                and/or CONFIG_ISO_PARTITION
 
-               If IDE or SCSI support  is  enabled  (CFG_CMD_IDE  or
-               CFG_CMD_SCSI) you must configure support for at least
+               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.
 
 - IDE Reset method:
@@ -729,12 +864,26 @@ The following options need to be configured:
                        CONFIG_LAN91C96_USE_32_BIT
                        Define this to enable 32 bit addressing
 
+               CONFIG_DRIVER_SMC91111
+               Support for SMSC's LAN91C111 chip
+
+                       CONFIG_SMC91111_BASE
+                       Define this to hold the physical address
+                       of the device (I/O space)
+
+                       CONFIG_SMC_USE_32_BIT
+                       Define this if data bus is 32 bits
+
+                       CONFIG_SMC_USE_IOFUNCS
+                       Define this to use i/o functions instead of macros
+                       (some hardware wont work with macros)
+
 - USB Support:
                At the moment only the UHCI host controller is
                supported (PIP405, MIP405, MPC5200); define
                CONFIG_USB_UHCI to enable it.
                define CONFIG_USB_KEYBOARD to enable the USB Keyboard
-               end define CONFIG_USB_STORAGE to enable the USB
+               and define CONFIG_USB_STORAGE to enable the USB
                storage devices.
                Note:
                Supported are USB Keyboards and USB Floppy drives
@@ -745,6 +894,71 @@ The following options need to be configured:
                        CONFIG_USB_CONFIG
                                for differential drivers: 0x00001000
                                for single ended drivers: 0x00005000
+                       CFG_USB_EVENT_POLL
+                               May be defined to allow interrupt polling
+                               instead of using asynchronous interrupts
+
+- USB Device:
+               Define the below if you wish to use the USB console.
+               Once firmware is rebuilt from a serial console issue the
+               command "setenv stdin usbtty; setenv stdout usbtty" and
+               attach your usb cable. The Unix command "dmesg" should print
+               it has found a new device. The environment variable usbtty
+               can be set to gserial or cdc_acm to enable your device to
+               appear to a USB host as a Linux gserial device or a
+               Common Device Class Abstract Control Model serial device.
+               If you select usbtty = gserial you should be able to enumerate
+               a Linux host by
+               # modprobe usbserial vendor=0xVendorID product=0xProductID
+               else if using cdc_acm, simply setting the environment
+               variable usbtty to be cdc_acm should suffice. The following
+               might be defined in YourBoardName.h
+
+                       CONFIG_USB_DEVICE
+                       Define this to build a UDC device
+
+                       CONFIG_USB_TTY
+                       Define this to have a tty type of device available to
+                       talk to the UDC device
+
+                       CFG_CONSOLE_IS_IN_ENV
+                       Define this if you want stdin, stdout &/or stderr to
+                       be set to usbtty.
+
+                       mpc8xx:
+                               CFG_USB_EXTC_CLK 0xBLAH
+                               Derive USB clock from external clock "blah"
+                               - CFG_USB_EXTC_CLK 0x02
+
+                               CFG_USB_BRG_CLK 0xBLAH
+                               Derive USB clock from brgclk
+                               - CFG_USB_BRG_CLK 0x04
+
+               If you have a USB-IF assigned VendorID then you may wish to
+               define your own vendor specific values either in BoardName.h
+               or directly in usbd_vendor_info.h. If you don't define
+               CONFIG_USBD_MANUFACTURER, CONFIG_USBD_PRODUCT_NAME,
+               CONFIG_USBD_VENDORID and CONFIG_USBD_PRODUCTID, then U-Boot
+               should pretend to be a Linux device to it's target host.
+
+                       CONFIG_USBD_MANUFACTURER
+                       Define this string as the name of your company for
+                       - CONFIG_USBD_MANUFACTURER "my company"
+
+                       CONFIG_USBD_PRODUCT_NAME
+                       Define this string as the name of your product
+                       - CONFIG_USBD_PRODUCT_NAME "acme usb device"
+
+                       CONFIG_USBD_VENDORID
+                       Define this as your assigned Vendor ID from the USB
+                       Implementors Forum. This *must* be a genuine Vendor ID
+                       to avoid polluting the USB namespace.
+                       - CONFIG_USBD_VENDORID 0xFFFF
+
+                       CONFIG_USBD_PRODUCTID
+                       Define this as the unique Product ID
+                       for your device
+                       - CONFIG_USBD_PRODUCTID 0xFFFF
 
 
 - MMC Support:
@@ -752,8 +966,26 @@ The following options need to be configured:
                enable this define CONFIG_MMC. The MMC can be
                accessed from the boot prompt by mapping the device
                to physical memory similar to flash. Command line is
-               enabled with CFG_CMD_MMC. The MMC driver also works with
-               the FAT fs. This is enabled with CFG_CMD_FAT.
+               enabled with CONFIG_CMD_MMC. The MMC driver also works with
+               the FAT fs. This is enabled with CONFIG_CMD_FAT.
+
+- Journaling Flash filesystem support:
+               CONFIG_JFFS2_NAND, CONFIG_JFFS2_NAND_OFF, CONFIG_JFFS2_NAND_SIZE,
+               CONFIG_JFFS2_NAND_DEV
+               Define these for a default partition on a NAND device
+
+               CFG_JFFS2_FIRST_SECTOR,
+               CFG_JFFS2_FIRST_BANK, CFG_JFFS2_NUM_BANKS
+               Define these for a default partition on a NOR device
+
+               CFG_JFFS_CUSTOM_PART
+               Define this to create an own partition. You have to provide a
+               function struct part_info* jffs2_part_info(int part_num)
+
+               If you define only one JFFS2 partition you may also want to
+               #define CFG_JFFS_SINGLE_PART    1
+               to disable the command chpart. This is the default when you
+               have not defined a custom partition
 
 - Keyboard Support:
                CONFIG_ISA_KEYBOARD
@@ -778,16 +1010,16 @@ The following options need to be configured:
                Enable Chips & Technologies 69000 Video chip
 
                CONFIG_VIDEO_SMI_LYNXEM
-               Enable Silicon Motion SMI 712/710/810 Video chip. The 
+               Enable Silicon Motion SMI 712/710/810 Video chip. The
                video output is selected via environment 'videoout'
                (1 = LCD and 2 = CRT). If videoout is undefined, CRT is
                assumed.
 
-               For the CT69000 and SMI_LYNXEM drivers, videomode is 
-               selected via environment 'videomode'. Two diferent ways 
+               For the CT69000 and SMI_LYNXEM drivers, videomode is
+               selected via environment 'videomode'. Two diferent ways
                are possible:
                - "videomode=num"   'num' is a standard LiLo mode numbers.
-               Following standard modes are supported  (* is default):
+               Following standard modes are supported  (* is default):
 
                      Colors    640x480 800x600 1024x768 1152x864 1280x1024
                -------------+---------------------------------------------
@@ -798,7 +1030,7 @@ The following options need to be configured:
                -------------+---------------------------------------------
                (i.e. setenv videomode 317; saveenv; reset;)
 
-               - "videomode=bootargs" all the video parameters are parsed 
+               - "videomode=bootargs" all the video parameters are parsed
                from the bootargs. (See drivers/videomodes.c)
 
 
@@ -868,12 +1100,18 @@ The following options need to be configured:
                If this option is set, the environment is checked for
                a variable "splashimage". If found, the usual display
                of logo, copyright and system information on the LCD
-               is supressed and the BMP image at the address
+               is suppressed and the BMP image at the address
                specified in "splashimage" is loaded instead. The
                console is redirected to the "nulldev", too. This
                allows for a "silent" boot where a splash screen is
                loaded very quickly after power-on.
 
+- Gzip compressed BMP image support: CONFIG_VIDEO_BMP_GZIP
+
+               If this option is set, additionally to standard BMP
+               images, gzipped BMP images can be displayed via the
+               splashscreen support or the bmp command.
+
 - Compression support:
                CONFIG_BZIP2
 
@@ -885,6 +1123,32 @@ The following options need to be configured:
                the malloc area (as defined by CFG_MALLOC_LEN) should
                be at least 4MB.
 
+- MII/PHY support:
+               CONFIG_PHY_ADDR
+
+               The address of PHY on MII bus.
+
+               CONFIG_PHY_CLOCK_FREQ (ppc4xx)
+
+               The clock frequency of the MII bus
+
+               CONFIG_PHY_GIGE
+
+               If this option is set, support for speed/duplex
+               detection of Gigabit PHY is included.
+
+               CONFIG_PHY_RESET_DELAY
+
+               Some PHY like Intel LXT971A need extra delay after
+               reset before any MII register access is possible.
+               For such PHY, set this option to the usec delay
+               required. (minimum 300usec for LXT971A)
+
+               CONFIG_PHY_CMD_DELAY (ppc4xx)
+
+               Some PHY like Intel LXT971A need extra delay after
+               command issued before MII status register can be read
+
 - Ethernet address:
                CONFIG_ETHADDR
                CONFIG_ETH2ADDR
@@ -918,7 +1182,7 @@ The following options need to be configured:
                boot, thus flooding the BOOTP server. Defining
                CONFIG_BOOTP_RANDOM_DELAY causes a random delay to be
                inserted before sending out BOOTP requests. The
-               following delays are insterted then:
+               following delays are inserted then:
 
                1st BOOTP request:      delay 0 ... 1 sec
                2nd BOOTP request:      delay 0 ... 2 sec
@@ -927,10 +1191,21 @@ The following options need to be configured:
                BOOTP requests:         delay 0 ... 8 sec
 
 - DHCP Advanced Options:
-               CONFIG_BOOTP_MASK
-
-               You can fine tune the DHCP functionality by adding
-               these flags to the CONFIG_BOOTP_MASK define:
+               You can fine tune the DHCP functionality by defining
+               CONFIG_BOOTP_* symbols:
+
+               CONFIG_BOOTP_SUBNETMASK
+               CONFIG_BOOTP_GATEWAY
+               CONFIG_BOOTP_HOSTNAME
+               CONFIG_BOOTP_NISDOMAIN
+               CONFIG_BOOTP_BOOTPATH
+               CONFIG_BOOTP_BOOTFILESIZE
+               CONFIG_BOOTP_DNS
+               CONFIG_BOOTP_DNS2
+               CONFIG_BOOTP_SEND_HOSTNAME
+               CONFIG_BOOTP_NTPSERVER
+               CONFIG_BOOTP_TIMEOFFSET
+               CONFIG_BOOTP_VENDOREX
 
                CONFIG_BOOTP_DNS2 - If a DHCP client requests the DNS
                serverip from a DHCP server, it is possible that more
@@ -939,15 +1214,56 @@ The following options need to be configured:
                serverip will be stored in the additional environment
                variable "dnsip2". The first DNS serverip is always
                stored in the variable "dnsip", when CONFIG_BOOTP_DNS
-               is added to the CONFIG_BOOTP_MASK.
+               is defined.
 
                CONFIG_BOOTP_SEND_HOSTNAME - Some DHCP servers are capable
                to do a dynamic update of a DNS server. To do this, they
                need the hostname of the DHCP requester.
-               If CONFIG_BOOP_SEND_HOSTNAME is added to the
-               CONFIG_BOOTP_MASK, the content of the "hostname"
-               environment variable is passed as option 12 to
-               the DHCP server.
+               If CONFIG_BOOP_SEND_HOSTNAME is defined, the content
+               of the "hostname" environment variable is passed as
+               option 12 to the DHCP server.
+
+ - CDP Options:
+               CONFIG_CDP_DEVICE_ID
+
+               The device id used in CDP trigger frames.
+
+               CONFIG_CDP_DEVICE_ID_PREFIX
+
+               A two character string which is prefixed to the MAC address
+               of the device.
+
+               CONFIG_CDP_PORT_ID
+
+               A printf format string which contains the ascii name of
+               the port. Normally is set to "eth%d" which sets
+               eth0 for the first ethernet, eth1 for the second etc.
+
+               CONFIG_CDP_CAPABILITIES
+
+               A 32bit integer which indicates the device capabilities;
+               0x00000010 for a normal host which does not forwards.
+
+               CONFIG_CDP_VERSION
+
+               An ascii string containing the version of the software.
+
+               CONFIG_CDP_PLATFORM
+
+               An ascii string containing the name of the platform.
+
+               CONFIG_CDP_TRIGGER
+
+               A 32bit integer sent on the trigger.
+
+               CONFIG_CDP_POWER_CONSUMPTION
+
+               A 16bit integer containing the power consumption of the
+               device in .1 of milliwatts.
+
+               CONFIG_CDP_APPLIANCE_VLAN_TYPE
+
+               A byte containing the id of the VLAN.
 
 - Status LED:  CONFIG_STATUS_LED
 
@@ -973,12 +1289,17 @@ The following options need to be configured:
                include the appropriate I2C driver for the selected cpu.
 
                This will allow you to use i2c commands at the u-boot
-               command line (as long as you set CFG_CMD_I2C in
+               command line (as long as you set CONFIG_CMD_I2C in
                CONFIG_COMMANDS) and communicate with i2c based realtime
                clock chips. See common/cmd_i2c.c for a description of the
                command line interface.
 
-               CONFIG_HARD_I2C selects the CPM hardware driver for I2C.
+               CONFIG_I2C_CMD_TREE is a recommended option that places
+               all I2C commands under a single 'i2c' root command.  The
+               older 'imm', 'imd', 'iprobe' etc. commands are considered
+               deprecated and may disappear in the future.
+
+               CONFIG_HARD_I2C selects a hardware I2C controller.
 
                CONFIG_SOFT_I2C configures u-boot to use a software (aka
                bit-banging) driver instead of CPM or similar hardware
@@ -1077,6 +1398,58 @@ The following options need to be configured:
                custom i2c_init_board() routine in boards/xxx/board.c
                is run early in the boot sequence.
 
+               CONFIG_I2CFAST (PPC405GP|PPC405EP only)
+
+               This option enables configuration of bi_iic_fast[] flags
+               in u-boot bd_info structure based on u-boot environment
+               variable "i2cfast". (see also i2cfast)
+
+               CONFIG_I2C_MULTI_BUS
+
+               This option allows the use of multiple I2C buses, each of which
+               must have a controller.  At any point in time, only one bus is
+               active.  To switch to a different bus, use the 'i2c dev' command.
+               Note that bus numbering is zero-based.
+
+               CFG_I2C_NOPROBES
+
+               This option specifies a list of I2C devices that will be skipped
+               when the 'i2c probe' command is issued (or 'iprobe' using the legacy
+               command).  If CONFIG_I2C_MULTI_BUS is set, specify a list of bus-device
+               pairs.  Otherwise, specify a 1D array of device addresses
+
+               e.g.
+                       #undef  CONFIG_I2C_MULTI_BUS
+                       #define CFG_I2C_NOPROBES        {0x50,0x68}
+
+               will skip addresses 0x50 and 0x68 on a board with one I2C bus
+
+                       #define CONFIG_I2C_MULTI_BUS
+                       #define CFG_I2C_MULTI_NOPROBES  {{0,0x50},{0,0x68},{1,0x54}}
+
+               will skip addresses 0x50 and 0x68 on bus 0 and address 0x54 on bus 1
+
+               CFG_SPD_BUS_NUM
+
+               If defined, then this indicates the I2C bus number for DDR SPD.
+               If not defined, then U-Boot assumes that SPD is on I2C bus 0.
+
+               CFG_RTC_BUS_NUM
+
+               If defined, then this indicates the I2C bus number for the RTC.
+               If not defined, then U-Boot assumes that RTC is on I2C bus 0.
+
+               CFG_DTT_BUS_NUM
+
+               If defined, then this indicates the I2C bus number for the DTT.
+               If not defined, then U-Boot assumes that DTT is on I2C bus 0.
+
+               CONFIG_FSL_I2C
+
+               Define this option if you want to use Freescale's I2C driver in
+               drivers/fsl_i2c.c.
+
+
 - SPI Support: CONFIG_SPI
 
                Enables SPI driver (so far only tested with
@@ -1195,7 +1568,7 @@ The following options need to be configured:
                remaining RAM in a form that can be passed as boot
                argument to Linux, for instance like that:
 
-                       setenv bootargs ... mem=\$(mem)
+                       setenv bootargs ... mem=\${mem}
                        saveenv
 
                This way you can tell Linux not to use this memory,
@@ -1231,6 +1604,14 @@ The following options need to be configured:
                default value of 5 is used.
 
 - Command Interpreter:
+               CONFIG_AUTO_COMPLETE
+
+               Enable auto completion of commands using TAB.
+
+               Note that this feature has NOT been implemented yet
+               for the "hush" shell.
+
+
                CFG_HUSH_PARSER
 
                Define this variable to enable the "hush" shell (from
@@ -1270,6 +1651,12 @@ The following options need to be configured:
                of the backslashes before semicolons and special
                symbols.
 
+- Commandline Editing and History:
+               CONFIG_CMDLINE_EDITING
+
+               Enable editiong and History functions for interactive
+               commandline input operations
+
 - Default Environment:
                CONFIG_EXTRA_ENV_SETTINGS
 
@@ -1317,6 +1704,26 @@ The following options need to be configured:
                When SystemACE support is added, the "ace" device type
                becomes available to the fat commands, i.e. fatls.
 
+- TFTP Fixed UDP Port:
+               CONFIG_TFTP_PORT
+
+               If this is defined, the environment variable tftpsrcp
+               is used to supply the TFTP UDP source port value.
+               If tftpsrcp isn't defined, the normal pseudo-random port
+               number generator is used.
+
+               Also, the environment variable tftpdstp is used to supply
+               the TFTP UDP destination port value.  If tftpdstp isn't
+               defined, the normal port 69 is used.
+
+               The purpose for tftpsrcp is to allow a TFTP server to
+               blindly start the TFTP transfer using the pre-configured
+               target IP address and UDP port. This has the effect of
+               "punching through" the (Windows XP) firewall, allowing
+               the remainder of the TFTP transfer to proceed normally.
+               A better solution is to properly configure the firewall,
+               but sometimes that is not allowed.
+
 - Show boot progress:
                CONFIG_SHOW_BOOT_PROGRESS
 
@@ -1361,28 +1768,69 @@ The following options need to be configured:
   -31  post/post.c             POST test failed, detected by post_output_backlog()
   -32  post/post.c             POST test failed, detected by post_run_single()
 
-   -1  common/cmd_doc.c        Bad usage of "doc" command
-   -1  common/cmd_doc.c        No boot device
-   -1  common/cmd_doc.c        Unknown Chip ID on boot device
-   -1  common/cmd_doc.c        Read Error on boot device
-   -1  common/cmd_doc.c        Image header has bad magic number
-
-   -1  common/cmd_ide.c        Bad usage of "ide" command
-   -1  common/cmd_ide.c        No boot device
-   -1  common/cmd_ide.c        Unknown boot device
-   -1  common/cmd_ide.c        Unknown partition table
-   -1  common/cmd_ide.c        Invalid partition type
-   -1  common/cmd_ide.c        Read Error on boot device
-   -1  common/cmd_ide.c        Image header has bad magic number
-
-   -1  common/cmd_nand.c       Bad usage of "nand" command
-   -1  common/cmd_nand.c       No boot device
-   -1  common/cmd_nand.c       Unknown Chip ID on boot device
-   -1  common/cmd_nand.c       Read Error on boot device
-   -1  common/cmd_nand.c       Image header has bad magic number
-
-   -1  common/env_common.c     Environment has a bad CRC, using default
-
+   34  common/cmd_doc.c        before loading a Image from a DOC device
+  -35  common/cmd_doc.c        Bad usage of "doc" command
+   35  common/cmd_doc.c        correct usage of "doc" command
+  -36  common/cmd_doc.c        No boot device
+   36  common/cmd_doc.c        correct boot device
+  -37  common/cmd_doc.c        Unknown Chip ID on boot device
+   37  common/cmd_doc.c        correct chip ID found, device available
+  -38  common/cmd_doc.c        Read Error on boot device
+   38  common/cmd_doc.c        reading Image header from DOC device OK
+  -39  common/cmd_doc.c        Image header has bad magic number
+   39  common/cmd_doc.c        Image header has correct magic number
+  -40  common/cmd_doc.c        Error reading Image from DOC device
+   40  common/cmd_doc.c        Image header has correct magic number
+   41  common/cmd_ide.c        before loading a Image from a IDE device
+  -42  common/cmd_ide.c        Bad usage of "ide" command
+   42  common/cmd_ide.c        correct usage of "ide" command
+  -43  common/cmd_ide.c        No boot device
+   43  common/cmd_ide.c        boot device found
+  -44  common/cmd_ide.c        Device not available
+   44  common/cmd_ide.c        Device available
+  -45  common/cmd_ide.c        wrong partition selected
+   45  common/cmd_ide.c        partition selected
+  -46  common/cmd_ide.c        Unknown partition table
+   46  common/cmd_ide.c        valid partition table found
+  -47  common/cmd_ide.c        Invalid partition type
+   47  common/cmd_ide.c        correct partition type
+  -48  common/cmd_ide.c        Error reading Image Header on boot device
+   48  common/cmd_ide.c        reading Image Header from IDE device OK
+  -49  common/cmd_ide.c        Image header has bad magic number
+   49  common/cmd_ide.c        Image header has correct magic number
+  -50  common/cmd_ide.c        Image header has bad     checksum
+   50  common/cmd_ide.c        Image header has correct checksum
+  -51  common/cmd_ide.c        Error reading Image from IDE device
+   51  common/cmd_ide.c        reading Image from IDE device OK
+   52  common/cmd_nand.c       before loading a Image from a NAND device
+  -53  common/cmd_nand.c       Bad usage of "nand" command
+   53  common/cmd_nand.c       correct usage of "nand" command
+  -54  common/cmd_nand.c       No boot device
+   54  common/cmd_nand.c       boot device found
+  -55  common/cmd_nand.c       Unknown Chip ID on boot device
+   55  common/cmd_nand.c       correct chip ID found, device available
+  -56  common/cmd_nand.c       Error reading Image Header on boot device
+   56  common/cmd_nand.c       reading Image Header from NAND device OK
+  -57  common/cmd_nand.c       Image header has bad magic number
+   57  common/cmd_nand.c       Image header has correct magic number
+  -58  common/cmd_nand.c       Error reading Image from NAND device
+   58  common/cmd_nand.c       reading Image from NAND device OK
+
+  -60  common/env_common.c     Environment has a bad CRC, using default
+
+   64  net/eth.c               starting with Ethernetconfiguration.
+  -64  net/eth.c               no Ethernet found.
+   65  net/eth.c               Ethernet found.
+
+  -80  common/cmd_net.c        usage wrong
+   80  common/cmd_net.c        before calling NetLoop()
+  -81  common/cmd_net.c        some error in NetLoop() occured
+   81  common/cmd_net.c        NetLoop() back without error
+  -82  common/cmd_net.c        size == 0 (File with size 0 loaded)
+   82  common/cmd_net.c        trying automatic boot
+   83  common/cmd_net.c        running autoscript
+  -83  common/cmd_net.c        some error in automatic boot or autoscript
+   84  common/cmd_net.c        end without errors
 
 Modem Support:
 --------------
@@ -1511,6 +1959,12 @@ Configuration Settings:
 - CFG_MALLOC_LEN:
                Size of DRAM reserved for malloc() use.
 
+- CFG_BOOTM_LEN:
+               Normally compressed uImages are limited to an
+               uncompressed size of 8 MBytes. If this is not enough,
+               you can define CFG_BOOTM_LEN in your board config file
+               to adjust this setting to your needs.
+
 - CFG_BOOTMAPSZ:
                Maximum size of memory mapped by the startup code of
                the Linux kernel; all data that must be processed by
@@ -1560,6 +2014,12 @@ Configuration Settings:
                This option also enables the building of the cfi_flash driver
                in the drivers directory
 
+- CFG_FLASH_QUIET_TEST
+               If this option is defined, the common CFI flash doesn't
+               print it's warning upon not recognized FLASH banks. This
+               is useful, if some of the configured banks are only
+               optionally available.
+
 - CFG_RX_ETH_BUFFER:
                Defines the number of ethernet receive buffers. On some
                ethernet controllers it is recommended to set this value
@@ -1695,6 +2155,17 @@ to save the current settings.
          The length in bytes of the EEPROM memory array address.  Note
          that this is NOT the chip address length!
 
+       - CFG_I2C_EEPROM_ADDR_OVERFLOW:
+         EEPROM chips that implement "address overflow" are ones
+         like Catalyst 24WC04/08/16 which has 9/10/11 bits of
+         address and the extra bits end up in the "chip address" bit
+         slots. This makes a 24WC08 (1Kbyte) chip look like four 256
+         byte chips.
+
+         Note that we consider the length of the address field to
+         still be one byte because the extra address bits are hidden
+         in the chip address.
+
        - CFG_EEPROM_SIZE:
          The size in bytes of the EEPROM device.
 
@@ -1712,6 +2183,27 @@ to save the current settings.
          environment area within the total memory of your DataFlash placed
          at the specified address.
 
+- CFG_ENV_IS_IN_NAND:
+
+       Define this if you have a NAND device which you want to use
+       for the environment.
+
+       - CFG_ENV_OFFSET:
+       - CFG_ENV_SIZE:
+
+         These two #defines specify the offset and size of the environment
+         area within the first NAND device.
+
+       - CFG_ENV_OFFSET_REDUND
+
+         This setting describes a second storage area of CFG_ENV_SIZE
+         size used to hold a redundant copy of the environment data,
+         so that there is a valid backup copy in case there is a
+         power failure during a "saveenv" operation.
+
+       Note: CFG_ENV_OFFSET and CFG_ENV_OFFSET_REDUND must be aligned
+       to a block boundary, and CFG_ENV_SIZE must be a multiple of
+       the NAND devices block size.
 
 - CFG_SPI_INIT_OFFSET
 
@@ -1794,9 +2286,9 @@ Low Level (hardware related) configuration options:
                source code. It is used to make hardware dependant
                initializations.
 
-- CFG_IMMR:    Physical address of the Internal Memory Mapped
-               Register; DO NOT CHANGE! (11-4)
-               [MPC8xx systems only]
+- CFG_IMMR:    Physical address of the Internal Memory.
+               DO NOT CHANGE unless you know exactly what you're
+               doing! (11-4) [MPC8xx/82xx systems only]
 
 - CFG_INIT_RAM_ADDR:
 
@@ -1896,6 +2388,85 @@ Low Level (hardware related) configuration options:
   CFG_POCMR2_MASK_ATTRIB: (MPC826x only)
                Overrides the default PCI memory map in cpu/mpc8260/pci.c if set.
 
+- CONFIG_SPD_EEPROM
+               Get DDR timing information from an I2C EEPROM.  Common with pluggable
+               memory modules such as SODIMMs
+  SPD_EEPROM_ADDRESS
+               I2C address of the SPD EEPROM
+
+- CFG_SPD_BUS_NUM
+               If SPD EEPROM is on an I2C bus other than the first one, specify here.
+               Note that the value must resolve to something your driver can deal with.
+
+- CFG_83XX_DDR_USES_CS0
+               Only for 83xx systems. If specified, then DDR should be configured
+               using CS0 and CS1 instead of CS2 and CS3.
+
+- CFG_83XX_DDR_USES_CS0
+               Only for 83xx systems. If specified, then DDR should be configured
+               using CS0 and CS1 instead of CS2 and CS3.
+
+- CONFIG_ETHER_ON_FEC[12]
+               Define to enable FEC[12] on a 8xx series processor.
+
+- CONFIG_FEC[12]_PHY
+               Define to the hardcoded PHY address which corresponds
+               to the given FEC; i. e.
+                       #define CONFIG_FEC1_PHY 4
+               means that the PHY with address 4 is connected to FEC1
+
+               When set to -1, means to probe for first available.
+
+- CONFIG_FEC[12]_PHY_NORXERR
+               The PHY does not have a RXERR line (RMII only).
+               (so program the FEC to ignore it).
+
+- CONFIG_RMII
+               Enable RMII mode for all FECs.
+               Note that this is a global option, we can't
+               have one FEC in standard MII mode and another in RMII mode.
+
+- CONFIG_CRC32_VERIFY
+               Add a verify option to the crc32 command.
+               The syntax is:
+
+               => crc32 -v <address> <count> <crc32>
+
+               Where address/count indicate a memory area
+               and crc32 is the correct crc32 which the
+               area should have.
+
+- CONFIG_LOOPW
+               Add the "loopw" memory command. This only takes effect if
+               the memory commands are activated globally (CONFIG_CMD_MEM).
+
+- CONFIG_MX_CYCLIC
+               Add the "mdc" and "mwc" memory commands. These are cyclic
+               "md/mw" commands.
+               Examples:
+
+               => mdc.b 10 4 500
+               This command will print 4 bytes (10,11,12,13) each 500 ms.
+
+               => mwc.l 100 12345678 10
+               This command will write 12345678 to address 100 all 10 ms.
+
+               This only takes effect if the memory commands are activated
+               globally (CONFIG_CMD_MEM).
+
+- CONFIG_SKIP_LOWLEVEL_INIT
+- CONFIG_SKIP_RELOCATE_UBOOT
+
+               [ARM only] If these variables are defined, then
+               certain low level initializations (like setting up
+               the memory controller) are omitted and/or U-Boot does
+               not relocate itself into RAM.
+               Normally these variables MUST NOT be defined. The
+               only exception is when U-Boot is loaded (to RAM) by
+               some other boot loader or by a debugger which
+               performs these intializations itself.
+
+
 Building the Software:
 ======================
 
@@ -1923,54 +2494,45 @@ is done by typing:
 where "NAME_config" is the name of one of the existing
 configurations; the following names are supported:
 
-    ADCIOP_config        GTH_config            TQM850L_config
-    ADS860_config        IP860_config          TQM855L_config
-    AR405_config         IVML24_config         TQM860L_config
-    CANBT_config         IVMS8_config          WALNUT405_config
-    CPCI405_config       LANTEC_config         cogent_common_config
-    CPCIISER4_config     MBX_config            cogent_mpc8260_config
-    CU824_config         MBX860T_config        cogent_mpc8xx_config
-    ESTEEM192E_config    RPXlite_config        hermes_config
-    ETX094_config        RPXsuper_config       hymod_config
-    FADS823_config       SM850_config          lwmon_config
-    FADS850SAR_config    SPD823TS_config       pcu_e_config
-    FADS860T_config      SXNI855T_config       rsdproto_config
-    FPS850L_config       Sandpoint8240_config  sbc8260_config
-    GENIETV_config       TQM823L_config        PIP405_config
-    GEN860T_config       EBONY_config          FPS860L_config
-    ELPT860_config       cmi_mpc5xx_config     NETVIA_config
-    at91rm9200dk_config          omap1510inn_config    MPC8260ADS_config
-    omap1610inn_config   ZPC1900_config        MPC8540ADS_config
-    MPC8560ADS_config    QS850_config          QS823_config
-    QS860T_config        DUET_ADS_config       omap1610h2_config
-
-Note: for some board special configuration names may exist; check  if
-      additional  information is available from the board vendor; for
-      instance, the TQM8xxL systems run normally at 50 MHz and use  a
-      SCC  for 10baseT  ethernet; there are also systems with 80 MHz
-      CPU clock, and an optional Fast Ethernet module  is  available
-      for  CPU's  with FEC. You can select such additional "features"
+       ADCIOP_config           FPS860L_config          omap730p2_config
+       ADS860_config           GEN860T_config          pcu_e_config
+       Alaska8220_config
+       AR405_config            GENIETV_config          PIP405_config
+       at91rm9200dk_config     GTH_config              QS823_config
+       CANBT_config            hermes_config           QS850_config
+       cmi_mpc5xx_config       hymod_config            QS860T_config
+       cogent_common_config    IP860_config            RPXlite_config
+       cogent_mpc8260_config   IVML24_config           RPXlite_DW_config
+       cogent_mpc8xx_config    IVMS8_config            RPXsuper_config
+       CPCI405_config          JSE_config              rsdproto_config
+       CPCIISER4_config        LANTEC_config           Sandpoint8240_config
+       csb272_config           lwmon_config            sbc8260_config
+       CU824_config            MBX860T_config          sbc8560_33_config
+       DUET_ADS_config         MBX_config              sbc8560_66_config
+       EBONY_config            mpc7448hpc2_config      SM850_config
+       ELPT860_config          MPC8260ADS_config       SPD823TS_config
+       ESTEEM192E_config       MPC8540ADS_config       stxgp3_config
+       ETX094_config           MPC8540EVAL_config      SXNI855T_config
+       FADS823_config          NMPC8560ADS_config      TQM823L_config
+       FADS850SAR_config       NETVIA_config           TQM850L_config
+       FADS860T_config         omap1510inn_config      TQM855L_config
+       FPS850L_config          omap1610h2_config       TQM860L_config
+                               omap1610inn_config      walnut_config
+                               omap5912osk_config      Yukon8220_config
+                               omap2420h4_config       ZPC1900_config
+
+Note: for some board special configuration names may exist; check if
+      additional information is available from the board vendor; for
+      instance, the TQM823L systems are available without (standard)
+      or with LCD support. You can select such additional "features"
       when chosing the configuration, i. e.
 
-      make TQM860L_config
-       - will configure for a plain TQM860L, i. e. 50MHz, no FEC
-
-      make TQM860L_FEC_config
-       - will configure for a TQM860L at 50MHz with FEC for ethernet
-
-      make TQM860L_80MHz_config
-       - will configure for a TQM860L at 80 MHz, with normal 10baseT
-         interface
-
-      make TQM860L_FEC_80MHz_config
-       - will configure for a TQM860L at 80 MHz with FEC for ethernet
+      make TQM823L_config
+       - will configure for a plain TQM823L, i. e. no LCD support
 
       make TQM823L_LCD_config
        - will configure for a TQM823L with U-Boot console on LCD
 
-      make TQM823L_LCD_80MHz_config
-       - will configure for a TQM823L at 80 MHz with U-Boot console on LCD
-
       etc.
 
 
@@ -1981,6 +2543,26 @@ images ready for download to / installation on your system:
 - "u-boot" is an image in ELF binary format
 - "u-boot.srec" is in Motorola S-Record format
 
+By default the build is performed locally and the objects are saved
+in the source directory. One of the two methods can be used to change
+this behavior and build U-Boot to some external directory:
+
+1. Add O= to the make command line invocations:
+
+       make O=/tmp/build distclean
+       make O=/tmp/build NAME_config
+       make O=/tmp/build all
+
+2. Set environment variable BUILD_DIR to point to the desired location:
+
+       export BUILD_DIR=/tmp/build
+       make distclean
+       make NAME_config
+       make all
+
+Note that the command line "O=" setting overrides the BUILD_DIR environment
+variable.
+
 
 Please be aware that the Makefiles assume you are using GNU make, so
 for instance on NetBSD you might need to use "gmake" instead of
@@ -2034,6 +2616,22 @@ or to build on a native PowerPC system you can type
 
        CROSS_COMPILE=' ' MAKEALL
 
+When using the MAKEALL script, the default behaviour is to build U-Boot
+in the source directory. This location can be changed by setting the
+BUILD_DIR environment variable. Also, for each target built, the MAKEALL
+script saves two log files (<target>.ERR and <target>.MAKEALL) in the
+<source dir>/LOG directory. This default location can be changed by
+setting the MAKEALL_LOGDIR environment variable. For example:
+
+       export BUILD_DIR=/tmp/build
+       export MAKEALL_LOGDIR=/tmp/log
+       CROSS_COMPILE=ppc_8xx- MAKEALL
+
+With the above settings build objects are saved in the /tmp/build, log
+files are saved in the /tmp/log and the source tree remains clean during
+the whole build process.
+
+
 See also "U-Boot Porting Guide" below.
 
 
@@ -2079,6 +2677,7 @@ iminfo    - print header information for application image
 coninfo - print console devices and informations
 ide    - IDE sub-system
 loop   - infinite loop on address range
+loopw  - infinite write loop on address range
 mtest  - simple RAM test
 icache - enable or disable instruction cache
 dcache - enable or disable data cache
@@ -2138,6 +2737,12 @@ Some configuration options can be set using Environment Variables:
                  This can be used to load and uncompress arbitrary
                  data.
 
+  i2cfast      - (PPC405GP|PPC405EP only)
+                 if set to 'y' configures Linux I2C driver for fast
+                 mode (400kHZ). This environment variable is used in
+                 initialization code. So, for changes to be effective
+                 it must be saved and board must be reset.
+
   initrd_high  - restrict positioning of initrd images:
                  If this variable is not set, initrd images will be
                  copied to the highest possible address in RAM; this
@@ -2182,6 +2787,35 @@ Some configuration options can be set using Environment Variables:
 
   bootstopkey  - see CONFIG_AUTOBOOT_STOP_STR
 
+  ethprime     - When CONFIG_NET_MULTI is enabled controls which
+                 interface is used first.
+
+  ethact       - When CONFIG_NET_MULTI is enabled controls which
+                 interface is currently active. For example you
+                 can do the following
+
+                 => setenv ethact FEC ETHERNET
+                 => ping 192.168.0.1 # traffic sent on FEC ETHERNET
+                 => setenv ethact SCC ETHERNET
+                 => ping 10.0.0.1 # traffic sent on SCC ETHERNET
+
+   netretry    - When set to "no" each network operation will
+                 either succeed or fail without retrying.
+                 When set to "once" the network operation will
+                 fail when all the available network interfaces
+                 are tried once without success.
+                 Useful on scripts which control the retry operation
+                 themselves.
+
+  tftpsrcport  - If this is set, the value is used for TFTP's
+                 UDP source port.
+
+  tftpdstport  - If this is set, the value is used for TFTP's UDP
+                 destination port instead of the Well Know Port 69.
+
+   vlan                - When set to a value < 4095 the traffic over
+                 ethernet is encapsulated/received over 802.1q
+                 VLAN tagged frames.
 
 The following environment variables may be used and automatically
 updated by the network boot commands ("bootp" and "rarpboot"),
@@ -2231,10 +2865,10 @@ Old, simple command line parser:
 
 - supports environment variables (through setenv / saveenv commands)
 - several commands on one line, separated by ';'
-- variable substitution using "... $(name) ..." syntax
+- variable substitution using "... ${name} ..." syntax
 - special characters ('$', ';') can be escaped by prefixing with '\',
   for example:
-       setenv bootcmd bootm \$(address)
+       setenv bootcmd bootm \${address}
 - You can also escape text by enclosing in single apostrophes, for example:
        setenv addip 'setenv bootargs $bootargs ip=$ipaddr:$serverip:$gatewayip:$netmask:$hostname::off'
 
@@ -2308,9 +2942,9 @@ defines the following image properties:
   4.4BSD, Linux, SVR4, Esix, Solaris, Irix, SCO, Dell, NCR, VxWorks,
   LynxOS, pSOS, QNX, RTEMS, ARTOS;
   Currently supported: Linux, NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS).
-* Target CPU Architecture (Provisions for Alpha, ARM, Intel x86,
+* Target CPU Architecture (Provisions for Alpha, ARM, AVR32, Intel x86,
   IA64, MIPS, NIOS, PowerPC, IBM S390, SuperH, Sparc, Sparc 64 Bit;
-  Currently supported: ARM, Intel x86, MIPS, NIOS, PowerPC).
+  Currently supported: ARM, AVR32, Intel x86, MIPS, NIOS, PowerPC).
 * Compression Type (uncompressed, gzip, bzip2)
 * Load Address
 * Entry Point
@@ -2448,8 +3082,9 @@ from a "data file" which is used as image payload:
          -n ==> set image name to 'name'
          -d ==> use image data from 'datafile'
 
-Right now, all Linux kernels use the same load address (0x00000000),
-but the entry point address depends on the kernel version:
+Right now, all Linux kernels for PowerPC systems use the same load
+address (0x00000000), but the entry point address depends on the
+kernel version:
 
 - 2.2.x kernels have the entry point at 0x0000000C,
 - 2.3.x and later kernels have the entry point at 0x00000000.
@@ -2640,6 +3275,55 @@ format!) to the "bootm" command:
 
        bash#
 
+Boot Linux and pass a flat device tree:
+-----------
+
+First, U-Boot must be compiled with the appropriate defines. See the section
+titled "Linux Kernel Interface" above for a more in depth explanation. The
+following is an example of how to start a kernel and pass an updated
+flat device tree:
+
+=> print oftaddr
+oftaddr=0x300000
+=> print oft
+oft=oftrees/mpc8540ads.dtb
+=> tftp $oftaddr $oft
+Speed: 1000, full duplex
+Using TSEC0 device
+TFTP from server 192.168.1.1; our IP address is 192.168.1.101
+Filename 'oftrees/mpc8540ads.dtb'.
+Load address: 0x300000
+Loading: #
+done
+Bytes transferred = 4106 (100a hex)
+=> tftp $loadaddr $bootfile
+Speed: 1000, full duplex
+Using TSEC0 device
+TFTP from server 192.168.1.1; our IP address is 192.168.1.2
+Filename 'uImage'.
+Load address: 0x200000
+Loading:############
+done
+Bytes transferred = 1029407 (fb51f hex)
+=> print loadaddr
+loadaddr=200000
+=> print oftaddr
+oftaddr=0x300000
+=> bootm $loadaddr - $oftaddr
+## Booting image at 00200000 ...
+   Image Name:  Linux-2.6.17-dirty
+   Image Type:  PowerPC Linux Kernel Image (gzip compressed)
+   Data Size:   1029343 Bytes = 1005.2 kB
+   Load Address: 00000000
+   Entry Point:         00000000
+   Verifying Checksum ... OK
+   Uncompressing Kernel Image ... OK
+Booting using flat device tree at 0x300000
+Using MPC85xx ADS machine description
+Memory CAM mapping: CAM0=256Mb, CAM1=256Mb, CAM2=0Mb residual: 0Mb
+[snip]
+
+
 More About U-Boot Image Types:
 ------------------------------
 
@@ -2813,8 +3497,7 @@ Booting assumes that (the first part of) the image booted is a
 stage-2 loader which in turn loads and then invokes the kernel
 proper. Loader sources will eventually appear in the NetBSD source
 tree (probably in sys/arc/mpc8xx/stand/u-boot_stage2/); in the
-meantime, send mail to bruno@exet-ag.de and/or wd@denx.de for
-details.
+meantime, see ftp://ftp.denx.de/pub/u-boot/ppcboot_stage2.tar.gz
 
 
 Implementation Internals:
@@ -2868,7 +3551,7 @@ locked as (mis-) used as memory, etc.
        CFG_INIT_RAM_ADDR should be somewhere that won't interfere
        with your processor/board/system design. The default value
        you will find in any recent u-boot distribution in
-       Walnut405.h should work for you. I'd set it to a value larger
+       walnut.h should work for you. I'd set it to a value larger
        than your SDRAM module. If you have a 64MB SDRAM module, set
        it above 400_0000. Just make sure your board has no resources
        that are supposed to respond to that address! That code in
@@ -2939,6 +3622,8 @@ On ARM, the following registers are used:
 
     ==> U-Boot will use R8 to hold a pointer to the global data
 
+NOTE: DECLARE_GLOBAL_DATA_PTR must be used with file-global scope,
+or current versions of GCC may "optimize" the code too much.
 
 Memory Management:
 ------------------
@@ -3089,12 +3774,19 @@ Coding Standards:
 -----------------
 
 All contributions to U-Boot should conform to the Linux kernel
-coding style; see the file "Documentation/CodingStyle" in your Linux
-kernel source directory.
+coding style; see the file "Documentation/CodingStyle" and the script
+"scripts/Lindent" in your Linux kernel source directory.  In sources
+originating from U-Boot a style corresponding to "Lindent -pcs" (adding
+spaces before parameters to function calls) is actually used.
 
-Please note that U-Boot is implemented in C (and to some small parts
-in Assembler); no C++ is used, so please do not use C++ style
-comments (//) in your code.
+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
+sources.
+
+Please note that U-Boot is implemented in C (and to some small parts in
+Assembler); no C++ is used, so please do not use C++ style comments (//)
+in your code.
 
 Please also stick to the following formatting rules:
 - remove any trailing white space
@@ -3114,6 +3806,7 @@ Since the number of patches for U-Boot is growing, we need to
 establish some rules. Submissions which do not conform to these rules
 may be rejected, even when they contain important and valuable stuff.
 
+Patches shall be sent to the u-boot-users mailing list.
 
 When you send a patch, please include the following information with
 it:
@@ -3171,3 +3864,6 @@ Notes:
   (using #ifdef), and the resulting code with the new feature
   disabled must not need more memory than the old code without your
   modification.
+
+* Remember that there is a size limit of 40 kB per message on the
+  u-boot-users mailing list. Compression may help.