X-Git-Url: https://git.librecmc.org/?p=oweals%2Fu-boot.git;a=blobdiff_plain;f=README;h=bcf19836311143bc93f18af744beaac0e29c4651;hp=7e610a8ebda3a669f0e1f9cb3a7eaeaf0420336c;hb=1099b2abef35c3c887f6afac1a8ef18c7924d5d2;hpb=e0f0657ddf7322999da40fff95dce727e81848c7 diff --git a/README b/README index 7e610a8ebd..bcf1983631 100644 --- 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) @@ -212,7 +212,7 @@ board. This allows feature development which is not board- or architecture- specific to be undertaken on a native platform. The sandbox is also used to run some of U-Boot's tests. -See board/sandbox/README.sandbox for more details. +See doc/arch/index.rst for more details. Board Initialisation Flow: @@ -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//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 */ } @@ -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.