]> git.sur5r.net Git - u-boot/blobdiff - README
License cleanup: remove all files with "All Rights Reserved" notices.
[u-boot] / README
diff --git a/README b/README
index 861ea838e327ddf6cfe3e4566acb648a4a6d27da..246ae2badca47cefc8106de76bc2adfbbee859e4 100644 (file)
--- a/README
+++ b/README
@@ -318,6 +318,11 @@ The following options need to be configured:
                that this requires a (stable) reference clock (32 kHz
                RTC clock or CONFIG_SYS_8XX_XIN)
 
                that this requires a (stable) reference clock (32 kHz
                RTC clock or CONFIG_SYS_8XX_XIN)
 
+               CONFIG_SYS_DELAYED_ICACHE
+
+               Define this option if you want to enable the
+               ICache only when Code runs from RAM.
+
 - Intel Monahans options:
                CONFIG_SYS_MONAHANS_RUN_MODE_OSC_RATIO
 
 - Intel Monahans options:
                CONFIG_SYS_MONAHANS_RUN_MODE_OSC_RATIO
 
@@ -381,6 +386,24 @@ The following options need to be configured:
                This define fills in the correct boot CPU in the boot
                param header, the default value is zero if undefined.
 
                This define fills in the correct boot CPU in the boot
                param header, the default value is zero if undefined.
 
+- vxWorks boot parameters:
+
+               bootvx constructs a valid bootline using the following
+               environments variables: bootfile, ipaddr, serverip, hostname.
+               It loads the vxWorks image pointed bootfile.
+
+               CONFIG_SYS_VXWORKS_BOOT_DEVICE - The vxworks device name
+               CONFIG_SYS_VXWORKS_MAC_PTR - Ethernet 6 byte MA -address
+               CONFIG_SYS_VXWORKS_SERVERNAME - Name of the server
+               CONFIG_SYS_VXWORKS_BOOT_ADDR - Address of boot parameters
+
+               CONFIG_SYS_VXWORKS_ADD_PARAMS
+
+               Add it at the end of the bootline. E.g "u=username pw=secret"
+
+               Note: If a "bootargs" environment is defined, it will overwride
+               the defaults discussed just above.
+
 - Serial Ports:
                CONFIG_PL010_SERIAL
 
 - Serial Ports:
                CONFIG_PL010_SERIAL
 
@@ -466,6 +489,14 @@ The following options need to be configured:
                CONFIG_SYS_BAUDRATE_TABLE, see below.
                CONFIG_SYS_BRGCLK_PRESCALE, baudrate prescale
 
                CONFIG_SYS_BAUDRATE_TABLE, see below.
                CONFIG_SYS_BRGCLK_PRESCALE, baudrate prescale
 
+- Console Rx buffer length
+               With CONFIG_SYS_SMC_RXBUFLEN it is possible to define
+               the maximum receive buffer length for the SMC.
+               This option is actual only for 82xx and 8xx possible.
+               If using CONFIG_SYS_SMC_RXBUFLEN also CONFIG_SYS_MAXIDLE
+               must be defined, to setup the maximum idle timeout for
+               the SMC.
+
 - Interrupt driven serial port input:
                CONFIG_SERIAL_SOFTWARE_FIFO
 
 - Interrupt driven serial port input:
                CONFIG_SERIAL_SOFTWARE_FIFO
 
@@ -562,7 +593,6 @@ The following options need to be configured:
                except those marked below with a "*".
 
                CONFIG_CMD_ASKENV       * ask for env variable
                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_BDI            bdinfo
                CONFIG_CMD_BEDBUG       * Include BedBug Debugger
                CONFIG_CMD_BMP          * BMP support
@@ -573,12 +603,15 @@ The following options need to be configured:
                CONFIG_CMD_DATE         * support for RTC, date/time...
                CONFIG_CMD_DHCP         * DHCP support
                CONFIG_CMD_DIAG         * Diagnostics
                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_DS4510       * ds4510 I2C gpio commands
+               CONFIG_CMD_DS4510_INFO  * ds4510 I2C info command
+               CONFIG_CMD_DS4510_MEM   * ds4510 I2C eeprom/sram commansd
+               CONFIG_CMD_DS4510_RST   * ds4510 I2C rst command
                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_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_SAVEENV        saveenv
                CONFIG_CMD_FDC          * Floppy Disk Support
                CONFIG_CMD_FAT          * FAT partition support
                CONFIG_CMD_FDOS         * Dos diskette Support
                CONFIG_CMD_FDC          * Floppy Disk Support
                CONFIG_CMD_FAT          * FAT partition support
                CONFIG_CMD_FDOS         * Dos diskette Support
