Merge with /home/mk/git/u-boot-generic_ohci#generic_ohci
[oweals/u-boot.git] / README
diff --git a/README b/README
index 9455cc22e3fc445eebf8cd50a66679422c96afa1..c04cbad37c36e925c7cc2d58570073c119d3b6cc 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
@@ -126,11 +126,13 @@ Directory Hierarchy:
   - 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 Freescale ColdFire MCF52x2 CPUs
@@ -144,7 +146,7 @@ Directory Hierarchy:
   - mpc85xx    Files specific to Freescale MPC85xx CPUs
   - nios       Files specific to Altera NIOS CPUs
   - nios2      Files specific to Altera Nios-II CPUs
-  - ppc4xx     Files specific to IBM PowerPC 4xx 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
@@ -155,6 +157,7 @@ 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
@@ -245,6 +248,7 @@ The following options need to be configured:
                CONFIG_SA1110
                CONFIG_ARM7
                CONFIG_PXA250
+               CONFIG_CPU_MONAHANS
 
                MicroBlaze based CPUs:
                ----------------------
@@ -254,59 +258,65 @@ The following options need to be configured:
                ----------------------
                CONFIG_NIOS2
 
+               AVR32 based CPUs:
+               ----------------------
+               CONFIG_AT32AP
 
 - Board Type:  Define exactly one of
 
                PowerPC based boards:
                ---------------------
 
-               CONFIG_ADCIOP           CONFIG_GEN860T          CONFIG_PCI405
-               CONFIG_ADS860           CONFIG_GENIETV          CONFIG_PCIPPC2
-               CONFIG_AMX860           CONFIG_GTH              CONFIG_PCIPPC6
+               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_c2mon            CONFIG_hymod            CONFIG_PM826
-               CONFIG_CANBT            CONFIG_IAD210           CONFIG_ppmc8260
-               CONFIG_CCM              CONFIG_ICU862           CONFIG_QS823
-               CONFIG_CMI              CONFIG_IP860            CONFIG_QS850
-               CONFIG_cogent_mpc8260   CONFIG_IPHASE4539       CONFIG_QS860T
-               CONFIG_cogent_mpc8xx    CONFIG_IVML24           CONFIG_RBC823
-               CONFIG_CPCI405          CONFIG_IVML24_128       CONFIG_RPXClassic
-               CONFIG_CPCI4052         CONFIG_IVML24_256       CONFIG_RPXlite
-               CONFIG_CPCIISER4        CONFIG_IVMS8            CONFIG_RPXsuper
-               CONFIG_CPU86            CONFIG_IVMS8_128        CONFIG_rsdproto
-               CONFIG_CRAYL1           CONFIG_IVMS8_256        CONFIG_sacsng
-               CONFIG_CSB272           CONFIG_JSE              CONFIG_Sandpoint8240
-               CONFIG_CU824            CONFIG_LANTEC           CONFIG_Sandpoint8245
-               CONFIG_DASA_SIM         CONFIG_lwmon            CONFIG_sbc8260
-               CONFIG_DB64360          CONFIG_MBX              CONFIG_sbc8560
-               CONFIG_DB64460          CONFIG_MBX860T          CONFIG_SM850
-               CONFIG_DU405            CONFIG_MHPC             CONFIG_SPD823TS
-               CONFIG_DUET_ADS         CONFIG_MIP405           CONFIG_STXGP3
-               CONFIG_EBONY            CONFIG_MOUSSE           CONFIG_SXNI855T
-               CONFIG_ELPPC            CONFIG_MPC8260ADS       CONFIG_TQM823L
-               CONFIG_ELPT860          CONFIG_MPC8540ADS       CONFIG_TQM8260
-               CONFIG_ep8260           CONFIG_MPC8560ADS       CONFIG_TQM850L
-               CONFIG_ERIC             CONFIG_MUSENKI          CONFIG_TQM855L
-               CONFIG_ESTEEM192E       CONFIG_MVS1             CONFIG_TQM860L
-               CONFIG_ETX094           CONFIG_NETPHONE         CONFIG_TTTech
-               CONFIG_EVB64260         CONFIG_NETTA            CONFIG_UTX8245
-               CONFIG_FADS823          CONFIG_NETVIA           CONFIG_V37
-               CONFIG_FADS850SAR       CONFIG_NX823            CONFIG_W7OLMC
-               CONFIG_FADS860T         CONFIG_OCRTC            CONFIG_W7OLMG
-               CONFIG_FLAGADM          CONFIG_ORSG             CONFIG_WALNUT405
-               CONFIG_FPS850L          CONFIG_OXC              CONFIG_ZPC1900
-               CONFIG_FPS860L                                  CONFIG_ZUMA
+               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_AT91RM9200DK,            CONFIG_CERF250,         CONFIG_DNP1110,
-               CONFIG_EP7312,                  CONFIG_H2_OMAP1610,     CONFIG_HHP_CRADLE,
-               CONFIG_IMPA7,           CONFIG_INNOVATOROMAP1510,       CONFIG_INNOVATOROMAP1610,
-               CONFIG_LART,                    CONFIG_LPD7A400         CONFIG_LUBBOCK,
-               CONFIG_OSK_OMAP5912,            CONFIG_SHANNON,         CONFIG_P2_OMAP730,
-               CONFIG_SMDK2400,                CONFIG_SMDK2410,        CONFIG_TRAB,
+               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:
@@ -318,6 +328,16 @@ The following options need to be configured:
                ------------------------
 
                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)
