]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - README
Remove unused definition IOMUX_SION
[karo-tx-uboot.git] / README
diff --git a/README b/README
index 79167777973ba665e75e44237a11ebc66e20ae10..6919392dca82c142ea00d9281393ddcde33ae981 100644 (file)
--- a/README
+++ b/README
@@ -1,5 +1,5 @@
 #
 #
-# (C) Copyright 2000 - 2011
+# (C) Copyright 2000 - 2012
 # 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
@@ -374,6 +374,12 @@ The following options need to be configured:
                Defines the string to utilize when trying to match PCIe device
                tree nodes for the given platform.
 
                Defines the string to utilize when trying to match PCIe device
                tree nodes for the given platform.
 
+- Generic CPU options:
+               CONFIG_SYS_BIG_ENDIAN, CONFIG_SYS_LITTLE_ENDIAN
+
+               Defines the endianess of the CPU. Implementation of those
+               values is arch specific.
+
 - Intel Monahans options:
                CONFIG_SYS_MONAHANS_RUN_MODE_OSC_RATIO
 
 - Intel Monahans options:
                CONFIG_SYS_MONAHANS_RUN_MODE_OSC_RATIO
 
@@ -420,6 +426,20 @@ The following options need to be configured:
                XWAY SoCs for booting from NOR flash. The U-Boot image needs to
                be swapped if a flash programmer is used.
 
                XWAY SoCs for booting from NOR flash. The U-Boot image needs to
                be swapped if a flash programmer is used.
 
+- ARM options:
+               CONFIG_SYS_EXCEPTION_VECTORS_HIGH
+
+               Select high exception vectors of the ARM core, e.g., do not
+               clear the V bit of the c1 register of CP15.
+
+               CONFIG_SYS_THUMB_BUILD
+
+               Use this flag to build U-Boot using the Thumb instruction
+               set for ARM architectures. Thumb instruction set provides
+               better code density. For ARM architectures that support
+               Thumb2 this flag will result in Thumb2 code generated by
+               GCC.
+
 - Linux Kernel Interface:
                CONFIG_CLOCKS_IN_MHZ
 
 - Linux Kernel Interface:
                CONFIG_CLOCKS_IN_MHZ
 
@@ -638,23 +658,6 @@ The following options need to be configured:
                'Sane' compilers will generate smaller code if
                CONFIG_PRE_CON_BUF_SZ is a power of 2
 
                'Sane' compilers will generate smaller code if
                CONFIG_PRE_CON_BUF_SZ is a power of 2
 
-- Pre-console putc():
-               Prior to the console being initialised, console output is
-               normally silently discarded. This can be annoying if a
-               panic() happens in this time.
-
-               If the CONFIG_PRE_CONSOLE_PUTC option is defined, then
-               U-Boot will call board_pre_console_putc() for each output
-               character in this case, This function should try to output
-               the character if possible, perhaps on all available UARTs
-               (it will need to do this directly, since the console code
-               is not functional yet). Note that if the panic happens
-               early enough, then it is possible that board_init_f()
-               (or even arch_cpu_init() on ARM) has not been called yet.
-               You should init all clocks, GPIOs, etc. that are needed
-               to get the character out. Baud rates will need to default
-               to something sensible.
-
 - Safe printf() functions
                Define CONFIG_SYS_VSNPRINTF to compile in safe versions of
                the printf() functions. These are defined in
 - Safe printf() functions
                Define CONFIG_SYS_VSNPRINTF to compile in safe versions of
                the printf() functions. These are defined in
@@ -809,6 +812,7 @@ 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_SF           * Read/write/erase SPI NOR flash
                CONFIG_CMD_SHA1SUM        print sha1 memory digest
                                          (requires CONFIG_CMD_MEMORY)
                CONFIG_CMD_SOURCE         "source" command Support
                CONFIG_CMD_SHA1SUM        print sha1 memory digest
                                          (requires CONFIG_CMD_MEMORY)
                CONFIG_CMD_SOURCE         "source" command Support