@@ -596,13 +629,18 @@ The following options need to be configured:
                CONFIG_CMD_KGDB         * kgdb
                CONFIG_CMD_LOADB          loadb
                CONFIG_CMD_LOADS          loads
                CONFIG_CMD_KGDB         * kgdb
                CONFIG_CMD_LOADB          loadb
                CONFIG_CMD_LOADS          loads
+               CONFIG_CMD_MD5SUM         print md5 message digest
+                                         (requires CONFIG_CMD_MEMORY and CONFIG_MD5)
                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_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_MTDPARTS     * MTD partition support
                CONFIG_CMD_NAND         * NAND support
                CONFIG_CMD_NET            bootp, tftpboot, rarpboot
                CONFIG_CMD_NAND         * NAND support
                CONFIG_CMD_NET            bootp, tftpboot, rarpboot
+               CONFIG_CMD_PCA953X      * PCA953x I2C gpio commands
+               CONFIG_CMD_PCA953X_INFO * PCA953x I2C gpio info command
                CONFIG_CMD_PCI          * pciinfo
                CONFIG_CMD_PCMCIA               * PCMCIA support
                CONFIG_CMD_PING         * send ICMP ECHO_REQUEST to network
                CONFIG_CMD_PCI          * pciinfo
                CONFIG_CMD_PCMCIA               * PCMCIA support
                CONFIG_CMD_PING         * send ICMP ECHO_REQUEST to network
@@ -616,6 +654,9 @@ The following options need to be configured:
                                          (requires CONFIG_CMD_I2C)
                CONFIG_CMD_SETGETDCR      Support for DCR Register access
                                          (4xx only)
                                          (requires CONFIG_CMD_I2C)
                CONFIG_CMD_SETGETDCR      Support for DCR Register access
                                          (4xx only)
+               CONFIG_CMD_SHA1           print sha1 memory digest
+                                         (requires CONFIG_CMD_MEMORY)
+               CONFIG_CMD_SOURCE         "source" command Support
                CONFIG_CMD_SPI          * SPI serial bus support
                CONFIG_CMD_USB          * USB support
                CONFIG_CMD_VFD          * VFD support (TRAB)
                CONFIG_CMD_SPI          * SPI serial bus support
                CONFIG_CMD_USB          * USB support
                CONFIG_CMD_VFD          * VFD support (TRAB)
@@ -680,6 +721,13 @@ The following options need to be configured:
                Note that if the RTC uses I2C, then the I2C interface
                must also be configured. See I2C Support, below.
 
                Note that if the RTC uses I2C, then the I2C interface
                must also be configured. See I2C Support, below.
 
+- GPIO Support:
+               CONFIG_PCA953X          - use NXP's PCA953X series I2C GPIO
+               CONFIG_PCA953X_INFO     - enable pca953x info command
+
+               Note that if the GPIO device uses I2C, then the I2C interface
+               must also be configured. See I2C Support, below.
+
 - Timestamp Support:
 
                When CONFIG_TIMESTAMP is selected, the timestamp
 - Timestamp Support:
 
                When CONFIG_TIMESTAMP is selected, the timestamp
@@ -810,9 +858,13 @@ The following options need to be configured:
                MPC5200 USB requires additional defines:
                        CONFIG_USB_CLOCK
                                for 528 MHz Clock: 0x0001bbbb
                MPC5200 USB requires additional defines:
                        CONFIG_USB_CLOCK
                                for 528 MHz Clock: 0x0001bbbb
+                       CONFIG_PSC3_USB
+                               for USB on PSC3
                        CONFIG_USB_CONFIG
                                for differential drivers: 0x00001000
                                for single ended drivers: 0x00005000
                        CONFIG_USB_CONFIG
                                for differential drivers: 0x00001000
                                for single ended drivers: 0x00005000
+                               for differential drivers on PSC3: 0x00000100
+                               for single ended drivers on PSC3: 0x00004100
                        CONFIG_SYS_USB_EVENT_POLL
                                May be defined to allow interrupt polling
                                instead of using asynchronous interrupts
                        CONFIG_SYS_USB_EVENT_POLL
                                May be defined to allow interrupt polling
                                instead of using asynchronous interrupts
