]> git.ipfire.org Git - thirdparty/u-boot.git/blobdiff - README
Merge patch series "zfs: Fix zfs support on aarch64"
[thirdparty/u-boot.git] / README
diff --git a/README b/README
index 5437a1bdc2048638c8f89a69f910aae28f5c53fa..b89768f17917f9bfcf79ad9c462346f6835db639 100644 (file)
--- a/README
+++ b/README
@@ -105,44 +105,6 @@ the string "u_boot" or on "U_BOOT". Example:
        IH_OS_U_BOOT            u_boot_hush_start
 
 
-Directory Hierarchy:
-====================
-
-/arch                  Architecture-specific files
-  /arc                 Files generic to ARC architecture
-  /arm                 Files generic to ARM architecture
-  /m68k                        Files generic to m68k architecture
-  /microblaze          Files generic to microblaze architecture
-  /mips                        Files generic to MIPS architecture
-  /nios2               Files generic to Altera NIOS2 architecture
-  /powerpc             Files generic to PowerPC architecture
-  /riscv               Files generic to RISC-V architecture
-  /sandbox             Files generic to HW-independent "sandbox"
-  /sh                  Files generic to SH architecture
-  /x86                 Files generic to x86 architecture
-  /xtensa              Files generic to Xtensa architecture
-/api                   Machine/arch-independent API for external apps
-/board                 Board-dependent files
-/boot                  Support for images and booting
-/cmd                   U-Boot commands functions
-/common                        Misc architecture-independent functions
-/configs               Board default configuration files
-/disk                  Code for disk drive partition handling
-/doc                   Documentation (a mix of ReST and READMEs)
-/drivers               Device drivers
-/dts                   Makefile for building internal U-Boot fdt.
-/env                   Environment support
-/examples              Example code for standalone applications, etc.
-/fs                    Filesystem code (cramfs, ext2, jffs2, etc.)
-/include               Header Files
-/lib                   Library routines generic to all architectures
-/Licenses              Various license files
-/net                   Networking code
-/post                  Power On Self Test
-/scripts               Various build scripts and Makefiles
-/test                  Various unit test files
-/tools                 Tools to build and sign FIT images, etc.
-
 Software Configuration:
 =======================
 
@@ -324,13 +286,6 @@ The following options need to be configured:
                same as CFG_SYS_DDR_SDRAM_BASE for  all Power SoCs. But
                it could be different for ARM SoCs.
 
-- MIPS CPU options:
-               CONFIG_XWAY_SWAP_BYTES
-
-               Enable compilation of tools/xway-swap-bytes needed for Lantiq
-               XWAY SoCs for booting from NOR flash. The U-Boot image needs to
-               be swapped if a flash programmer is used.
-
 - ARM options:
                CFG_SYS_EXCEPTION_VECTORS_HIGH
 
@@ -345,13 +300,6 @@ The following options need to be configured:
                different from COUNTER_FREQUENCY, and can only be determined
                at run time.
 
-- Tegra SoC options:
-               CONFIG_TEGRA_SUPPORT_NON_SECURE
-
-               Support executing U-Boot in non-secure (NS) mode. Certain
-               impossible actions will be skipped if the CPU is in NS mode,
-               such as ARM architectural timer initialization.
-
 - Linux Kernel Interface:
                CONFIG_OF_LIBFDT
 
@@ -1236,11 +1184,10 @@ The following options need to be configured:
                Support for a lightweight UBI (fastmap) scanner and
                loader
 
-               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,
-               CFG_SYS_NAND_ECCPOS, CFG_SYS_NAND_ECCSIZE,
-               CFG_SYS_NAND_ECCBYTES
+               CONFIG_SYS_NAND_5_ADDR_CYCLE, CONFIG_SYS_NAND_PAGE_SIZE,
+               CONFIG_SYS_NAND_OOBSIZE, CONFIG_SYS_NAND_BLOCK_SIZE,
+               CONFIG_SYS_NAND_BAD_BLOCK_POS, CFG_SYS_NAND_ECCPOS,
+               CFG_SYS_NAND_ECCSIZE, CFG_SYS_NAND_ECCBYTES
                Defines the size and behavior of the NAND that SPL uses
                to read U-Boot
 
@@ -1293,9 +1240,6 @@ typically in board_init_f() and board_init_r().
 Configuration Settings:
 -----------------------
 
-- 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;
                undefine this when you're short of memory.
 
@@ -1326,24 +1270,6 @@ Configuration Settings:
 - CONFIG_SYS_MALLOC_LEN:
                Size of DRAM reserved for malloc() use.
 
-- CONFIG_SYS_MALLOC_F_LEN
-               Size of the malloc() pool for use before relocation. If
-               this is defined, then a very simple malloc() implementation
-               will become available before relocation. The address is just
-               below the global data, and the stack is moved down to make
-               space.
-
-               This feature allocates regions with increasing addresses
-               within the region. calloc() is supported, but realloc()
-               is not available. free() is supported but does nothing.
-               The memory will be freed (or in fact just forgotten) when
-               U-Boot relocates itself.
-
-- CONFIG_SYS_MALLOC_SIMPLE
-               Provides a simple and small malloc() and calloc() for those
-               boards which do not use the full malloc in SPL (which is
-               enabled with CONFIG_SYS_SPL_MALLOC).
-
 - CFG_SYS_BOOTMAPSZ:
                Maximum size of memory mapped by the startup code of
                the Linux kernel; all data that must be processed by
@@ -1608,16 +1534,26 @@ Low Level (hardware related) configuration options:
                globally (CONFIG_CMD_MEMORY).
 
 - CONFIG_SPL_BUILD
-               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.
+               Set when the currently running compilation is for an artifact
+               that will end up in one of the 'xPL' builds, i.e. SPL, TPL or
+               VPL. Code that needs phase-specific behaviour can check this,
+               or (where possible) use spl_phase() instead.
+
+               Note that CONFIG_SPL_BUILD *is* always defined when either
+               of CONFIG_TPL_BUILD / CONFIG_VPL_BUILD is defined. This can be
+               counter-intuitive and should perhaps be changed.
 
 - CONFIG_TPL_BUILD
-               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.
+               Set when the currently running compilation is for an artifact
+               that will end up in the TPL build (as opposed to SPL, VPL or
+               U-Boot proper). Code that needs phase-specific behaviour can
+               check this, or (where possible) use spl_phase() instead.
+
+- CONFIG_VPL_BUILD
+               Set when the currently running compilation is for an artifact
+               that will end up in the VPL build (as opposed to the SPL, TPL
+               or U-Boot proper). Code that needs phase-specific behaviour can
+               check this, or (where possible) use spl_phase() instead.
 
 - CONFIG_ARCH_MAP_SYSMEM
                Generally U-Boot (and in particular the md command) uses
@@ -1848,6 +1784,7 @@ sspi      - SPI utility commands
 base   - print or set address offset
 printenv- print environment variables
 pwm    - control pwm channels
+seama   - load SEAMA NAND image
 setenv - set environment variables
 saveenv - save environment variables to persistent storage
 protect - enable or disable FLASH write protection
@@ -2474,27 +2411,6 @@ Hit 'q':
        [q, b, e, ?] ## Application terminated, rc = 0x0
 
 
-Minicom warning:
-================
-
-Over time, many people have reported problems when trying to use the
-"minicom" terminal emulation program for serial download. I (wd)
-consider minicom to be broken, and recommend not to use it. Under
-Unix, I recommend to use C-Kermit for general purpose use (and
-especially for kermit binary protocol download ("loadb" command), and
-use "cu" for S-Record download ("loads" command).  See
-https://www.denx.de/wiki/view/DULG/SystemSetup#Section_4.3.
-for help with kermit.
-
-
-Nevertheless, if you absolutely want to use it try adding this
-configuration to your "File transfer protocols" section:
-
-          Name    Program                      Name U/D FullScr IO-Red. Multi
-       X  kermit  /usr/bin/kermit -i -l %l -s   Y    U    Y       N      N
-       Y  kermit  /usr/bin/kermit -i -l %l -r   N    D    Y       N      N
-
-
 Implementation Internals:
 =========================
 
@@ -2728,84 +2644,10 @@ running from ROM, and because the code will have to be relocated to a
 new address in RAM.
 
 
-U-Boot Porting Guide:
-----------------------
-
-[Based on messages by Jerry Van Baren in the U-Boot-Users mailing
-list, October 2002]
-
-
-int main(int argc, char *argv[])
-{
-       sighandler_t no_more_time;
-
-       signal(SIGALRM, no_more_time);
-       alarm(PROJECT_DEADLINE - toSec (3 * WEEK));
-
-       if (available_money > available_manpower) {
-               Pay consultant to port U-Boot;
-               return 0;
-       }
-
-       Download latest U-Boot source;
-
-       Subscribe to u-boot mailing list;
-
-       if (clueless)
-               email("Hi, I am new to U-Boot, how do I get started?");
-
-       while (learning) {
-               Read the README file in the top level directory;
-               Read https://www.denx.de/wiki/bin/view/DULG/Manual;
-               Read applicable doc/README.*;
-               Read the source, Luke;
-               /* find . -name "*.[chS]" | xargs grep -i <keyword> */
-       }
-
-       if (available_money > toLocalCurrency ($2500))
-               Buy a BDI3000;
-       else
-               Add a lot of aggravation and time;
-
-       if (a similar board exists) {   /* hopefully... */
-               cp -a board/<similar> board/<myboard>
-               cp include/configs/<similar>.h include/configs/<myboard>.h
-       } else {
-               Create your own board support subdirectory;
-               Create your own board include/configs/<myboard>.h file;
-       }
-       Edit new board/<myboard> files
-       Edit new include/configs/<myboard>.h
-
-       while (!accepted) {
-               while (!running) {
-                       do {
-                               Add / modify source code;
-                       } until (compiles);
-                       Debug;
-                       if (clueless)
-                               email("Hi, I am having problems...");
-               }
-               Send patch file to the U-Boot email list;
-               if (reasonable critiques)
-                       Incorporate improvements from email list code review;
-               else
-                       Defend code as written;
-       }
-
-       return 0;
-}
-
-void no_more_time (int sig)
-{
-      hire_a_guru();
-}
-
-
 Contributing
 ============
 
 The U-Boot projects depends on contributions from the user community.
 If you want to participate, please, have a look at the 'General'
-section of https://u-boot.readthedocs.io/en/latest/develop/index.html
+section of https://docs.u-boot.org/en/latest/develop/index.html
 where we describe coding standards and the patch submission process.