]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - README
imx: hab: Check if CSF contains deprecated commands
[people/ms/u-boot.git] / README
diff --git a/README b/README
index 8d5ff6ebbd60edc41796f7a4665b3c8efc99a1bf..fabd532623924bbdf1a32d471b8862e5e5c2e36c 100644 (file)
--- a/README
+++ b/README
@@ -143,6 +143,7 @@ Directory Hierarchy:
   /nios2               Files generic to Altera NIOS2 architecture
   /openrisc            Files generic to OpenRISC 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
@@ -312,6 +313,19 @@ Many of the options are named exactly as the corresponding Linux
 kernel configuration options. The intention is to make it easier to
 build a config tool - later.
 
+- ARM Platform Bus Type(CCI):
+               CoreLink Cache Coherent Interconnect (CCI) is ARM BUS which
+               provides full cache coherency between two clusters of multi-core
+               CPUs and I/O coherency for devices and I/O masters
+
+               CONFIG_SYS_FSL_HAS_CCI400
+
+               Defined For SoC that has cache coherent interconnect
+               CCN-400
+
+               CONFIG_SYS_FSL_HAS_CCN504
+
+               Defined for SoC that has cache coherent interconnect CCN-504
 
 The following options need to be configured:
 
@@ -404,12 +418,6 @@ The following options need to be configured:
                supported, core will start to execute uboot when wakes up.
 
 - Generic CPU options:
-               CONFIG_SYS_GENERIC_GLOBAL_DATA
-               Defines global data is initialized in generic board board_init_f().
-               If this macro is defined, global data is created and cleared in
-               generic board board_init_f(). Without this macro, architecture/board
-               should initialize global data before calling board_init_f().
-
                CONFIG_SYS_BIG_ENDIAN, CONFIG_SYS_LITTLE_ENDIAN
 
                Defines the endianess of the CPU. Implementation of those
@@ -699,11 +707,6 @@ The following options need to be configured:
                when no character is read on the console interface
                within "Boot Delay" after reset.
 
-               CONFIG_BOOTARGS
-               This can be used to pass arguments to the bootm
-               command. The value of CONFIG_BOOTARGS goes into the
-               environment value "bootargs".
-
                CONFIG_RAMBOOT and CONFIG_NFSBOOT
                The value of these goes into the environment as
                "ramboot" and "nfsboot" respectively, and can be used
@@ -711,11 +714,6 @@ The following options need to be configured:
                RAM and NFS.
 
 - Bootcount:
-               CONFIG_BOOTCOUNT_LIMIT
-               Implements a mechanism for detecting a repeating reboot
-               cycle, see:
-               http://www.denx.de/wiki/view/DULG/UBootBootCountLimit
-
                CONFIG_BOOTCOUNT_ENV
                If no softreset save registers are found on the hardware
                "bootcount" is stored in the environment. To prevent a
@@ -756,110 +754,6 @@ The following options need to be configured:
                Select one of the baudrates listed in
                CONFIG_SYS_BAUDRATE_TABLE, see below.
 
