Examples:
U-Boot v2009.11 - Release November 2009
U-Boot v2009.11.1 - Release 1 in version November 2009 stable tree
- U-Boot v2010.09-rc1 - Release candiate 1 for September 2010 release
+ U-Boot v2010.09-rc1 - Release candidate 1 for September 2010 release
Directory Hierarchy:
/arc Files generic to ARC architecture
/arm Files generic to ARM architecture
/avr32 Files generic to AVR32 architecture
- /blackfin Files generic to Analog Devices Blackfin architecture
/m68k Files generic to m68k architecture
/microblaze Files generic to microblaze architecture
/mips Files generic to MIPS architecture
/powerpc Files generic to PowerPC architecture
/sandbox Files generic to HW-independent "sandbox"
/sh Files generic to SH architecture
- /sparc Files generic to SPARC architecture
/x86 Files generic to x86 architecture
/api Machine/arch independent API for external apps
/board Board dependent files
Defines the string to utilize when trying to match PCIe device
tree nodes for the given platform.
- CONFIG_SYS_PPC_E500_DEBUG_TLB
-
- Enables a temporary TLB entry to be used during boot to work
- around limitations in e500v1 and e500v2 external debugger
- support. This reduces the portions of the boot code where
- breakpoints and single stepping do not work. The value of this
- symbol should be set to the TLB1 entry to be used for this
- purpose.
-
CONFIG_SYS_FSL_ERRATUM_A004510
Enables a workaround for erratum A004510. If set,
CONFIG_SYS_FSL_IFC_LE
Defines the IFC controller register space as Little Endian
+ CONFIG_SYS_FSL_IFC_CLK_DIV
+ Defines divider of platform clock(clock input to IFC controller).
+
+ CONFIG_SYS_FSL_LBC_CLK_DIV
+ Defines divider of platform clock(clock input to eLBC controller).
+
CONFIG_SYS_FSL_PBL_PBI
It enables addition of RCW (Power on reset configuration) in built image.
Please refer doc/README.pblimage for more details
Select high exception vectors of the ARM core, e.g., do not
clear the V bit of the c1 register of CP15.
- CONFIG_SYS_THUMB_BUILD
-
- Use this flag to build U-Boot using the Thumb instruction
- set for ARM architectures. Thumb instruction set provides
- better code density. For ARM architectures that support
- Thumb2 this flag will result in Thumb2 code generated by
- GCC.
-
- CONFIG_ARM_ERRATA_716044
- CONFIG_ARM_ERRATA_742230
- CONFIG_ARM_ERRATA_743622
- CONFIG_ARM_ERRATA_751472
- 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
- workarounds to be applied; no CPU-type/version detection
- exists, unlike the similar options in the Linux kernel. Do not
- set these options unless they apply!
-
COUNTER_FREQUENCY
Generic timer clock source frequency.
different from COUNTER_FREQUENCY, and can only be determined
at run time.
- 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
port routines must be defined elsewhere
(i.e. serial_init(), serial_getc(), ...)
- CONFIG_CFB_CONSOLE
- Enables console device for a color framebuffer. Needs following
- defines (cf. smiLynxEM, i8042)
- VIDEO_FB_LITTLE_ENDIAN graphic memory organisation
- (default big endian)
- VIDEO_HW_RECTFILL graphic chip supports
- rectangle fill
- (cf. smiLynxEM)
- VIDEO_HW_BITBLT graphic chip supports
- bit-blit (cf. smiLynxEM)
- VIDEO_VISIBLE_COLS visible pixel columns
- (cols=pitch)
- VIDEO_VISIBLE_ROWS visible pixel rows
- VIDEO_PIXEL_SIZE bytes per pixel
- VIDEO_DATA_FORMAT graphic data format
- (0-5, cf. cfb_console.c)
- VIDEO_FB_ADRS framebuffer address
- VIDEO_KBD_INIT_FCT keyboard int fct
- (i.e. rx51_kp_init())
- VIDEO_TSTC_FCT test char fct
- (i.e. rx51_kp_tstc)
- VIDEO_GETC_FCT get char fct
- (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
- linux_logo.h for logo.
- Requires CONFIG_VIDEO_LOGO
- CONFIG_CONSOLE_EXTRA_INFO
- additional board info beside
- the logo
- CONFIG_HIDE_LOGO_VERSION
- do not display bootloader
- version string
-
- When CONFIG_CFB_CONSOLE_ANSI is defined, console will support
- a limited number of ANSI escape sequences (cursor control,
- erase functions and limited graphics rendition control).
-
- When CONFIG_CFB_CONSOLE is defined, video console is
- default i/o. Serial console can be forced with
- environment 'console=serial'.
-
- CONFIG_SYS_CONSOLE_BG_COL: define the backgroundcolor, default
- is 0x00.
- CONFIG_SYS_CONSOLE_FG_COL: define the foregroundcolor, default
- is 0xa0.
-
- Console Baudrate:
CONFIG_BAUDRATE - in bps
Select one of the baudrates listed in
CONFIG_CMD_AES AES 128 CBC encrypt/decrypt
CONFIG_CMD_ASKENV * ask for env variable
CONFIG_CMD_BDI bdinfo
- CONFIG_CMD_BEDBUG * Include BedBug Debugger
- CONFIG_CMD_BMP * BMP support
- CONFIG_CMD_BSP * Board specific commands
CONFIG_CMD_BOOTD bootd
CONFIG_CMD_BOOTI * ARM64 Linux kernel Image support
CONFIG_CMD_CACHE * icache, dcache
- CONFIG_CMD_CLK * clock command support
CONFIG_CMD_CONSOLE coninfo
CONFIG_CMD_CRC32 * crc32
- CONFIG_CMD_DATE * support for RTC, date/time...
CONFIG_CMD_DHCP * DHCP support
CONFIG_CMD_DIAG * Diagnostics
CONFIG_CMD_DS4510 * ds4510 I2C gpio commands
tree is available in the global data as gd->fdt_blob.
U-Boot needs to get its device tree from somewhere. This can
- be done using one of the two options below:
+ be done using one of the three options below:
CONFIG_OF_EMBED
If this variable is defined, U-Boot will embed a device tree
still use the individual files if you need something more
exotic.
+ CONFIG_OF_BOARD
+ If this variable is defined, U-Boot will use the device tree
+ provided by the board at runtime instead of embedding one with
+ the image. Only boards defining board_fdt_blob_setup() support
+ this option (see include/fdtdec.h file).
+
- Watchdog:
CONFIG_WATCHDOG
If this variable is defined, it enables watchdog
CONFIG_SH_MMCIF_CLK
Define the clock frequency for MMCIF
- CONFIG_GENERIC_MMC
- Enable the generic MMC driver
-
CONFIG_SUPPORT_EMMC_BOOT
Enable some additional features of the eMMC boot partitions.
This will also enable the command "fatwrite" enabling the
user to write files to FAT.
-CBFS (Coreboot Filesystem) support
- CONFIG_CMD_CBFS
-
- Define this to enable support for reading from a Coreboot
- filesystem. Available commands are cbfsinit, cbfsinfo, cbfsls
- and cbfsload.
-
- FAT(File Allocation Table) filesystem cluster size:
CONFIG_FS_FAT_MAX_CLUSTSIZE
instead.
- Video support:
- CONFIG_VIDEO_CT69000
-
- Enable Chips & Technologies 69000 Video chip
-
- CONFIG_VIDEO_SMI_LYNXEM
- Enable Silicon Motion SMI 712/710/810 Video chip. The
- video output is selected via environment 'videoout'
- (1 = LCD and 2 = CRT). If videoout is undefined, CRT is
- assumed.
-
- For the CT69000 and SMI_LYNXEM drivers, videomode is
- selected via environment 'videomode'. Two different ways
- are possible:
- - "videomode=num" 'num' is a standard LiLo mode numbers.
- Following standard modes are supported (* is default):
-
- Colors 640x480 800x600 1024x768 1152x864 1280x1024
- -------------+---------------------------------------------
- 8 bits | 0x301* 0x303 0x305 0x161 0x307
- 15 bits | 0x310 0x313 0x316 0x162 0x319
- 16 bits | 0x311 0x314 0x317 0x163 0x31A
- 24 bits | 0x312 0x315 0x318 ? 0x31B
- -------------+---------------------------------------------
- (i.e. setenv videomode 317; saveenv; reset;)
-
- - "videomode=bootargs" all the video parameters are parsed
- from the bootargs. (See drivers/video/videomodes.c)
-
-
- CONFIG_VIDEO_SED13806
- Enable Epson SED13806 driver. This driver supports 8bpp
- and 16bpp modes defined by CONFIG_VIDEO_SED13806_8BPP
- or CONFIG_VIDEO_SED13806_16BPP
-
CONFIG_FSL_DIU_FB
Enable the Freescale DIU video driver. Reference boards for
SOCs that have a DIU should define this macro to enable DIU
CONFIG_SYS_DIU_ADDR
CONFIG_VIDEO
- CONFIG_CMD_BMP
CONFIG_CFB_CONSOLE
CONFIG_VIDEO_SW_CURSOR
CONFIG_VGA_AS_SINGLE_DEVICE
320x240. Black & white.
- Normally display is black on white background; define
- CONFIG_SYS_WHITE_ON_BLACK to get it inverted.
-
CONFIG_LCD_ALIGNMENT
Normally the LCD is page-aligned (typically 4KB). If this is
here, since it is cheaper to change data cache settings on
a per-section basis.
- CONFIG_CONSOLE_SCROLL_LINES
-
- When the console need to be scrolled, this is the number of
- lines to scroll by. It defaults to 1. Increasing this makes
- the console jump but can help speed up operation when scrolling
- is slow.
CONFIG_LCD_ROTATION
can be displayed via the splashscreen support or the
bmp command.
-- Do compressing for memory range:
- CONFIG_CMD_ZIP
-
- If this option is set, it would use zlib deflate method
- to compress the specified memory at its best effort.
-
- Compression support:
CONFIG_GZIP
A byte containing the id of the VLAN.
-- Status LED: CONFIG_STATUS_LED
+- Status LED: CONFIG_LED_STATUS
Several configurations allow to display the current
status using a LED. For instance, the LED will blink
soon as a reply to a BOOTP request was received, and
start blinking slow once the Linux kernel is running
(supported by a status LED driver in the Linux
- kernel). Defining CONFIG_STATUS_LED enables this
+ kernel). Defining CONFIG_LED_STATUS enables this
feature in U-Boot.
Additional options:
- CONFIG_GPIO_LED
+ CONFIG_LED_STATUS_GPIO
The status LED can be connected to a GPIO pin.
In such cases, the gpio_led driver can be used as a
- status LED backend implementation. Define CONFIG_GPIO_LED
+ status LED backend implementation. Define CONFIG_LED_STATUS_GPIO
to include the gpio_led driver in the U-Boot binary.
CONFIG_GPIO_LED_INVERTED_TABLE
If you do not have i2c muxes on your board, omit this define.
-- Legacy I2C Support: CONFIG_HARD_I2C
-
- NOTE: It is intended to move drivers to CONFIG_SYS_I2C which
- provides the following compelling advantages:
-
- - more than one i2c adapter is usable
- - approved multibus support
- - better i2c mux support
-
- ** Please consider updating your I2C driver now. **
-
- These enable legacy I2C serial bus commands. Defining
- CONFIG_HARD_I2C will include the appropriate I2C driver
- for the selected CPU.
-
- This will allow you to use i2c commands at the u-boot
- command line (as long as you set CONFIG_CMD_I2C in
- CONFIG_COMMANDS) and communicate with i2c based realtime
- clock chips. See common/cmd_i2c.c for a description of the
- command line interface.
-
- CONFIG_HARD_I2C selects a hardware I2C controller.
-
- There are several other quantities that must also be
- defined when you define CONFIG_HARD_I2C.
-
- In both cases you will need to define CONFIG_SYS_I2C_SPEED
- to be the frequency (in Hz) at which you wish your i2c bus
- to run and CONFIG_SYS_I2C_SLAVE to be the address of this node (ie
- the CPU's i2c node address).
-
- Now, the u-boot i2c code for the mpc8xx
- (arch/powerpc/cpu/mpc8xx/i2c.c) sets the CPU up as a master node
- and so its address should therefore be cleared to 0 (See,
- eg, MPC823e User's Manual p.16-473). So, set
- CONFIG_SYS_I2C_SLAVE to 0.
-
- CONFIG_SYS_I2C_INIT_MPC5XXX
-
- When a board is reset during an i2c bus transfer
- chips might think that the current transfer is still
- in progress. Reset the slave devices by sending start
- commands until the slave device responds.
-
- That's all that's required for CONFIG_HARD_I2C.
-
+- Legacy I2C Support:
If you use the software i2c interface (CONFIG_SYS_I2C_SOFT)
then the following macros need to be defined (examples are
from include/configs/lwmon.h):
custom i2c_init_board() routine in boards/xxx/board.c
is run early in the boot sequence.
- CONFIG_SYS_I2C_BOARD_LATE_INIT
-
- An alternative to CONFIG_SYS_I2C_INIT_BOARD. If this option is
- defined a custom i2c_board_late_init() routine in
- boards/xxx/board.c is run AFTER the operations in i2c_init()
- is completed. This callpoint can be used to unreset i2c bus
- using CPU i2c controller register accesses for CPUs whose i2c
- controller provide such a method. It is called at the end of
- i2c_init() to allow i2c_init operations to setup the i2c bus
- controller on the CPU (e.g. setting bus speed & slave address).
-
- CONFIG_I2CFAST (PPC405GP|PPC405EP only)
-
- This option enables configuration of bi_iic_fast[] flags
- in u-boot bd_info structure based on u-boot environment
- variable "i2cfast". (see also i2cfast)
-
CONFIG_I2C_MULTI_BUS
This option allows the use of multiple I2C buses, each of which
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
This enables 'hdmidet' command which returns true if an
HDMI monitor is detected. This command is i.MX 6 specific.
- CONFIG_CMD_BMODE
- This enables the 'bmode' (bootmode) command for forcing
- a boot from specific media.
-
- This is useful for forcing the ROM's usb downloader to
- activate upon a watchdog reset which is nice when iterating
- on U-Boot. Using the reset button or running bmode normal
- will set it back to normal. This command currently
- supports i.MX53 and i.MX6.
-
- bootcount support:
CONFIG_BOOTCOUNT_LIMIT
CONFIG_AT91SAM9XE
enable special bootcounter support on at91sam9xe based boards.
- CONFIG_BLACKFIN
- enable special bootcounter support on blackfin based boards.
CONFIG_SOC_DA8XX
enable special bootcounter support on da850 based boards.
CONFIG_BOOTCOUNT_RAM
consider that a completely unreadable NAND block is bad,
and thus should be skipped silently.
- CONFIG_SPL_ABORT_ON_RAW_IMAGE
- When defined, SPL will proceed to another boot method
- if the image it has loaded does not have a signature.
-
CONFIG_SPL_RELOC_STACK
Adress of the start of the stack SPL will use after
relocation. If unspecified, this is equal to
CONFIG_SPL_INIT_MINIMAL
Arch init code should be built for a very small image
- CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR,
- CONFIG_SYS_U_BOOT_MAX_SIZE_SECTORS,
- Address and partition on the MMC to load U-Boot from
- when the MMC is being used in raw mode.
-
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_PARTITION
Partition on the MMC to load U-Boot from when the MMC is being
used in raw mode
- CONFIG_SYS_BAUDRATE_TABLE:
List of legal baudrate settings for this board.
-- CONFIG_SYS_CONSOLE_INFO_QUIET
- Suppress display of console information at boot.
-
-- CONFIG_SYS_CONSOLE_IS_IN_ENV
- If the board specific function
- extern int overwrite_console (void);
- returns 1, the stdin, stderr and stdout are switched to the
- serial port, else the settings in the environment are used.
-
-- CONFIG_SYS_CONSOLE_OVERWRITE_ROUTINE
- Enable the call to overwrite_console().
-
-- CONFIG_SYS_CONSOLE_ENV_OVERWRITE
- Enable overwrite of previous console environment settings.
-
- CONFIG_SYS_MEMTEST_START, CONFIG_SYS_MEMTEST_END:
Begin and End addresses of the area used by the
simple memory test.
If defined, don't allow the -f switch to env set override variable
access flags.
-- CONFIG_OMAP_PLATFORM_RESET_TIME_MAX_USEC (OMAP only)
- This is set by OMAP boards for the max time that reset should
- be asserted. See doc/README.omap-reset-time for details on how
- the value can be calculated on a given board.
-
- CONFIG_USE_STDINT
If stdint.h is available with your toolchain you can define this
option to enable it. You can provide option 'USE_STDINT=1' when
Define this to a string that is the name of the block device.
- - FAT_ENV_DEV_AND_PART:
+ - FAT_ENV_DEVICE_AND_PART:
Define this to a string to specify the partition of the device. It can
be as following:
addressable memory. This option causes some memory accesses
to be mapped through map_sysmem() / unmap_sysmem().
-- CONFIG_USE_ARCH_MEMCPY
- CONFIG_USE_ARCH_MEMSET
- If these options are used a optimized version of memcpy/memset will
- be used if available. These functions may be faster under some
- conditions but may increase the binary size.
-
- CONFIG_X86_RESET_VECTOR
If defined, the x86 reset vector code is included. This is not
needed when U-Boot is running from Coreboot.
-- CONFIG_SYS_MPUCLK
- Defines the MPU clock speed (in MHz).
-
- NOTE : currently only supported on AM335x platforms.
-
- CONFIG_SPL_AM33XX_ENABLE_RTC32K_OSC:
Enables the RTC32K OSC on AM33xx based plattforms
average for all boards 752 bytes for the whole U-Boot image,
624 text + 127 data).
-On Blackfin, the normal C ABI (except for P3) is followed as documented here:
- http://docs.blackfin.uclinux.org/doku.php?id=application_binary_interface
-
- ==> U-Boot will use P3 to hold a pointer to the global data
-
On ARM, the following registers are used:
R0: function argument word/integer result