@@ -1029,6 +1081,26 @@ The following options need to be configured:
                allows for a "silent" boot where a splash screen is
                loaded very quickly after power-on.
 
                allows for a "silent" boot where a splash screen is
                loaded very quickly after power-on.
 
+               CONFIG_SPLASH_SCREEN_ALIGN
+
+               If this option is set the splash image can be freely positioned
+               on the screen. Environment variable "splashpos" specifies the
+               position as "x,y". If a positive number is given it is used as
+               number of pixel from left/top. If a negative number is given it
+               is used as number of pixel from right/bottom. You can also
+               specify 'm' for centering the image.
+
+               Example:
+               setenv splashpos m,m
+                       => image at center of screen
+
+               setenv splashpos 30,20
+                       => image at x = 30 and y = 20
+
+               setenv splashpos -10,m
+                       => vertically centered image
+                          at x = dspWidth - bmpWidth - 9
+
 - Gzip compressed BMP image support: CONFIG_VIDEO_BMP_GZIP
 
                If this option is set, additionally to standard BMP
 - Gzip compressed BMP image support: CONFIG_VIDEO_BMP_GZIP
 
                If this option is set, additionally to standard BMP
@@ -1120,6 +1192,11 @@ The following options need to be configured:
                Defines a default value for the IP address of a TFTP
                server to contact when using the "tftboot" command.
 
                Defines a default value for the IP address of a TFTP
                server to contact when using the "tftboot" command.
 
+               CONFIG_KEEP_SERVERADDR
+
+               Keeps the server's MAC address, in the env 'serveraddr'
+               for passing to bootargs (like Linux's netconsole option)
+
 - Multicast TFTP Mode:
                CONFIG_MCAST_TFTP
 
 - Multicast TFTP Mode:
                CONFIG_MCAST_TFTP
 
@@ -1270,11 +1347,6 @@ The following options need to be configured:
                clock chips. See common/cmd_i2c.c for a description of the
                command line interface.
 
                clock chips. See common/cmd_i2c.c for a description of the
                command line interface.
 
-               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
                CONFIG_HARD_I2C selects a hardware I2C controller.
 
                CONFIG_SOFT_I2C configures u-boot to use a software (aka
@@ -1390,9 +1462,9 @@ The following options need to be configured:
                CONFIG_SYS_I2C_NOPROBES
 
                This option specifies a list of I2C devices that will be skipped
                CONFIG_SYS_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
+               when the 'i2c probe' command is issued.  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
 
                e.g.
                        #undef  CONFIG_I2C_MULTI_BUS
@@ -1478,6 +1550,15 @@ The following options need to be configured:
                Bus on the MPC8260. But it should be not so difficult
                to add this option to other architectures.
 
                Bus on the MPC8260. But it should be not so difficult
                to add this option to other architectures.
 
+               CONFIG_SOFT_I2C_READ_REPEATED_START
+
+               defining this will force the i2c_read() function in
+               the soft_i2c driver to perform an I2C repeated start
+               between writing the address pointer and reading the
+               data.  If this define is omitted the default behaviour
+               of doing a stop-start sequence will be used.  Most I2C
+               devices can use either method, but some require one or
+               the other.
 
 - SPI Support: CONFIG_SPI
 
 
 - SPI Support: CONFIG_SPI
 
@@ -1735,7 +1816,7 @@ The following options need to be configured:
 
                Note: overly (ab)use of the default environment is
                discouraged. Make sure to check other ways to preset
 
                Note: overly (ab)use of the default environment is
                discouraged. Make sure to check other ways to preset
-               the environment like the autoscript function or the
+               the environment like the "source" command or the
                boot command first.
 
 - DataFlash Support:
                boot command first.
 
 - DataFlash Support:
@@ -1797,6 +1878,17 @@ The following options need to be configured:
                These options enable and control the auto-update feature;
                for a more detailed description refer to doc/README.update.
 
                These options enable and control the auto-update feature;
                for a more detailed description refer to doc/README.update.
 
+- MTD Support (mtdparts command, UBI support)
+               CONFIG_MTD_DEVICE
+
+               Adds the MTD device infrastructure from the Linux kernel.
+               Needed for mtdparts command support.
+
+               CONFIG_MTD_PARTITIONS
+
+               Adds the MTD partitioning infrastructure from the Linux
+               kernel. Needed for UBI support.
+
 Legacy uImage format:
 
   Arg  Where                   When
 Legacy uImage format:
 
   Arg  Where                   When
@@ -1894,8 +1986,8 @@ Legacy uImage format:
    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
    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
+   83  common/cmd_net.c        running "source" command
+  -83  common/cmd_net.c        some error in automatic boot or "source" command
    84  common/cmd_net.c        end without errors
 
 FIT uImage format:
    84  common/cmd_net.c        end without errors
 
 FIT uImage format:
@@ -2005,6 +2097,9 @@ Configuration Settings:
 - CONFIG_SYS_LONGHELP: Defined when you want long help messages included;
                undefine this when you're short of memory.
 
 - CONFIG_SYS_LONGHELP: Defined when you want long help messages included;
                undefine this when you're short of memory.
 
+- CONFIG_SYS_HELP_CMD_WIDTH: Defined when you want to override the default
+               width of the commands listed in the 'help' command output.
+
 - CONFIG_SYS_PROMPT:   This is what U-Boot prints on the console to
                prompt for user input.
 
 - CONFIG_SYS_PROMPT:   This is what U-Boot prints on the console to
                prompt for user input.
 
@@ -2365,6 +2460,12 @@ to save the current settings.
        to a block boundary, and CONFIG_ENV_SIZE must be a multiple of
        the NAND devices block size.
 
        to a block boundary, and CONFIG_ENV_SIZE must be a multiple of
        the NAND devices block size.
 
+- CONFIG_NAND_ENV_DST
+
+       Defines address in RAM to which the nand_spl code should copy the
+       environment. If redundant environment is used, it will be copied to
+       CONFIG_NAND_ENV_DST + CONFIG_ENV_SIZE.
+
 - CONFIG_SYS_SPI_INIT_OFFSET
 
        Defines offset to the initial SPI buffer area in DPRAM. The
 - CONFIG_SYS_SPI_INIT_OFFSET
 
        Defines offset to the initial SPI buffer area in DPRAM. The
@@ -2407,6 +2508,13 @@ use the "saveenv" command to store a valid environment.
 - CONFIG_SYS_64BIT_STRTOUL:
                Adds simple_strtoull that returns a 64bit value
 
 - CONFIG_SYS_64BIT_STRTOUL:
                Adds simple_strtoull that returns a 64bit value
 
+- CONFIG_NS16550_MIN_FUNCTIONS:
+               Define this if you desire to only have use of the NS16550_init
+               and NS16550_putc functions for the serial driver located at
+               drivers/serial/ns16550.c.  This option is useful for saving
+               space for already greatly restricted images, including but not
+               limited to NAND_SPL configurations.
+
 Low Level (hardware related) configuration options:
 ---------------------------------------------------
 
 Low Level (hardware related) configuration options:
 ---------------------------------------------------
 
@@ -2552,6 +2660,10 @@ Low Level (hardware related) configuration options:
   CONFIG_SYS_POCMR2_MASK_ATTRIB: (MPC826x only)
                Overrides the default PCI memory map in cpu/mpc8260/pci.c if set.
 
   CONFIG_SYS_POCMR2_MASK_ATTRIB: (MPC826x only)
                Overrides the default PCI memory map in cpu/mpc8260/pci.c if set.
 
+- CONFIG_PCI_DISABLE_PCIE:
+               Disable PCI-Express on systems where it is supported but not
+               required.
+
 - CONFIG_SPD_EEPROM
                Get DDR timing information from an I2C EEPROM. Common
                with pluggable memory modules such as SODIMMs
 - CONFIG_SPD_EEPROM
                Get DDR timing information from an I2C EEPROM. Common
                with pluggable memory modules such as SODIMMs
@@ -2568,10 +2680,6 @@ Low Level (hardware related) configuration options:
                Only for 83xx systems. If specified, then DDR should
                be configured using CS0 and CS1 instead of CS2 and CS3.
 
                Only for 83xx systems. If specified, then DDR should
                be configured using CS0 and CS1 instead of CS2 and CS3.
 
-- CONFIG_SYS_83XX_DDR_USES_CS0
-               Only for 83xx systems. If specified, then DDR should
-               be configured using CS0 and CS1 instead of CS2 and CS3.
-
 - CONFIG_ETHER_ON_FEC[12]
                Define to enable FEC[12] on a 8xx series processor.
 
 - CONFIG_ETHER_ON_FEC[12]
                Define to enable FEC[12] on a 8xx series processor.
 
@@ -2632,6 +2740,11 @@ Low Level (hardware related) configuration options:
                some other boot loader or by a debugger which
                performs these initializations itself.
 
                some other boot loader or by a debugger which
                performs these initializations itself.
 
+- CONFIG_PRELOADER
+
+               Modifies the behaviour of start.S when compiling a loader
+               that is executed before the actual U-Boot. E.g. when
+               compiling a NAND SPL.
 
 Building the Software:
 ======================
 
 Building the Software:
 ======================
@@ -2652,6 +2765,16 @@ necessary. For example using the ELDK on a 4xx CPU, please enter:
        $ CROSS_COMPILE=ppc_4xx-
        $ export CROSS_COMPILE
 
        $ CROSS_COMPILE=ppc_4xx-
        $ export CROSS_COMPILE
 
+Note: If you wish to generate Windows versions of the utilities in
+      the tools directory you can use the MinGW toolchain
+      (http://www.mingw.org).  Set your HOST tools to the MinGW
+      toolchain and execute 'make tools'.  For example:
+
+       $ make HOSTCC=i586-mingw32msvc-gcc HOSTSTRIP=i586-mingw32msvc-strip tools
+
+      Binaries such as tools/mkimage.exe will be created which can
+      be executed on computers running Windows.
+
 U-Boot is intended to be simple to build. After installing the
 sources you must configure U-Boot for one specific board type. This
 is done by typing:
 U-Boot is intended to be simple to build. After installing the
 sources you must configure U-Boot for one specific board type. This
 is done by typing:
@@ -2797,14 +2920,7 @@ mw       - memory write (fill)
 cp     - memory copy
 cmp    - memory compare
 crc32  - checksum calculation
 cp     - memory copy
 cmp    - memory compare
 crc32  - checksum calculation
-imd    - i2c memory display
-imm    - i2c memory modify (auto-incrementing)
-inm    - i2c memory modify (constant address)
-imw    - i2c memory write (fill)
-icrc32 - i2c checksum calculation
-iprobe - probe to discover valid I2C chip addresses
-iloop  - infinite loop on address range
-isdram - print SDRAM configuration information
+i2c    - I2C sub-system
 sspi   - SPI utility commands
 base   - print or set address offset
 printenv- print environment variables
 sspi   - SPI utility commands
 base   - print or set address offset
 printenv- print environment variables
@@ -2888,7 +3004,7 @@ Some configuration options can be set using Environment Variables:
   autoscript   - if set to "yes" commands like "loadb", "loady",
                  "bootp", "tftpb", "rarpboot" and "nfs" will attempt
                  to automatically run script images (by internally
   autoscript   - if set to "yes" commands like "loadb", "loady",
                  "bootp", "tftpb", "rarpboot" and "nfs" will attempt
                  to automatically run script images (by internally
-                 calling "autoscript").
+                 calling "source").
 
   autoscript_uname - if script image is in a format (FIT) this
                     variable is used to get script subimage unit name.
 
   autoscript_uname - if script image is in a format (FIT) this
                     variable is used to get script subimage unit name.
@@ -2978,8 +3094,7 @@ Some configuration options can be set using Environment Variables:
                  Useful on scripts which control the retry operation
                  themselves.
 
                  Useful on scripts which control the retry operation
                  themselves.
 
-  npe_ucode    - see CONFIG_IXP4XX_NPE_EXT_UCOD
-                 if set load address for the NPE microcode
+  npe_ucode    - set load address for the NPE microcode
 
   tftpsrcport  - If this is set, the value is used for TFTP's
                  UDP source port.
 
   tftpsrcport  - If this is set, the value is used for TFTP's
                  UDP source port.
@@ -3713,7 +3828,7 @@ MPC826x processors), on others (parts of) the data cache can be
 locked as (mis-) used as memory, etc.
 
        Chris Hallinan posted a good summary of these issues to the
 locked as (mis-) used as memory, etc.
 
        Chris Hallinan posted a good summary of these issues to the
-       u-boot-users mailing list:
+       U-Boot mailing list:
 
        Subject: RE: [U-Boot-Users] RE: More On Memory Bank x (nothingness)?
        From: "Chris Hallinan" <clh@net1plus.com>
 
        Subject: RE: [U-Boot-Users] RE: More On Memory Bank x (nothingness)?
        From: "Chris Hallinan" <clh@net1plus.com>
@@ -3909,51 +4024,63 @@ U-Boot Porting Guide:
 list, October 2002]
 
 
 list, October 2002]
 
 