-- 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 adding #define's for wanted commands.
-
-               The default command configuration includes all commands
-               except those marked below with a "*".
-
-               CONFIG_CMD_AES            AES 128 CBC encrypt/decrypt
-               CONFIG_CMD_ASKENV       * ask for env variable
-               CONFIG_CMD_BDI            bdinfo
-               CONFIG_CMD_BOOTD          bootd
-               CONFIG_CMD_BOOTI        * ARM64 Linux kernel Image support
-               CONFIG_CMD_CACHE        * icache, dcache
-               CONFIG_CMD_CONSOLE        coninfo
-               CONFIG_CMD_DHCP         * DHCP support
-               CONFIG_CMD_DIAG         * Diagnostics
-               CONFIG_CMD_ECHO           echo arguments
-               CONFIG_CMD_EDITENV        edit env variable
-               CONFIG_CMD_ELF          * bootelf, bootvx
-               CONFIG_CMD_ENV_EXISTS   * check existence of env variable
-               CONFIG_CMD_EXPORTENV    * export the environment
-               CONFIG_CMD_EXT2         * ext2 command support
-               CONFIG_CMD_EXT4         * ext4 command support
-               CONFIG_CMD_FS_GENERIC   * filesystem commands (e.g. load, ls)
-                                         that work for multiple fs types
-               CONFIG_CMD_FS_UUID      * Look up a filesystem UUID
-               CONFIG_CMD_SAVEENV        saveenv
-               CONFIG_CMD_FLASH          flinfo, erase, protect
-               CONFIG_CMD_FPGA           FPGA device initialization support
-               CONFIG_CMD_GO           * the 'go' command (exec code)
-               CONFIG_CMD_GREPENV      * search environment
-               CONFIG_CMD_I2C          * I2C serial bus support
-               CONFIG_CMD_IMI            iminfo
-               CONFIG_CMD_IMLS           List all images found in NOR flash
-               CONFIG_CMD_IMLS_NAND    * List all images found in NAND flash
-               CONFIG_CMD_IMPORTENV    * import an environment
-               CONFIG_CMD_INI          * import data from an ini file into the env
-               CONFIG_CMD_ITEST          Integer/string test of 2 values
-               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
-                                         (requires CONFIG_CMD_MEMORY and CONFIG_MD5)
-               CONFIG_CMD_MEMINFO      * Display detailed memory information
-               CONFIG_CMD_MEMORY         md, mm, nm, mw, cp, cmp, crc, base,
-                                         loop, loopw
-               CONFIG_CMD_MEMTEST      * mtest
-               CONFIG_CMD_MISC           Misc functions like sleep etc
-               CONFIG_CMD_MMC          * MMC memory mapped support
-               CONFIG_CMD_MII          * MII utility commands
-               CONFIG_CMD_NET            bootp, tftpboot, rarpboot
-               CONFIG_CMD_NFS            NFS support
-               CONFIG_CMD_PCA953X      * PCA953x I2C gpio commands
-               CONFIG_CMD_PCA953X_INFO * PCA953x I2C gpio info command
-               CONFIG_CMD_PCI          * pciinfo
-               CONFIG_CMD_PCMCIA               * PCMCIA support
-               CONFIG_CMD_PING         * send ICMP ECHO_REQUEST to network
-                                         host
-               CONFIG_CMD_PORTIO       * Port I/O
-               CONFIG_CMD_READ         * Read raw data from partition
-               CONFIG_CMD_REGINFO      * Register dump
-               CONFIG_CMD_RUN            run command in env variable
-               CONFIG_CMD_SANDBOX      * sb command to access sandbox features
-               CONFIG_CMD_SAVES        * save S record dump
-               CONFIG_CMD_SDRAM        * print SDRAM configuration information
-                                         (requires CONFIG_CMD_I2C)
-               CONFIG_CMD_SF           * Read/write/erase SPI NOR flash
-               CONFIG_CMD_SOFTSWITCH   * Soft switch setting command for BF60x
-               CONFIG_CMD_SOURCE         "source" command Support
-               CONFIG_CMD_SPI          * SPI serial bus support
-               CONFIG_CMD_TFTPSRV      * TFTP transfer in server mode
-               CONFIG_CMD_TFTPPUT      * TFTP put command (upload)
-               CONFIG_CMD_TIME         * run command and report execution time (ARM specific)
-               CONFIG_CMD_TIMER        * access to the system tick timer
-               CONFIG_CMD_USB          * USB support
-               CONFIG_CMD_CDP          * Cisco Discover Protocol support
-               CONFIG_CMD_XIMG           Load part of Multi Image
-               CONFIG_CMD_UUID         * Generate random UUID or GUID string
-
-               EXAMPLE: If you want all functions except of network
-               support you can write:
-
-               #include "config_cmd_all.h"
-               #undef CONFIG_CMD_NET
-
-       Other Commands:
-               fdt (flattened device tree) command: CONFIG_OF_LIBFDT
-
-       Note:   Don't enable the "icache" and "dcache" commands
-               (configuration option CONFIG_CMD_CACHE) unless you know
-               what you (and your U-Boot users) are doing. Data
-               cache cannot be enabled on systems like the
-               8xx (where accesses to the IMMR region must be
-               uncached), and it cannot be disabled on all other
-               systems where we (mis-) use the data cache to hold an
-               initial stack and some data.
-
-
-               XXX - this list needs to get updated!
-
 - Removal of commands
                If no commands are needed to boot, you can disable
                CONFIG_CMDLINE to remove them. In this case, the command line
@@ -891,7 +785,7 @@ The following options need to be configured:
                binary in its image. This device tree file should be in the
                board directory and called <soc>-<board>.dts. The binary file
                is then picked up in board_init_f() and made available through
-               the global data structure as gd->blob.
+               the global data structure as gd->fdt_blob.
 
                CONFIG_OF_SEPARATE
                If this variable is defined, U-Boot will build a device tree