@@ -376,6 +396,20 @@ The following options need to be configured:
                that this requires a (stable) reference clock (32 kHz
                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
 
@@ -396,6 +430,42 @@ 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_FLAT_TREE
+
+               New kernel versions are expecting firmware settings to be
+               passed using flat open firmware trees.
+               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
+
+               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
+
+               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
 
@@ -496,7 +566,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.
 
@@ -589,7 +659,7 @@ The following options need to be configured:
                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_ECHO      echo arguments
                CFG_CMD_EEPROM  * EEPROM read/write support
                CFG_CMD_ELF     * bootelf, bootvx
                CFG_CMD_ENV       saveenv
@@ -626,6 +696,7 @@ The following options need to be configured:
                CFG_CMD_SAVES   * save S record dump
                CFG_CMD_SCSI    * SCSI Support
                CFG_CMD_SDRAM   * print SDRAM configuration information
+                                 (requires CFG_CMD_I2C)
                CFG_CMD_SETGETDCR Support for DCR Register access (4xx only)
                CFG_CMD_SPI     * SPI serial bus support
                CFG_CMD_USB     * USB support
@@ -812,6 +883,68 @@ The following options need to be configured:
                                for differential drivers: 0x00001000
                                for single ended drivers: 0x00005000
 
+- 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:
                The MMC controller on the Intel PXA is supported. To
@@ -835,7 +968,7 @@ The following options need to be configured:
                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
+               #define CFG_JFFS_SINGLE_PART    1
                to disable the command chpart. This is the default when you
                have not defined a custom partition
 
@@ -958,6 +1091,12 @@ The following options need to be configured:
                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
 
@@ -1353,7 +1492,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,
@@ -1389,10 +1528,14 @@ The following options need to be configured:
                default value of 5 is used.
 
 - Command Interpreter:
-               CFG_AUTO_COMPLETE
+               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
@@ -1432,6 +1575,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
 
@@ -1479,6 +1628,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
 
@@ -1673,6 +1842,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
@@ -1722,6 +1897,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
@@ -1896,6 +2077,17 @@ to save the current settings.
          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
 
        Defines offset to the initial SPI buffer area in DPRAM. The
@@ -1978,7 +2170,7 @@ Low Level (hardware related) configuration options:
                initializations.
 
 - CFG_IMMR:    Physical address of the Internal Memory.
-                DO NOT CHANGE unless you know exactly what you're
+               DO NOT CHANGE unless you know exactly what you're
                doing! (11-4) [MPC8xx/82xx systems only]
 
 - CFG_INIT_RAM_ADDR:
@@ -2118,15 +2310,28 @@ Low Level (hardware related) configuration options:
                "md/mw" commands.
                Examples:
 
-                => mdc.b 10 4 500
+               => mdc.b 10 4 500
                This command will print 4 bytes (10,11,12,13) each 500 ms.
 
-                => mwc.l 100 12345678 10
+               => 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
+               This only takes effect if the memory commands are activated
                globally (CFG_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:
 ======================
 
@@ -2171,14 +2376,14 @@ configurations; the following names are supported:
        DUET_ADS_config         MBX_config              sbc8560_66_config
        EBONY_config            MPC8260ADS_config       SM850_config
        ELPT860_config          MPC8540ADS_config       SPD823TS_config
-       ESTEEM192E_config       MPC8560ADS_config       stxgp3_config
-       ETX094_config           NETVIA_config           SXNI855T_config
-       FADS823_config          omap1510inn_config      TQM823L_config
-       FADS850SAR_config       omap1610h2_config       TQM850L_config
-       FADS860T_config         omap1610inn_config      TQM855L_config
-       FPS850L_config          omap5912osk_config      TQM860L_config
-                                                       WALNUT405_config
-                                                       Yukon8220_config
+       ESTEEM192E_config       MPC8540EVAL_config      stxgp3_config
+       ETX094_config           MPC8560ADS_config       SXNI855T_config
+       FADS823_config          NETVIA_config           TQM823L_config
+       FADS850SAR_config       omap1510inn_config      TQM850L_config
+       FADS860T_config         omap1610h2_config       TQM855L_config
+       FPS850L_config          omap1610inn_config      TQM860L_config
+                               omap5912osk_config      walnut_config
+                               omap2420h4_config       Yukon8220_config
                                                        ZPC1900_config
 
 Note: for some board special configuration names may exist; check if
@@ -2203,6 +2408,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
@@ -2256,6 +2481,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.
 
 
@@ -2431,6 +2672,12 @@ Some configuration options can be set using Environment Variables:
                  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.
@@ -2483,10 +2730,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'
 
@@ -2560,9 +2807,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
@@ -2893,6 +3140,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:
 ------------------------------
 
@@ -3066,8 +3362,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:
@@ -3121,7 +3416,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
@@ -3192,6 +3487,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:
 ------------------
@@ -3342,12 +3639,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.
+
+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 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
@@ -3367,6 +3671,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:
@@ -3424,3 +3729,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.