]> git.sur5r.net Git - u-boot/blobdiff - README
test/py: correctly log xfail/xpass tests
[u-boot] / README
diff --git a/README b/README
index 0fec497328bd5fd27df28efda7a14d828a106346..c7c9e0a9e3e1a3cf11beb16a671778bafe3751cb 100644 (file)
--- a/README
+++ b/README
@@ -34,12 +34,14 @@ In general, all boards for which a configuration option exists in the
 Makefile have been tested to some extent and can be considered
 "working". In fact, many of them are used in production systems.
 
-In case of problems see the CHANGELOG and CREDITS files to find out
-who contributed the specific port. The boards.cfg file lists board
-maintainers.
+In case of problems see the CHANGELOG file to find out who contributed
+the specific port. In addition, there are various MAINTAINERS files
+scattered throughout the U-Boot source identifying the people or
+companies responsible for various boards and subsystems.
 
-Note: There is no CHANGELOG file in the actual U-Boot source tree;
-it can be created dynamically from the Git log using:
+Note: As of August, 2010, there is no longer a CHANGELOG file in the
+actual U-Boot source tree; however, it can be created dynamically
+from the Git log using:
 
        make CHANGELOG
 
@@ -48,7 +50,7 @@ Where to get help:
 ==================
 
 In case you have questions about, problems with or contributions for
-U-Boot you should send a message to the U-Boot mailing list at
+U-Boot, you should send a message to the U-Boot mailing list at
 <u-boot@lists.denx.de>. There is also an archive of previous traffic
 on the mailing list - please search the archive before asking FAQ's.
 Please see http://lists.denx.de/pipermail/u-boot and
@@ -58,7 +60,7 @@ http://dir.gmane.org/gmane.comp.boot-loaders.u-boot
 Where to get source code:
 =========================
 
-The U-Boot source code is maintained in the git repository at
+The U-Boot source code is maintained in the Git repository at
 git://www.denx.de/git/u-boot.git ; you can browse it online at
 http://www.denx.de/cgi-bin/gitweb.cgi?p=u-boot.git;a=summary
 
@@ -133,80 +135,24 @@ Directory Hierarchy:
 
 /arch                  Architecture specific files
   /arc                 Files generic to ARC architecture
-    /cpu               CPU specific files
-      /arc700          Files specific to ARC 700 CPUs
-    /lib               Architecture specific library files
   /arm                 Files generic to ARM architecture
-    /cpu               CPU specific files
-      /arm720t         Files specific to ARM 720 CPUs
-      /arm920t         Files specific to ARM 920 CPUs
-       /at91           Files specific to Atmel AT91RM9200 CPU
-       /imx            Files specific to Freescale MC9328 i.MX CPUs
-       /s3c24x0        Files specific to Samsung S3C24X0 CPUs
-      /arm926ejs       Files specific to ARM 926 CPUs
-      /arm1136         Files specific to ARM 1136 CPUs
-      /pxa             Files specific to Intel XScale PXA CPUs
-      /sa1100          Files specific to Intel StrongARM SA1100 CPUs
-    /lib               Architecture specific library files
   /avr32               Files generic to AVR32 architecture
-    /cpu               CPU specific files
-    /lib               Architecture specific library files
   /blackfin            Files generic to Analog Devices Blackfin architecture
-    /cpu               CPU specific files
-    /lib               Architecture specific library files
   /m68k                        Files generic to m68k architecture
-    /cpu               CPU specific files
-      /mcf52x2         Files specific to Freescale ColdFire MCF52x2 CPUs
-      /mcf5227x                Files specific to Freescale ColdFire MCF5227x CPUs
-      /mcf532x         Files specific to Freescale ColdFire MCF5329 CPUs
-      /mcf5445x                Files specific to Freescale ColdFire MCF5445x CPUs
-      /mcf547x_8x      Files specific to Freescale ColdFire MCF547x_8x CPUs
-    /lib               Architecture specific library files
   /microblaze          Files generic to microblaze architecture
-    /cpu               CPU specific files
-    /lib               Architecture specific library files
   /mips                        Files generic to MIPS architecture
-    /cpu               CPU specific files
-      /mips32          Files specific to MIPS32 CPUs
-      /mips64          Files specific to MIPS64 CPUs
-    /lib               Architecture specific library files
   /nds32               Files generic to NDS32 architecture
-    /cpu               CPU specific files
-      /n1213           Files specific to Andes Technology N1213 CPUs
-    /lib               Architecture specific library files
   /nios2               Files generic to Altera NIOS2 architecture
-    /cpu               CPU specific files
-    /lib               Architecture specific library files
   /openrisc            Files generic to OpenRISC architecture
-    /cpu               CPU specific files
-    /lib               Architecture specific library files
   /powerpc             Files generic to PowerPC architecture
-    /cpu               CPU specific files
-      /74xx_7xx                Files specific to Freescale MPC74xx and 7xx CPUs
-      /mpc5xx          Files specific to Freescale MPC5xx CPUs
-      /mpc5xxx         Files specific to Freescale MPC5xxx CPUs
-      /mpc8xx          Files specific to Freescale MPC8xx CPUs
-      /mpc8260         Files specific to Freescale MPC8260 CPUs
-      /mpc85xx         Files specific to Freescale MPC85xx CPUs
-      /ppc4xx          Files specific to AMCC PowerPC 4xx CPUs
-    /lib               Architecture specific library files
+  /sandbox             Files generic to HW-independent "sandbox"
   /sh                  Files generic to SH architecture
-    /cpu               CPU specific files
-      /sh2             Files specific to sh2 CPUs
-      /sh3             Files specific to sh3 CPUs
-      /sh4             Files specific to sh4 CPUs
-    /lib               Architecture specific library files
   /sparc               Files generic to SPARC architecture
-    /cpu               CPU specific files
-      /leon2           Files specific to Gaisler LEON2 SPARC CPU
-      /leon3           Files specific to Gaisler LEON3 SPARC CPU
-    /lib               Architecture specific library files
   /x86                 Files generic to x86 architecture
-    /cpu               CPU specific files
-    /lib               Architecture specific library files
 /api                   Machine/arch independent API for external apps
 /board                 Board dependent files
 /common                        Misc architecture independent functions
+/configs               Board default configuration files
 /disk                  Code for disk drive partition handling
 /doc                   Documentation (don't expect too much)
 /drivers               Commonly used device drivers
@@ -214,13 +160,12 @@ Directory Hierarchy:
 /examples              Example code for standalone applications, etc.
 /fs                    Filesystem code (cramfs, ext2, jffs2, etc.)
 /include               Header Files
-/lib                   Files generic to all architectures
-  /libfdt              Library files to support flattened device trees
-  /lzma                        Library files to support LZMA decompression
-  /lzo                 Library files to support LZO decompression
+/lib                   Library routines generic to all architectures
+/Licenses              Various license files
 /net                   Networking code
 /post                  Power On Self Test
-/spl                   Secondary Program Loader framework
+/scripts               Various build scripts and Makefiles
+/test                  Various unit test files
 /tools                 Tools to build S-Record or U-Boot images, etc.
 
 Software Configuration:
@@ -240,11 +185,11 @@ There are two classes of configuration variables:
   you don't know what you're doing; they have names beginning with
   "CONFIG_SYS_".
 
-Later we will add a configuration tool - probably similar to or even
-identical to what's used for the Linux kernel. Right now, we have to
-do the configuration by hand, which means creating some symbolic
-links and editing some configuration files. We use the TQM8xxL boards
-as an example here.
+Previously, all configuration was done by hand, which involved creating
+symbolic links and editing configuration files manually. More recently,
+U-Boot has added the Kbuild infrastructure used by the Linux kernel,
+allowing you to use the "make menuconfig" command to configure your
+build.
 
 
 Selection of Processor Architecture and Board Type:
@@ -258,10 +203,9 @@ Example: For a TQM823L module type:
        cd u-boot
        make TQM823L_defconfig
 
-For the Cogent platform, you need to specify the CPU type as well;
-e.g. "make cogent_mpc8xx_defconfig". And also configure the cogent
-directory according to the instructions in cogent/README.
-
+Note: If you're looking for the default configuration file for a board
+you're sure used to be there but is now missing, check the file
+doc/README.scrapyard for a list of no longer supported boards.
 
 Sandbox Environment:
 --------------------
@@ -274,6 +218,87 @@ run some of U-Boot's tests.
 See board/sandbox/README.sandbox for more details.
 
 
+Board Initialisation Flow:
+--------------------------
+
+This is the intended start-up flow for boards. This should apply for both
+SPL and U-Boot proper (i.e. they both follow the same rules).
+
+Note: "SPL" stands for "Secondary Program Loader," which is explained in
+more detail later in this file.
+
+At present, SPL mostly uses a separate code path, but the function names
+and roles of each function are the same. Some boards or architectures
+may not conform to this.  At least most ARM boards which use
+CONFIG_SPL_FRAMEWORK conform to this.
+
+Execution typically starts with an architecture-specific (and possibly
+CPU-specific) start.S file, such as:
+
+       - arch/arm/cpu/armv7/start.S
+       - arch/powerpc/cpu/mpc83xx/start.S
+       - arch/mips/cpu/start.S
+
+and so on. From there, three functions are called; the purpose and
+limitations of each of these functions are described below.
+
+lowlevel_init():
+       - purpose: essential init to permit execution to reach board_init_f()
+       - no global_data or BSS
+       - there is no stack (ARMv7 may have one but it will soon be removed)
+       - must not set up SDRAM or use console
+       - must only do the bare minimum to allow execution to continue to
+               board_init_f()
+       - this is almost never needed
+       - return normally from this function
+
+board_init_f():
+       - purpose: set up the machine ready for running board_init_r():
+               i.e. SDRAM and serial UART
+       - global_data is available
+       - stack is in SRAM
+       - BSS is not available, so you cannot use global/static variables,
+               only stack variables and global_data
+
+       Non-SPL-specific notes:
+       - dram_init() is called to set up DRAM. If already done in SPL this
+               can do nothing
+
+       SPL-specific notes:
+       - you can override the entire board_init_f() function with your own
+               version as needed.
+       - 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
+       - must return normally from this function (don't call board_init_r()
+               directly)
+
+Here the BSS is cleared. For SPL, if CONFIG_SPL_STACK_R is defined, then at
+this point the stack and global_data are relocated to below
+CONFIG_SPL_STACK_R_ADDR. For non-SPL, U-Boot is relocated to run at the top of
+memory.
+
+board_init_r():
+       - purpose: main execution, common code
+       - global_data is available
+       - SDRAM is available
+       - BSS is available, all static/global variables can be used
+       - execution eventually continues to main_loop()
+
+       Non-SPL-specific notes:
+       - U-Boot is relocated to the top of memory and is now running from
+               there.
+
+       SPL-specific notes:
+       - stack is optionally in SDRAM, if CONFIG_SPL_STACK_R is defined and
+               CONFIG_SPL_STACK_R_ADDR points into SDRAM
+       - preloader_console_init() can be called here - typically this is
+               done by defining CONFIG_SPL_BOARD_INIT and then supplying a
+               spl_board_init() function containing this call
+       - loads U-Boot or (in falcon mode) Linux
+
+
+
 Configuration Options:
 ----------------------
 
@@ -543,6 +568,9 @@ The following options need to be configured:
                CONFIG_SYS_FSL_OTHER_DDR_NUM_CTRLS
                Number of controllers used for other than main memory.
 
+               CONFIG_SYS_FSL_HAS_DP_DDR
+               Defines the SoC has DP-DDR used for DPAA.
+
                CONFIG_SYS_FSL_SEC_BE
                Defines the SEC controller register space as Big Endian
 
@@ -613,8 +641,10 @@ The following options need to be configured:
                CONFIG_ARM_ERRATA_742230
                CONFIG_ARM_ERRATA_743622
                CONFIG_ARM_ERRATA_751472
-               CONFIG_ARM_ERRATA_794072
                CONFIG_ARM_ERRATA_761320
+               CONFIG_ARM_ERRATA_773022
+               CONFIG_ARM_ERRATA_774769
+               CONFIG_ARM_ERRATA_794072
 
                If set, the workarounds for these ARM errata are applied early
                during U-Boot startup. Note that these options force the
@@ -622,119 +652,29 @@ The following options need to be configured:
                exists, unlike the similar options in the Linux kernel. Do not
                set these options unless they apply!
 
-- Driver Model
-               Driver model is a new framework for devices in U-Boot
-               introduced in early 2014. U-Boot is being progressively
-               moved over to this. It offers a consistent device structure,
-               supports grouping devices into classes and has built-in
-               handling of platform data and device tree.
-
-               To enable transition to driver model in a relatively
-               painful fashion, each subsystem can be independently
-               switched between the legacy/ad-hoc approach and the new
-               driver model using the options below. Also, many uclass
-               interfaces include compatibility features which may be
-               removed once the conversion of that subsystem is complete.
-               As a result, the API provided by the subsystem may in fact
-               not change with driver model.
-
-               See doc/driver-model/README.txt for more information.
-
-               CONFIG_DM
-
-               Enable driver model. This brings in the core support,
-               including scanning of platform data on start-up. If
-               CONFIG_OF_CONTROL is enabled, the device tree will be
-               scanned also when available.
-
-               CONFIG_CMD_DM
-
-               Enable driver model test commands. These allow you to print
-               out the driver model tree and the uclasses.
-
-               CONFIG_DM_DEMO
-
-               Enable some demo devices and the 'demo' command. These are
-               really only useful for playing around while trying to
-               understand driver model in sandbox.
-
-               CONFIG_SPL_DM
-
-               Enable driver model in SPL. You will need to provide a
-               suitable malloc() implementation. If you are not using the
-               full malloc() enabled by CONFIG_SYS_SPL_MALLOC_START,
-               consider using CONFIG_SYS_MALLOC_SIMPLE. In that case you
-               must provide CONFIG_SYS_MALLOC_F_LEN to set the size.
-               In most cases driver model will only allocate a few uclasses
-               and devices in SPL, so 1KB should be enable. See
-               CONFIG_SYS_MALLOC_F_LEN for more details on how to enable
-               it.
-
-               CONFIG_DM_SERIAL
-
-               Enable driver model for serial. This replaces
-               drivers/serial/serial.c with the serial uclass, which
-               implements serial_putc() etc. The uclass interface is
-               defined in include/serial.h.
-
-               CONFIG_DM_GPIO
-
-               Enable driver model for GPIO access. The standard GPIO
-               interface (gpio_get_value(), etc.) is then implemented by
-               the GPIO uclass. Drivers provide methods to query the
-               particular GPIOs that they provide. The uclass interface
-               is defined in include/asm-generic/gpio.h.
-
-               CONFIG_DM_SPI
-
-               Enable driver model for SPI. The SPI slave interface
-               (spi_setup_slave(), spi_xfer(), etc.) is then implemented by
-               the SPI uclass. Drivers provide methods to access the SPI
-               buses that they control. The uclass interface is defined in
-               include/spi.h. The existing spi_slave structure is attached
-               as 'parent data' to every slave on each bus. Slaves
-               typically use driver-private data instead of extending the
-               spi_slave structure.
-
-               CONFIG_DM_SPI_FLASH
-
-               Enable driver model for SPI flash. This SPI flash interface
-               (spi_flash_probe(), spi_flash_write(), etc.) is then
-               implemented by the SPI flash uclass. There is one standard
-               SPI flash driver which knows how to probe most chips
-               supported by U-Boot. The uclass interface is defined in
-               include/spi_flash.h, but is currently fully compatible
-               with the old interface to avoid confusion and duplication
-               during the transition parent. SPI and SPI flash must be
-               enabled together (it is not possible to use driver model
-               for one and not the other).
+               COUNTER_FREQUENCY
+               Generic timer clock source frequency.
 
-               CONFIG_DM_CROS_EC
+               COUNTER_FREQUENCY_REAL
+               Generic timer clock source frequency if the real clock is
+               different from COUNTER_FREQUENCY, and can only be determined
+               at run time.
 
-               Enable driver model for the Chrome OS EC interface. This
-               allows the cros_ec SPI driver to operate with CONFIG_DM_SPI
-               but otherwise makes few changes. Since cros_ec also supports
-               I2C and LPC (which don't support driver model yet), a full
-               conversion is not yet possible.
+               NOTE: The following can be machine specific errata. These
+               do have ability to provide rudimentary version and machine
+               specific checks, but expect no product checks.
+               CONFIG_ARM_ERRATA_430973
+               CONFIG_ARM_ERRATA_454179
+               CONFIG_ARM_ERRATA_621766
+               CONFIG_ARM_ERRATA_798870
+               CONFIG_ARM_ERRATA_801819
 
+- Tegra SoC options:
+               CONFIG_TEGRA_SUPPORT_NON_SECURE
 
-               ** Code size options: The following options are enabled by
-               default except in SPL. Enable them explicitly to get these
-               features in SPL.
-
-               CONFIG_DM_WARN
-
-               Enable the dm_warn() function. This can use up quite a bit
-               of space for its strings.
-
-               CONFIG_DM_STDIO
-
-               Enable registering a serial device with the stdio library.
-
-               CONFIG_DM_DEVICE_REMOVE
-
-               Enable removing of devices.
-
+               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_CLOCKS_IN_MHZ
@@ -816,18 +756,10 @@ The following options need to be configured:
 - vxWorks boot parameters:
 
                bootvx constructs a valid bootline using the following
-               environments variables: bootfile, ipaddr, serverip, hostname.
+               environments variables: bootdev, bootfile, ipaddr, netmask,
+               serverip, gatewayip, hostname, othbootargs.
                It loads the vxWorks image pointed bootfile.
 
-               CONFIG_SYS_VXWORKS_BOOT_DEVICE - The vxworks device name
-               CONFIG_SYS_VXWORKS_MAC_PTR - Ethernet 6 byte MA -address
-               CONFIG_SYS_VXWORKS_SERVERNAME - Name of the server
-               CONFIG_SYS_VXWORKS_BOOT_ADDR - Address of boot parameters
-
-               CONFIG_SYS_VXWORKS_ADD_PARAMS
-
-               Add it at the end of the bootline. E.g "u=username pw=secret"
-
                Note: If a "bootargs" environment is defined, it will overwride
                the defaults discussed just above.
 
@@ -862,18 +794,6 @@ The following options need to be configured:
                define this to a list of base addresses for each (supported)
                port. See e.g. include/configs/versatile.h
 
-               CONFIG_PL011_SERIAL_RLCR
-
-               Some vendor versions of PL011 serial ports (e.g. ST-Ericsson U8500)
-               have separate receive and transmit line control registers.  Set
-               this variable to initialize the extra register.
-
-               CONFIG_PL011_SERIAL_FLUSH_ON_INIT
-
-               On some platforms (e.g. U8500) U-Boot is loaded by a second stage
-               boot loader that has already initialized the UART.  Define this
-               variable to flush the UART at init time.
-
                CONFIG_SERIAL_HW_FLOW_CONTROL
 
                Define this variable to enable hw flow control in serial driver.
@@ -907,18 +827,11 @@ The following options need to be configured:
                                                (0-5, cf. cfb_console.c)
                        VIDEO_FB_ADRS           framebuffer address
                        VIDEO_KBD_INIT_FCT      keyboard int fct
-                                               (i.e. i8042_kbd_init())
+                                               (i.e. rx51_kp_init())
                        VIDEO_TSTC_FCT          test char fct
-                                               (i.e. i8042_tstc)
+                                               (i.e. rx51_kp_tstc)
                        VIDEO_GETC_FCT          get char fct
-                                               (i.e. i8042_getc)
-                       CONFIG_CONSOLE_CURSOR   cursor drawing on/off
-                                               (requires blink timer
-                                               cf. i8042.c)
-                       CONFIG_SYS_CONSOLE_BLINK_COUNT blink interval (cf. i8042.c)
-                       CONFIG_CONSOLE_TIME     display time/date info in
-                                               upper right corner
-                                               (requires CONFIG_CMD_DATE)
+                                               (i.e. rx51_kp_getc)
                        CONFIG_VIDEO_LOGO       display Linux logo in
                                                upper left corner
                        CONFIG_VIDEO_BMP_LOGO   use bmp_logo.h instead of
@@ -971,18 +884,12 @@ The following options need to be configured:
                bytes are output before the console is initialised, the
                earlier bytes are discarded.
 
+               Note that when printing the buffer a copy is made on the
+               stack so CONFIG_PRE_CON_BUF_SZ must fit on the stack.
+
                'Sane' compilers will generate smaller code if
                CONFIG_PRE_CON_BUF_SZ is a power of 2
 
-- Safe printf() functions
-               Define CONFIG_SYS_VSNPRINTF to compile in safe versions of
-               the printf() functions. These are defined in
-               include/vsprintf.h and include snprintf(), vsnprintf() and
-               so on. Code size increase is approximately 300-500 bytes.
-               If this option is not given then these functions will
-               silently discard their buffer size argument - this means
-               you are not getting any overflow checking in this case.
-
 - Boot Delay:  CONFIG_BOOTDELAY - in seconds
                Delay before automatically booting the default image;
                set to -1 to disable autoboot.
@@ -997,8 +904,6 @@ The following options need to be configured:
                CONFIG_AUTOBOOT_PROMPT
                CONFIG_AUTOBOOT_DELAY_STR
                CONFIG_AUTOBOOT_STOP_STR
-               CONFIG_AUTOBOOT_DELAY_STR2
-               CONFIG_AUTOBOOT_STOP_STR2
                CONFIG_ZERO_BOOTDELAY_CHECK
                CONFIG_RESET_TO_RETRY
 
@@ -1070,9 +975,7 @@ The following options need to be configured:
                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 using <config_cmd_default.h>
-               and augmenting with additional #define's
-               for wanted commands.
+               commands, or adding #define's for wanted commands.
 
                The default command configuration includes all commands
                except those marked below with a "*".
@@ -1258,6 +1161,9 @@ The following options need to be configured:
                SoC, then define this variable and provide board
                specific code for the "hw_watchdog_reset" function.
 
+               CONFIG_AT91_HW_WDT_TIMEOUT
+               specify the timeout in seconds. default 2 seconds.
+
 - U-Boot Version:
                CONFIG_VERSION_VARIABLE
                If this variable is defined, an environment variable
@@ -1402,9 +1308,6 @@ The following options need to be configured:
                Management command for E1000 devices.  When used on devices
                with SPI support you can reprogram the EEPROM from U-Boot.
 
-               CONFIG_E1000_FALLBACK_MAC
-               default MAC for empty EEPROM after production.
-
                CONFIG_EEPRO100
                Support for Intel 82557/82559/82559ER chips.
                Optional CONFIG_EEPRO100_SROM_WRITE enables EEPROM
@@ -1513,19 +1416,24 @@ The following options need to be configured:
                CONFIG_TPM
                Support TPM devices.
 
-               CONFIG_TPM_TIS_I2C
-               Support for i2c bus TPM devices. Only one device
+               CONFIG_TPM_TIS_INFINEON
+               Support for Infineon i2c bus TPM devices. Only one device
                per system is supported at this time.
 
-                       CONFIG_TPM_TIS_I2C_BUS_NUMBER
-                       Define the the i2c bus number for the TPM device
-
-                       CONFIG_TPM_TIS_I2C_SLAVE_ADDRESS
-                       Define the TPM's address on the i2c bus
-
                        CONFIG_TPM_TIS_I2C_BURST_LIMITATION
                        Define the burst count bytes upper limit
 
+               CONFIG_TPM_ST33ZP24
+               Support for STMicroelectronics TPM devices. Requires DM_TPM support.
+
+                       CONFIG_TPM_ST33ZP24_I2C
+                       Support for STMicroelectronics ST33ZP24 I2C devices.
+                       Requires TPM_ST33ZP24 and I2C.
+
+                       CONFIG_TPM_ST33ZP24_SPI
+                       Support for STMicroelectronics ST33ZP24 SPI devices.
+                       Requires TPM_ST33ZP24 and SPI.
+
                CONFIG_TPM_ATMEL_TWI
                Support for Atmel TWI TPM device. Requires I2C support.
 
@@ -1692,7 +1600,7 @@ The following options need to be configured:
                key for the Replay Protection Memory Block partition in eMMC.
 
 - USB Device Firmware Update (DFU) class support:
-               CONFIG_DFU_FUNCTION
+               CONFIG_USB_FUNCTION_DFU
                This enables the USB portion of the DFU USB class
 
                CONFIG_CMD_DFU
@@ -1737,6 +1645,9 @@ The following options need to be configured:
                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
@@ -1748,12 +1659,12 @@ The following options need to be configured:
                This enables support for booting images which use the Android
                image format header.
 
-               CONFIG_USB_FASTBOOT_BUF_ADDR
+               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_USB_FASTBOOT_BUF_SIZE
+               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.
@@ -1818,21 +1729,15 @@ CBFS (Coreboot Filesystem) support
                a default value of 65536 will be defined.
 
 - Keyboard Support:
-               CONFIG_ISA_KEYBOARD
+               See Kconfig help for available keyboard drivers.
 
-               Define this to enable standard (PC-Style) keyboard
-               support
-
-               CONFIG_I8042_KBD
-               Standard PC keyboard driver with US (is default) and
-               GERMAN key layout (switch via environment 'keymap=de') support.
-               Export function i8042_kbd_init, i8042_tstc and i8042_getc
-               for cfb_console. Supports cursor blinking.
+               CONFIG_KEYBOARD
 
-               CONFIG_CROS_EC_KEYB
-               Enables a Chrome OS keyboard using the CROS_EC interface.
-               This uses CROS_EC to communicate with a second microcontroller
-               which provides key scans on request.
+               Define this to enable a custom keyboard support.
+               This simply calls drv_keyboard_init() which must be
+               defined in your board-specific files. This option is deprecated
+               and is only used by novena. For new boards, use driver model
+               instead.
 
 - Video support:
                CONFIG_VIDEO
@@ -1893,21 +1798,6 @@ CBFS (Coreboot Filesystem) support
                boot.  See the documentation file README.video for a
                description of this variable.
 
-               CONFIG_VIDEO_VGA
-
-               Enable the VGA video / BIOS for x86. The alternative if you
-               are using coreboot is to use the coreboot frame buffer
-               driver.
-
-
-- Keyboard Support:
-               CONFIG_KEYBOARD
-
-               Define this to enable a custom keyboard support.
-               This simply calls drv_keyboard_init() which must be
-               defined in your board-specific files.
-               The only board using this so far is RBC823.
-
 - LCD Support: CONFIG_LCD
 
                Define this to enable LCD support (for output to LCD
@@ -1975,6 +1865,26 @@ CBFS (Coreboot Filesystem) support
                the console jump but can help speed up operation when scrolling
                is slow.
 
+               CONFIG_LCD_ROTATION
+
+               Sometimes, for example if the display is mounted in portrait
+               mode or even if it's mounted landscape but rotated by 180degree,
+               we need to rotate our content of the display relative to the
+               framebuffer, so that user can read the messages which are
+               printed out.
+               Once CONFIG_LCD_ROTATION is defined, the lcd_console will be
+               initialized with a given rotation from "vl_rot" out of
+               "vidinfo_t" which is provided by the board specific code.
+               The value for vl_rot is coded as following (matching to
+               fbcon=rotate:<n> linux-kernel commandline):
+               0 = no rotation respectively 0 degree
+               1 = 90 degree rotation
+               2 = 180 degree rotation
+               3 = 270 degree rotation
+
+               If CONFIG_LCD_ROTATION is not defined, the console will be
+               initialized with 0degree rotation.
+
                CONFIG_LCD_BMP_RLE8
 
                Support drawing of RLE8-compressed bitmaps on the LCD.
@@ -2113,18 +2023,6 @@ CBFS (Coreboot Filesystem) support
                Some PHY like Intel LXT971A need extra delay after
                command issued before MII status register can be read
 
-- Ethernet address:
-               CONFIG_ETHADDR
-               CONFIG_ETH1ADDR
-               CONFIG_ETH2ADDR
-               CONFIG_ETH3ADDR
-               CONFIG_ETH4ADDR
-               CONFIG_ETH5ADDR
-
-               Define a default value for Ethernet address to use
-               for the respective Ethernet interface, in case this
-               is not determined automatically.
-
 - IP address:
                CONFIG_IPADDR
 
@@ -2395,12 +2293,18 @@ CBFS (Coreboot Filesystem) support
 
                - drivers/i2c/i2c_mxc.c
                  - activate this driver with CONFIG_SYS_I2C_MXC
+                 - enable bus 1 with CONFIG_SYS_I2C_MXC_I2C1
+                 - enable bus 2 with CONFIG_SYS_I2C_MXC_I2C2
+                 - enable bus 3 with CONFIG_SYS_I2C_MXC_I2C3
+                 - enable bus 4 with CONFIG_SYS_I2C_MXC_I2C4
                  - define speed for bus 1 with CONFIG_SYS_MXC_I2C1_SPEED
                  - define slave for bus 1 with CONFIG_SYS_MXC_I2C1_SLAVE
                  - define speed for bus 2 with CONFIG_SYS_MXC_I2C2_SPEED
                  - define slave for bus 2 with CONFIG_SYS_MXC_I2C2_SLAVE
                  - define speed for bus 3 with CONFIG_SYS_MXC_I2C3_SPEED
                  - define slave for bus 3 with CONFIG_SYS_MXC_I2C3_SLAVE
+                 - define speed for bus 4 with CONFIG_SYS_MXC_I2C4_SPEED
+                 - define slave for bus 4 with CONFIG_SYS_MXC_I2C4_SLAVE
                If those defines are not set, default value is 100000
                for speed, and 0 for slave.
 
@@ -2474,6 +2378,15 @@ CBFS (Coreboot Filesystem) support
                  - CONFIG_SYS_I2C_IHS_CH3 activate hardware channel 3
                  - CONFIG_SYS_I2C_IHS_SPEED_3 speed channel 3
                  - CONFIG_SYS_I2C_IHS_SLAVE_3 slave addr channel 3
+                 - activate dual channel with CONFIG_SYS_I2C_IHS_DUAL
+                 - CONFIG_SYS_I2C_IHS_SPEED_0_1 speed channel 0_1
+                 - CONFIG_SYS_I2C_IHS_SLAVE_0_1 slave addr channel 0_1
+                 - CONFIG_SYS_I2C_IHS_SPEED_1_1 speed channel 1_1
+                 - CONFIG_SYS_I2C_IHS_SLAVE_1_1 slave addr channel 1_1
+                 - CONFIG_SYS_I2C_IHS_SPEED_2_1 speed channel 2_1
+                 - CONFIG_SYS_I2C_IHS_SLAVE_2_1 slave addr channel 2_1
+                 - CONFIG_SYS_I2C_IHS_SPEED_3_1 speed channel 3_1
+                 - CONFIG_SYS_I2C_IHS_SLAVE_3_1 slave addr channel 3_1
 
                additional defines:
 
@@ -2741,11 +2654,6 @@ CBFS (Coreboot Filesystem) support
                Enables the driver for SPI controller on SuperH. Currently
                only SH7757 is supported.
 
-               CONFIG_SPI_X
-
-               Enables extended (16-bit) SPI EEPROM addressing.
-               (symmetrical to CONFIG_I2C_X)
-
                CONFIG_SOFT_SPI
 
                Enables a software (bit-bang) SPI driver rather than
@@ -2877,8 +2785,8 @@ CBFS (Coreboot Filesystem) support
                completely disabled. Anybody can change or delete
                these parameters.
 
-               Alternatively, if you #define _both_ CONFIG_ETHADDR
-               _and_ CONFIG_OVERWRITE_ETHADDR_ONCE, a default
+               Alternatively, if you define _both_ an ethaddr in the
+               default env _and_ CONFIG_OVERWRITE_ETHADDR_ONCE, a default
                Ethernet address is installed in the environment,
                which can be changed exactly ONCE by the user. [The
                serial# is unaffected by this, i. e. it remains
@@ -3052,6 +2960,19 @@ CBFS (Coreboot Filesystem) support
                this is instead controlled by the value of
                /config/load-environment.
 
+- Parallel Flash support:
+               CONFIG_SYS_NO_FLASH
+
+               Traditionally U-boot was run on systems with parallel NOR
+               flash. This option is used to disable support for parallel NOR
+               flash. This option should be defined if the board does not have
+               parallel flash.
+
+               If this option is not defined one of the generic flash drivers
+               (e.g.  CONFIG_FLASH_CFI_DRIVER or CONFIG_ST_SMI) must be
+               selected or the board must provide an implementation of the
+               flash API (see include/flash.h).
+
 - DataFlash Support:
                CONFIG_HAS_DATAFLASH
 
@@ -3083,28 +3004,12 @@ CBFS (Coreboot Filesystem) support
                Define this option to include a destructive SPI flash
                test ('sf test').
 
-               CONFIG_SPI_FLASH_BAR            Ban/Extended Addr Reg
-
-               Define this option to use the Bank addr/Extended addr
-               support on SPI flashes which has size > 16Mbytes.
-
                CONFIG_SF_DUAL_FLASH            Dual flash memories
 
                Define this option to use dual flash support where two flash
                memories can be connected with a given cs line.
                Currently Xilinx Zynq qspi supports these type of connections.
 
-               CONFIG_SYS_SPI_ST_ENABLE_WP_PIN
-               enable the W#/Vpp signal to disable writing to the status
-               register on ST MICRON flashes like the N25Q128.
-               The status register write enable/disable bit, combined with
-               the W#/VPP signal provides hardware data protection for the
-               device as follows: When the enable/disable bit is set to 1,
-               and the W#/VPP signal is driven LOW, the status register
-               nonvolatile bits become read-only and the WRITE STATUS REGISTER
-               operation will not execute. The only way to exit this
-               hardware-protected mode is to drive W#/VPP HIGH.
-
 - SystemACE Support:
                CONFIG_SYSTEMACE
 
@@ -3150,8 +3055,18 @@ CBFS (Coreboot Filesystem) support
                Enable the hash verify command (hash -v). This adds to code
                size a little.
 
-               CONFIG_SHA1 - support SHA1 hashing
-               CONFIG_SHA256 - support SHA256 hashing
+               CONFIG_SHA1 - This option enables support of hashing using SHA1
+               algorithm. The hash is calculated in software.
+               CONFIG_SHA256 - This option enables support of hashing using
+               SHA256 algorithm. The hash is calculated in software.
+               CONFIG_SHA_HW_ACCEL - This option enables hardware acceleration
+               for SHA1/SHA256 hashing.
+               This affects the 'hash' command and also the
+               hash_lookup_algo() function.
+               CONFIG_SHA_PROG_HW_ACCEL - This option enables
+               hardware-acceleration for SHA1/SHA256 progressive hashing.
+               Data can be streamed in a block at a time and the hashing
+               is performed in hardware.
 
                Note: There is also a sha1sum command, which should perhaps
                be deprecated in favour of 'hash sha1'.
@@ -3177,8 +3092,13 @@ CBFS (Coreboot Filesystem) support
                This enables the RSA algorithm used for FIT image verification
                in U-Boot. See doc/uImage.FIT/signature.txt for more information.
 
+               The Modular Exponentiation algorithm in RSA is implemented using
+               driver model. So CONFIG_DM needs to be enabled by default for this
+               library to function.
+
                The signing part is build into mkimage regardless of this
-               option.
+               option. The software based modular exponentiation is built into
+               mkimage irrespective of this option.
 
 - bootcount support:
                CONFIG_BOOTCOUNT_LIMIT
@@ -3211,55 +3131,6 @@ CBFS (Coreboot Filesystem) support
                example, some LED's) on your board. At the moment,
                the following checkpoints are implemented:
 
-- Detailed boot stage timing
-               CONFIG_BOOTSTAGE
-               Define this option to get detailed timing of each stage
-               of the boot process.
-
-               CONFIG_BOOTSTAGE_USER_COUNT
-               This is the number of available user bootstage records.
-               Each time you call bootstage_mark(BOOTSTAGE_ID_ALLOC, ...)
-               a new ID will be allocated from this stash. If you exceed
-               the limit, recording will stop.
-
-               CONFIG_BOOTSTAGE_REPORT
-               Define this to print a report before boot, similar to this:
-
-               Timer summary in microseconds:
-                      Mark    Elapsed  Stage
-                         0          0  reset
-                 3,575,678  3,575,678  board_init_f start
-                 3,575,695         17  arch_cpu_init A9
-                 3,575,777         82  arch_cpu_init done
-                 3,659,598     83,821  board_init_r start
-                 3,910,375    250,777  main_loop
-                29,916,167 26,005,792  bootm_start
-                30,361,327    445,160  start_kernel
-
-               CONFIG_CMD_BOOTSTAGE
-               Add a 'bootstage' command which supports printing a report
-               and un/stashing of bootstage data.
-
-               CONFIG_BOOTSTAGE_FDT
-               Stash the bootstage information in the FDT. A root 'bootstage'
-               node is created with each bootstage id as a child. Each child
-               has a 'name' property and either 'mark' containing the
-               mark time in microsecond, or 'accum' containing the
-               accumulated time for that bootstage id in microseconds.
-               For example:
-
-               bootstage {
-                       154 {
-                               name = "board_init_f";
-                               mark = <3575678>;
-                       };
-                       170 {
-                               name = "lcd";
-                               accum = <33482>;
-                       };
-               };
-
-               Code in the Linux kernel can find this in /proc/devicetree.
 
 Legacy uImage format:
 
@@ -3353,9 +3224,9 @@ Legacy uImage format:
    65  net/eth.c               Ethernet found.
 
   -80  common/cmd_net.c        usage wrong
-   80  common/cmd_net.c        before calling NetLoop()
-  -81  common/cmd_net.c        some error in NetLoop() occurred
-   81  common/cmd_net.c        NetLoop() back without error
+   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
@@ -3440,8 +3311,10 @@ FIT uImage format:
 
                CONFIG_FIT_SIGNATURE
                This option enables signature verification of FIT uImages,
-               using a hash signed and verified using RSA. See
-               doc/uImage.FIT/signature.txt for more details.
+               using a hash signed and verified using RSA. If
+               CONFIG_SHA_PROG_HW_ACCEL is defined, i.e support for progressive
+               hashing is available using hardware, RSA library will use it.
+               See doc/uImage.FIT/signature.txt for more details.
 
                WARNING: When relying on signed FIT images with required
                signature check the legacy image format is default
@@ -3494,9 +3367,6 @@ FIT uImage format:
                Adds the MTD partitioning infrastructure from the Linux
                kernel. Needed for UBI support.
 
-               CONFIG_MTD_NAND_VERIFY_WRITE
-               verify if the written data is correct reread.
-
 - UBI support
                CONFIG_CMD_UBI
 
@@ -3568,6 +3438,10 @@ FIT uImage format:
                without a fastmap.
                default: 0
 
+               CONFIG_MTD_UBI_FM_DEBUG
+               Enable UBI fastmap debug
+               default: 0
+
 - UBIFS support
                CONFIG_CMD_UBIFS
 
@@ -3621,6 +3495,16 @@ FIT uImage format:
                CONFIG_SPL_STACK
                Adress of the start of the stack SPL will use
 
+               CONFIG_SPL_PANIC_ON_RAW_IMAGE
+               When defined, SPL will panic() if the image it has
+               loaded does not have a signature.
+               Defining this is useful when code which loads images
+               in SPL cannot guarantee that absolutely all read errors
+               will be caught.
+               An example is the LPC32XX MLC NAND driver, which will
+               consider that a completely unreadable NAND block is bad,
+               and thus should be skipped silently.
+
                CONFIG_SPL_RELOC_STACK
                Adress of the start of the stack SPL will use after
                relocation.  If unspecified, this is equal to
@@ -3628,6 +3512,9 @@ FIT uImage format:
 
                CONFIG_SYS_SPL_MALLOC_START
                Starting address of the malloc pool used in SPL.
+               When this option is set the full malloc is used in SPL and
+               it is set up by spl_init() and before that, the simple malloc()
+               can be used if CONFIG_SYS_MALLOC_F is defined.
 
                CONFIG_SYS_SPL_MALLOC_SIZE
                The size of the malloc pool used in SPL.
@@ -3836,12 +3723,6 @@ Modem Support:
 - RTS/CTS Flow control enable:
                CONFIG_HWFLOW
 
-- Modem debug support:
-               CONFIG_MODEM_SUPPORT_DEBUG
-
-               Enables debugging stuff (char screen[1024], dbg())
-               for modem support. Useful only with BDI2000.
-
 - Interrupt support (PPC):
 
                There are common interrupt_init() and timer_interrupt()
@@ -3941,7 +3822,15 @@ Configuration Settings:
                Scratch address used by the alternate memory test
                You only need to set this if address zero isn't writeable
 
-- CONFIG_SYS_MEM_TOP_HIDE (PPC only):
+- CONFIG_SYS_MEM_RESERVE_SECURE
+               If defined, the size of CONFIG_SYS_MEM_RESERVE_SECURE memory
+               is substracted from total RAM and won't be reported to OS.
+               This memory can be used as secure memory. A variable
+               gd->secure_ram is used to track the location. In systems
+               the RAM base is not zero, or RAM is divided into banks,
+               this variable needs to be recalcuated to get the address.
+
+- CONFIG_SYS_MEM_TOP_HIDE:
                If CONFIG_SYS_MEM_TOP_HIDE is defined in the board config header,
                this specified memory area will get subtracted from the top
                (end) of RAM and won't get "touched" at all by U-Boot. By
@@ -4191,6 +4080,10 @@ Configuration Settings:
                list, simply add an entry for the same variable name to the
                ".flags" variable.
 
+       If CONFIG_REGEX is defined, the variable_name above is evaluated as a
+       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.
@@ -4201,9 +4094,9 @@ Configuration Settings:
        to this new framework over time. Defining this will disable the
        arch/foo/lib/board.c file and use common/board_f.c and
        common/board_r.c instead. To use this option your architecture
-       must support it (i.e. must define __HAVE_ARCH_GENERIC_BOARD in
-       its config.mk file). If you find problems enabling this option on
-       your board please report the problem and send patches!
+       must support it (i.e. must select HAVE_GENERIC_BOARD in arch/Kconfig).
+       If you find problems enabling this option on your board please report
+       the problem and send patches!
 
 - CONFIG_OMAP_PLATFORM_RESET_TIME_MAX_USEC (OMAP only)
        This is set by OMAP boards for the max time that reset should
@@ -4334,6 +4227,9 @@ to save the current settings.
          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
@@ -4909,6 +4805,12 @@ Low Level (hardware related) configuration options:
 - CONFIG_FSL_DDR_INTERACTIVE
                Enable interactive DDR debugging. See doc/README.fsl-ddr.
 
+- CONFIG_FSL_DDR_SYNC_REFRESH
+               Enable sync of refresh for multiple controllers.
+
+- CONFIG_FSL_DDR_BIST
+               Enable built-in memory test for Freescale DDR controllers.
+
 - CONFIG_SYS_83XX_DDR_USES_CS0
                Only for 83xx systems. If specified, then DDR should
                be configured using CS0 and CS1 instead of CS2 and CS3.
@@ -5095,6 +4997,33 @@ within that device.
        normal addressable memory via the LBC. CONFIG_SYS_LS_MC_FW_ADDR is the
        virtual address in NOR flash.
 
+Freescale Layerscape Debug Server Support:
+-------------------------------------------
+The Freescale Layerscape Debug Server Support supports the loading of
+"Debug Server firmware" and triggering SP boot-rom.
+This firmware often needs to be loaded during U-Boot booting.
+
+- CONFIG_FSL_DEBUG_SERVER
+       Enable the Debug Server for Layerscape SoCs.
+
+- CONFIG_SYS_DEBUG_SERVER_DRAM_BLOCK_MIN_SIZE
+       Define minimum DDR size required for debug server image
+
+- CONFIG_SYS_MC_RSV_MEM_ALIGN
+       Define alignment of reserved memory MC requires
+
+Reproducible builds
+-------------------
+
+In order to achieve reproducible builds, timestamps used in the U-Boot build
+process have to be set to a fixed value.
+
+This is done using the SOURCE_DATE_EPOCH environment variable.
+SOURCE_DATE_EPOCH is to be set on the build host's shell, not as a configuration
+option for U-Boot or an environment variable in U-Boot.
+
+SOURCE_DATE_EPOCH should be set to a number of seconds since the epoch, in UTC.
+
 Building the Software:
 ======================
 
@@ -5185,14 +5114,11 @@ If the system board that you have is not listed, then you will need
 to port U-Boot to your hardware platform. To do this, follow these
 steps:
 
-1.  Add a new configuration option for your board to the toplevel
-    "boards.cfg" file, using the existing entries as examples.
-    Follow the instructions there to keep the boards in order.
-2.  Create a new directory to hold your board specific code. Add any
+1.  Create a new directory to hold your board specific code. Add any
     files you need. In your board directory, you will need at least
-    the "Makefile", a "<board>.c", "flash.c" and "u-boot.lds".
-3.  Create a new configuration file "include/configs/<board>.h" for
-    your board
+    the "Makefile" and a "<board>.c".
+2.  Create a new configuration file "include/configs/<board>.h" for
+    your board.
 3.  If you're porting U-Boot to a new CPU, then also create a new
     directory to hold your CPU specific code. Add any files you need.
 4.  Run "make <board>_defconfig" with your new name.
@@ -5474,10 +5400,10 @@ List of environment variables (most likely not complete):
                  unset, then it will be made silent if the U-Boot console
                  is silent.
 
-  tftpsrcport  - If this is set, the value is used for TFTP's
+  tftpsrcp     - If this is set, the value is used for TFTP's
                  UDP source port.
 
-  tftpdstport  - If this is set, the value is used for TFTP's UDP
+  tftpdstp     - If this is set, the value is used for TFTP's UDP
                  destination port instead of the Well Know Port 69.
 
   tftpblocksize - Block size to use for TFTP transfers; if not set,
@@ -5491,6 +5417,14 @@ List of environment variables (most likely not complete):
                  faster in networks with high packet loss rates or
                  with unreliable TFTP servers.
 
+  tftptimeoutcountmax  - maximum count of TFTP timeouts (no
+                 unit, minimum value = 0). Defines how many timeouts
+                 can happen during a single file transfer before that
+                 transfer is aborted. The default is 10, and 0 means
+                 'no timeouts allowed'. Increasing this value may help
+                 downloads succeed with high packet loss rates, or with
+                 unreliable TFTP servers or client hardware.
+
   vlan         - When set to a value < 4095 the traffic over
                  Ethernet is encapsulated/received over 802.1q
                  VLAN tagged frames.
@@ -5504,7 +5438,7 @@ loaded to, and "Flash Location" gives the image's address in NOR
 flash or offset in NAND flash.
 
 *Note* - these variables don't have to be defined for all boards, some
-boards currenlty use other variables for these purposes, and some
+boards currently use other variables for these purposes, and some
 boards use these variables for other purposes.
 
 Image              File Name        RAM Address       Flash Location
@@ -5580,6 +5514,10 @@ override any association in the static list. You can define
 CONFIG_ENV_CALLBACK_LIST_DEFAULT to a list (string) to define the
 ".callbacks" environment variable in the default or embedded environment.
 
+If CONFIG_REGEX is defined, the variable_name above is evaluated as a
+regular expression. This allows multiple variables to be connected to
+the same callback without explicitly listing them all out.
+
 
 Command Line Parsing:
 =====================
@@ -5654,7 +5592,8 @@ o If both the SROM and the environment contain a MAC address, and the
   warning is printed.
 
 o If neither SROM nor the environment contain a MAC address, an error
-  is raised.
+  is raised. If CONFIG_NET_RANDOM_ETHADDR is defined, then in this case
+  a random, locally-assigned MAC is used.
 
 If Ethernet drivers implement the 'write_hwaddr' function, valid MAC addresses
 will be programmed into hardware as part of the initialization process.         This
@@ -5900,9 +5839,10 @@ option performs the converse operation of the mkimage's second form (the "-d"
 option). Given an image built by mkimage, the dumpimage extracts a "data file"
 from the image:
 
-       tools/dumpimage -i image -p position data_file
-         -i ==> extract from the 'image' a specific 'data_file', \
-          indexed by 'position'
+       tools/dumpimage -i image -T type -p position data_file
+         -i ==> extract from the 'image' a specific 'data_file'
+         -T ==> set image type to 'type'
+         -p ==> 'position' (starting at 0) of the 'data_file' inside the 'image'
 
 
 Installing a Linux Image:
@@ -6640,7 +6580,8 @@ it:
 
 * A CHANGELOG entry as plaintext (separate from the patch)
 
-* For major contributions, your entry to the CREDITS file
+* For major contributions, add a MAINTAINERS file with your
+  information and associated file and directory references.
 
 * When you add support for a new board, don't forget to add a
   maintainer e-mail address to the boards.cfg file, too.