colibri_imx6: fix video stdout in default environment
[oweals/u-boot.git] / README
diff --git a/README b/README
index d2f466e6f6fae82b996db8cc8a329932fe23c666..bcf19836311143bc93f18af744beaac0e29c4651 100644 (file)
--- a/README
+++ b/README
@@ -83,7 +83,7 @@ Where we come from:
   * Provide extended interface to Linux boot loader
   * S-Record download
   * network boot
-  * PCMCIA / CompactFlash / ATA disk / SCSI ... boot
+  * ATA disk / SCSI ... boot
 - create ARMBoot project (http://sourceforge.net/projects/armboot)
 - add other CPU families (starting with ARM)
 - create U-Boot project (http://sourceforge.net/projects/u-boot)
@@ -267,6 +267,13 @@ board_init_f():
        - preloader_console_init() can be called here in extremis
        - should set up SDRAM, and anything needed to make the UART work
        - these is no need to clear BSS, it will be done by crt0.S
+       - for specific scenarios on certain architectures an early BSS *can*
+         be made available (via CONFIG_SPL_EARLY_BSS by moving the clearing
+         of BSS prior to entering board_init_f()) but doing so is discouraged.
+         Instead it is strongly recommended to architect any code changes
+         or additions such to not depend on the availability of BSS during
+         board_init_f() as indicated in other sections of this README to
+         maintain compatibility and consistency across the entire code base.
        - must return normally from this function (don't call board_init_r()
                directly)
 
@@ -889,8 +896,6 @@ The following options need to be configured:
 
                CONFIG_TULIP
                Support for Digital 2114x chips.
-               Optional CONFIG_TULIP_SELECT_MEDIA for board specific
-               modem chip initialisation (KS8761/QS6611).
 
                CONFIG_NATSEMI
                Support for National dp83815 chips.
@@ -1325,21 +1330,6 @@ The following options need to be configured:
                can be displayed via the splashscreen support or the
                bmp command.
 
-- Compression support:
-               CONFIG_GZIP
-
-               Enabled by default to support gzip compressed images.
-
-               CONFIG_BZIP2
-
-               If this option is set, support for bzip2 compressed
-               images is included. If not, only uncompressed and gzip
-               compressed images are supported.
-
-               NOTE: the bzip2 algorithm requires a lot of RAM, so
-               the malloc area (as defined by CONFIG_SYS_MALLOC_LEN) should
-               be at least 4MB.
-
 - MII/PHY support:
                CONFIG_PHY_CLOCK_FREQ (ppc4xx)
 
@@ -1562,14 +1552,6 @@ The following options need to be configured:
 
                This enable the NEW i2c subsystem, and will allow you to use
                i2c commands at the u-boot command line (as long as you set
-               CONFIG_CMD_I2C in CONFIG_COMMANDS) and communicate with i2c
-               based realtime clock chips or other i2c devices. See
-               common/cmd_i2c.c for a description of the command line
-               interface.
-
-               ported i2c driver to the new framework:
-               - drivers/i2c/soft_i2c.c:
-                 - activate first bus with CONFIG_SYS_I2C_SOFT define
                    CONFIG_SYS_I2C_SOFT_SPEED and CONFIG_SYS_I2C_SOFT_SLAVE
                    for defining speed and slave address
                  - activate second bus with I2C_SOFT_DECLARATIONS2 define
@@ -1625,16 +1607,6 @@ The following options need to be configured:
                  - activate this driver with CONFIG_SYS_I2C_RCAR
                  - This driver adds 4 i2c buses
 
-                 - CONFIG_SYS_RCAR_I2C0_BASE for setting the register channel 0
-                 - CONFIG_SYS_RCAR_I2C0_SPEED for for the speed channel 0
-                 - CONFIG_SYS_RCAR_I2C1_BASE for setting the register channel 1
-                 - CONFIG_SYS_RCAR_I2C1_SPEED for for the speed channel 1
-                 - CONFIG_SYS_RCAR_I2C2_BASE for setting the register channel 2
-                 - CONFIG_SYS_RCAR_I2C2_SPEED for for the speed channel 2
-                 - CONFIG_SYS_RCAR_I2C3_BASE for setting the register channel 3
-                 - CONFIG_SYS_RCAR_I2C3_SPEED for for the speed channel 3
-                 - CONFIF_SYS_RCAR_I2C_NUM_CONTROLLERS for number of i2c buses
-
                - drivers/i2c/sh_i2c.c:
                  - activate this driver with CONFIG_SYS_I2C_SH
                  - This driver adds from 2 to 5 i2c buses
@@ -2134,171 +2106,6 @@ The following options need to be configured:
                A better solution is to properly configure the firewall,
                but sometimes that is not allowed.
 
-- Show boot progress:
-               CONFIG_SHOW_BOOT_PROGRESS
-
-               Defining this option allows to add some board-
-               specific code (calling a user-provided function
-               "show_boot_progress(int)") that enables you to show
-               the system's boot progress on some display (for
-               example, some LED's) on your board. At the moment,
-               the following checkpoints are implemented:
-
-
-Legacy uImage format:
-
-  Arg  Where                   When
-    1  common/cmd_bootm.c      before attempting to boot an image
-   -1  common/cmd_bootm.c      Image header has bad     magic number
-    2  common/cmd_bootm.c      Image header has correct magic number
-   -2  common/cmd_bootm.c      Image header has bad     checksum
-    3  common/cmd_bootm.c      Image header has correct checksum
-   -3  common/cmd_bootm.c      Image data   has bad     checksum
-    4  common/cmd_bootm.c      Image data   has correct checksum
-   -4  common/cmd_bootm.c      Image is for unsupported architecture
-    5  common/cmd_bootm.c      Architecture check OK
-   -5  common/cmd_bootm.c      Wrong Image Type (not kernel, multi)
-    6  common/cmd_bootm.c      Image Type check OK
-   -6  common/cmd_bootm.c      gunzip uncompression error
-   -7  common/cmd_bootm.c      Unimplemented compression type
-    7  common/cmd_bootm.c      Uncompression OK
-    8  common/cmd_bootm.c      No uncompress/copy overwrite error
-   -9  common/cmd_bootm.c      Unsupported OS (not Linux, BSD, VxWorks, QNX)
-
-    9  common/image.c          Start initial ramdisk verification
-  -10  common/image.c          Ramdisk header has bad     magic number
-  -11  common/image.c          Ramdisk header has bad     checksum
-   10  common/image.c          Ramdisk header is OK
-  -12  common/image.c          Ramdisk data   has bad     checksum
-   11  common/image.c          Ramdisk data   has correct checksum
-   12  common/image.c          Ramdisk verification complete, start loading
-  -13  common/image.c          Wrong Image Type (not PPC Linux ramdisk)
-   13  common/image.c          Start multifile image verification
-   14  common/image.c          No initial ramdisk, no multifile, continue.
-
-   15  arch/<arch>/lib/bootm.c All preparation done, transferring control to OS
-
-  -30  arch/powerpc/lib/board.c        Fatal error, hang the system
-  -31  post/post.c             POST test failed, detected by post_output_backlog()
-  -32  post/post.c             POST test failed, detected by post_run_single()
-
-   34  common/cmd_doc.c        before loading a Image from a DOC device
-  -35  common/cmd_doc.c        Bad usage of "doc" command
-   35  common/cmd_doc.c        correct usage of "doc" command
-  -36  common/cmd_doc.c        No boot device
-   36  common/cmd_doc.c        correct boot device
-  -37  common/cmd_doc.c        Unknown Chip ID on boot device
-   37  common/cmd_doc.c        correct chip ID found, device available
-  -38  common/cmd_doc.c        Read Error on boot device
-   38  common/cmd_doc.c        reading Image header from DOC device OK
-  -39  common/cmd_doc.c        Image header has bad magic number
-   39  common/cmd_doc.c        Image header has correct magic number
-  -40  common/cmd_doc.c        Error reading Image from DOC device
-   40  common/cmd_doc.c        Image header has correct magic number
-   41  common/cmd_ide.c        before loading a Image from a IDE device
-  -42  common/cmd_ide.c        Bad usage of "ide" command
-   42  common/cmd_ide.c        correct usage of "ide" command
-  -43  common/cmd_ide.c        No boot device
-   43  common/cmd_ide.c        boot device found
-  -44  common/cmd_ide.c        Device not available
-   44  common/cmd_ide.c        Device available
-  -45  common/cmd_ide.c        wrong partition selected
-   45  common/cmd_ide.c        partition selected
-  -46  common/cmd_ide.c        Unknown partition table
-   46  common/cmd_ide.c        valid partition table found
-  -47  common/cmd_ide.c        Invalid partition type
-   47  common/cmd_ide.c        correct partition type
-  -48  common/cmd_ide.c        Error reading Image Header on boot device
-   48  common/cmd_ide.c        reading Image Header from IDE device OK
-  -49  common/cmd_ide.c        Image header has bad magic number
-   49  common/cmd_ide.c        Image header has correct magic number
-  -50  common/cmd_ide.c        Image header has bad     checksum
-   50  common/cmd_ide.c        Image header has correct checksum
-  -51  common/cmd_ide.c        Error reading Image from IDE device
-   51  common/cmd_ide.c        reading Image from IDE device OK
-   52  common/cmd_nand.c       before loading a Image from a NAND device
-  -53  common/cmd_nand.c       Bad usage of "nand" command
-   53  common/cmd_nand.c       correct usage of "nand" command
-  -54  common/cmd_nand.c       No boot device
-   54  common/cmd_nand.c       boot device found
-  -55  common/cmd_nand.c       Unknown Chip ID on boot device
-   55  common/cmd_nand.c       correct chip ID found, device available
-  -56  common/cmd_nand.c       Error reading Image Header on boot device
-   56  common/cmd_nand.c       reading Image Header from NAND device OK
-  -57  common/cmd_nand.c       Image header has bad magic number
-   57  common/cmd_nand.c       Image header has correct magic number
-  -58  common/cmd_nand.c       Error reading Image from NAND device
-   58  common/cmd_nand.c       reading Image from NAND device OK
-
-  -60  common/env_common.c     Environment has a bad CRC, using default
-
-   64  net/eth.c               starting with Ethernet configuration.
-  -64  net/eth.c               no Ethernet found.
-   65  net/eth.c               Ethernet found.
-
-  -80  common/cmd_net.c        usage wrong
-   80  common/cmd_net.c        before calling net_loop()
-  -81  common/cmd_net.c        some error in net_loop() occurred
-   81  common/cmd_net.c        net_loop() 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 "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:
-
-  Arg  Where                   When
-  100  common/cmd_bootm.c      Kernel FIT Image has correct format
- -100  common/cmd_bootm.c      Kernel FIT Image has incorrect format
-  101  common/cmd_bootm.c      No Kernel subimage unit name, using configuration
- -101  common/cmd_bootm.c      Can't get configuration for kernel subimage
-  102  common/cmd_bootm.c      Kernel unit name specified
- -103  common/cmd_bootm.c      Can't get kernel subimage node offset
-  103  common/cmd_bootm.c      Found configuration node
-  104  common/cmd_bootm.c      Got kernel subimage node offset
- -104  common/cmd_bootm.c      Kernel subimage hash verification failed
-  105  common/cmd_bootm.c      Kernel subimage hash verification OK
- -105  common/cmd_bootm.c      Kernel subimage is for unsupported architecture
-  106  common/cmd_bootm.c      Architecture check OK
- -106  common/cmd_bootm.c      Kernel subimage has wrong type
-  107  common/cmd_bootm.c      Kernel subimage type OK
- -107  common/cmd_bootm.c      Can't get kernel subimage data/size
-  108  common/cmd_bootm.c      Got kernel subimage data/size
- -108  common/cmd_bootm.c      Wrong image type (not legacy, FIT)
- -109  common/cmd_bootm.c      Can't get kernel subimage type
- -110  common/cmd_bootm.c      Can't get kernel subimage comp
- -111  common/cmd_bootm.c      Can't get kernel subimage os
- -112  common/cmd_bootm.c      Can't get kernel subimage load address
- -113  common/cmd_bootm.c      Image uncompress/copy overwrite error
-
-  120  common/image.c          Start initial ramdisk verification
- -120  common/image.c          Ramdisk FIT image has incorrect format
-  121  common/image.c          Ramdisk FIT image has correct format
-  122  common/image.c          No ramdisk subimage unit name, using configuration
- -122  common/image.c          Can't get configuration for ramdisk subimage
-  123  common/image.c          Ramdisk unit name specified
- -124  common/image.c          Can't get ramdisk subimage node offset
-  125  common/image.c          Got ramdisk subimage node offset
- -125  common/image.c          Ramdisk subimage hash verification failed
-  126  common/image.c          Ramdisk subimage hash verification OK
- -126  common/image.c          Ramdisk subimage for unsupported architecture
-  127  common/image.c          Architecture check OK
- -127  common/image.c          Can't get ramdisk subimage data/size
-  128  common/image.c          Got ramdisk subimage data/size
-  129  common/image.c          Can't get ramdisk load address
- -129  common/image.c          Got ramdisk load address
-
- -130  common/cmd_doc.c        Incorrect FIT image format
-  131  common/cmd_doc.c        FIT image format OK
-
- -140  common/cmd_ide.c        Incorrect FIT image format
-  141  common/cmd_ide.c        FIT image format OK
-
- -150  common/cmd_nand.c       Incorrect FIT image format
-  151  common/cmd_nand.c       FIT image format OK
-
-- Standalone program support:
                CONFIG_STANDALONE_LOAD_ADDR
 
                This option defines a board specific value for the
@@ -2618,7 +2425,7 @@ typically in board_init_f() and board_init_r().
 Configuration Settings:
 -----------------------
 
-- CONFIG_SYS_SUPPORT_64BIT_DATA: Defined automatically if compiled as 64-bit.
+- MEM_SUPPORT_64BIT_DATA: Defined automatically if compiled as 64-bit.
                Optionally it can be defined to support 64-bit memory commands.
 
 - CONFIG_SYS_LONGHELP: Defined when you want long help messages included;
@@ -2643,14 +2450,6 @@ Configuration Settings:
 - CONFIG_SYS_BAUDRATE_TABLE:
                List of legal baudrate settings for this board.
 
-- CONFIG_SYS_MEMTEST_START, CONFIG_SYS_MEMTEST_END:
-               Begin and End addresses of the area used by the
-               simple memory test.
-
-- CONFIG_SYS_MEMTEST_SCRATCH:
-               Scratch address used by the alternate memory test
-               You only need to set this if address zero isn't writeable
-
 - CONFIG_SYS_MEM_RESERVE_SECURE
                Only implemented for ARMv8 for now.
                If defined, the size of CONFIG_SYS_MEM_RESERVE_SECURE memory
@@ -2907,10 +2706,6 @@ Configuration Settings:
        regular expression. This allows multiple variables to define the same
        flags without explicitly listing them for each variable.
 
-- CONFIG_ENV_ACCESS_IGNORE_FORCE
-       If defined, don't allow the -f switch to env set override variable
-       access flags.
-
 The following definitions that deal with the placement and management
 of environment data (variable area); in general, we support the
 following configurations:
@@ -3028,32 +2823,6 @@ Low Level (hardware related) configuration options:
                If this macro is defined, then CONFIG_SYS_CCSRBAR_PHYS will be
                forced to a value that ensures that CCSR is not relocated.
 
-- Floppy Disk Support:
-               CONFIG_SYS_FDC_DRIVE_NUMBER
-
-               the default drive number (default value 0)
-
-               CONFIG_SYS_ISA_IO_STRIDE
-
-               defines the spacing between FDC chipset registers
-               (default value 1)
-
-               CONFIG_SYS_ISA_IO_OFFSET
-
-               defines the offset of register from address. It
-               depends on which part of the data bus is connected to
-               the FDC chipset. (default value 0)
-
-               If CONFIG_SYS_ISA_IO_STRIDE CONFIG_SYS_ISA_IO_OFFSET and
-               CONFIG_SYS_FDC_DRIVE_NUMBER are undefined, they take their
-               default value.
-
-               if CONFIG_SYS_FDC_HW_INIT is defined, then the function
-               fdc_hw_init() is called at the beginning of the FDC
-               setup. fdc_hw_init() must be provided by the board
-               source code. It is used to make hardware-dependent
-               initializations.
-
 - CONFIG_IDE_AHB:
                Most IDE controllers were designed to be connected with PCI
                interface. Only few of them were designed for AHB interface.
@@ -3141,7 +2910,7 @@ Low Level (hardware related) configuration options:
 - CONFIG_SYS_SRIOn_MEM_VIRT:
                Virtual Address of SRIO port 'n' memory region
 
-- CONFIG_SYS_SRIOn_MEM_PHYS:
+- CONFIG_SYS_SRIOn_MEM_PHYxS:
                Physical Address of SRIO port 'n' memory region
 
 - CONFIG_SYS_SRIOn_MEM_SIZE:
@@ -3209,7 +2978,7 @@ Low Level (hardware related) configuration options:
                Add the "loopw" memory command. This only takes effect if
                the memory commands are activated globally (CONFIG_CMD_MEMORY).
 
-- CONFIG_MX_CYCLIC
+- CONFIG_CMD_MX_CYCLIC
                Add the "mdc" and "mwc" memory commands. These are cyclic
                "md/mw" commands.
                Examples:
@@ -3240,14 +3009,16 @@ Low Level (hardware related) configuration options:
                instruction cache) is still performed.
 
 - CONFIG_SPL_BUILD
-               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.
+               Set when the currently-running compilation is for an artifact
+               that will end up in the SPL (as opposed to the TPL or U-Boot
+               proper). Code that needs stage-specific behavior should check
+               this.
 
 - CONFIG_TPL_BUILD
-               Modifies the behaviour of start.S  when compiling a loader
-               that is executed after the SPL and before the actual U-Boot.
-               It is loaded by the SPL.
+               Set when the currently-running compilation is for an artifact
+               that will end up in the TPL (as opposed to the SPL or U-Boot
+               proper). Code that needs stage-specific behavior should check
+               this.
 
 - CONFIG_SYS_MPC85XX_NO_RESETVEC
                Only for 85xx systems. If this variable is specified, the section
@@ -3368,16 +3139,6 @@ 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:
@@ -3385,9 +3146,9 @@ is done by typing:
        make NAME_defconfig
 
 where "NAME_defconfig" is the name of one of the existing configu-
-rations; see boards.cfg for supported names.
+rations; see configs/*_defconfig for supported names.
 
-Note: for some board special configuration names may exist; check if
+Note: for some boards special configuration names may exist; check if
       additional information is available from the board vendor; for
       instance, the TQM823L systems are available without (standard)
       or with LCD support. You can select such additional "features"
@@ -3464,7 +3225,7 @@ Testing of U-Boot Modifications, Ports to New Hardware, etc.:
 If you have modified U-Boot sources (for instance added a new board
 or support for new devices, a new CPU, etc.) you are expected to
 provide feedback to the other developers. The feedback normally takes
-the form of a "patch", i. e. a context diff against a certain (latest
+the form of a "patch", i.e. a context diff against a certain (latest
 official or latest in the git repository) version of U-Boot sources.
 
 But before you submit such a patch, please verify that your modifi-
@@ -3586,6 +3347,8 @@ List of environment variables (most likely not complete):
                  allowed for use by the bootm command. See also "bootm_low"
                  environment variable.
 
+  bootstopkeysha256, bootdelaykey, bootstopkey - See README.autoboot
+
   updatefile   - Location of the software update file on a TFTP server, used
                  by the automatic software update feature. Please refer to
                  documentation in doc/README.update for more details.
@@ -4819,7 +4582,7 @@ int main(int argc, char *argv[])
        while (learning) {
                Read the README file in the top level directory;
                Read http://www.denx.de/twiki/bin/view/DULG/Manual;
-               Read applicable doc/*.README;
+               Read applicable doc/README.*;
                Read the source, Luke;
                /* find . -name "*.[chS]" | xargs grep -i <keyword> */
        }
@@ -4914,8 +4677,6 @@ it:
 * For new features: a description of the feature and your
   implementation.
 
-* A CHANGELOG entry as plaintext (separate from the patch)
-
 * For major contributions, add a MAINTAINERS file with your
   information and associated file and directory references.