Merge branch 'master' of git://git.denx.de/u-boot-mmc
[platform/kernel/u-boot.git] / README
diff --git a/README b/README
index 37eda11..294b39e 100644 (file)
--- a/README
+++ b/README
@@ -1,5 +1,5 @@
 #
 #
-# (C) Copyright 2000 - 2009
+# (C) Copyright 2000 - 2011
 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 #
 # See file CREDITS for list of people who contributed to this
 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
 #
 # See file CREDITS for list of people who contributed to this
@@ -164,7 +164,7 @@ Directory Hierarchy:
   /blackfin            Files generic to Analog Devices Blackfin architecture
     /cpu               CPU specific files
     /lib               Architecture specific library files
   /blackfin            Files generic to Analog Devices Blackfin architecture
     /cpu               CPU specific files
     /lib               Architecture specific library files
-  /i386                        Files generic to i386 architecture
+  /x86                 Files generic to x86 architecture
     /cpu               CPU specific files
     /lib               Architecture specific library files
   /m68k                        Files generic to m68k architecture
     /cpu               CPU specific files
     /lib               Architecture specific library files
   /m68k                        Files generic to m68k architecture
@@ -319,6 +319,11 @@ The following options need to be configured:
                        CONFIG_SYS_PQ2FADS      - PQ2FADS-ZU or PQ2FADS-VR
                        CONFIG_SYS_8272ADS      - MPC8272ADS
 
                        CONFIG_SYS_PQ2FADS      - PQ2FADS-ZU or PQ2FADS-VR
                        CONFIG_SYS_8272ADS      - MPC8272ADS
 
+- Marvell Family Member
+               CONFIG_SYS_MVFS         - define it if you want to enable
+                                         multiple fs option at one time
+                                         for marvell soc family
+
 - MPC824X Family Member (if CONFIG_MPC824X is defined)
                Define exactly one of
                CONFIG_MPC8240, CONFIG_MPC8245
 - MPC824X Family Member (if CONFIG_MPC824X is defined)
                Define exactly one of
                CONFIG_MPC8240, CONFIG_MPC8245
@@ -351,6 +356,18 @@ The following options need to be configured:
                Define this option if you want to enable the
                ICache only when Code runs from RAM.
 
                Define this option if you want to enable the
                ICache only when Code runs from RAM.
 
+- 85xx CPU Options:
+               CONFIG_SYS_FSL_TBCLK_DIV
+
+               Defines the core time base clock divider ratio compared to the
+               system clock.  On most PQ3 devices this is 8, on newer QorIQ
+               devices it can be 16 or 32.  The ratio varies from SoC to Soc.
+
+               CONFIG_SYS_FSL_PCIE_COMPAT
+
+               Defines the string to utilize when trying to match PCIe device
+               tree nodes for the given platform.
+
 - Intel Monahans options:
                CONFIG_SYS_MONAHANS_RUN_MODE_OSC_RATIO
 
 - Intel Monahans options:
                CONFIG_SYS_MONAHANS_RUN_MODE_OSC_RATIO
 
@@ -425,6 +442,16 @@ The following options need to be configured:
                crash. This is needed for buggy hardware (uc101) where
                no pull down resistor is connected to the signal IDE5V_DD7.
 
                crash. This is needed for buggy hardware (uc101) where
                no pull down resistor is connected to the signal IDE5V_DD7.
 
