]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - README
ppc4xx: Yosemite/Yellowstone: Check and reconfigure the PCI sync clock
[karo-tx-uboot.git] / README
diff --git a/README b/README
index 9455fa76077706532ab782bc35a5a3f36e75eb38..744f6bf590e95df41e9177e3d92421b8e87eb581 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)
 
+               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
 
@@ -363,8 +368,10 @@ The following options need to be configured:
                 * Adds the "fdt" command
                 * The bootm command automatically updates the fdt
 
-               OF_CPU - The proper name of the cpus node.
-               OF_SOC - The proper name of the soc node.
+               OF_CPU - The proper name of the cpus node (only required for
+                       MPC512X and MPC5xxx based boards).
+               OF_SOC - The proper name of the soc node (only required for
+                       MPC512X and MPC5xxx based boards).
                OF_TBCLK - The timebase frequency.
                OF_STDOUT_PATH - The path to the console device
 
@@ -381,6 +388,33 @@ 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.
 
+               CONFIG_OF_IDE_FIXUP
+
+               U-Boot can detect if an IDE device is present or not.
+               If not, and this new config option is activated, U-Boot
+               removes the ATA node from the DTS before booting Linux,
+               so the Linux IDE driver does not probe the device and
+               crash. This is needed for buggy hardware (uc101) where
+               no pull down resistor is connected to the signal IDE5V_DD7.
+
+- 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
 
@@ -466,6 +500,14 @@ The following options need to be configured:
                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
 
@@ -562,7 +604,6 @@ The following options need to be configured:
                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
@@ -573,12 +614,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_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_ENV            saveenv
+               CONFIG_CMD_SAVEENV        saveenv
                CONFIG_CMD_FDC          * Floppy Disk Support
                CONFIG_CMD_FAT          * FAT partition support
                CONFIG_CMD_FDOS         * Dos diskette Support
@@ -596,13 +640,18 @@ The following options need to be configured:
                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_MTDPARTS     * MTD partition support
                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
@@ -616,6 +665,9 @@ The following options need to be configured:
                                          (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)
@@ -680,6 +732,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.
 
+- 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
@@ -810,9 +869,13 @@ The following options need to be configured:
                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
+                               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
@@ -1029,6 +1092,26 @@ The following options need to be configured:
                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
@@ -1120,6 +1203,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.
 
+               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
 
@@ -1270,11 +1358,6 @@ The following options need to be configured:
                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
@@ -1294,6 +1377,13 @@ The following options need to be configured:
                therefore be cleared to 0 (See, eg, MPC823e User's Manual
                p.16-473). So, set CONFIG_SYS_I2C_SLAVE to 0.
 
+               CONFIG_SYS_I2C_INIT_MPC5XXX
+
+               When a board is reset during an i2c bus transfer
+               chips might think that the current transfer is still
+               in progress.  Reset the slave devices by sending start
+               commands until the slave device responds.
+
                That's all that's required for CONFIG_HARD_I2C.
 
                If you use the software i2c interface (CONFIG_SOFT_I2C)
@@ -1390,9 +1480,9 @@ The following options need to be configured:
                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
@@ -1478,6 +1568,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.
 
+               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
 
@@ -1735,7 +1834,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
-               the environment like the autoscript function or the
+               the environment like the "source" command or the
                boot command first.
 
 - DataFlash Support:
@@ -1797,6 +1896,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.
 
+- 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
@@ -1894,8 +2004,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
-   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:
@@ -2005,6 +2115,9 @@ Configuration Settings:
 - 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.
 
@@ -2157,6 +2270,11 @@ Configuration Settings:
                This option also enables the building of the cfi_flash driver
                in the drivers directory
 
+- CONFIG_FLASH_CFI_MTD
+               This option enables the building of the cfi_mtd driver
+               in the drivers directory. The driver exports CFI flash
+               to the MTD layer.
+
 - CONFIG_SYS_FLASH_USE_BUFFER_WRITE
                Use buffered writes to flash.
 
@@ -2187,6 +2305,11 @@ The following definitions that deal with the placement and management
 of environment data (variable area); in general, we support the
 following configurations:
 
+- CONFIG_BUILD_ENVCRC:
+
+       Builds up envcrc with the target environment so that external utils
+       may easily extract it and embed it in final U-Boot images.
+
 - CONFIG_ENV_IS_IN_FLASH:
 
        Define this if the environment is in flash memory.
@@ -2360,6 +2483,12 @@ to save the current settings.
        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
@@ -2402,6 +2531,13 @@ use the "saveenv" command to store a valid environment.
 - 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:
 ---------------------------------------------------
 
@@ -2547,6 +2683,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_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
@@ -2563,10 +2703,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.
 
-- 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.
 
@@ -2627,6 +2763,11 @@ Low Level (hardware related) configuration options:
                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:
 ======================
@@ -2647,6 +2788,16 @@ necessary. For example using the ELDK on a 4xx CPU, please enter:
        $ 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:
@@ -2792,14 +2943,7 @@ mw       - memory write (fill)
 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
@@ -2880,14 +3024,6 @@ Some configuration options can be set using Environment Variables:
                  configuration from the BOOTP server, but not try to
                  load any image using TFTP
 
-  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").
-
-  autoscript_uname - if script image is in a format (FIT) this
-                    variable is used to get script subimage unit name.
-
   autostart    - if set to "yes", an image loaded using the "bootp",
                  "rarpboot", "tftpboot" or "diskboot" commands will
                  be automatically started (by internally calling
@@ -2973,8 +3109,7 @@ Some configuration options can be set using Environment Variables:
                  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.
@@ -3708,7 +3843,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
-       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>
@@ -3792,10 +3927,10 @@ For PowerPC, the following registers have specific use:
     average for all boards 752 bytes for the whole U-Boot image,
     624 text + 127 data).
 
-On Blackfin, the normal C ABI (except for P5) is followed as documented here:
+On Blackfin, the normal C ABI (except for P3) is followed as documented here:
        http://docs.blackfin.uclinux.org/doku.php?id=application_binary_interface
 
-    ==> U-Boot will use P5 to hold a pointer to the global data
+    ==> U-Boot will use P3 to hold a pointer to the global data
 
 On ARM, the following registers are used:
 
@@ -3904,51 +4039,63 @@ U-Boot Porting Guide:
 list, October 2002]
 
 
-int main (int argc, char *argv[])
+int main(int argc, char *argv[])
 {
        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) {
-               pay consultant to port U-Boot;
+               Pay consultant to port U-Boot;
                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;
-               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;
+               /* 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;
-       }
-
-       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;
 }
@@ -3995,10 +4142,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.
 
-Patches shall be sent to the u-boot-users mailing list.
-
 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:
 
@@ -4061,7 +4209,7 @@ Notes:
   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.