@@ -818,7 +822,7 @@ The following options need to be configured:
                CONFIG_CMD_TIME         * run command and report execution time
                CONFIG_CMD_USB          * USB support
                CONFIG_CMD_CDP          * Cisco Discover Protocol support
                CONFIG_CMD_TIME         * run command and report execution time
                CONFIG_CMD_USB          * USB support
                CONFIG_CMD_CDP          * Cisco Discover Protocol support
-               CONFIG_CMD_FSL          * Microblaze FSL support
+               CONFIG_CMD_MFSL         * Microblaze FSL support
 
 
                EXAMPLE: If you want all functions except of network
 
 
                EXAMPLE: If you want all functions except of network
@@ -1029,6 +1033,9 @@ The following options need to be configured:
                        If this defined, the driver is quiet.
                        The driver doen't show link status messages.
 
                        If this defined, the driver is quiet.
                        The driver doen't show link status messages.
 
+               CONFIG_CALXEDA_XGMAC
+               Support for the Calxeda XGMAC device
+
                CONFIG_DRIVER_LAN91C96
                Support for SMSC's LAN91C96 chips.
 
                CONFIG_DRIVER_LAN91C96
                Support for SMSC's LAN91C96 chips.
 
@@ -1132,6 +1139,9 @@ The following options need to be configured:
                                May be defined to allow interrupt polling
                                instead of using asynchronous interrupts
 
                                May be defined to allow interrupt polling
                                instead of using asynchronous interrupts
 
+               CONFIG_USB_EHCI_TXFIFO_THRESH enables setting of the
+               txfilltuning field in the EHCI controller on reset.
+
 - USB Device:
                Define the below if you wish to use the USB console.
                Once firmware is rebuilt from a serial console issue the
 - USB Device:
                Define the below if you wish to use the USB console.
                Once firmware is rebuilt from a serial console issue the
@@ -1155,6 +1165,14 @@ The following options need to be configured:
                        Define this to have a tty type of device available to
                        talk to the UDC device
 
                        Define this to have a tty type of device available to
                        talk to the UDC device
 
+                       CONFIG_USBD_HS
+                       Define this to enable the high speed support for usb
+                       device and usbtty. If this feature is enabled, a routine
+                       int is_usbd_high_speed(void)
+                       also needs to be defined by the driver to dynamically poll
+                       whether the enumeration has succeded at high speed or full
+                       speed.
+
                        CONFIG_SYS_CONSOLE_IS_IN_ENV
                        Define this if you want stdin, stdout &/or stderr to
                        be set to usbtty.
                        CONFIG_SYS_CONSOLE_IS_IN_ENV
                        Define this if you want stdin, stdout &/or stderr to
                        be set to usbtty.
@@ -1240,8 +1258,12 @@ The following options need to be configured:
 
 - FAT(File Allocation Table) filesystem write function support:
                CONFIG_FAT_WRITE
 
 - FAT(File Allocation Table) filesystem write function support:
                CONFIG_FAT_WRITE
-               Support for saving memory data as a file
-               in FAT formatted partition
+
+               Define this to enable support for saving memory data as a
+               file in FAT formatted partition.
+
+               This will also enable the command "fatwrite" enabling the
+               user to write files to FAT.
 
 - Keyboard Support:
                CONFIG_ISA_KEYBOARD
 
 - Keyboard Support:
                CONFIG_ISA_KEYBOARD
@@ -2188,6 +2210,25 @@ The following options need to be configured:
                allows to read/write in Dataflash via the standard
                commands cp, md...
 
                allows to read/write in Dataflash via the standard
                commands cp, md...
 
+- Serial Flash support
+               CONFIG_CMD_SF
+
+               Defining this option enables SPI flash commands
+               'sf probe/read/write/erase/update'.
+
+               Usage requires an initial 'probe' to define the serial
+               flash parameters, followed by read/write/erase/update
+               commands.
+
+               The following defaults may be provided by the platform
+               to handle the common case when only a single serial
+               flash is present on the system.
+
+               CONFIG_SF_DEFAULT_BUS           Bus identifier
+               CONFIG_SF_DEFAULT_CS            Chip-select
+               CONFIG_SF_DEFAULT_MODE          (see include/spi.h)
+               CONFIG_SF_DEFAULT_SPEED         in Hz
+
 - SystemACE Support:
                CONFIG_SYSTEMACE
 
 - SystemACE Support:
                CONFIG_SYSTEMACE
 
@@ -2232,6 +2273,31 @@ 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:
 
+- Detailed boot stage timing
+               CONFIG_BOOTSTAGE
+               Define this option to get detailed timing of each stage
+               of the boot process.
+
+               CONFIG_BOOTSTAGE_USER_COUNT
+               This is the number of available user bootstage records.
+               Each time you call bootstage_mark(BOOTSTAGE_ID_ALLOC, ...)
+               a new ID will be allocated from this stash. If you exceed
+               the limit, recording will stop.
+
+               CONFIG_BOOTSTAGE_REPORT
+               Define this to print a report before boot, similar to this:
+
+               Timer summary in microseconds:
+                      Mark    Elapsed  Stage
+                         0          0  reset
+                 3,575,678  3,575,678  board_init_f start
+                 3,575,695         17  arch_cpu_init A9
+                 3,575,777         82  arch_cpu_init done
+                 3,659,598     83,821  board_init_r start
+                 3,910,375    250,777  main_loop
+                29,916,167 26,005,792  bootm_start
+                30,361,327    445,160  start_kernel
+
 Legacy uImage format:
 
   Arg  Where                   When
 Legacy uImage format:
 
   Arg  Where                   When
@@ -2427,11 +2493,29 @@ FIT uImage format:
                CONFIG_SPL
                Enable building of SPL globally.
 
                CONFIG_SPL
                Enable building of SPL globally.
 
+               CONFIG_SPL_LDSCRIPT
+               LDSCRIPT for linking the SPL binary.
+
+               CONFIG_SPL_MAX_SIZE
+               Maximum binary size (text, data and rodata) of the SPL binary.
+
                CONFIG_SPL_TEXT_BASE
                TEXT_BASE for linking the SPL binary.
 
                CONFIG_SPL_TEXT_BASE
                TEXT_BASE for linking the SPL binary.
 
-               CONFIG_SPL_LDSCRIPT
-               LDSCRIPT for linking the SPL binary.
+               CONFIG_SPL_BSS_START_ADDR
+               Link address for the BSS within the SPL binary.
+
+               CONFIG_SPL_BSS_MAX_SIZE
+               Maximum binary size of the BSS section of the SPL binary.
+
+               CONFIG_SPL_STACK
+               Adress of the start of the stack SPL will use
+
+               CONFIG_SYS_SPL_MALLOC_START
+               Starting address of the malloc pool used in SPL.
+
+               CONFIG_SYS_SPL_MALLOC_SIZE
+               The size of the malloc pool used in SPL.
 
                CONFIG_SPL_LIBCOMMON_SUPPORT
                Support for common/libcommon.o in SPL binary
 
                CONFIG_SPL_LIBCOMMON_SUPPORT
                Support for common/libcommon.o in SPL binary
@@ -2448,6 +2532,45 @@ FIT uImage format:
                CONFIG_SPL_MMC_SUPPORT
                Support for drivers/mmc/libmmc.o in SPL binary
 
                CONFIG_SPL_MMC_SUPPORT
                Support for drivers/mmc/libmmc.o in SPL binary
 
+               CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR,
+               CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS,
+               CONFIG_SYS_MMC_SD_FAT_BOOT_PARTITION
+               Address, size and partition on the MMC to load U-Boot from
+               when the MMC is being used in raw mode.
+
+               CONFIG_SPL_FAT_SUPPORT
+               Support for fs/fat/libfat.o in SPL binary
+
+               CONFIG_SPL_FAT_LOAD_PAYLOAD_NAME
+               Filename to read to load U-Boot when reading from FAT
+
+               CONFIG_SPL_NAND_SIMPLE
+               Support for drivers/mtd/nand/libnand.o in SPL binary
+
+               CONFIG_SYS_NAND_5_ADDR_CYCLE, CONFIG_SYS_NAND_PAGE_COUNT,
+               CONFIG_SYS_NAND_PAGE_SIZE, CONFIG_SYS_NAND_OOBSIZE,
+               CONFIG_SYS_NAND_BLOCK_SIZE, CONFIG_SYS_NAND_BAD_BLOCK_POS,
+               CONFIG_SYS_NAND_ECCPOS, CONFIG_SYS_NAND_ECCSIZE,
+               CONFIG_SYS_NAND_ECCBYTES
+               Defines the size and behavior of the NAND that SPL uses
+               to read U-Boot with CONFIG_SPL_NAND_SIMPLE
+
+               CONFIG_SYS_NAND_U_BOOT_OFFS
+               Location in NAND for CONFIG_SPL_NAND_SIMPLE to read U-Boot
+               from.
+
+               CONFIG_SYS_NAND_U_BOOT_START
+               Location in memory for CONFIG_SPL_NAND_SIMPLE to load U-Boot
+               to.
+
+               CONFIG_SYS_NAND_HW_ECC_OOBFIRST
+               Define this if you need to first read the OOB and then the
+               data. This is used for example on davinci plattforms.
+
+               CONFIG_SPL_OMAP3_ID_NAND
+               Support for an OMAP3-specific set of functions to return the
+               ID and MFR of the first attached NAND chip, if present.
+
                CONFIG_SPL_SERIAL_SUPPORT
                Support for drivers/serial/libserial.o in SPL binary
 
                CONFIG_SPL_SERIAL_SUPPORT
                Support for drivers/serial/libserial.o in SPL binary
 
@@ -2457,9 +2580,6 @@ FIT uImage format:
                CONFIG_SPL_SPI_SUPPORT
                Support for drivers/spi/libspi.o in SPL binary
 
                CONFIG_SPL_SPI_SUPPORT
                Support for drivers/spi/libspi.o in SPL binary
 
-               CONFIG_SPL_FAT_SUPPORT
-               Support for fs/fat/libfat.o in SPL binary
-
                CONFIG_SPL_LIBGENERIC_SUPPORT
                Support for lib/libgeneric.o in SPL binary
 
                CONFIG_SPL_LIBGENERIC_SUPPORT
                Support for lib/libgeneric.o in SPL binary
 
@@ -2914,6 +3034,24 @@ to save the current settings.
          environment area within the total memory of your DataFlash placed
          at the specified address.
 
          environment area within the total memory of your DataFlash placed
          at the specified address.
 
+- CONFIG_ENV_IS_IN_REMOTE:
+
+       Define this if you have a remote memory space which you
+       want to use for the local device's environment.
+
+       - CONFIG_ENV_ADDR:
+       - CONFIG_ENV_SIZE:
+
+         These two #defines specify the address and size of the
+         environment area within the remote memory space. The
+         local device can get the environment from remote memory
+         space by SRIO or other links.
+
+BE CAREFUL! For some special cases, the local device can not use
+"saveenv" command. For example, the local device will get the
+environment stored in a remote NOR flash by SRIO link, but it can
+not erase, write this NOR flash by SRIO interface.
+
 - CONFIG_ENV_IS_IN_NAND:
 
        Define this if you have a NAND device which you want to use
 - CONFIG_ENV_IS_IN_NAND:
 
        Define this if you have a NAND device which you want to use
@@ -3307,11 +3445,6 @@ 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_SYS_NAND_HW_ECC_OOBFIRST
-               define this, if you want to read first the oob data
-               and then the data. This is used for example on
-               davinci plattforms.
-
 - CONFIG_USE_ARCH_MEMCPY
   CONFIG_USE_ARCH_MEMSET
                If these options are used a optimized version of memcpy/memset will
 - CONFIG_USE_ARCH_MEMCPY
   CONFIG_USE_ARCH_MEMSET
                If these options are used a optimized version of memcpy/memset will
@@ -3355,6 +3488,12 @@ within that device.
        Specifies that QE/FMAN firmware is located on the primary SPI
        device.  CONFIG_SYS_FMAN_FW_ADDR is the byte offset on that device.
 
        Specifies that QE/FMAN firmware is located on the primary SPI
        device.  CONFIG_SYS_FMAN_FW_ADDR is the byte offset on that device.
 
+- CONFIG_SYS_QE_FMAN_FW_IN_REMOTE
+       Specifies that QE/FMAN firmware is located in the remote (master)
+       memory space.   CONFIG_SYS_FMAN_FW_ADDR is a virtual address which
+       can be mapped from slave TLB->slave LAW->slave SRIO outbound window
+       ->master inbound window->master LAW->the ucode address in master's
+       NOR flash.
 
 Building the Software:
 ======================
 
 Building the Software:
 ======================
@@ -3392,7 +3531,7 @@ is done by typing:
        make NAME_config
 
 where "NAME_config" is the name of one of the existing configu-
        make NAME_config
 
 where "NAME_config" is the name of one of the existing configu-
-rations; see the main Makefile for supported names.
+rations; see boards.cfg for supported names.
 
 Note: for some board special configuration names may exist; check if
       additional information is available from the board vendor; for
 
 Note: for some board special configuration names may exist; check if
       additional information is available from the board vendor; for
@@ -3447,10 +3586,8 @@ to port U-Boot to your hardware platform. To do this, follow these
 steps:
 
 1.  Add a new configuration option for your board to the toplevel
 steps:
 
 1.  Add a new configuration option for your board to the toplevel
-    "Makefile" and to the "MAKEALL" script, using the existing
-    entries as examples. Note that here and at many other places
-    boards and other names are listed in alphabetical sort order. Please
-    keep this order.
+    "boards.cfg" file, using the existing entries as examples.
+    Follow the instructions there to keep the boards in order.
 2.  Create a new directory to hold your board specific code. Add any
     files you need. In your board directory, you will need at least
     the "Makefile", a "<board>.c", "flash.c" and "u-boot.lds".
 2.  Create a new directory to hold your board specific code. Add any
     files you need. In your board directory, you will need at least
     the "Makefile", a "<board>.c", "flash.c" and "u-boot.lds".
@@ -3516,6 +3653,7 @@ go        - start application at address 'addr'
 run    - run commands in an environment variable
 bootm  - boot application image from memory
 bootp  - boot image via network using BootP/TFTP protocol
 run    - run commands in an environment variable
 bootm  - boot application image from memory
 bootp  - boot image via network using BootP/TFTP protocol
+bootz   - boot zImage from memory
 tftpboot- boot image via network using TFTP protocol
               and env variables "ipaddr" and "serverip"
               (and eventually "gatewayip")
 tftpboot- boot image via network using TFTP protocol
               and env variables "ipaddr" and "serverip"
               (and eventually "gatewayip")
@@ -3636,6 +3774,14 @@ List of environment variables (most likely not complete):
 
   fdt_high     - if set this restricts the maximum address that the
                  flattened device tree will be copied into upon boot.
 
   fdt_high     - if set this restricts the maximum address that the
                  flattened device tree will be copied into upon boot.
+                 For example, if you have a system with 1 GB memory
+                 at physical address 0x10000000, while Linux kernel
+                 only recognizes the first 704 MB as low memory, you
+                 may need to set fdt_high as 0x3C000000 to have the
+                 device tree blob be copied to the maximum address
+                 of the 704 MB low memory, so that Linux kernel can
+                 access it during the boot procedure.
+
                  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
                  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
@@ -4328,6 +4474,18 @@ U-Boot supports the following image types:
        useful when you configure U-Boot to use a real shell (hush)
        as command interpreter.
 
        useful when you configure U-Boot to use a real shell (hush)
        as command interpreter.
 
+Booting the Linux zImage:
+-------------------------
+
+On some platforms, it's possible to boot Linux zImage. This is done
+using the "bootz" command. The syntax of "bootz" command is the same
+as the syntax of "bootm" command.
+
+Note, defining the CONFIG_SUPPORT_INITRD_RAW allows user to supply
+kernel with raw initrd images. The syntax is slightly different, the
+address of the initrd must be augmented by it's size, in the following
+format: "<initrd addres>:<initrd size>".
+
 
 Standalone HOWTO:
 =================
 
 Standalone HOWTO:
 =================