@@ -1061,10 +955,6 @@ The following options need to be configured:
                Allow generic access to the SPI bus on the Intel 8257x, for
                example with the "sspi" command.
 
-               CONFIG_CMD_E1000
-               Management command for E1000 devices.  When used on devices
-               with SPI support you can reprogram the EEPROM from U-Boot.
-
                CONFIG_EEPRO100
                Support for Intel 82557/82559/82559ER chips.
                Optional CONFIG_EEPRO100_SROM_WRITE enables EEPROM
@@ -1134,21 +1024,6 @@ The following options need to be configured:
                        control registers. This behavior won't affect the
                        correctnessof 10/100 link speed update.
 
-               CONFIG_SMC911X
-               Support for SMSC's LAN911x and LAN921x chips
-
-                       CONFIG_SMC911X_BASE
-                       Define this to hold the physical address
-                       of the device (I/O space)
-
-                       CONFIG_SMC911X_32_BIT
-                       Define this if data bus is 32 bits
-
-                       CONFIG_SMC911X_16_BIT
-                       Define this if data bus is 16 bits. If your processor
-                       automatically converts one 32 bit word to two 16 bit
-                       words you may also try CONFIG_SMC911X_32_BIT.
-
                CONFIG_SH_ETHER
                Support for Renesas on-chip Ethernet controller
 
@@ -1199,11 +1074,6 @@ The following options need to be configured:
                        to. Contemporary x86 systems usually map it at
                        0xfed40000.
 
-               CONFIG_CMD_TPM
-               Add tpm monitor functions.
-               Requires CONFIG_TPM. If CONFIG_TPM_AUTH_SESSIONS is set, also
-               provides monitor access to authorized functions.
-
                CONFIG_TPM
                Define this to enable the TPM support library which provides
                functional interfaces to some TPM commands.
@@ -1331,12 +1201,6 @@ The following options need to be configured:
                CONFIG_USB_FUNCTION_DFU
                This enables the USB portion of the DFU USB class
 
-               CONFIG_CMD_DFU
-               This enables the command "dfu" which is used to have
-               U-Boot create a DFU class device via USB.  This command
-               requires that the "dfu_alt_info" environment variable be
-               set and define the alt settings to expose to the host.
-
                CONFIG_DFU_MMC
                This enables support for exposing (e)MMC devices via DFU.
 
@@ -1372,57 +1236,6 @@ The following options need to be configured:
                entering dfuMANIFEST state. Host waits this timeout, before
                sending again an USB request to the device.
 
-- USB Device Android Fastboot support:
-               CONFIG_USB_FUNCTION_FASTBOOT
-               This enables the USB part of the fastboot gadget
-
-               CONFIG_CMD_FASTBOOT
-               This enables the command "fastboot" which enables the Android
-               fastboot mode for the platform's USB device. Fastboot is a USB
-               protocol for downloading images, flashing and device control
-               used on Android devices.
-               See doc/README.android-fastboot for more information.
-
-               CONFIG_ANDROID_BOOT_IMAGE
-               This enables support for booting images which use the Android
-               image format header.
-
-               CONFIG_FASTBOOT_BUF_ADDR
-               The fastboot protocol requires a large memory buffer for
-               downloads. Define this to the starting RAM address to use for
-               downloaded images.
-
-               CONFIG_FASTBOOT_BUF_SIZE
-               The fastboot protocol requires a large memory buffer for
-               downloads. This buffer should be as large as possible for a
-               platform. Define this to the size available RAM for fastboot.
-
-               CONFIG_FASTBOOT_FLASH
-               The fastboot protocol includes a "flash" command for writing
-               the downloaded image to a non-volatile storage device. Define
-               this to enable the "fastboot flash" command.
-
-               CONFIG_FASTBOOT_FLASH_MMC_DEV
-               The fastboot "flash" command requires additional information
-               regarding the non-volatile storage device. Define this to
-               the eMMC device that fastboot should use to store the image.
-
-               CONFIG_FASTBOOT_GPT_NAME
-               The fastboot "flash" command supports writing the downloaded
-               image to the Protective MBR and the Primary GUID Partition
-               Table. (Additionally, this downloaded image is post-processed
-               to generate and write the Backup GUID Partition Table.)
-               This occurs when the specified "partition name" on the
-               "fastboot flash" command line matches this value.
-               The default is "gpt" if undefined.
-
-               CONFIG_FASTBOOT_MBR_NAME
-               The fastboot "flash" command supports writing the downloaded
-               image to DOS MBR.
-               This occurs when the "partition name" specified on the
-               "fastboot flash" command line matches this value.
-               If not defined the default value "mbr" is used.
-
 - Journaling Flash filesystem support:
                CONFIG_JFFS2_NAND
                Define these for a default partition on a NAND device
@@ -1786,6 +1599,15 @@ The following options need to be configured:
 
                See doc/README.link-local for more information.
 
+ - MAC address from environment variables
+
+               FDT_SEQ_MACADDR_FROM_ENV
+
+               Fix-up device tree with MAC addresses fetched sequentially from
+               environment variables. This config work on assumption that
+               non-usable ethernet node of device-tree are either not present
+               or their status has been marked as "disabled".
+
  - CDP Options:
                CONFIG_CDP_DEVICE_ID
 
@@ -2174,11 +1996,6 @@ The following options need to be configured:
                SPI EEPROM, also an instance works with Crystal A/D and
                D/As on the SACSng board)
 
-               CONFIG_SH_SPI
-
-               Enables the driver for SPI controller on SuperH. Currently
-               only SH7757 is supported.
-
                CONFIG_SOFT_SPI
 
                Enables a software (bit-bang) SPI driver rather than
@@ -2197,11 +2014,6 @@ The following options need to be configured:
                Currently supported on some MPC8xxx processors.  For an
                example, see include/configs/mpc8349emds.h.
 
-               CONFIG_MXC_SPI
-
-               Enables the driver for the SPI controllers on i.MX and MXC
-               SoCs. Currently i.MX31/35/51 are supported.
-
                CONFIG_SYS_SPI_MXC_WAIT
                Timeout for waiting until spi transfer completed.
                default: (CONFIG_SYS_HZ/100)     /* 10 ms */
@@ -2351,16 +2163,6 @@ The following options need to be configured:
                currently only supports clearing the memory.
 
 - Error Recovery:
-               CONFIG_PANIC_HANG
-
-               Define this variable to stop the system in case of a
-               fatal error, so that you have to reset it manually.
-               This is probably NOT a good idea for an embedded
-               system where you want the system to reboot
-               automatically as fast as possible, but it may be
-               useful during development since you can try to debug
-               the conditions that lead to the situation.
-
                CONFIG_NET_RETRY_COUNT
 
                This variable defines the number of retries for
@@ -2480,20 +2282,8 @@ The following options need to be configured:
                this is instead controlled by the value of
                /config/load-environment.
 
-- DataFlash Support:
-               CONFIG_HAS_DATAFLASH
-
-               Defining this option enables DataFlash features and
-               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
+               Usage requires an initial 'sf probe' to define the serial
                flash parameters, followed by read/write/erase/update
                commands.
 
@@ -2506,24 +2296,6 @@ The following options need to be configured:
                CONFIG_SF_DEFAULT_MODE          (see include/spi.h)
                CONFIG_SF_DEFAULT_SPEED         in Hz
 
-               CONFIG_CMD_SF_TEST
-
-               Define this option to include a destructive SPI flash
-               test ('sf test').
-
-- SystemACE Support:
-               CONFIG_SYSTEMACE
-
-               Adding this option adds support for Xilinx SystemACE
-               chips attached via some sort of local bus. The address
-               of the chip must also be defined in the
-               CONFIG_SYS_SYSTEMACE_BASE macro. For example:
-
-               #define CONFIG_SYSTEMACE
-               #define CONFIG_SYS_SYSTEMACE_BASE 0xf0000000
-
-               When SystemACE support is added, the "ace" device type
-               becomes available to the fat commands, i.e. fatls.
 
 - TFTP Fixed UDP Port:
                CONFIG_TFTP_PORT
@@ -2546,11 +2318,6 @@ The following options need to be configured:
                but sometimes that is not allowed.
 
 - bootcount support:
-               CONFIG_BOOTCOUNT_LIMIT
-
-               This enables the bootcounter support, see:
-               http://www.denx.de/wiki/DULG/UBootBootCountLimit
-
                CONFIG_AT91SAM9XE
                enable special bootcounter support on at91sam9xe based boards.
                CONFIG_SOC_DA8XX
@@ -2563,6 +2330,13 @@ The following options need to be configured:
                        CONFIG_SYS_BOOTCOUNT_ADDR = i2c addr which is used for
                                                    the bootcounter.
                        CONFIG_BOOTCOUNT_ALEN = address len
+               CONFIG_BOOTCOUNT_EXT
+               enable support for the bootcounter in EXT filesystem
+                       CONFIG_SYS_BOOTCOUNT_ADDR = RAM address used for read
+                                                    and write.
+                       CONFIG_SYS_BOOTCOUNT_EXT_INTERFACE = interface
+                       CONFIG_SYS_BOOTCOUNT_EXT_DEVPART = device and part
+                       CONFIG_SYS_BOOTCOUNT_EXT_NAME = filename
 
 - Show boot progress:
                CONFIG_SHOW_BOOT_PROGRESS
@@ -2920,11 +2694,6 @@ FIT uImage format:
                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_OS_BOOT
                Enable booting directly to an OS from SPL.
                See also: doc/README.falcon
@@ -3027,10 +2796,6 @@ FIT uImage format:
                Define this if you need to first read the OOB and then the
                data. This is used, for example, on davinci platforms.
 
-               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_RAM_DEVICE
                Support for running image already present in ram, in SPL binary
 
@@ -3428,7 +3193,7 @@ but it can not erase, write this NOR flash by SRIO or PCIE interface.
 
 Please note that the environment is read-only until the monitor
 has been relocated to RAM and a RAM copy of the environment has been
-created; also, when using EEPROM you will have to use getenv_f()
+created; also, when using EEPROM you will have to use env_get_f()
 until then to read environment variables.
 
 The environment is protected by a CRC32 checksum. Before the monitor
@@ -3709,7 +3474,7 @@ Low Level (hardware related) configuration options:
                globally (CONFIG_CMD_MEMORY).
 
 - CONFIG_SKIP_LOWLEVEL_INIT
-               [ARM, NDS32, MIPS only] If this variable is defined, then certain
+               [ARM, NDS32, MIPS, RISC-V only] If this variable is defined, then certain
                low level initializations (like setting up the memory
                controller) are omitted and/or U-Boot does not
                relocate itself into RAM.
@@ -3917,6 +3682,11 @@ this behavior and build U-Boot to some external directory:
 Note that the command line "O=" setting overrides the KBUILD_OUTPUT environment
 variable.
 
+User specific CPPFLAGS, AFLAGS and CFLAGS can be passed to the compiler by
+setting the according environment variables KCPPFLAGS, KAFLAGS and KCFLAGS.
+For example to treat all compiler warnings as errors:
+
+       make KCFLAGS=-Werror
 
 Please be aware that the Makefiles assume you are using GNU make, so
 for instance on NetBSD you might need to use "gmake" instead of
@@ -5163,6 +4933,22 @@ On NDS32, the following registers are used:
 NOTE: DECLARE_GLOBAL_DATA_PTR must be used with file-global scope,
 or current versions of GCC may "optimize" the code too much.
 
+On RISC-V, the following registers are used:
+
+       x0: hard-wired zero (zero)
+       x1: return address (ra)
+       x2:     stack pointer (sp)
+       x3:     global pointer (gp)
+       x4:     thread pointer (tp)
+       x5:     link register (t0)
+       x8:     frame pointer (fp)
+       x10-x11:        arguments/return values (a0-1)
+       x12-x17:        arguments (a2-7)
+       x28-31:  temporaries (t3-6)
+       pc:     program counter (pc)
+
+    ==> U-Boot will use gp to hold a pointer to the global data
+
 Memory Management:
 ------------------
 
@@ -5324,8 +5110,9 @@ Coding Standards:
 -----------------
 
 All contributions to U-Boot should conform to the Linux kernel
-coding style; see the file "Documentation/CodingStyle" and the script
-"scripts/Lindent" in your Linux kernel source directory.
+coding style; see the kernel coding style guide at
+https://www.kernel.org/doc/html/latest/process/coding-style.html, and the
+script "scripts/Lindent" in your Linux kernel source directory.
 
 Source files originating from a different project (for example the
 MTD subsystem) are generally exempt from these guidelines and are not
@@ -5357,7 +5144,7 @@ may be rejected, even when they contain important and valuable stuff.
 Please see http://www.denx.de/wiki/U-Boot/Patches for details.
 
 Patches shall be sent to the u-boot mailing list <u-boot@lists.denx.de>;
-see http://lists.denx.de/mailman/listinfo/u-boot
+see https://lists.denx.de/listinfo/u-boot
 
 When you send a patch, please include the following information with
 it: