X-Git-Url: http://git.ipfire.org/?p=people%2Fms%2Fu-boot.git;a=blobdiff_plain;f=README;h=fabd532623924bbdf1a32d471b8862e5e5c2e36c;hp=8d5ff6ebbd60edc41796f7a4665b3c8efc99a1bf;hb=20fa1dd386c891f7d6477e7d442dda76af6c765b;hpb=f38c5f526c4e8568da2d51712873b1788b9d69ec diff --git a/README b/README index 8d5ff6ebbd..fabd532623 100644 --- 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 - 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 -.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 ; -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: