X-Git-Url: http://git.ipfire.org/?p=people%2Fms%2Fu-boot.git;a=blobdiff_plain;f=README;h=fabd532623924bbdf1a32d471b8862e5e5c2e36c;hp=c73f6dd57402db9c3e3cdc14fa71e4cbea2504ee;hb=20fa1dd386c891f7d6477e7d442dda76af6c765b;hpb=8d3a25685e4aac7070365a2b3c53c2c81b27930f diff --git a/README b/README index c73f6dd574..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,113 +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_MTDPARTS * MTD partition support - CONFIG_CMD_NAND * NAND support - 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_MFSL * Microblaze FSL 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 @@ -894,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 @@ -1064,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 @@ -1137,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 @@ -1202,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. @@ -1334,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. @@ -1375,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 @@ -1620,11 +1430,6 @@ The following options need to be configured: the malloc area (as defined by CONFIG_SYS_MALLOC_LEN) should be at least 4MB. - CONFIG_LZO - - If this option is set, support for LZO compressed images - is included. - - MII/PHY support: CONFIG_PHY_ADDR @@ -1634,11 +1439,6 @@ The following options need to be configured: The clock frequency of the MII bus - CONFIG_PHY_GIGE - - If this option is set, support for speed/duplex - detection of gigabit PHY is included. - CONFIG_PHY_RESET_DELAY Some PHY like Intel LXT971A need extra delay after @@ -1799,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 @@ -2187,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 @@ -2210,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 */ @@ -2364,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 @@ -2493,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. @@ -2519,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 @@ -2559,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 @@ -2576,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 @@ -2796,13 +2557,6 @@ FIT uImage format: kernel. Needed for UBI support. - UBI support - CONFIG_CMD_UBI - - Adds commands for interacting with MTD partitions formatted - with the UBI flash translation layer - - Requires also defining CONFIG_RBTREE - CONFIG_UBI_SILENCE_MSG Make the verbose messages from UBI stop printing. This leaves @@ -2871,13 +2625,6 @@ FIT uImage format: default: 0 - UBIFS support - CONFIG_CMD_UBIFS - - Adds commands for interacting with UBI volumes formatted as - UBIFS. UBIFS is read-only in u-boot. - - Requires UBI support as well as CONFIG_LZO - CONFIG_UBIFS_SILENCE_MSG Make the verbose messages from UBIFS stop printing. This leaves @@ -2947,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 @@ -3054,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 @@ -3432,90 +3170,6 @@ following configurations: Builds up envcrc with the target environment so that external utils may easily extract it and embed it in final U-Boot images. -- CONFIG_ENV_IS_IN_FLASH: - - Define this if the environment is in flash memory. - - a) The environment occupies one whole flash sector, which is - "embedded" in the text segment with the U-Boot code. This - happens usually with "bottom boot sector" or "top boot - sector" type flash chips, which have several smaller - sectors at the start or the end. For instance, such a - layout can have sector sizes of 8, 2x4, 16, Nx32 kB. In - such a case you would place the environment in one of the - 4 kB sectors - with U-Boot code before and after it. With - "top boot sector" type flash chips, you would put the - environment in one of the last sectors, leaving a gap - between U-Boot and the environment. - - - CONFIG_ENV_OFFSET: - - Offset of environment data (variable area) to the - beginning of flash memory; for instance, with bottom boot - type flash chips the second sector can be used: the offset - for this sector is given here. - - CONFIG_ENV_OFFSET is used relative to CONFIG_SYS_FLASH_BASE. - - - CONFIG_ENV_ADDR: - - This is just another way to specify the start address of - the flash sector containing the environment (instead of - CONFIG_ENV_OFFSET). - - - CONFIG_ENV_SECT_SIZE: - - Size of the sector containing the environment. - - - b) Sometimes flash chips have few, equal sized, BIG sectors. - In such a case you don't want to spend a whole sector for - the environment. - - - CONFIG_ENV_SIZE: - - If you use this in combination with CONFIG_ENV_IS_IN_FLASH - and CONFIG_ENV_SECT_SIZE, you can specify to use only a part - of this flash sector for the environment. This saves - memory for the RAM copy of the environment. - - It may also save flash memory if you decide to use this - when your environment is "embedded" within U-Boot code, - since then the remainder of the flash sector could be used - for U-Boot code. It should be pointed out that this is - STRONGLY DISCOURAGED from a robustness point of view: - updating the environment in flash makes it always - necessary to erase the WHOLE sector. If something goes - wrong before the contents has been restored from a copy in - RAM, your target system will be dead. - - - CONFIG_ENV_ADDR_REDUND - CONFIG_ENV_SIZE_REDUND - - These settings describe a second storage area used to hold - a redundant copy of the environment data, so that there is - a valid backup copy in case there is a power failure during - a "saveenv" operation. - -BE CAREFUL! Any changes to the flash layout, and some changes to the -source code will make it necessary to adapt /u-boot.lds* -accordingly! - - -- CONFIG_ENV_IS_IN_NVRAM: - - Define this if you have some non-volatile memory device - (NVRAM, battery buffered SRAM) which you want to use for the - environment. - - - CONFIG_ENV_ADDR: - - CONFIG_ENV_SIZE: - - These two #defines are used to determine the memory area you - want to use for environment. It is assumed that this memory - can just be read and written to, without any special - provision. - BE CAREFUL! The first access to the environment happens quite early in U-Boot initialization (when we try to get the setting of for the console baudrate). You *MUST* have mapped your NVRAM area then, or @@ -3526,288 +3180,20 @@ environment in RAM: we could work on NVRAM directly, but we want to keep settings there always unmodified except somebody uses "saveenv" to save the current settings. - -- CONFIG_ENV_IS_IN_EEPROM: - - Use this if you have an EEPROM or similar serial access - device and a driver for it. - - - CONFIG_ENV_OFFSET: - - CONFIG_ENV_SIZE: - - These two #defines specify the offset and size of the - environment area within the total memory of your EEPROM. - - - CONFIG_SYS_I2C_EEPROM_ADDR: - If defined, specified the chip address of the EEPROM device. - The default address is zero. - - - CONFIG_SYS_I2C_EEPROM_BUS: - If defined, specified the i2c bus of the EEPROM device. - - - CONFIG_SYS_EEPROM_PAGE_WRITE_BITS: - If defined, the number of bits used to address bytes in a - single page in the EEPROM device. A 64 byte page, for example - would require six bits. - - - CONFIG_SYS_EEPROM_PAGE_WRITE_DELAY_MS: - If defined, the number of milliseconds to delay between - page writes. The default is zero milliseconds. - - - CONFIG_SYS_I2C_EEPROM_ADDR_LEN: - The length in bytes of the EEPROM memory array address. Note - that this is NOT the chip address length! - - - CONFIG_SYS_I2C_EEPROM_ADDR_OVERFLOW: - EEPROM chips that implement "address overflow" are ones - like Catalyst 24WC04/08/16 which has 9/10/11 bits of - address and the extra bits end up in the "chip address" bit - slots. This makes a 24WC08 (1Kbyte) chip look like four 256 - byte chips. - - Note that we consider the length of the address field to - still be one byte because the extra address bits are hidden - in the chip address. - - - CONFIG_SYS_EEPROM_SIZE: - The size in bytes of the EEPROM device. - - - CONFIG_ENV_EEPROM_IS_ON_I2C - define this, if you have I2C and SPI activated, and your - EEPROM, which holds the environment, is on the I2C bus. - - - CONFIG_I2C_ENV_EEPROM_BUS - if you have an Environment on an EEPROM reached over - I2C muxes, you can define here, how to reach this - EEPROM. For example: - - #define CONFIG_I2C_ENV_EEPROM_BUS 1 - - EEPROM which holds the environment, is reached over - a pca9547 i2c mux with address 0x70, channel 3. - -- CONFIG_ENV_IS_IN_DATAFLASH: - - Define this if you have a DataFlash memory device which you - want to use for the environment. - - - CONFIG_ENV_OFFSET: - - CONFIG_ENV_ADDR: - - CONFIG_ENV_SIZE: - - These three #defines specify the offset and size of the - environment area within the total memory of your DataFlash placed - at the specified address. - -- CONFIG_ENV_IS_IN_SPI_FLASH: - - Define this if you have a SPI Flash memory device which you - want to use for the environment. - - - CONFIG_ENV_OFFSET: - - CONFIG_ENV_SIZE: - - These two #defines specify the offset and size of the - environment area within the SPI Flash. CONFIG_ENV_OFFSET must be - aligned to an erase sector boundary. - - - CONFIG_ENV_SECT_SIZE: - - Define the SPI flash's sector size. - - - CONFIG_ENV_OFFSET_REDUND (optional): - - This setting describes a second storage area of CONFIG_ENV_SIZE - size used to hold a redundant copy of the environment data, so - that there is a valid backup copy in case there is a power failure - during a "saveenv" operation. CONFIG_ENV_OFFSET_REDUND must be - aligned to an erase sector boundary. - - - CONFIG_ENV_SPI_BUS (optional): - - CONFIG_ENV_SPI_CS (optional): - - Define the SPI bus and chip select. If not defined they will be 0. - - - CONFIG_ENV_SPI_MAX_HZ (optional): - - Define the SPI max work clock. If not defined then use 1MHz. - - - CONFIG_ENV_SPI_MODE (optional): - - Define the SPI work mode. If not defined then use SPI_MODE_3. - -- CONFIG_ENV_IS_IN_REMOTE: - - Define this if you have a remote memory space which you - want to use for the local device's environment. - - - CONFIG_ENV_ADDR: - - CONFIG_ENV_SIZE: - - These two #defines specify the address and size of the - environment area within the remote memory space. The - local device can get the environment from remote memory - space by SRIO or PCIE links. - BE CAREFUL! For some special cases, the local device can not use "saveenv" command. For example, the local device will get the environment stored in a remote NOR flash by SRIO or PCIE link, but it can not erase, write this NOR flash by SRIO or PCIE interface. -- CONFIG_ENV_IS_IN_NAND: - - Define this if you have a NAND device which you want to use - for the environment. - - - CONFIG_ENV_OFFSET: - - CONFIG_ENV_SIZE: - - These two #defines specify the offset and size of the environment - area within the first NAND device. CONFIG_ENV_OFFSET must be - aligned to an erase block boundary. - - - CONFIG_ENV_OFFSET_REDUND (optional): - - This setting describes a second storage area of CONFIG_ENV_SIZE - size used to hold a redundant copy of the environment data, so - that there is a valid backup copy in case there is a power failure - during a "saveenv" operation. CONFIG_ENV_OFFSET_REDUND must be - aligned to an erase block boundary. - - - CONFIG_ENV_RANGE (optional): - - Specifies the length of the region in which the environment - can be written. This should be a multiple of the NAND device's - block size. Specifying a range with more erase blocks than - are needed to hold CONFIG_ENV_SIZE allows bad blocks within - the range to be avoided. - - - CONFIG_ENV_OFFSET_OOB (optional): - - Enables support for dynamically retrieving the offset of the - environment from block zero's out-of-band data. The - "nand env.oob" command can be used to record this offset. - Currently, CONFIG_ENV_OFFSET_REDUND is not supported when - using CONFIG_ENV_OFFSET_OOB. - - CONFIG_NAND_ENV_DST Defines address in RAM to which the nand_spl code should copy the environment. If redundant environment is used, it will be copied to CONFIG_NAND_ENV_DST + CONFIG_ENV_SIZE. -- CONFIG_ENV_IS_IN_UBI: - - Define this if you have an UBI volume that you want to use for the - environment. This has the benefit of wear-leveling the environment - accesses, which is important on NAND. - - - CONFIG_ENV_UBI_PART: - - Define this to a string that is the mtd partition containing the UBI. - - - CONFIG_ENV_UBI_VOLUME: - - Define this to the name of the volume that you want to store the - environment in. - - - CONFIG_ENV_UBI_VOLUME_REDUND: - - Define this to the name of another volume to store a second copy of - the environment in. This will enable redundant environments in UBI. - It is assumed that both volumes are in the same MTD partition. - - - CONFIG_UBI_SILENCE_MSG - - CONFIG_UBIFS_SILENCE_MSG - - You will probably want to define these to avoid a really noisy system - when storing the env in UBI. - -- CONFIG_ENV_IS_IN_FAT: - Define this if you want to use the FAT file system for the environment. - - - FAT_ENV_INTERFACE: - - Define this to a string that is the name of the block device. - - - FAT_ENV_DEVICE_AND_PART: - - Define this to a string to specify the partition of the device. It can - be as following: - - "D:P", "D:0", "D", "D:" or "D:auto" (D, P are integers. And P >= 1) - - "D:P": device D partition P. Error occurs if device D has no - partition table. - - "D:0": device D. - - "D" or "D:": device D partition 1 if device D has partition - table, or the whole device D if has no partition - table. - - "D:auto": first partition in device D with bootable flag set. - If none, first valid partition in device D. If no - partition table then means device D. - - - FAT_ENV_FILE: - - It's a string of the FAT file name. This file use to store the - environment. - - - CONFIG_FAT_WRITE: - This must be enabled. Otherwise it cannot save the environment file. - -- CONFIG_ENV_IS_IN_MMC: - - Define this if you have an MMC device which you want to use for the - environment. - - - CONFIG_SYS_MMC_ENV_DEV: - - Specifies which MMC device the environment is stored in. - - - CONFIG_SYS_MMC_ENV_PART (optional): - - Specifies which MMC partition the environment is stored in. If not - set, defaults to partition 0, the user area. Common values might be - 1 (first MMC boot partition), 2 (second MMC boot partition). - - - CONFIG_ENV_OFFSET: - - CONFIG_ENV_SIZE: - - These two #defines specify the offset and size of the environment - area within the specified MMC device. - - If offset is positive (the usual case), it is treated as relative to - the start of the MMC partition. If offset is negative, it is treated - as relative to the end of the MMC partition. This can be useful if - your board may be fitted with different MMC devices, which have - different sizes for the MMC partitions, and you always want the - environment placed at the very end of the partition, to leave the - maximum possible space before it, to store other data. - - These two values are in units of bytes, but must be aligned to an - MMC sector boundary. - - - CONFIG_ENV_OFFSET_REDUND (optional): - - Specifies a second storage area, of CONFIG_ENV_SIZE size, used to - hold a redundant copy of the environment data. This provides a - valid backup copy in case the other copy is corrupted, e.g. due - to a power failure during a "saveenv" operation. - - This value may also be positive or negative; this is handled in the - same way as CONFIG_ENV_OFFSET. - - This value is also in units of bytes, but must also be aligned to - an MMC sector boundary. - - - CONFIG_ENV_SIZE_REDUND (optional): - - This value need not be set, even when CONFIG_ENV_OFFSET_REDUND is - set. If this value is set, it must be set to the same value as - CONFIG_ENV_SIZE. - 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 @@ -4071,7 +3457,7 @@ Low Level (hardware related) configuration options: - CONFIG_LOOPW Add the "loopw" memory command. This only takes effect if - the memory commands are activated globally (CONFIG_CMD_MEM). + the memory commands are activated globally (CONFIG_CMD_MEMORY). - CONFIG_MX_CYCLIC Add the "mdc" and "mwc" memory commands. These are cyclic @@ -4085,10 +3471,10 @@ Low Level (hardware related) configuration options: This command will write 12345678 to address 100 all 10 ms. This only takes effect if the memory commands are activated - globally (CONFIG_CMD_MEM). + 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. @@ -4296,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 @@ -5542,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: ------------------ @@ -5703,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 @@ -5736,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: