]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - README
ARM: Add Altera SOCFPGA Cyclone5
[karo-tx-uboot.git] / README
diff --git a/README b/README
index 0ab689257eba10011bd9a5f6fbfdd5e29641d7ca..af76b0ccbfbcd8de8cb9c373555d57e869faf948 100644 (file)
--- a/README
+++ b/README
@@ -374,6 +374,46 @@ The following options need to be configured:
                Defines the string to utilize when trying to match PCIe device
                tree nodes for the given platform.
 
+               CONFIG_SYS_PPC_E500_DEBUG_TLB
+
+               Enables a temporary TLB entry to be used during boot to work
+               around limitations in e500v1 and e500v2 external debugger
+               support. This reduces the portions of the boot code where
+               breakpoints and single stepping do not work.  The value of this
+               symbol should be set to the TLB1 entry to be used for this
+               purpose.
+
+               CONFIG_SYS_FSL_ERRATUM_A004510
+
+               Enables a workaround for erratum A004510.  If set,
+               then CONFIG_SYS_FSL_ERRATUM_A004510_SVR_REV and
+               CONFIG_SYS_FSL_CORENET_SNOOPVEC_COREONLY must be set.
+
+               CONFIG_SYS_FSL_ERRATUM_A004510_SVR_REV
+               CONFIG_SYS_FSL_ERRATUM_A004510_SVR_REV2 (optional)
+
+               Defines one or two SoC revisions (low 8 bits of SVR)
+               for which the A004510 workaround should be applied.
+
+               The rest of SVR is either not relevant to the decision
+               of whether the erratum is present (e.g. p2040 versus
+               p2041) or is implied by the build target, which controls
+               whether CONFIG_SYS_FSL_ERRATUM_A004510 is set.
+
+               See Freescale App Note 4493 for more information about
+               this erratum.
+
+               CONFIG_SYS_FSL_CORENET_SNOOPVEC_COREONLY
+
+               This is the value to write into CCSR offset 0x18600
+               according to the A004510 workaround.
+
+- 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
 
@@ -426,6 +466,14 @@ The following options need to be configured:
                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
 
@@ -721,8 +769,8 @@ The following options need to be configured:
 - Monitor Functions:
                Monitor commands can be included or excluded
                from the build by using the #include files
-               "config_cmd_all.h" and #undef'ing unwanted
-               commands, or using "config_cmd_default.h"
+               <config_cmd_all.h> and #undef'ing unwanted
+               commands, or using <config_cmd_default.h>
                and augmenting with additional #define's
                for wanted commands.
 
@@ -771,6 +819,8 @@ The following options need to be configured:
                CONFIG_CMD_JFFS2        * JFFS2 Support
                CONFIG_CMD_KGDB         * kgdb
                CONFIG_CMD_LDRINFO        ldrinfo (display Blackfin loader)
+               CONFIG_CMD_LINK_LOCAL   * link-local IP address auto-configuration
+                                         (169.254.*.*)
                CONFIG_CMD_LOADB          loadb
                CONFIG_CMD_LOADS          loads
                CONFIG_CMD_MD5SUM         print md5 message digest
@@ -808,7 +858,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_FSL          * Microblaze FSL support
+               CONFIG_CMD_MFSL         * Microblaze FSL support
 
 
                EXAMPLE: If you want all functions except of network
@@ -882,7 +932,8 @@ The following options need to be configured:
                If this variable is defined, an environment variable
                named "ver" is created by U-Boot showing the U-Boot
                version as printed by the "version" command.
-               This variable is readonly.
+               Any change to this variable will be reverted at the
+               next reset.
 
 - Real-Time Clock:
 
@@ -925,13 +976,20 @@ The following options need to be configured:
                commands like bootm or iminfo. This option is
                automatically enabled when you select CONFIG_CMD_DATE .
 
-- Partition Support:
-               CONFIG_MAC_PARTITION and/or CONFIG_DOS_PARTITION
-               and/or CONFIG_ISO_PARTITION and/or CONFIG_EFI_PARTITION
+- Partition Labels (disklabels) Supported:
+               Zero or more of the following:
+               CONFIG_MAC_PARTITION   Apple's MacOS partition table.
+               CONFIG_DOS_PARTITION   MS Dos partition table, traditional on the
+                                      Intel architecture, USB sticks, etc.
+               CONFIG_ISO_PARTITION   ISO partition table, used on CDROM etc.
+               CONFIG_EFI_PARTITION   GPT partition table, common when EFI is the
+                                      bootloader.  Note 2TB partition limit; see
+                                      disk/part_efi.c
+               CONFIG_MTD_PARTITIONS  Memory Technology Device partition table.
 
                If IDE or SCSI support is enabled (CONFIG_CMD_IDE or
                CONFIG_CMD_SCSI) you must configure support for at
-               least one partition type as well.
+               least one non-MTD partition type as well.
 
 - IDE Reset method:
                CONFIG_IDE_RESET_ROUTINE - this is defined in several
@@ -1125,6 +1183,9 @@ The following options need to be configured:
                                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
@@ -1241,8 +1302,12 @@ The following options need to be configured:
 
 - 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
@@ -1418,6 +1483,12 @@ The following options need to be configured:
                can be displayed via the splashscreen support or the
                bmp command.
 