+               CONFIG_MACH_TYPE        [relevant for ARM only][mandatory]
+
+               This setting is mandatory for all boards that have only one
+               machine type and must be used to specify the machine type
+               number as it appears in the ARM machine registry
+               (see http://www.arm.linux.org.uk/developer/machines/).
+               Only boards that have multiple machine types supported
+               in a single configuration file and the machine type is
+               runtime discoverable, do not have to use this setting.
+
 - vxWorks boot parameters:
 
                bootvx constructs a valid bootline using the following
 - vxWorks boot parameters:
 
                bootvx constructs a valid bootline using the following
@@ -443,6 +470,17 @@ The following options need to be configured:
                Note: If a "bootargs" environment is defined, it will overwride
                the defaults discussed just above.
 
                Note: If a "bootargs" environment is defined, it will overwride
                the defaults discussed just above.
 
+- Cache Configuration:
+               CONFIG_SYS_ICACHE_OFF - Do not enable instruction cache in U-Boot
+               CONFIG_SYS_DCACHE_OFF - Do not enable data cache in U-Boot
+               CONFIG_SYS_L2CACHE_OFF- Do not enable L2 cache in U-Boot
+
+- Cache Configuration for ARM:
+               CONFIG_SYS_L2_PL310 - Enable support for ARM PL310 L2 cache
+                                     controller
+               CONFIG_SYS_PL310_BASE - Physical base address of PL310
+                                       controller register space
+
 - Serial Ports:
                CONFIG_PL010_SERIAL
 
 - Serial Ports:
                CONFIG_PL010_SERIAL
 
@@ -463,6 +501,18 @@ The following options need to be configured:
                define this to a list of base addresses for each (supported)
                port. See e.g. include/configs/versatile.h
 
                define this to a list of base addresses for each (supported)
                port. See e.g. include/configs/versatile.h
 
+               CONFIG_PL011_SERIAL_RLCR
+
+               Some vendor versions of PL011 serial ports (e.g. ST-Ericsson U8500)
+               have separate receive and transmit line control registers.  Set
+               this variable to initialize the extra register.
+
+               CONFIG_PL011_SERIAL_FLUSH_ON_INIT
+
+               On some platforms (e.g. U8500) U-Boot is loaded by a second stage
+               boot loader that has already initialized the UART.  Define this
+               variable to flush the UART at init time.
+
 
 - Console Interface:
                Depending on board, define exactly one serial port
 
 - Console Interface:
                Depending on board, define exactly one serial port
@@ -620,6 +670,7 @@ The following options need to be configured:
                CONFIG_CMD_BOOTD          bootd
                CONFIG_CMD_CACHE        * icache, dcache
                CONFIG_CMD_CONSOLE        coninfo
                CONFIG_CMD_BOOTD          bootd
                CONFIG_CMD_CACHE        * icache, dcache
                CONFIG_CMD_CONSOLE        coninfo
+               CONFIG_CMD_CRC32        * crc32
                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
@@ -632,22 +683,27 @@ The following options need to be configured:
                CONFIG_CMD_EDITENV        edit env variable
                CONFIG_CMD_EEPROM       * EEPROM read/write support
                CONFIG_CMD_ELF          * bootelf, bootvx
                CONFIG_CMD_EDITENV        edit env variable
                CONFIG_CMD_EEPROM       * EEPROM read/write support
                CONFIG_CMD_ELF          * bootelf, bootvx
+               CONFIG_CMD_EXPORTENV    * export the environment
                CONFIG_CMD_SAVEENV        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_SAVEENV        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_GO           * the 'go' command (exec code)
+               CONFIG_CMD_GREPENV      * search environment
                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_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_IMPORTENV    * import an environment
                CONFIG_CMD_IRQ          * irqinfo
                CONFIG_CMD_ITEST          Integer/string test of 2 values
                CONFIG_CMD_JFFS2        * JFFS2 Support
                CONFIG_CMD_KGDB         * kgdb
                CONFIG_CMD_IRQ          * irqinfo
                CONFIG_CMD_ITEST          Integer/string test of 2 values
                CONFIG_CMD_JFFS2        * JFFS2 Support
                CONFIG_CMD_KGDB         * kgdb
+               CONFIG_CMD_LDRINFO        ldrinfo (display Blackfin loader)
                CONFIG_CMD_LOADB          loadb
                CONFIG_CMD_LOADS          loads
                CONFIG_CMD_MD5SUM         print md5 message digest
                CONFIG_CMD_LOADB          loadb
                CONFIG_CMD_LOADS          loads
                CONFIG_CMD_MD5SUM         print md5 message digest
@@ -679,8 +735,8 @@ The following options need to be configured:
                                          (requires CONFIG_CMD_MEMORY)
                CONFIG_CMD_SOURCE         "source" command Support
                CONFIG_CMD_SPI          * SPI serial bus support
                                          (requires CONFIG_CMD_MEMORY)
                CONFIG_CMD_SOURCE         "source" command Support
                CONFIG_CMD_SPI          * SPI serial bus support
+               CONFIG_CMD_TFTPSRV      * TFTP transfer in server mode
                CONFIG_CMD_USB          * USB support
                CONFIG_CMD_USB          * USB support
-               CONFIG_CMD_VFD          * VFD support (TRAB)
                CONFIG_CMD_CDP          * Cisco Discover Protocol support
                CONFIG_CMD_FSL          * Microblaze FSL support
 
                CONFIG_CMD_CDP          * Cisco Discover Protocol support
                CONFIG_CMD_FSL          * Microblaze FSL support
 
@@ -709,10 +765,17 @@ The following options need to be configured:
 - Watchdog:
                CONFIG_WATCHDOG
                If this variable is defined, it enables watchdog
 - Watchdog:
                CONFIG_WATCHDOG
                If this variable is defined, it enables watchdog
-               support. There must be support in the platform specific
-               code for a watchdog. For the 8xx and 8260 CPUs, the
-               SIU Watchdog feature is enabled in the SYPCR
-               register.
+               support for the SoC. There must be support in the SoC
+               specific code for a watchdog. For the 8xx and 8260
+               CPUs, the SIU Watchdog feature is enabled in the SYPCR
+               register.  When supported for a specific SoC is
+               available, then no further board specific code should
+               be needed to use it.
+
+               CONFIG_HW_WATCHDOG
+               When using a watchdog circuitry external to the used
+               SoC, then define this variable and provide board
+               specific code for the "hw_watchdog_reset" function.
 
 - U-Boot Version:
                CONFIG_VERSION_VARIABLE
 
 - U-Boot Version:
                CONFIG_VERSION_VARIABLE
@@ -738,6 +801,8 @@ The following options need to be configured:
                CONFIG_RTC_ISL1208      - use Intersil ISL1208 RTC
                CONFIG_RTC_MAX6900      - use Maxim, Inc. MAX6900 RTC
                CONFIG_SYS_RTC_DS1337_NOOSC     - Turn off the OSC output for DS1337
                CONFIG_RTC_ISL1208      - use Intersil ISL1208 RTC
                CONFIG_RTC_MAX6900      - use Maxim, Inc. MAX6900 RTC
                CONFIG_SYS_RTC_DS1337_NOOSC     - Turn off the OSC output for DS1337
+               CONFIG_SYS_RV3029_TCR   - enable trickle charger on
+                                         RV3029 RTC.
 
                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.
@@ -999,6 +1064,15 @@ The following options need to be configured:
                enabled with CONFIG_CMD_MMC. The MMC driver also works with
                the FAT fs. This is enabled with CONFIG_CMD_FAT.
 
                enabled with CONFIG_CMD_MMC. The MMC driver also works with
                the FAT fs. This is enabled with CONFIG_CMD_FAT.
 
+               CONFIG_SH_MMCIF
+               Support for Renesas on-chip MMCIF controller
+
+                       CONFIG_SH_MMCIF_ADDR
+                       Define the base address of MMCIF registers
+
+                       CONFIG_SH_MMCIF_CLK
+                       Define the clock frequency for MMCIF
+
 - Journaling Flash filesystem support:
                CONFIG_JFFS2_NAND, CONFIG_JFFS2_NAND_OFF, CONFIG_JFFS2_NAND_SIZE,
                CONFIG_JFFS2_NAND_DEV
 - Journaling Flash filesystem support:
                CONFIG_JFFS2_NAND, CONFIG_JFFS2_NAND_OFF, CONFIG_JFFS2_NAND_SIZE,
                CONFIG_JFFS2_NAND_DEV
@@ -1069,6 +1143,25 @@ The following options need to be configured:
                and 16bpp modes defined by CONFIG_VIDEO_SED13806_8BPP
                or CONFIG_VIDEO_SED13806_16BPP
 
                and 16bpp modes defined by CONFIG_VIDEO_SED13806_8BPP
                or CONFIG_VIDEO_SED13806_16BPP
 
+               CONFIG_FSL_DIU_FB
+               Enable the Freescale DIU video driver.  Reference boards for
+               SOCs that have a DIU should define this macro to enable DIU
+               support, and should also define these other macros:
+
+                       CONFIG_SYS_DIU_ADDR
+                       CONFIG_VIDEO
+                       CONFIG_CMD_BMP
+                       CONFIG_CFB_CONSOLE
+                       CONFIG_VIDEO_SW_CURSOR
+                       CONFIG_VGA_AS_SINGLE_DEVICE
+                       CONFIG_VIDEO_LOGO
+                       CONFIG_VIDEO_BMP_LOGO
+
+               The DIU driver will look for the 'video-mode' environment
+               variable, and if defined, enable the DIU as a console during
+               boot.  See the documentation file README.video for a
+               description of this variable.
+
 - Keyboard Support:
                CONFIG_KEYBOARD
 
 - Keyboard Support:
                CONFIG_KEYBOARD
 
@@ -1271,7 +1364,6 @@ The following options need to be configured:
                driver in use must provide a function: mcast() to join/leave a
                multicast group.
 
                driver in use must provide a function: mcast() to join/leave a
                multicast group.
 
-               CONFIG_BOOTP_RANDOM_DELAY
 - BOOTP Recovery Mode:
                CONFIG_BOOTP_RANDOM_DELAY
 
 - BOOTP Recovery Mode:
                CONFIG_BOOTP_RANDOM_DELAY
 
@@ -1969,6 +2061,28 @@ The following options need to be configured:
                example, some LED's) on your board. At the moment,
                the following checkpoints are implemented:
 
                example, some LED's) on your board. At the moment,
                the following checkpoints are implemented:
 
+- Standalone program support:
+               CONFIG_STANDALONE_LOAD_ADDR
+
+               This option allows to define board specific values
+               for the address where standalone program gets loaded,
+               thus overwriting the architecutre dependent default
+               settings.
+
+- Frame Buffer Address:
+       CONFIG_FB_ADDR
+
+       Define CONFIG_FB_ADDR if you want to use specific address for
+       frame buffer.
+       Then system will reserve the frame buffer address to defined address
+       instead of lcd_setmem (this function grab the memory for frame buffer
+       by panel's size).
+
+       Please see board_init_f function.
+
+       If you want this config option then,
+       please define it at your board config file
+
 Legacy uImage format:
 
   Arg  Where                   When
 Legacy uImage format:
 
   Arg  Where                   When
@@ -2145,7 +2259,7 @@ FIT uImage format:
 Modem Support:
 --------------
 
 Modem Support:
 --------------
 
-[so far only for SMDK2400 and TRAB boards]
+[so far only for SMDK2400 boards]
 
 - Modem support enable:
                CONFIG_MODEM_SUPPORT
 
 - Modem support enable:
                CONFIG_MODEM_SUPPORT
@@ -2306,7 +2420,10 @@ Configuration Settings:
                used) must be put below this limit, unless "bootm_low"
                enviroment variable is defined and non-zero. In such case
                all data for the Linux kernel must be between "bootm_low"
                used) must be put below this limit, unless "bootm_low"
                enviroment variable is defined and non-zero. In such case
                all data for the Linux kernel must be between "bootm_low"
-               and "bootm_low" + CONFIG_SYS_BOOTMAPSZ.
+               and "bootm_low" + CONFIG_SYS_BOOTMAPSZ.  The environment
+               variable "bootm_mapsize" will override the value of
+               CONFIG_SYS_BOOTMAPSZ.  If CONFIG_SYS_BOOTMAPSZ is undefined,
+               then the value in "bootm_size" will be used instead.
 
 - CONFIG_SYS_BOOT_RAMDISK_HIGH:
                Enable initrd_high functionality.  If defined then the
 
 - CONFIG_SYS_BOOT_RAMDISK_HIGH:
                Enable initrd_high functionality.  If defined then the
@@ -2694,6 +2811,14 @@ Low Level (hardware related) configuration options:
                source code. It is used to make hardware dependant
                initializations.
 
                source code. It is used to make hardware dependant
                initializations.
 
+- CONFIG_IDE_AHB:
+               Most IDE controllers were designed to be connected with PCI
+               interface. Only few of them were designed for AHB interface.
+               When software is doing ATA command and data transfer to
+               IDE devices through IDE-AHB controller, some additional
+               registers accessing to these kind of IDE-AHB controller
+               is requierd.
+
 - CONFIG_SYS_IMMR:     Physical address of the Internal Memory.
                DO NOT CHANGE unless you know exactly what you're
                doing! (11-4) [MPC8xx/82xx systems only]
 - CONFIG_SYS_IMMR:     Physical address of the Internal Memory.
                DO NOT CHANGE unless you know exactly what you're
                doing! (11-4) [MPC8xx/82xx systems only]