-int main (int argc, char *argv[])
+int main(int argc, char *argv[])
 {
        sighandler_t no_more_time;
 
 {
        sighandler_t no_more_time;
 
-       signal (SIGALRM, no_more_time);
-       alarm (PROJECT_DEADLINE - toSec (3 * WEEK));
+       signal(SIGALRM, no_more_time);
+       alarm(PROJECT_DEADLINE - toSec (3 * WEEK));
 
        if (available_money > available_manpower) {
 
        if (available_money > available_manpower) {
-               pay consultant to port U-Boot;
+               Pay consultant to port U-Boot;
                return 0;
        }
 
        Download latest U-Boot source;
 
                return 0;
        }
 
        Download latest U-Boot source;
 
-       Subscribe to u-boot-users mailing list;
+       Subscribe to u-boot mailing list;
 
 
-       if (clueless) {
-               email ("Hi, I am new to U-Boot, how do I get started?");
-       }
+       if (clueless)
+               email("Hi, I am new to U-Boot, how do I get started?");
 
        while (learning) {
                Read the README file in the top level directory;
 
        while (learning) {
                Read the README file in the top level directory;
-               Read http://www.denx.de/twiki/bin/view/DULG/Manual ;
+               Read http://www.denx.de/twiki/bin/view/DULG/Manual;
+               Read applicable doc/*.README;
                Read the source, Luke;
                Read the source, Luke;
+               /* find . -name "*.[chS]" | xargs grep -i <keyword> */
        }
 
        }
 
-       if (available_money > toLocalCurrency ($2500)) {
-               Buy a BDI2000;
-       } else {
+       if (available_money > toLocalCurrency ($2500))
+               Buy a BDI3000;
+       else
                Add a lot of aggravation and time;
                Add a lot of aggravation and time;
-       }
 
 
-       Create your own board support subdirectory;
-
-       Create your own board config file;
-
-       while (!running) {
-               do {
-                       Add / modify source code;
-               } until (compiles);
-               Debug;
-               if (clueless)
-                       email ("Hi, I am having problems...");
+       if (a similar board exists) {   /* hopefully... */
+               cp -a board/<similar> board/<myboard>
+               cp include/configs/<similar>.h include/configs/<myboard>.h
+       } else {
+               Create your own board support subdirectory;
+               Create your own board include/configs/<myboard>.h file;
+       }
+       Edit new board/<myboard> files
+       Edit new include/configs/<myboard>.h
+
+       while (!accepted) {
+               while (!running) {
+                       do {
+                               Add / modify source code;
+                       } until (compiles);
+                       Debug;
+                       if (clueless)
+                               email("Hi, I am having problems...");
+               }
+               Send patch file to the U-Boot email list;
+               if (reasonable critiques)
+                       Incorporate improvements from email list code review;
+               else
+                       Defend code as written;
        }
        }
-       Send patch file to Wolfgang;
 
        return 0;
 }
 
        return 0;
 }
@@ -4000,10 +4127,11 @@ 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.
 
 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.
-
 Please see http://www.denx.de/wiki/U-Boot/Patches for details.
 
 Please see http://www.denx.de/wiki/U-Boot/Patches for details.
 
+Patches shall be sent to the u-boot mailing list <u-boot@lists.denx.de>;
+see http://lists.denx.de/mailman/listinfo/u-boot
+
 When you send a patch, please include the following information with
 it:
 
 When you send a patch, please include the following information with
 it:
 
@@ -4066,7 +4194,7 @@ Notes:
   disabled must not need more memory than the old code without your
   modification.
 
   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. Bigger patches will be moderated. If
-  they are reasonable and not bigger than 100 kB, they will be
-  acknowledged. Even bigger patches should be avoided.
+* Remember that there is a size limit of 100 kB per message on the
+  u-boot mailing list. Bigger patches will be moderated. If they are
+  reasonable and not too big, they will be acknowledged. But patches
+  bigger than the size limit should be avoided.