+- Do compresssing for memory range:
+               CONFIG_CMD_ZIP
+
+               If this option is set, it would use zlib deflate method
+               to compress the specified memory at its best effort.
+
 - Compression support:
                CONFIG_BZIP2
 
@@ -1571,10 +1642,17 @@ The following options need to be configured:
                CONFIG_BOOTP_NTPSERVER
                CONFIG_BOOTP_TIMEOFFSET
                CONFIG_BOOTP_VENDOREX
+               CONFIG_BOOTP_MAY_FAIL
 
                CONFIG_BOOTP_SERVERIP - TFTP server will be the serverip
                environment variable, not the BOOTP server.
 
+               CONFIG_BOOTP_MAY_FAIL - If the DHCP server is not found
+               after the configured retry count, the call will fail
+               instead of starting over.  This can be used to fail over
+               to Link-local IP address configuration if the DHCP server
+               is not available.
+
                CONFIG_BOOTP_DNS2 - If a DHCP client requests the DNS
                serverip from a DHCP server, it is possible that more
                than one DNS serverip is offered to the client.
@@ -1605,6 +1683,14 @@ The following options need to be configured:
                the DHCP timeout and retry process takes a longer than
                this delay.
 
+ - Link-local IP address negotiation:
+               Negotiate with other link-local clients on the local network
+               for an address that doesn't require explicit configuration.
+               This is especially useful if a DHCP server cannot be guaranteed
+               to exist in all environments that the device must operate.
+
+               See doc/README.link-local for more information.
+
  - CDP Options:
                CONFIG_CDP_DEVICE_ID
 
@@ -2102,6 +2188,13 @@ The following options need to be configured:
 
                Timeout waiting for an ARP reply in milliseconds.
 
+               CONFIG_NFS_TIMEOUT
+
+               Timeout in milliseconds used in NFS protocol.
+               If you encounter "ERROR: Cannot umount" in nfs command,
+               try longer timeout such as
+               #define CONFIG_NFS_TIMEOUT 10000UL
+
 - Command Interpreter:
                CONFIG_AUTO_COMPLETE
 
@@ -2182,6 +2275,20 @@ The following options need to be configured:
                the environment like the "source" command or the
                boot command first.
 
+               CONFIG_ENV_VARS_UBOOT_CONFIG
+
+               Define this in order to add variables describing the
+               U-Boot build configuration to the default environment.
+               These will be named arch, cpu, board, vendor, and soc.
+
+               Enabling this option will cause the following to be defined:
+
+               - CONFIG_SYS_ARCH
+               - CONFIG_SYS_CPU
+               - CONFIG_SYS_BOARD
+               - CONFIG_SYS_VENDOR
+               - CONFIG_SYS_SOC
+
 - DataFlash Support:
                CONFIG_HAS_DATAFLASH
 
@@ -2472,11 +2579,38 @@ FIT uImage format:
                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_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_FRAMEWORK
+               Enable the SPL framework under common/.  This framework
+               supports MMC, NAND and YMODEM loading of U-Boot and NAND
+               NAND loading of the Linux Kernel.
+
+               CONFIG_SPL_DISPLAY_PRINT
+               For ARM, enable an optional function to print more information
+               about the running system.
 
                CONFIG_SPL_LIBCOMMON_SUPPORT
                Support for common/libcommon.o in SPL binary
@@ -2493,6 +2627,45 @@ FIT uImage format:
                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
 
@@ -2502,8 +2675,8 @@ FIT uImage format:
                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_RAM_DEVICE
+               Support for running image already present in ram, in SPL binary
 
                CONFIG_SPL_LIBGENERIC_SUPPORT
                Support for lib/libgeneric.o in SPL binary
@@ -2959,6 +3132,24 @@ to save the current settings.
          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 PCIE 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 or PCIE link,
+but it can not erase, write this NOR flash by SRIO or PCIE interface.
+
 - CONFIG_ENV_IS_IN_NAND:
 
        Define this if you have a NAND device which you want to use
@@ -3237,6 +3428,13 @@ Low Level (hardware related) configuration options:
                Disable PCI-Express on systems where it is supported but not
                required.
 
+- CONFIG_PCI_ENUM_ONLY
+               Only scan through and get the devices on the busses.
+               Don't do any setup work, presumably because someone or
+               something has already done it, and we don't need to do it
+               a second time.  Useful for platforms that are pre-booted
+               by coreboot or similar.
+
 - CONFIG_SYS_SRIO:
                Chip has SRIO or not
 
@@ -3352,11 +3550,6 @@ Low Level (hardware related) configuration options:
                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
@@ -3400,6 +3593,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.
 
+- 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 or PCIE outbound
+       window->master inbound window->master LAW->the ucode address in
+       master's memory space.
 
 Building the Software:
 ======================
@@ -3437,7 +3636,7 @@ is done by typing:
        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
@@ -3492,10 +3691,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
-    "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".
@@ -3561,6 +3758,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
+bootz   - boot zImage from memory
 tftpboot- boot image via network using TFTP protocol
               and env variables "ipaddr" and "serverip"
               (and eventually "gatewayip")
@@ -4381,6 +4579,18 @@ U-Boot supports the following image types:
        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:
 =================