@@ -2822,6 +2947,14 @@ Low Level (hardware related) configuration options:
 - CONFIG_SYS_SRIOn_MEM_SIZE:
                Size of SRIO port 'n' memory region
 
 - CONFIG_SYS_SRIOn_MEM_SIZE:
                Size of SRIO port 'n' memory region
 
+- CONFIG_SYS_NDFC_16
+               Defined to tell the NDFC that the NAND chip is using a
+               16 bit bus.
+
+- CONFIG_SYS_NDFC_EBC0_CFG
+               Sets the EBC0_CFG register for the NDFC. If not defined
+               a default value will be used.
+
 - 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
@@ -2834,6 +2967,12 @@ Low Level (hardware related) configuration options:
                one, specify here. Note that the value must resolve
                to something your driver can deal with.
 
                one, specify here. Note that the value must resolve
                to something your driver can deal with.
 
+- CONFIG_SYS_DDR_RAW_TIMING
+               Get DDR timing information from other than SPD. Common with
+               soldered DDR chips onboard without SPD. DDR raw timing
+               parameters are extracted from datasheet and hard-coded into
+               header files or board specific files.
+
 - 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_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.
@@ -2902,6 +3041,12 @@ Low Level (hardware related) configuration options:
                that is executed before the actual U-Boot. E.g. when
                compiling a NAND SPL.
 
                that is executed before the actual U-Boot. E.g. when
                compiling a NAND SPL.
 
+- CONFIG_USE_ARCH_MEMCPY
+  CONFIG_USE_ARCH_MEMSET
+               If these options are used a optimized version of memcpy/memset will
+               be used if available. These functions may be faster under some
+               conditions but may increase the binary size.
+
 Building the Software:
 ======================
 
 Building the Software:
 ======================
 
@@ -3142,7 +3287,16 @@ List of environment variables (most likely not complete):
                  for use by the bootm command. See also "bootm_size"
                  environment variable. Address defined by "bootm_low" is
                  also the base of the initial memory mapping for the Linux
                  for use by the bootm command. See also "bootm_size"
                  environment variable. Address defined by "bootm_low" is
                  also the base of the initial memory mapping for the Linux
-                 kernel -- see the description of CONFIG_SYS_BOOTMAPSZ.
+                 kernel -- see the description of CONFIG_SYS_BOOTMAPSZ and
+                 bootm_mapsize.
+
+  bootm_mapsize        - Size of the initial memory mapping for the Linux kernel.
+                 This variable is given as a hexadecimal number and it
+                 defines the size of the memory region starting at base
+                 address bootm_low that is accessible by the Linux kernel
+                 during early boot.  If unset, CONFIG_SYS_BOOTMAPSZ is used
+                 as the default value if it is defined, and bootm_size is
+                 used otherwise.
 
   bootm_size   - Memory range available for image processing in the bootm
                  command can be restricted. This variable is given as
 
   bootm_size   - Memory range available for image processing in the bootm
                  command can be restricted. This variable is given as
@@ -3170,6 +3324,15 @@ List of environment variables (most likely not complete):
                  This can be used to load and uncompress arbitrary
                  data.
 
                  This can be used to load and uncompress arbitrary
                  data.
 
+  fdt_high     - if set this restricts the maximum address that the
+                 flattened device tree will be copied into upon boot.
+                 If this is set to the special value 0xFFFFFFFF then
+                 the fdt will not be copied at all on boot.  For this
+                 to work it must reside in writable memory, have
+                 sufficient padding on the end of it for u-boot to
+                 add the information it needs into it, and the memory
+                 must be accessible by the kernel.
+
   i2cfast      - (PPC405GP|PPC405EP only)
                  if set to 'y' configures Linux I2C driver for fast
                  mode (400kHZ). This environment variable is used in
   i2cfast      - (PPC405GP|PPC405EP only)
                  if set to 'y' configures Linux I2C driver for fast
                  mode (400kHZ). This environment variable is used in