| # |
| # (C) Copyright 2000 - 2013 |
| # Wolfgang Denk, DENX Software Engineering, wd@denx.de. |
| # |
| # SPDX-License-Identifier: GPL-2.0+ |
| # |
| |
| Summary: |
| ======== |
| |
| This directory contains the source code for U-Boot, a boot loader for |
| Embedded boards based on PowerPC, ARM, MIPS and several other |
| processors, which can be installed in a boot ROM and used to |
| initialize and test the hardware or to download and run application |
| code. |
| |
| The development of U-Boot is closely related to Linux: some parts of |
| the source code originate in the Linux source tree, we have some |
| header files in common, and special provision has been made to |
| support booting of Linux images. |
| |
| Some attention has been paid to make this software easily |
| configurable and extendable. For instance, all monitor commands are |
| implemented with the same call interface, so that it's very easy to |
| add new commands. Also, instead of permanently adding rarely used |
| code (for instance hardware test utilities) to the monitor, you can |
| load and run it dynamically. |
| |
| |
| Status: |
| ======= |
| |
| 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. |
| |
| Note: There is no CHANGELOG file in the actual U-Boot source tree; |
| it can be created dynamically from the Git log using: |
| |
| make CHANGELOG |
| |
| |
| 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@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 |
| 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 |
| 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 |
| |
| The "snapshot" links on this page allow you to download tarballs of |
| any version you might be interested in. Official releases are also |
| available for FTP download from the ftp://ftp.denx.de/pub/u-boot/ |
| directory. |
| |
| Pre-built (and tested) images are available from |
| ftp://ftp.denx.de/pub/u-boot/images/ |
| |
| |
| Where we come from: |
| =================== |
| |
| - start from 8xxrom sources |
| - create PPCBoot project (http://sourceforge.net/projects/ppcboot) |
| - clean up code |
| - make it easier to add custom boards |
| - make it possible to add other [PowerPC] CPUs |
| - extend functions, especially: |
| * Provide extended interface to Linux boot loader |
| * S-Record download |
| * network boot |
| * PCMCIA / CompactFlash / ATA disk / SCSI ... boot |
| - create ARMBoot project (http://sourceforge.net/projects/armboot) |
| - add other CPU families (starting with ARM) |
| - create U-Boot project (http://sourceforge.net/projects/u-boot) |
| - current project page: see http://www.denx.de/wiki/U-Boot |
| |
| |
| Names and Spelling: |
| =================== |
| |
| The "official" name of this project is "Das U-Boot". The spelling |
| "U-Boot" shall be used in all written text (documentation, comments |
| in source files etc.). Example: |
| |
| This is the README file for the U-Boot project. |
| |
| File names etc. shall be based on the string "u-boot". Examples: |
| |
| include/asm-ppc/u-boot.h |
| |
| #include <asm/u-boot.h> |
| |
| Variable names, preprocessor constants etc. shall be either based on |
| the string "u_boot" or on "U_BOOT". Example: |
| |
| U_BOOT_VERSION u_boot_logo |
| IH_OS_U_BOOT u_boot_hush_start |
| |
| |
| Versioning: |
| =========== |
| |
| Starting with the release in October 2008, the names of the releases |
| were changed from numerical release numbers without deeper meaning |
| into a time stamp based numbering. Regular releases are identified by |
| names consisting of the calendar year and month of the release date. |
| Additional fields (if present) indicate release candidates or bug fix |
| releases in "stable" maintenance trees. |
| |
| 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 |
| |
| |
| 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 |
| /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 |
| /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 |
| /disk Code for disk drive partition handling |
| /doc Documentation (don't expect too much) |
| /drivers Commonly used device drivers |
| /dts Contains Makefile for building internal U-Boot fdt. |
| /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 |
| /net Networking code |
| /post Power On Self Test |
| /spl Secondary Program Loader framework |
| /tools Tools to build S-Record or U-Boot images, etc. |
| |
| Software Configuration: |
| ======================= |
| |
| Configuration is usually done using C preprocessor defines; the |
| rationale behind that is to avoid dead code whenever possible. |
| |
| There are two classes of configuration variables: |
| |
| * Configuration _OPTIONS_: |
| These are selectable by the user and have names beginning with |
| "CONFIG_". |
| |
| * Configuration _SETTINGS_: |
| These depend on the hardware etc. and should not be meddled with if |
| 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. |
| |
| |
| Selection of Processor Architecture and Board Type: |
| --------------------------------------------------- |
| |
| For all supported boards there are ready-to-use default |
| configurations available; just type "make <board_name>_defconfig". |
| |
| 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. |
| |
| |
| Sandbox Environment: |
| -------------------- |
| |
| U-Boot can be built natively to run on a Linux host using the 'sandbox' |
| board. This allows feature development which is not board- or architecture- |
| specific to be undertaken on a native platform. The sandbox is also used to |
| 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). At present SPL |
| mostly uses a separate code path, but the funtion 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 starts with start.S with three functions called during init after |
| that. The purpose and limitations of each is 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: |
| ---------------------- |
| |
| Configuration depends on the combination of board and CPU type; all |
| such information is kept in a configuration file |
| "include/configs/<board_name>.h". |
| |
| Example: For a TQM823L module, all configuration settings are in |
| "include/configs/TQM823L.h". |
| |
| |
| 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. |
| |
| |
| The following options need to be configured: |
| |
| - CPU Type: Define exactly one, e.g. CONFIG_MPC85XX. |
| |
| - Board Type: Define exactly one, e.g. CONFIG_MPC8540ADS. |
| |
| - CPU Daughterboard Type: (if CONFIG_ATSTK1000 is defined) |
| Define exactly one, e.g. CONFIG_ATSTK1002 |
| |
| - CPU Module Type: (if CONFIG_COGENT is defined) |
| Define exactly one of |
| CONFIG_CMA286_60_OLD |
| --- FIXME --- not tested yet: |
| CONFIG_CMA286_60, CONFIG_CMA286_21, CONFIG_CMA286_60P, |
| CONFIG_CMA287_23, CONFIG_CMA287_50 |
| |
| - Motherboard Type: (if CONFIG_COGENT is defined) |
| Define exactly one of |
| CONFIG_CMA101, CONFIG_CMA102 |
| |
| - Motherboard I/O Modules: (if CONFIG_COGENT is defined) |
| Define one or more of |
| CONFIG_CMA302 |
| |
| - Motherboard Options: (if CONFIG_CMA101 or CONFIG_CMA102 are defined) |
| Define one or more of |
| CONFIG_LCD_HEARTBEAT - update a character position on |
| the LCD display every second with |
| a "rotator" |\-/|\-/ |
| |
| - Marvell Family Member |
| CONFIG_SYS_MVFS - define it if you want to enable |
| multiple fs option at one time |
| for marvell soc family |
| |
| - 8xx CPU Options: (if using an MPC8xx CPU) |
| CONFIG_8xx_GCLK_FREQ - deprecated: CPU clock if |
| get_gclk_freq() cannot work |
| e.g. if there is no 32KHz |
| reference PIT/RTC clock |
| CONFIG_8xx_OSCLK - PLL input clock (either EXTCLK |
| or XTAL/EXTAL) |
| |
| - 859/866/885 CPU options: (if using a MPC859 or MPC866 or MPC885 CPU): |
| CONFIG_SYS_8xx_CPUCLK_MIN |
| CONFIG_SYS_8xx_CPUCLK_MAX |
| CONFIG_8xx_CPUCLK_DEFAULT |
| See doc/README.MPC866 |
| |
| CONFIG_SYS_MEASURE_CPUCLK |
| |
| Define this to measure the actual CPU clock instead |
| of relying on the correctness of the configured |
| values. Mostly useful for board bringup to make sure |
| the PLL is locked at the intended frequency. Note |
| that this requires a (stable) reference clock (32 kHz |
| RTC clock or CONFIG_SYS_8XX_XIN) |
| |
| CONFIG_SYS_DELAYED_ICACHE |
| |
| Define this option if you want to enable the |
| ICache only when Code runs from RAM. |
| |
| - 85xx CPU Options: |
| CONFIG_SYS_PPC64 |
| |
| Specifies that the core is a 64-bit PowerPC implementation (implements |
| the "64" category of the Power ISA). This is necessary for ePAPR |
| compliance, among other possible reasons. |
| |
| CONFIG_SYS_FSL_TBCLK_DIV |
| |
| Defines the core time base clock divider ratio compared to the |
| system clock. On most PQ3 devices this is 8, on newer QorIQ |
| devices it can be 16 or 32. The ratio varies from SoC to Soc. |
| |
| CONFIG_SYS_FSL_PCIE_COMPAT |
| |
| 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, |
| then CONFIG_SYS_FSL_ERRATUM_A004510_SVR_REV and |
| CONFIG_SYS_FSL_CORENET_SNOOPVEC_COREONLY must be set. |
| |
| CONFIG_SYS_FSL_ERRATUM_A004510_SVR_REV |
| CONFIG_SYS_FSL_ERRATUM_A004510_SVR_REV2 (optional) |
| |
| Defines one or two SoC revisions (low 8 bits of SVR) |
| for which the A004510 workaround should be applied. |
| |
| The rest of SVR is either not relevant to the decision |
| of whether the erratum is present (e.g. p2040 versus |
| p2041) or is implied by the build target, which controls |
| whether CONFIG_SYS_FSL_ERRATUM_A004510 is set. |
| |
| See Freescale App Note 4493 for more information about |
| this erratum. |
| |
| CONFIG_A003399_NOR_WORKAROUND |
| Enables a workaround for IFC erratum A003399. It is only |
| required during NOR boot. |
| |
| CONFIG_A008044_WORKAROUND |
| Enables a workaround for T1040/T1042 erratum A008044. It is only |
| required during NAND boot and valid for Rev 1.0 SoC revision |
| |
| CONFIG_SYS_FSL_CORENET_SNOOPVEC_COREONLY |
| |
| This is the value to write into CCSR offset 0x18600 |
| according to the A004510 workaround. |
| |
| CONFIG_SYS_FSL_DSP_DDR_ADDR |
| This value denotes start offset of DDR memory which is |
| connected exclusively to the DSP cores. |
| |
| CONFIG_SYS_FSL_DSP_M2_RAM_ADDR |
| This value denotes start offset of M2 memory |
| which is directly connected to the DSP core. |
| |
| CONFIG_SYS_FSL_DSP_M3_RAM_ADDR |
| This value denotes start offset of M3 memory which is directly |
| connected to the DSP core. |
| |
| CONFIG_SYS_FSL_DSP_CCSRBAR_DEFAULT |
| This value denotes start offset of DSP CCSR space. |
| |
| CONFIG_SYS_FSL_SINGLE_SOURCE_CLK |
| Single Source Clock is clocking mode present in some of FSL SoC's. |
| In this mode, a single differential clock is used to supply |
| clocks to the sysclock, ddrclock and usbclock. |
| |
| CONFIG_SYS_CPC_REINIT_F |
| This CONFIG is defined when the CPC is configured as SRAM at the |
| time of U-boot entry and is required to be re-initialized. |
| |
| CONFIG_DEEP_SLEEP |
| Indicates this SoC supports deep sleep feature. If deep sleep is |
| 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 |
| values is arch specific. |
| |
| CONFIG_SYS_FSL_DDR |
| Freescale DDR driver in use. This type of DDR controller is |
| found in mpc83xx, mpc85xx, mpc86xx as well as some ARM core |
| SoCs. |
| |
| CONFIG_SYS_FSL_DDR_ADDR |
| Freescale DDR memory-mapped register base. |
| |
| CONFIG_SYS_FSL_DDR_EMU |
| Specify emulator support for DDR. Some DDR features such as |
| deskew training are not available. |
| |
| CONFIG_SYS_FSL_DDRC_GEN1 |
| Freescale DDR1 controller. |
| |
| CONFIG_SYS_FSL_DDRC_GEN2 |
| Freescale DDR2 controller. |
| |
| CONFIG_SYS_FSL_DDRC_GEN3 |
| Freescale DDR3 controller. |
| |
| CONFIG_SYS_FSL_DDRC_GEN4 |
| Freescale DDR4 controller. |
| |
| CONFIG_SYS_FSL_DDRC_ARM_GEN3 |
| Freescale DDR3 controller for ARM-based SoCs. |
| |
| CONFIG_SYS_FSL_DDR1 |
| Board config to use DDR1. It can be enabled for SoCs with |
| Freescale DDR1 or DDR2 controllers, depending on the board |
| implemetation. |
| |
| CONFIG_SYS_FSL_DDR2 |
| Board config to use DDR2. It can be eanbeld for SoCs with |
| Freescale DDR2 or DDR3 controllers, depending on the board |
| implementation. |
| |
| CONFIG_SYS_FSL_DDR3 |
| Board config to use DDR3. It can be enabled for SoCs with |
| Freescale DDR3 or DDR3L controllers. |
| |
| CONFIG_SYS_FSL_DDR3L |
| Board config to use DDR3L. It can be enabled for SoCs with |
| DDR3L controllers. |
| |
| CONFIG_SYS_FSL_DDR4 |
| Board config to use DDR4. It can be enabled for SoCs with |
| DDR4 controllers. |
| |
| CONFIG_SYS_FSL_IFC_BE |
| Defines the IFC controller register space as Big Endian |
| |
| CONFIG_SYS_FSL_IFC_LE |
| Defines the IFC controller register space as Little Endian |
| |
| 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 |
| |
| CONFIG_SYS_FSL_PBL_RCW |
| It adds PBI(pre-boot instructions) commands in u-boot build image. |
| PBI commands can be used to configure SoC before it starts the execution. |
| Please refer doc/README.pblimage for more details |
| |
| CONFIG_SPL_FSL_PBL |
| It adds a target to create boot binary having SPL binary in PBI format |
| concatenated with u-boot binary. |
| |
| CONFIG_SYS_FSL_DDR_BE |
| Defines the DDR controller register space as Big Endian |
| |
| CONFIG_SYS_FSL_DDR_LE |
| Defines the DDR controller register space as Little Endian |
| |
| CONFIG_SYS_FSL_DDR_SDRAM_BASE_PHY |
| Physical address from the view of DDR controllers. It is the |
| same as CONFIG_SYS_DDR_SDRAM_BASE for all Power SoCs. But |
| it could be different for ARM SoCs. |
| |
| CONFIG_SYS_FSL_DDR_INTLV_256B |
| DDR controller interleaving on 256-byte. This is a special |
| interleaving mode, handled by Dickens for Freescale layerscape |
| SoCs with ARM core. |
| |
| CONFIG_SYS_FSL_DDR_MAIN_NUM_CTRLS |
| Number of controllers used as main memory. |
| |
| CONFIG_SYS_FSL_OTHER_DDR_NUM_CTRLS |
| Number of controllers used for other than main memory. |
| |
| CONFIG_SYS_FSL_SEC_BE |
| Defines the SEC controller register space as Big Endian |
| |
| CONFIG_SYS_FSL_SEC_LE |
| Defines the SEC controller register space as Little Endian |
| |
| - Intel Monahans options: |
| CONFIG_SYS_MONAHANS_RUN_MODE_OSC_RATIO |
| |
| Defines the Monahans run mode to oscillator |
| ratio. Valid values are 8, 16, 24, 31. The core |
| frequency is this value multiplied by 13 MHz. |
| |
| CONFIG_SYS_MONAHANS_TURBO_RUN_MODE_RATIO |
| |
| Defines the Monahans turbo mode to oscillator |
| ratio. Valid values are 1 (default if undefined) and |
| 2. The core frequency as calculated above is multiplied |
| by this value. |
| |
| - MIPS CPU options: |
| CONFIG_SYS_INIT_SP_OFFSET |
| |
| Offset relative to CONFIG_SYS_SDRAM_BASE for initial stack |
| pointer. This is needed for the temporary stack before |
| relocation. |
| |
| CONFIG_SYS_MIPS_CACHE_MODE |
| |
| Cache operation mode for the MIPS CPU. |
| See also arch/mips/include/asm/mipsregs.h. |
| Possible values are: |
| CONF_CM_CACHABLE_NO_WA |
| CONF_CM_CACHABLE_WA |
| CONF_CM_UNCACHED |
| CONF_CM_CACHABLE_NONCOHERENT |
| CONF_CM_CACHABLE_CE |
| CONF_CM_CACHABLE_COW |
| CONF_CM_CACHABLE_CUW |
| CONF_CM_CACHABLE_ACCELERATED |
| |
| CONFIG_SYS_XWAY_EBU_BOOTCFG |
| |
| Special option for Lantiq XWAY SoCs for booting from NOR flash. |
| See also arch/mips/cpu/mips32/start.S. |
| |
| CONFIG_XWAY_SWAP_BYTES |
| |
| Enable compilation of tools/xway-swap-bytes needed for Lantiq |
| XWAY SoCs for booting from NOR flash. The U-Boot image needs to |
| be swapped if a flash programmer is used. |
| |
| - ARM options: |
| CONFIG_SYS_EXCEPTION_VECTORS_HIGH |
| |
| 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_794072 |
| CONFIG_ARM_ERRATA_761320 |
| |
| 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. |
| |
| 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. |
| |
| 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 |
| |
| 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 |
| |
| U-Boot stores all clock information in Hz |
| internally. For binary compatibility with older Linux |
| kernels (which expect the clocks passed in the |
| bd_info data to be in MHz) the environment variable |
| "clocks_in_mhz" can be defined so that U-Boot |
| converts clock data to MHZ before passing it to the |
| Linux kernel. |
| When CONFIG_CLOCKS_IN_MHZ is defined, a definition of |
| "clocks_in_mhz=1" is automatically included in the |
| default environment. |
| |
| CONFIG_MEMSIZE_IN_BYTES [relevant for MIPS only] |
| |
| When transferring memsize parameter to Linux, some versions |
| expect it to be in bytes, others in MB. |
| Define CONFIG_MEMSIZE_IN_BYTES to make it in bytes. |
| |
| CONFIG_OF_LIBFDT |
| |
| New kernel versions are expecting firmware settings to be |
| passed using flattened device trees (based on open firmware |
| concepts). |
| |
| CONFIG_OF_LIBFDT |
| * New libfdt-based support |
| * Adds the "fdt" command |
| * The bootm command automatically updates the fdt |
| |
| OF_CPU - The proper name of the cpus node (only required for |
| MPC512X and MPC5xxx based boards). |
| OF_SOC - The proper name of the soc node (only required for |
| MPC512X and MPC5xxx based boards). |
| OF_TBCLK - The timebase frequency. |
| OF_STDOUT_PATH - The path to the console device |
| |
| boards with QUICC Engines require OF_QE to set UCC MAC |
| addresses |
| |
| CONFIG_OF_BOARD_SETUP |
| |
| Board code has addition modification that it wants to make |
| to the flat device tree before handing it off to the kernel |
| |
| CONFIG_OF_SYSTEM_SETUP |
| |
| Other code has addition modification that it wants to make |
| to the flat device tree before handing it off to the kernel. |
| This causes ft_system_setup() to be called before booting |
| the kernel. |
| |
| CONFIG_OF_BOOT_CPU |
| |
| This define fills in the correct boot CPU in the boot |
| param header, the default value is zero if undefined. |
| |
| CONFIG_OF_IDE_FIXUP |
| |
| U-Boot can detect if an IDE device is present or not. |
| If not, and this new config option is activated, U-Boot |
| removes the ATA node from the DTS before booting Linux, |
| so the Linux IDE driver does not probe the device and |
| crash. This is needed for buggy hardware (uc101) where |
| no pull down resistor is connected to the signal IDE5V_DD7. |
| |
| CONFIG_MACH_TYPE [relevant for ARM only][mandatory] |
| |
| This setting is mandatory for all boards that have only one |
| machine type and must be used to specify the machine type |
| number as it appears in the ARM machine registry |
| (see http://www.arm.linux.org.uk/developer/machines/). |
| Only boards that have multiple machine types supported |
| in a single configuration file and the machine type is |
| runtime discoverable, do not have to use this setting. |
| |
| - vxWorks boot parameters: |
| |
| bootvx constructs a valid bootline using the following |
| environments variables: bootfile, ipaddr, serverip, hostname. |
| 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. |
| |
| - Cache Configuration: |
| CONFIG_SYS_ICACHE_OFF - Do not enable instruction cache in U-Boot |
| CONFIG_SYS_DCACHE_OFF - Do not enable data cache in U-Boot |
| CONFIG_SYS_L2CACHE_OFF- Do not enable L2 cache in U-Boot |
| |
| - Cache Configuration for ARM: |
| CONFIG_SYS_L2_PL310 - Enable support for ARM PL310 L2 cache |
| controller |
| CONFIG_SYS_PL310_BASE - Physical base address of PL310 |
| controller register space |
| |
| - Serial Ports: |
| CONFIG_PL010_SERIAL |
| |
| Define this if you want support for Amba PrimeCell PL010 UARTs. |
| |
| CONFIG_PL011_SERIAL |
| |
| Define this if you want support for Amba PrimeCell PL011 UARTs. |
| |
| CONFIG_PL011_CLOCK |
| |
| If you have Amba PrimeCell PL011 UARTs, set this variable to |
| the clock speed of the UARTs. |
| |
| CONFIG_PL01x_PORTS |
| |
| If you have Amba PrimeCell PL010 or PL011 UARTs on your board, |
| define this to a list of base addresses for each (supported) |
| port. See e.g. include/configs/versatile.h |
| |
| CONFIG_SERIAL_HW_FLOW_CONTROL |
| |
| Define this variable to enable hw flow control in serial driver. |
| Current user of this option is drivers/serial/nsl16550.c driver |
| |
| - Console Interface: |
| Depending on board, define exactly one serial port |
| (like CONFIG_8xx_CONS_SMC1, CONFIG_8xx_CONS_SMC2, |
| CONFIG_8xx_CONS_SCC1, ...), or switch off the serial |
| console by defining CONFIG_8xx_CONS_NONE |
| |
| Note: if CONFIG_8xx_CONS_NONE is defined, the serial |
| 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. i8042_kbd_init()) |
| VIDEO_TSTC_FCT test char fct |
| (i.e. i8042_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) |
| 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 |
| |
| 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'. |
| |
| When CONFIG_SILENT_CONSOLE is defined, all console |
| messages (by U-Boot and Linux!) can be silenced with |
| the "silent" environment variable. See |
| doc/README.silent for more information. |
| |
| 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_SYS_BAUDRATE_TABLE, see below. |
| CONFIG_SYS_BRGCLK_PRESCALE, baudrate prescale |
| |
| - Console Rx buffer length |
| With CONFIG_SYS_SMC_RXBUFLEN it is possible to define |
| the maximum receive buffer length for the SMC. |
| This option is actual only for 82xx and 8xx possible. |
| If using CONFIG_SYS_SMC_RXBUFLEN also CONFIG_SYS_MAXIDLE |
| must be defined, to setup the maximum idle timeout for |
| the SMC. |
| |
| - Pre-Console Buffer: |
| Prior to the console being initialised (i.e. serial UART |
| initialised etc) all console output is silently discarded. |
| Defining CONFIG_PRE_CONSOLE_BUFFER will cause U-Boot to |
| buffer any console messages prior to the console being |
| initialised to a buffer of size CONFIG_PRE_CON_BUF_SZ |
| bytes located at CONFIG_PRE_CON_BUF_ADDR. The buffer is |
| a circular buffer, so if more than CONFIG_PRE_CON_BUF_SZ |
| 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. |
| set to -2 to autoboot with no delay and not check for abort |
| (even when CONFIG_ZERO_BOOTDELAY_CHECK is defined). |
| |
| See doc/README.autoboot for these options that |
| work with CONFIG_BOOTDELAY. None are required. |
| CONFIG_BOOT_RETRY_TIME |
| CONFIG_BOOT_RETRY_MIN |
| CONFIG_AUTOBOOT_KEYED |
| CONFIG_AUTOBOOT_PROMPT |
| CONFIG_AUTOBOOT_DELAY_STR |
| CONFIG_AUTOBOOT_STOP_STR |
| CONFIG_ZERO_BOOTDELAY_CHECK |
| CONFIG_RESET_TO_RETRY |
| |
| - Autoboot Command: |
| CONFIG_BOOTCOMMAND |
| Only needed when CONFIG_BOOTDELAY is enabled; |
| define a command string that is automatically executed |
| 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 |
| as a convenience, when switching between booting from |
| 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 |
| saveenv on all reboots, the environment variable |
| "upgrade_available" is used. If "upgrade_available" is |
| 0, "bootcount" is always 0, if "upgrade_available" is |
| 1 "bootcount" is incremented in the environment. |
| So the Userspace Applikation must set the "upgrade_available" |
| and "bootcount" variable to 0, if a boot was successfully. |
| |
| - Pre-Boot Commands: |
| CONFIG_PREBOOT |
| |
| When this option is #defined, the existence of the |
| environment variable "preboot" will be checked |
| immediately before starting the CONFIG_BOOTDELAY |
| countdown and/or running the auto-boot command resp. |
| entering interactive mode. |
| |
| This feature is especially useful when "preboot" is |
| automatically generated or modified. For an example |
| see the LWMON board specific code: here "preboot" is |
| modified when the user holds down a certain |
| combination of keys on the (special) keyboard when |
| booting the systems |
| |
| - Serial Download Echo Mode: |
| CONFIG_LOADS_ECHO |
| If defined to 1, all characters received during a |
| serial download (using the "loads" command) are |
| echoed back. This might be needed by some terminal |
| emulations (like "cu"), but may as well just take |
| time on others. This setting #define's the initial |
| value of the "loads_echo" environment variable. |
| |
| - Kgdb Serial Baudrate: (if CONFIG_CMD_KGDB is defined) |
| CONFIG_KGDB_BAUDRATE |
| Select one of the baudrates listed in |
| CONFIG_SYS_BAUDRATE_TABLE, see below. |
| |
| - Monitor Functions: |
| Monitor commands can be included or excluded |
| from the build by using the #include files |
| <config_cmd_all.h> and #undef'ing unwanted |
| commands, or adding #define's for wanted commands. |
| |
| The default command configuration includes all commands |
| except those marked below with a "*". |
| |
| CONFIG_CMD_AES AES 128 CBC encrypt/decrypt |
| CONFIG_CMD_ASKENV * ask for env variable |
| CONFIG_CMD_BDI bdinfo |
| CONFIG_CMD_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 |
| CONFIG_CMD_DS4510_INFO * ds4510 I2C info command |
| CONFIG_CMD_DS4510_MEM * ds4510 I2C eeprom/sram commansd |
| CONFIG_CMD_DS4510_RST * ds4510 I2C rst command |
| CONFIG_CMD_DTT * Digital Therm and Thermostat |
| CONFIG_CMD_ECHO echo arguments |
| CONFIG_CMD_EDITENV edit env variable |
| CONFIG_CMD_EEPROM * EEPROM read/write support |
| CONFIG_CMD_ELF * bootelf, bootvx |
| CONFIG_CMD_ENV_CALLBACK * display details about env callbacks |
| CONFIG_CMD_ENV_FLAGS * display details about env flags |
| 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_FDC * Floppy Disk Support |
| CONFIG_CMD_FAT * FAT command support |
| CONFIG_CMD_FLASH flinfo, erase, protect |
| CONFIG_CMD_FPGA FPGA device initialization support |
| CONFIG_CMD_FUSE * Device fuse support |
| CONFIG_CMD_GETTIME * Get time since boot |
| CONFIG_CMD_GO * the 'go' command (exec code) |
| CONFIG_CMD_GREPENV * search environment |
| CONFIG_CMD_HASH * calculate hash / digest |
| CONFIG_CMD_HWFLOW * RTS/CTS hw flow control |
| CONFIG_CMD_I2C * I2C serial bus support |
| CONFIG_CMD_IDE * IDE harddisk 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_IMMAP * IMMR dump support |
| CONFIG_CMD_IOTRACE * I/O tracing for debugging |
| CONFIG_CMD_IMPORTENV * import an environment |
| CONFIG_CMD_INI * import data from an ini file into the env |
| CONFIG_CMD_IRQ * irqinfo |
| CONFIG_CMD_ITEST Integer/string test of 2 values |
| CONFIG_CMD_JFFS2 * JFFS2 Support |
| CONFIG_CMD_KGDB * kgdb |
| 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_SCSI * SCSI Support |
| CONFIG_CMD_SDRAM * print SDRAM configuration information |
| (requires CONFIG_CMD_I2C) |
| CONFIG_CMD_SETGETDCR Support for DCR Register access |
| (4xx only) |
| CONFIG_CMD_SF * Read/write/erase SPI NOR flash |
| CONFIG_CMD_SHA1SUM * print sha1 memory digest |
| (requires CONFIG_CMD_MEMORY) |
| 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 or |
| 8260 (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! |
| |
| - Regular expression support: |
| CONFIG_REGEX |
| If this variable is defined, U-Boot is linked against |
| the SLRE (Super Light Regular Expression) library, |
| which adds regex support to some commands, as for |
| example "env grep" and "setexpr". |
| |
| - Device tree: |
| CONFIG_OF_CONTROL |
| If this variable is defined, U-Boot will use a device tree |
| to configure its devices, instead of relying on statically |
| compiled #defines in the board file. This option is |
| experimental and only available on a few boards. The device |
| 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: |
| |
| CONFIG_OF_EMBED |
| If this variable is defined, U-Boot will embed a device tree |
| binary in its image. This device tree file should be in the |
| board directory and called <soc>-<board>.dts. The binary file |
| is then picked up in board_init_f() and made available through |
| the global data structure as gd->blob. |
| |
| CONFIG_OF_SEPARATE |
| If this variable is defined, U-Boot will build a device tree |
| binary. It will be called u-boot.dtb. Architecture-specific |
| code will locate it at run-time. Generally this works by: |
| |
| cat u-boot.bin u-boot.dtb >image.bin |
| |
| and in fact, U-Boot does this for you, creating a file called |
| u-boot-dtb.bin which is useful in the common case. You can |
| still use the individual files if you need something more |
| exotic. |
| |
| - Watchdog: |
| CONFIG_WATCHDOG |
| If this variable is defined, it enables watchdog |
| support for the SoC. There must be support in the SoC |
| specific code for a watchdog. For the 8xx and 8260 |
| CPUs, the SIU Watchdog feature is enabled in the SYPCR |
| register. When supported for a specific SoC is |
| available, then no further board specific code should |
| be needed to use it. |
| |
| CONFIG_HW_WATCHDOG |
| When using a watchdog circuitry external to the used |
| 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 |
| named "ver" is created by U-Boot showing the U-Boot |
| version as printed by the "version" command. |
| Any change to this variable will be reverted at the |
| next reset. |
| |
| - Real-Time Clock: |
| |
| When CONFIG_CMD_DATE is selected, the type of the RTC |
| has to be selected, too. Define exactly one of the |
| following options: |
| |
| CONFIG_RTC_MPC8xx - use internal RTC of MPC8xx |
| CONFIG_RTC_PCF8563 - use Philips PCF8563 RTC |
| CONFIG_RTC_MC13XXX - use MC13783 or MC13892 RTC |
| CONFIG_RTC_MC146818 - use MC146818 RTC |
| CONFIG_RTC_DS1307 - use Maxim, Inc. DS1307 RTC |
| CONFIG_RTC_DS1337 - use Maxim, Inc. DS1337 RTC |
| CONFIG_RTC_DS1338 - use Maxim, Inc. DS1338 RTC |
| CONFIG_RTC_DS1339 - use Maxim, Inc. DS1339 RTC |
| CONFIG_RTC_DS164x - use Dallas DS164x RTC |
| CONFIG_RTC_ISL1208 - use Intersil ISL1208 RTC |
| CONFIG_RTC_MAX6900 - use Maxim, Inc. MAX6900 RTC |
| CONFIG_SYS_RTC_DS1337_NOOSC - Turn off the OSC output for DS1337 |
| CONFIG_SYS_RV3029_TCR - enable trickle charger on |
| RV3029 RTC. |
| |
| Note that if the RTC uses I2C, then the I2C interface |
| must also be configured. See I2C Support, below. |
| |
| - GPIO Support: |
| CONFIG_PCA953X - use NXP's PCA953X series I2C GPIO |
| |
| The CONFIG_SYS_I2C_PCA953X_WIDTH option specifies a list of |
| chip-ngpio pairs that tell the PCA953X driver the number of |
| pins supported by a particular chip. |
| |
| Note that if the GPIO device uses I2C, then the I2C interface |
| must also be configured. See I2C Support, below. |
| |
| - I/O tracing: |
| When CONFIG_IO_TRACE is selected, U-Boot intercepts all I/O |
| accesses and can checksum them or write a list of them out |
| to memory. See the 'iotrace' command for details. This is |
| useful for testing device drivers since it can confirm that |
| the driver behaves the same way before and after a code |
| change. Currently this is supported on sandbox and arm. To |
| add support for your architecture, add '#include <iotrace.h>' |
| to the bottom of arch/<arch>/include/asm/io.h and test. |
| |
| Example output from the 'iotrace stats' command is below. |
| Note that if the trace buffer is exhausted, the checksum will |
| still continue to operate. |
| |
| iotrace is enabled |
| Start: 10000000 (buffer start address) |
| Size: 00010000 (buffer size) |
| Offset: 00000120 (current buffer offset) |
| Output: 10000120 (start + offset) |
| Count: 00000018 (number of trace records) |
| CRC32: 9526fb66 (CRC32 of all trace records) |
| |
| - Timestamp Support: |
| |
| When CONFIG_TIMESTAMP is selected, the timestamp |
| (date and time) of an image is printed by image |
| commands like bootm or iminfo. This option is |
| automatically enabled when you select CONFIG_CMD_DATE . |
| |
| - Partition Labels (disklabels) Supported: |
| Zero or more of the following: |
| CONFIG_MAC_PARTITION Apple's MacOS partition table. |
| CONFIG_DOS_PARTITION MS Dos partition table, traditional on the |
| Intel architecture, USB sticks, etc. |
| CONFIG_ISO_PARTITION ISO partition table, used on CDROM etc. |
| CONFIG_EFI_PARTITION GPT partition table, common when EFI is the |
| bootloader. Note 2TB partition limit; see |
| disk/part_efi.c |
| CONFIG_MTD_PARTITIONS Memory Technology Device partition table. |
| |
| If IDE or SCSI support is enabled (CONFIG_CMD_IDE or |
| CONFIG_CMD_SCSI) you must configure support for at |
| least one non-MTD partition type as well. |
| |
| - IDE Reset method: |
| CONFIG_IDE_RESET_ROUTINE - this is defined in several |
| board configurations files but used nowhere! |
| |
| CONFIG_IDE_RESET - is this is defined, IDE Reset will |
| be performed by calling the function |
| ide_set_reset(int reset) |
| which has to be defined in a board specific file |
| |
| - ATAPI Support: |
| CONFIG_ATAPI |
| |
| Set this to enable ATAPI support. |
| |
| - LBA48 Support |
| CONFIG_LBA48 |
| |
| Set this to enable support for disks larger than 137GB |
| Also look at CONFIG_SYS_64BIT_LBA. |
| Whithout these , LBA48 support uses 32bit variables and will 'only' |
| support disks up to 2.1TB. |
| |
| CONFIG_SYS_64BIT_LBA: |
| When enabled, makes the IDE subsystem use 64bit sector addresses. |
| Default is 32bit. |
| |
| - SCSI Support: |
| At the moment only there is only support for the |
| SYM53C8XX SCSI controller; define |
| CONFIG_SCSI_SYM53C8XX to enable it. |
| |
| CONFIG_SYS_SCSI_MAX_LUN [8], CONFIG_SYS_SCSI_MAX_SCSI_ID [7] and |
| CONFIG_SYS_SCSI_MAX_DEVICE [CONFIG_SYS_SCSI_MAX_SCSI_ID * |
| CONFIG_SYS_SCSI_MAX_LUN] can be adjusted to define the |
| maximum numbers of LUNs, SCSI ID's and target |
| devices. |
| CONFIG_SYS_SCSI_SYM53C8XX_CCF to fix clock timing (80Mhz) |
| |
| The environment variable 'scsidevs' is set to the number of |
| SCSI devices found during the last scan. |
| |
| - NETWORK Support (PCI): |
| CONFIG_E1000 |
| Support for Intel 8254x/8257x gigabit chips. |
| |
| CONFIG_E1000_SPI |
| Utility code for direct access to the SPI bus on Intel 8257x. |
| This does not do anything useful unless you set at least one |
| of CONFIG_CMD_E1000 or CONFIG_E1000_SPI_GENERIC. |
| |
| CONFIG_E1000_SPI_GENERIC |
| 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 |
| write routine for first time initialisation. |
| |
| CONFIG_TULIP |
| Support for Digital 2114x chips. |
| Optional CONFIG_TULIP_SELECT_MEDIA for board specific |
| modem chip initialisation (KS8761/QS6611). |
| |
| CONFIG_NATSEMI |
| Support for National dp83815 chips. |
| |
| CONFIG_NS8382X |
| Support for National dp8382[01] gigabit chips. |
| |
| - NETWORK Support (other): |
| |
| CONFIG_DRIVER_AT91EMAC |
| Support for AT91RM9200 EMAC. |
| |
| CONFIG_RMII |
| Define this to use reduced MII inteface |
| |
| CONFIG_DRIVER_AT91EMAC_QUIET |
| If this defined, the driver is quiet. |
| The driver doen't show link status messages. |
| |
| CONFIG_CALXEDA_XGMAC |
| Support for the Calxeda XGMAC device |
| |
| CONFIG_LAN91C96 |
| Support for SMSC's LAN91C96 chips. |
| |
| CONFIG_LAN91C96_BASE |
| Define this to hold the physical address |
| of the LAN91C96's I/O space |
| |
| CONFIG_LAN91C96_USE_32_BIT |
| Define this to enable 32 bit addressing |
| |
| CONFIG_SMC91111 |
| Support for SMSC's LAN91C111 chip |
| |
| CONFIG_SMC91111_BASE |
| Define this to hold the physical address |
| of the device (I/O space) |
| |
| CONFIG_SMC_USE_32_BIT |
| Define this if data bus is 32 bits |
| |
| CONFIG_SMC_USE_IOFUNCS |
| Define this to use i/o functions instead of macros |
| (some hardware wont work with macros) |
| |
| CONFIG_DRIVER_TI_EMAC |
| Support for davinci emac |
| |
| CONFIG_SYS_DAVINCI_EMAC_PHY_COUNT |
| Define this if you have more then 3 PHYs. |
| |
| CONFIG_FTGMAC100 |
| Support for Faraday's FTGMAC100 Gigabit SoC Ethernet |
| |
| CONFIG_FTGMAC100_EGIGA |
| Define this to use GE link update with gigabit PHY. |
| Define this if FTGMAC100 is connected to gigabit PHY. |
| If your system has 10/100 PHY only, it might not occur |
| wrong behavior. Because PHY usually return timeout or |
| useless data when polling gigabit status and gigabit |
| 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 |
| |
| CONFIG_SH_ETHER_USE_PORT |
| Define the number of ports to be used |
| |
| CONFIG_SH_ETHER_PHY_ADDR |
| Define the ETH PHY's address |
| |
| CONFIG_SH_ETHER_CACHE_WRITEBACK |
| If this option is set, the driver enables cache flush. |
| |
| - PWM Support: |
| CONFIG_PWM_IMX |
| Support for PWM modul on the imx6. |
| |
| - TPM Support: |
| CONFIG_TPM |
| Support TPM devices. |
| |
| CONFIG_TPM_TIS_I2C |
| Support for i2c bus TPM devices. Only one device |
| per system is supported at this time. |
| |
| CONFIG_TPM_TIS_I2C_BURST_LIMITATION |
| Define the burst count bytes upper limit |
| |
| CONFIG_TPM_ATMEL_TWI |
| Support for Atmel TWI TPM device. Requires I2C support. |
| |
| CONFIG_TPM_TIS_LPC |
| Support for generic parallel port TPM devices. Only one device |
| per system is supported at this time. |
| |
| CONFIG_TPM_TIS_BASE_ADDRESS |
| Base address where the generic TPM device is mapped |
| 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. |
| Requires support for a TPM device. |
| |
| CONFIG_TPM_AUTH_SESSIONS |
| Define this to enable authorized functions in the TPM library. |
| Requires CONFIG_TPM and CONFIG_SHA1. |
| |
| - USB Support: |
| At the moment only the UHCI host controller is |
| supported (PIP405, MIP405, MPC5200); define |
| CONFIG_USB_UHCI to enable it. |
| define CONFIG_USB_KEYBOARD to enable the USB Keyboard |
| and define CONFIG_USB_STORAGE to enable the USB |
| storage devices. |
| Note: |
| Supported are USB Keyboards and USB Floppy drives |
| (TEAC FD-05PUB). |
| MPC5200 USB requires additional defines: |
| CONFIG_USB_CLOCK |
| for 528 MHz Clock: 0x0001bbbb |
| CONFIG_PSC3_USB |
| for USB on PSC3 |
| CONFIG_USB_CONFIG |
| for differential drivers: 0x00001000 |
| for single ended drivers: 0x00005000 |
| for differential drivers on PSC3: 0x00000100 |
| for single ended drivers on PSC3: 0x00004100 |
| CONFIG_SYS_USB_EVENT_POLL |
| May be defined to allow interrupt polling |
| instead of using asynchronous interrupts |
| |
| CONFIG_USB_EHCI_TXFIFO_THRESH enables setting of the |
| txfilltuning field in the EHCI controller on reset. |
| |
| CONFIG_USB_DWC2_REG_ADDR the physical CPU address of the DWC2 |
| HW module registers. |
| |
| - USB Device: |
| Define the below if you wish to use the USB console. |
| Once firmware is rebuilt from a serial console issue the |
| command "setenv stdin usbtty; setenv stdout usbtty" and |
| attach your USB cable. The Unix command "dmesg" should print |
| it has found a new device. The environment variable usbtty |
| can be set to gserial or cdc_acm to enable your device to |
| appear to a USB host as a Linux gserial device or a |
| Common Device Class Abstract Control Model serial device. |
| If you select usbtty = gserial you should be able to enumerate |
| a Linux host by |
| # modprobe usbserial vendor=0xVendorID product=0xProductID |
| else if using cdc_acm, simply setting the environment |
| variable usbtty to be cdc_acm should suffice. The following |
| might be defined in YourBoardName.h |
| |
| CONFIG_USB_DEVICE |
| Define this to build a UDC device |
| |
| CONFIG_USB_TTY |
| Define this to have a tty type of device available to |
| talk to the UDC device |
| |
| CONFIG_USBD_HS |
| Define this to enable the high speed support for usb |
| device and usbtty. If this feature is enabled, a routine |
| int is_usbd_high_speed(void) |
| also needs to be defined by the driver to dynamically poll |
| whether the enumeration has succeded at high speed or full |
| speed. |
| |
| CONFIG_SYS_CONSOLE_IS_IN_ENV |
| Define this if you want stdin, stdout &/or stderr to |
| be set to usbtty. |
| |
| mpc8xx: |
| CONFIG_SYS_USB_EXTC_CLK 0xBLAH |
| Derive USB clock from external clock "blah" |
| - CONFIG_SYS_USB_EXTC_CLK 0x02 |
| |
| CONFIG_SYS_USB_BRG_CLK 0xBLAH |
| Derive USB clock from brgclk |
| - CONFIG_SYS_USB_BRG_CLK 0x04 |
| |
| If you have a USB-IF assigned VendorID then you may wish to |
| define your own vendor specific values either in BoardName.h |
| or directly in usbd_vendor_info.h. If you don't define |
| CONFIG_USBD_MANUFACTURER, CONFIG_USBD_PRODUCT_NAME, |
| CONFIG_USBD_VENDORID and CONFIG_USBD_PRODUCTID, then U-Boot |
| should pretend to be a Linux device to it's target host. |
| |
| CONFIG_USBD_MANUFACTURER |
| Define this string as the name of your company for |
| - CONFIG_USBD_MANUFACTURER "my company" |
| |
| CONFIG_USBD_PRODUCT_NAME |
| Define this string as the name of your product |
| - CONFIG_USBD_PRODUCT_NAME "acme usb device" |
| |
| CONFIG_USBD_VENDORID |
| Define this as your assigned Vendor ID from the USB |
| Implementors Forum. This *must* be a genuine Vendor ID |
| to avoid polluting the USB namespace. |
| - CONFIG_USBD_VENDORID 0xFFFF |
| |
| CONFIG_USBD_PRODUCTID |
| Define this as the unique Product ID |
| for your device |
| - CONFIG_USBD_PRODUCTID 0xFFFF |
| |
| - ULPI Layer Support: |
| The ULPI (UTMI Low Pin (count) Interface) PHYs are supported via |
| the generic ULPI layer. The generic layer accesses the ULPI PHY |
| via the platform viewport, so you need both the genric layer and |
| the viewport enabled. Currently only Chipidea/ARC based |
| viewport is supported. |
| To enable the ULPI layer support, define CONFIG_USB_ULPI and |
| CONFIG_USB_ULPI_VIEWPORT in your board configuration file. |
| If your ULPI phy needs a different reference clock than the |
| standard 24 MHz then you have to define CONFIG_ULPI_REF_CLK to |
| the appropriate value in Hz. |
| |
| - MMC Support: |
| The MMC controller on the Intel PXA is supported. To |
| enable this define CONFIG_MMC. The MMC can be |
| accessed from the boot prompt by mapping the device |
| to physical memory similar to flash. Command line is |
| enabled with CONFIG_CMD_MMC. The MMC driver also works with |
| the FAT fs. This is enabled with CONFIG_CMD_FAT. |
| |
| CONFIG_SH_MMCIF |
| Support for Renesas on-chip MMCIF controller |
| |
| CONFIG_SH_MMCIF_ADDR |
| Define the base address of MMCIF registers |
| |
| 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. |
| |
| CONFIG_SUPPORT_EMMC_RPMB |
| Enable the commands for reading, writing and programming the |
| key for the Replay Protection Memory Block partition in eMMC. |
| |
| - USB Device Firmware Update (DFU) class support: |
| 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. |
| |
| CONFIG_DFU_NAND |
| This enables support for exposing NAND devices via DFU. |
| |
| CONFIG_DFU_RAM |
| This enables support for exposing RAM via DFU. |
| Note: DFU spec refer to non-volatile memory usage, but |
| allow usages beyond the scope of spec - here RAM usage, |
| one that would help mostly the developer. |
| |
| CONFIG_SYS_DFU_DATA_BUF_SIZE |
| Dfu transfer uses a buffer before writing data to the |
| raw storage device. Make the size (in bytes) of this buffer |
| configurable. The size of this buffer is also configurable |
| through the "dfu_bufsiz" environment variable. |
| |
| CONFIG_SYS_DFU_MAX_FILE_SIZE |
| When updating files rather than the raw storage device, |
| we use a static buffer to copy the file into and then write |
| the buffer once we've been given the whole file. Define |
| this to the maximum filesize (in bytes) for the buffer. |
| Default is 4 MiB if undefined. |
| |
| DFU_DEFAULT_POLL_TIMEOUT |
| Poll timeout [ms], is the timeout a device can send to the |
| host. The host must wait for this timeout before sending |
| a subsequent DFU_GET_STATUS request to the device. |
| |
| DFU_MANIFEST_POLL_TIMEOUT |
| Poll timeout [ms], which the device sends to the host when |
| 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. |
| Default is GPT_ENTRY_NAME (currently "gpt") if undefined. |
| |
| - Journaling Flash filesystem support: |
| CONFIG_JFFS2_NAND, CONFIG_JFFS2_NAND_OFF, CONFIG_JFFS2_NAND_SIZE, |
| CONFIG_JFFS2_NAND_DEV |
| Define these for a default partition on a NAND device |
| |
| CONFIG_SYS_JFFS2_FIRST_SECTOR, |
| CONFIG_SYS_JFFS2_FIRST_BANK, CONFIG_SYS_JFFS2_NUM_BANKS |
| Define these for a default partition on a NOR device |
| |
| CONFIG_SYS_JFFS_CUSTOM_PART |
| Define this to create an own partition. You have to provide a |
| function struct part_info* jffs2_part_info(int part_num) |
| |
| If you define only one JFFS2 partition you may also want to |
| #define CONFIG_SYS_JFFS_SINGLE_PART 1 |
| to disable the command chpart. This is the default when you |
| have not defined a custom partition |
| |
| - FAT(File Allocation Table) filesystem write function support: |
| CONFIG_FAT_WRITE |
| |
| Define this to enable support for saving memory data as a |
| file in FAT formatted partition. |
| |
| 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 |
| |
| Define the max cluster size for fat operations else |
| a default value of 65536 will be defined. |
| |
| - Keyboard Support: |
| CONFIG_ISA_KEYBOARD |
| |
| 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_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. |
| |
| - Video support: |
| CONFIG_VIDEO |
| |
| Define this to enable video support (for output to |
| video). |
| |
| 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 |
| support, and should also define these other macros: |
| |
| CONFIG_SYS_DIU_ADDR |
| CONFIG_VIDEO |
| CONFIG_CMD_BMP |
| CONFIG_CFB_CONSOLE |
| CONFIG_VIDEO_SW_CURSOR |
| CONFIG_VGA_AS_SINGLE_DEVICE |
| CONFIG_VIDEO_LOGO |
| CONFIG_VIDEO_BMP_LOGO |
| |
| The DIU driver will look for the 'video-mode' environment |
| variable, and if defined, enable the DIU as a console during |
| boot. See the documentation file README.video for a |
| description of this variable. |
| |
| |
| - 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 |
| display); also select one of the supported displays |
| by defining one of these: |
| |
| CONFIG_ATMEL_LCD: |
| |
| HITACHI TX09D70VM1CCA, 3.5", 240x320. |
| |
| CONFIG_NEC_NL6448AC33: |
| |
| NEC NL6448AC33-18. Active, color, single scan. |
| |
| CONFIG_NEC_NL6448BC20 |
| |
| NEC NL6448BC20-08. 6.5", 640x480. |
| Active, color, single scan. |
| |
| CONFIG_NEC_NL6448BC33_54 |
| |
| NEC NL6448BC33-54. 10.4", 640x480. |
| Active, color, single scan. |
| |
| CONFIG_SHARP_16x9 |
| |
| Sharp 320x240. Active, color, single scan. |
| It isn't 16x9, and I am not sure what it is. |
| |
| CONFIG_SHARP_LQ64D341 |
| |
| Sharp LQ64D341 display, 640x480. |
| Active, color, single scan. |
| |
| CONFIG_HLD1045 |
| |
| HLD1045 display, 640x480. |
| Active, color, single scan. |
| |
| CONFIG_OPTREX_BW |
| |
| Optrex CBL50840-2 NF-FW 99 22 M5 |
| or |
| Hitachi LMG6912RPFC-00T |
| or |
| Hitachi SP14Q002 |
| |
| 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 |
| defined then the LCD will be aligned to this value instead. |
| For ARM it is sometimes useful to use MMU_SECTION_SIZE |
| 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 |
| |
| 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. |
| |
| CONFIG_I2C_EDID |
| |
| Enables an 'i2c edid' command which can read EDID |
| information over I2C from an attached LCD display. |
| |
| - Splash Screen Support: CONFIG_SPLASH_SCREEN |
| |
| If this option is set, the environment is checked for |
| a variable "splashimage". If found, the usual display |
| of logo, copyright and system information on the LCD |
| is suppressed and the BMP image at the address |
| specified in "splashimage" is loaded instead. The |
| console is redirected to the "nulldev", too. This |
| allows for a "silent" boot where a splash screen is |
| loaded very quickly after power-on. |
| |
| CONFIG_SPLASHIMAGE_GUARD |
| |
| If this option is set, then U-Boot will prevent the environment |
| variable "splashimage" from being set to a problematic address |
| (see README.displaying-bmps). |
| This option is useful for targets where, due to alignment |
| restrictions, an improperly aligned BMP image will cause a data |
| abort. If you think you will not have problems with unaligned |
| accesses (for example because your toolchain prevents them) |
| there is no need to set this option. |
| |
| CONFIG_SPLASH_SCREEN_ALIGN |
| |
| If this option is set the splash image can be freely positioned |
| on the screen. Environment variable "splashpos" specifies the |
| position as "x,y". If a positive number is given it is used as |
| number of pixel from left/top. If a negative number is given it |
| is used as number of pixel from right/bottom. You can also |
| specify 'm' for centering the image. |
| |
| Example: |
| setenv splashpos m,m |
| => image at center of screen |
| |
| setenv splashpos 30,20 |
| => image at x = 30 and y = 20 |
| |
| setenv splashpos -10,m |
| => vertically centered image |
| at x = dspWidth - bmpWidth - 9 |
| |
| - Gzip compressed BMP image support: CONFIG_VIDEO_BMP_GZIP |
| |
| If this option is set, additionally to standard BMP |
| images, gzipped BMP images can be displayed via the |
| splashscreen support or the bmp command. |
| |
| - Run length encoded BMP image (RLE8) support: CONFIG_VIDEO_BMP_RLE8 |
| |
| If this option is set, 8-bit RLE compressed BMP images |
| 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 |
| |
| Enabled by default to support gzip compressed images. |
| |
| CONFIG_BZIP2 |
| |
| If this option is set, support for bzip2 compressed |
| images is included. If not, only uncompressed and gzip |
| compressed images are supported. |
| |
| NOTE: the bzip2 algorithm requires a lot of RAM, so |
| the malloc area (as defined by CONFIG_SYS_MALLOC_LEN) should |
| be at least 4MB. |
| |
| CONFIG_LZMA |
| |
| If this option is set, support for lzma compressed |
| images is included. |
| |
| Note: The LZMA algorithm adds between 2 and 4KB of code and it |
| requires an amount of dynamic memory that is given by the |
| formula: |
| |
| (1846 + 768 << (lc + lp)) * sizeof(uint16) |
| |
| Where lc and lp stand for, respectively, Literal context bits |
| and Literal pos bits. |
| |
| This value is upper-bounded by 14MB in the worst case. Anyway, |
| for a ~4MB large kernel image, we have lc=3 and lp=0 for a |
| total amount of (1846 + 768 << (3 + 0)) * 2 = ~41KB... that is |
| a very small buffer. |
| |
| Use the lzmainfo tool to determinate the lc and lp values and |
| then calculate the amount of needed dynamic memory (ensuring |
| the appropriate CONFIG_SYS_MALLOC_LEN value). |
| |
| CONFIG_LZO |
| |
| If this option is set, support for LZO compressed images |
| is included. |
| |
| - MII/PHY support: |
| CONFIG_PHY_ADDR |
| |
| The address of PHY on MII bus. |
| |
| CONFIG_PHY_CLOCK_FREQ (ppc4xx) |
| |
| 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 |
| reset before any MII register access is possible. |
| For such PHY, set this option to the usec delay |
| required. (minimum 300usec for LXT971A) |
| |
| CONFIG_PHY_CMD_DELAY (ppc4xx) |
| |
| Some PHY like Intel LXT971A need extra delay after |
| command issued before MII status register can be read |
| |
| - IP address: |
| CONFIG_IPADDR |
| |
| Define a default value for the IP address to use for |
| the default Ethernet interface, in case this is not |
| determined through e.g. bootp. |
| (Environment variable "ipaddr") |
| |
| - Server IP address: |
| CONFIG_SERVERIP |
| |
| Defines a default value for the IP address of a TFTP |
| server to contact when using the "tftboot" command. |
| (Environment variable "serverip") |
| |
| CONFIG_KEEP_SERVERADDR |
| |
| Keeps the server's MAC address, in the env 'serveraddr' |
| for passing to bootargs (like Linux's netconsole option) |
| |
| - Gateway IP address: |
| CONFIG_GATEWAYIP |
| |
| Defines a default value for the IP address of the |
| default router where packets to other networks are |
| sent to. |
| (Environment variable "gatewayip") |
| |
| - Subnet mask: |
| CONFIG_NETMASK |
| |
| Defines a default value for the subnet mask (or |
| routing prefix) which is used to determine if an IP |
| address belongs to the local subnet or needs to be |
| forwarded through a router. |
| (Environment variable "netmask") |
| |
| - Multicast TFTP Mode: |
| CONFIG_MCAST_TFTP |
| |
| Defines whether you want to support multicast TFTP as per |
| rfc-2090; for example to work with atftp. Lets lots of targets |
| tftp down the same boot image concurrently. Note: the Ethernet |
| driver in use must provide a function: mcast() to join/leave a |
| multicast group. |
| |
| - BOOTP Recovery Mode: |
| CONFIG_BOOTP_RANDOM_DELAY |
| |
| If you have many targets in a network that try to |
| boot using BOOTP, you may want to avoid that all |
| systems send out BOOTP requests at precisely the same |
| moment (which would happen for instance at recovery |
| from a power failure, when all systems will try to |
| boot, thus flooding the BOOTP server. Defining |
| CONFIG_BOOTP_RANDOM_DELAY causes a random delay to be |
| inserted before sending out BOOTP requests. The |
| following delays are inserted then: |
| |
| 1st BOOTP request: delay 0 ... 1 sec |
| 2nd BOOTP request: delay 0 ... 2 sec |
| 3rd BOOTP request: delay 0 ... 4 sec |
| 4th and following |
| BOOTP requests: delay 0 ... 8 sec |
| |
| CONFIG_BOOTP_ID_CACHE_SIZE |
| |
| BOOTP packets are uniquely identified using a 32-bit ID. The |
| server will copy the ID from client requests to responses and |
| U-Boot will use this to determine if it is the destination of |
| an incoming response. Some servers will check that addresses |
| aren't in use before handing them out (usually using an ARP |
| ping) and therefore take up to a few hundred milliseconds to |
| respond. Network congestion may also influence the time it |
| takes for a response to make it back to the client. If that |
| time is too long, U-Boot will retransmit requests. In order |
| to allow earlier responses to still be accepted after these |
| retransmissions, U-Boot's BOOTP client keeps a small cache of |
| IDs. The CONFIG_BOOTP_ID_CACHE_SIZE controls the size of this |
| cache. The default is to keep IDs for up to four outstanding |
| requests. Increasing this will allow U-Boot to accept offers |
| from a BOOTP client in networks with unusually high latency. |
| |
| - DHCP Advanced Options: |
| You can fine tune the DHCP functionality by defining |
| CONFIG_BOOTP_* symbols: |
| |
| CONFIG_BOOTP_SUBNETMASK |
| CONFIG_BOOTP_GATEWAY |
| CONFIG_BOOTP_HOSTNAME |
| CONFIG_BOOTP_NISDOMAIN |
| CONFIG_BOOTP_BOOTPATH |
| CONFIG_BOOTP_BOOTFILESIZE |
| CONFIG_BOOTP_DNS |
| CONFIG_BOOTP_DNS2 |
| CONFIG_BOOTP_SEND_HOSTNAME |
| CONFIG_BOOTP_NTPSERVER |
| CONFIG_BOOTP_TIMEOFFSET |
| CONFIG_BOOTP_VENDOREX |
| CONFIG_BOOTP_MAY_FAIL |
| |
| CONFIG_BOOTP_SERVERIP - TFTP server will be the serverip |
| environment variable, not the BOOTP server. |
| |
| CONFIG_BOOTP_MAY_FAIL - If the DHCP server is not found |
| after the configured retry count, the call will fail |
| instead of starting over. This can be used to fail over |
| to Link-local IP address configuration if the DHCP server |
| is not available. |
| |
| CONFIG_BOOTP_DNS2 - If a DHCP client requests the DNS |
| serverip from a DHCP server, it is possible that more |
| than one DNS serverip is offered to the client. |
| If CONFIG_BOOTP_DNS2 is enabled, the secondary DNS |
| serverip will be stored in the additional environment |
| variable "dnsip2". The first DNS serverip is always |
| stored in the variable "dnsip", when CONFIG_BOOTP_DNS |
| is defined. |
| |
| CONFIG_BOOTP_SEND_HOSTNAME - Some DHCP servers are capable |
| to do a dynamic update of a DNS server. To do this, they |
| need the hostname of the DHCP requester. |
| If CONFIG_BOOTP_SEND_HOSTNAME is defined, the content |
| of the "hostname" environment variable is passed as |
| option 12 to the DHCP server. |
| |
| CONFIG_BOOTP_DHCP_REQUEST_DELAY |
| |
| A 32bit value in microseconds for a delay between |
| receiving a "DHCP Offer" and sending the "DHCP Request". |
| This fixes a problem with certain DHCP servers that don't |
| respond 100% of the time to a "DHCP request". E.g. On an |
| AT91RM9200 processor running at 180MHz, this delay needed |
| to be *at least* 15,000 usec before a Windows Server 2003 |
| DHCP server would reply 100% of the time. I recommend at |
| least 50,000 usec to be safe. The alternative is to hope |
| that one of the retries will be successful but note that |
| the DHCP timeout and retry process takes a longer than |
| this delay. |
| |
| - Link-local IP address negotiation: |
| Negotiate with other link-local clients on the local network |
| for an address that doesn't require explicit configuration. |
| This is especially useful if a DHCP server cannot be guaranteed |
| to exist in all environments that the device must operate. |
| |
| See doc/README.link-local for more information. |
| |
| - CDP Options: |
| CONFIG_CDP_DEVICE_ID |
| |
| The device id used in CDP trigger frames. |
| |
| CONFIG_CDP_DEVICE_ID_PREFIX |
| |
| A two character string which is prefixed to the MAC address |
| of the device. |
| |
| CONFIG_CDP_PORT_ID |
| |
| A printf format string which contains the ascii name of |
| the port. Normally is set to "eth%d" which sets |
| eth0 for the first Ethernet, eth1 for the second etc. |
| |
| CONFIG_CDP_CAPABILITIES |
| |
| A 32bit integer which indicates the device capabilities; |
| 0x00000010 for a normal host which does not forwards. |
| |
| CONFIG_CDP_VERSION |
| |
| An ascii string containing the version of the software. |
| |
| CONFIG_CDP_PLATFORM |
| |
| An ascii string containing the name of the platform. |
| |
| CONFIG_CDP_TRIGGER |
| |
| A 32bit integer sent on the trigger. |
| |
| CONFIG_CDP_POWER_CONSUMPTION |
| |
| A 16bit integer containing the power consumption of the |
| device in .1 of milliwatts. |
| |
| CONFIG_CDP_APPLIANCE_VLAN_TYPE |
| |
| A byte containing the id of the VLAN. |
| |
| - Status LED: CONFIG_STATUS_LED |
| |
| Several configurations allow to display the current |
| status using a LED. For instance, the LED will blink |
| fast while running U-Boot code, stop blinking as |
| 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 |
| feature in U-Boot. |
| |
| Additional options: |
| |
| CONFIG_GPIO_LED |
| 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 |
| to include the gpio_led driver in the U-Boot binary. |
| |
| CONFIG_GPIO_LED_INVERTED_TABLE |
| Some GPIO connected LEDs may have inverted polarity in which |
| case the GPIO high value corresponds to LED off state and |
| GPIO low value corresponds to LED on state. |
| In such cases CONFIG_GPIO_LED_INVERTED_TABLE may be defined |
| with a list of GPIO LEDs that have inverted polarity. |
| |
| - CAN Support: CONFIG_CAN_DRIVER |
| |
| Defining CONFIG_CAN_DRIVER enables CAN driver support |
| on those systems that support this (optional) |
| feature, like the TQM8xxL modules. |
| |
| - I2C Support: CONFIG_SYS_I2C |
| |
| This enable the NEW i2c subsystem, and 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 or other i2c devices. See |
| common/cmd_i2c.c for a description of the command line |
| interface. |
| |
| ported i2c driver to the new framework: |
| - drivers/i2c/soft_i2c.c: |
| - activate first bus with CONFIG_SYS_I2C_SOFT define |
| CONFIG_SYS_I2C_SOFT_SPEED and CONFIG_SYS_I2C_SOFT_SLAVE |
| for defining speed and slave address |
| - activate second bus with I2C_SOFT_DECLARATIONS2 define |
| CONFIG_SYS_I2C_SOFT_SPEED_2 and CONFIG_SYS_I2C_SOFT_SLAVE_2 |
| for defining speed and slave address |
| - activate third bus with I2C_SOFT_DECLARATIONS3 define |
| CONFIG_SYS_I2C_SOFT_SPEED_3 and CONFIG_SYS_I2C_SOFT_SLAVE_3 |
| for defining speed and slave address |
| - activate fourth bus with I2C_SOFT_DECLARATIONS4 define |
| CONFIG_SYS_I2C_SOFT_SPEED_4 and CONFIG_SYS_I2C_SOFT_SLAVE_4 |
| for defining speed and slave address |
| |
| - drivers/i2c/fsl_i2c.c: |
| - activate i2c driver with CONFIG_SYS_I2C_FSL |
| define CONFIG_SYS_FSL_I2C_OFFSET for setting the register |
| offset CONFIG_SYS_FSL_I2C_SPEED for the i2c speed and |
| CONFIG_SYS_FSL_I2C_SLAVE for the slave addr of the first |
| bus. |
| - If your board supports a second fsl i2c bus, define |
| CONFIG_SYS_FSL_I2C2_OFFSET for the register offset |
| CONFIG_SYS_FSL_I2C2_SPEED for the speed and |
| CONFIG_SYS_FSL_I2C2_SLAVE for the slave address of the |
| second bus. |
| |
| - drivers/i2c/tegra_i2c.c: |
| - activate this driver with CONFIG_SYS_I2C_TEGRA |
| - This driver adds 4 i2c buses with a fix speed from |
| 100000 and the slave addr 0! |
| |
| - drivers/i2c/ppc4xx_i2c.c |
| - activate this driver with CONFIG_SYS_I2C_PPC4XX |
| - CONFIG_SYS_I2C_PPC4XX_CH0 activate hardware channel 0 |
| - CONFIG_SYS_I2C_PPC4XX_CH1 activate hardware channel 1 |
| |
| - drivers/i2c/i2c_mxc.c |
| - activate this driver with CONFIG_SYS_I2C_MXC |
| - 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 |
| If those defines are not set, default value is 100000 |
| for speed, and 0 for slave. |
| - enable bus 3 with CONFIG_SYS_I2C_MXC_I2C3 |
| - enable bus 4 with CONFIG_SYS_I2C_MXC_I2C4 |
| |
| - drivers/i2c/rcar_i2c.c: |
| - activate this driver with CONFIG_SYS_I2C_RCAR |
| - This driver adds 4 i2c buses |
| |
| - CONFIG_SYS_RCAR_I2C0_BASE for setting the register channel 0 |
| - CONFIG_SYS_RCAR_I2C0_SPEED for for the speed channel 0 |
| - CONFIG_SYS_RCAR_I2C1_BASE for setting the register channel 1 |
| - CONFIG_SYS_RCAR_I2C1_SPEED for for the speed channel 1 |
| - CONFIG_SYS_RCAR_I2C2_BASE for setting the register channel 2 |
| - CONFIG_SYS_RCAR_I2C2_SPEED for for the speed channel 2 |
| - CONFIG_SYS_RCAR_I2C3_BASE for setting the register channel 3 |
| - CONFIG_SYS_RCAR_I2C3_SPEED for for the speed channel 3 |
| - CONFIF_SYS_RCAR_I2C_NUM_CONTROLLERS for number of i2c buses |
| |
| - drivers/i2c/sh_i2c.c: |
| - activate this driver with CONFIG_SYS_I2C_SH |
| - This driver adds from 2 to 5 i2c buses |
| |
| - CONFIG_SYS_I2C_SH_BASE0 for setting the register channel 0 |
| - CONFIG_SYS_I2C_SH_SPEED0 for for the speed channel 0 |
| - CONFIG_SYS_I2C_SH_BASE1 for setting the register channel 1 |
| - CONFIG_SYS_I2C_SH_SPEED1 for for the speed channel 1 |
| - CONFIG_SYS_I2C_SH_BASE2 for setting the register channel 2 |
| - CONFIG_SYS_I2C_SH_SPEED2 for for the speed channel 2 |
| - CONFIG_SYS_I2C_SH_BASE3 for setting the register channel 3 |
| - CONFIG_SYS_I2C_SH_SPEED3 for for the speed channel 3 |
| - CONFIG_SYS_I2C_SH_BASE4 for setting the register channel 4 |
| - CONFIG_SYS_I2C_SH_SPEED4 for for the speed channel 4 |
| - CONFIG_SYS_I2C_SH_BASE5 for setting the register channel 5 |
| - CONFIG_SYS_I2C_SH_SPEED5 for for the speed channel 5 |
| - CONFIG_SYS_I2C_SH_NUM_CONTROLLERS for number of i2c buses |
| |
| - drivers/i2c/omap24xx_i2c.c |
| - activate this driver with CONFIG_SYS_I2C_OMAP24XX |
| - CONFIG_SYS_OMAP24_I2C_SPEED speed channel 0 |
| - CONFIG_SYS_OMAP24_I2C_SLAVE slave addr channel 0 |
| - CONFIG_SYS_OMAP24_I2C_SPEED1 speed channel 1 |
| - CONFIG_SYS_OMAP24_I2C_SLAVE1 slave addr channel 1 |
| - CONFIG_SYS_OMAP24_I2C_SPEED2 speed channel 2 |
| - CONFIG_SYS_OMAP24_I2C_SLAVE2 slave addr channel 2 |
| - CONFIG_SYS_OMAP24_I2C_SPEED3 speed channel 3 |
| - CONFIG_SYS_OMAP24_I2C_SLAVE3 slave addr channel 3 |
| - CONFIG_SYS_OMAP24_I2C_SPEED4 speed channel 4 |
| - CONFIG_SYS_OMAP24_I2C_SLAVE4 slave addr channel 4 |
| |
| - drivers/i2c/zynq_i2c.c |
| - activate this driver with CONFIG_SYS_I2C_ZYNQ |
| - set CONFIG_SYS_I2C_ZYNQ_SPEED for speed setting |
| - set CONFIG_SYS_I2C_ZYNQ_SLAVE for slave addr |
| |
| - drivers/i2c/s3c24x0_i2c.c: |
| - activate this driver with CONFIG_SYS_I2C_S3C24X0 |
| - This driver adds i2c buses (11 for Exynos5250, Exynos5420 |
| 9 i2c buses for Exynos4 and 1 for S3C24X0 SoCs from Samsung) |
| with a fix speed from 100000 and the slave addr 0! |
| |
| - drivers/i2c/ihs_i2c.c |
| - activate this driver with CONFIG_SYS_I2C_IHS |
| - CONFIG_SYS_I2C_IHS_CH0 activate hardware channel 0 |
| - CONFIG_SYS_I2C_IHS_SPEED_0 speed channel 0 |
| - CONFIG_SYS_I2C_IHS_SLAVE_0 slave addr channel 0 |
| - CONFIG_SYS_I2C_IHS_CH1 activate hardware channel 1 |
| - CONFIG_SYS_I2C_IHS_SPEED_1 speed channel 1 |
| - CONFIG_SYS_I2C_IHS_SLAVE_1 slave addr channel 1 |
| - CONFIG_SYS_I2C_IHS_CH2 activate hardware channel 2 |
| - CONFIG_SYS_I2C_IHS_SPEED_2 speed channel 2 |
| - CONFIG_SYS_I2C_IHS_SLAVE_2 slave addr channel 2 |
| - 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 |
| |
| additional defines: |
| |
| CONFIG_SYS_NUM_I2C_BUSES |
| Hold the number of i2c buses you want to use. If you |
| don't use/have i2c muxes on your i2c bus, this |
| is equal to CONFIG_SYS_NUM_I2C_ADAPTERS, and you can |
| omit this define. |
| |
| CONFIG_SYS_I2C_DIRECT_BUS |
| define this, if you don't use i2c muxes on your hardware. |
| if CONFIG_SYS_I2C_MAX_HOPS is not defined or == 0 you can |
| omit this define. |
| |
| CONFIG_SYS_I2C_MAX_HOPS |
| define how many muxes are maximal consecutively connected |
| on one i2c bus. If you not use i2c muxes, omit this |
| define. |
| |
| CONFIG_SYS_I2C_BUSES |
| hold a list of buses you want to use, only used if |
| CONFIG_SYS_I2C_DIRECT_BUS is not defined, for example |
| a board with CONFIG_SYS_I2C_MAX_HOPS = 1 and |
| CONFIG_SYS_NUM_I2C_BUSES = 9: |
| |
| CONFIG_SYS_I2C_BUSES {{0, {I2C_NULL_HOP}}, \ |
| {0, {{I2C_MUX_PCA9547, 0x70, 1}}}, \ |
| {0, {{I2C_MUX_PCA9547, 0x70, 2}}}, \ |
| {0, {{I2C_MUX_PCA9547, 0x70, 3}}}, \ |
| {0, {{I2C_MUX_PCA9547, 0x70, 4}}}, \ |
| {0, {{I2C_MUX_PCA9547, 0x70, 5}}}, \ |
| {1, {I2C_NULL_HOP}}, \ |
| {1, {{I2C_MUX_PCA9544, 0x72, 1}}}, \ |
| {1, {{I2C_MUX_PCA9544, 0x72, 2}}}, \ |
| } |
| |
| which defines |
| bus 0 on adapter 0 without a mux |
| bus 1 on adapter 0 with a PCA9547 on address 0x70 port 1 |
| bus 2 on adapter 0 with a PCA9547 on address 0x70 port 2 |
| bus 3 on adapter 0 with a PCA9547 on address 0x70 port 3 |
| bus 4 on adapter 0 with a PCA9547 on address 0x70 port 4 |
| bus 5 on adapter 0 with a PCA9547 on address 0x70 port 5 |
| bus 6 on adapter 1 without a mux |
| bus 7 on adapter 1 with a PCA9544 on address 0x72 port 1 |
| bus 8 on adapter 1 with a PCA9544 on address 0x72 port 2 |
| |
| 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. |
| |
| 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): |
| |
| I2C_INIT |
| |
| (Optional). Any commands necessary to enable the I2C |
| controller or configure ports. |
| |
| eg: #define I2C_INIT (immr->im_cpm.cp_pbdir |= PB_SCL) |
| |
| I2C_PORT |
| |
| (Only for MPC8260 CPU). The I/O port to use (the code |
| assumes both bits are on the same port). Valid values |
| are 0..3 for ports A..D. |
| |
| I2C_ACTIVE |
| |
| The code necessary to make the I2C data line active |
| (driven). If the data line is open collector, this |
| define can be null. |
| |
| eg: #define I2C_ACTIVE (immr->im_cpm.cp_pbdir |= PB_SDA) |
| |
| I2C_TRISTATE |
| |
| The code necessary to make the I2C data line tri-stated |
| (inactive). If the data line is open collector, this |
| define can be null. |
| |
| eg: #define I2C_TRISTATE (immr->im_cpm.cp_pbdir &= ~PB_SDA) |
| |
| I2C_READ |
| |
| Code that returns true if the I2C data line is high, |
| false if it is low. |
| |
| eg: #define I2C_READ ((immr->im_cpm.cp_pbdat & PB_SDA) != 0) |
| |
| I2C_SDA(bit) |
| |
| If <bit> is true, sets the I2C data line high. If it |
| is false, it clears it (low). |
| |
| eg: #define I2C_SDA(bit) \ |
| if(bit) immr->im_cpm.cp_pbdat |= PB_SDA; \ |
| else immr->im_cpm.cp_pbdat &= ~PB_SDA |
| |
| I2C_SCL(bit) |
| |
| If <bit> is true, sets the I2C clock line high. If it |
| is false, it clears it (low). |
| |
| eg: #define I2C_SCL(bit) \ |
| if(bit) immr->im_cpm.cp_pbdat |= PB_SCL; \ |
| else immr->im_cpm.cp_pbdat &= ~PB_SCL |
| |
| I2C_DELAY |
| |
| This delay is invoked four times per clock cycle so this |
| controls the rate of data transfer. The data rate thus |
| is 1 / (I2C_DELAY * 4). Often defined to be something |
| like: |
| |
| #define I2C_DELAY udelay(2) |
| |
| CONFIG_SOFT_I2C_GPIO_SCL / CONFIG_SOFT_I2C_GPIO_SDA |
| |
| If your arch supports the generic GPIO framework (asm/gpio.h), |
| then you may alternatively define the two GPIOs that are to be |
| used as SCL / SDA. Any of the previous I2C_xxx macros will |
| have GPIO-based defaults assigned to them as appropriate. |
| |
| You should define these to the GPIO value as given directly to |
| the generic GPIO functions. |
| |
| CONFIG_SYS_I2C_INIT_BOARD |
| |
| When a board is reset during an i2c bus transfer |
| chips might think that the current transfer is still |
| in progress. On some boards it is possible to access |
| the i2c SCLK line directly, either by using the |
| processor pin as a GPIO or by having a second pin |
| connected to the bus. If this option is defined a |
| 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 |
| must have a controller. At any point in time, only one bus is |
| active. To switch to a different bus, use the 'i2c dev' command. |
| Note that bus numbering is zero-based. |
| |
| CONFIG_SYS_I2C_NOPROBES |
| |
| This option specifies a list of I2C devices that will be skipped |
| when the 'i2c probe' command is issued. If CONFIG_I2C_MULTI_BUS |
| is set, specify a list of bus-device pairs. Otherwise, specify |
| a 1D array of device addresses |
| |
| e.g. |
| #undef CONFIG_I2C_MULTI_BUS |
| #define CONFIG_SYS_I2C_NOPROBES {0x50,0x68} |
| |
| will skip addresses 0x50 and 0x68 on a board with one I2C bus |
| |
| #define CONFIG_I2C_MULTI_BUS |
| #define CONFIG_SYS_I2C_MULTI_NOPROBES {{0,0x50},{0,0x68},{1,0x54}} |
| |
| will skip addresses 0x50 and 0x68 on bus 0 and address 0x54 on bus 1 |
| |
| CONFIG_SYS_SPD_BUS_NUM |
| |
| If defined, then this indicates the I2C bus number for DDR SPD. |
| If not defined, then U-Boot assumes that SPD is on I2C bus 0. |
| |
| CONFIG_SYS_RTC_BUS_NUM |
| |
| If defined, then this indicates the I2C bus number for the RTC. |
| If not defined, then U-Boot assumes that RTC is on I2C bus 0. |
| |
| CONFIG_SYS_DTT_BUS_NUM |
| |
| If defined, then this indicates the I2C bus number for the DTT. |
| If not defined, then U-Boot assumes that DTT is on I2C bus 0. |
| |
| CONFIG_SYS_I2C_DTT_ADDR: |
| |
| If defined, specifies the I2C address of the DTT device. |
| If not defined, then U-Boot uses predefined value for |
| specified DTT device. |
| |
| CONFIG_SOFT_I2C_READ_REPEATED_START |
| |
| defining this will force the i2c_read() function in |
| the soft_i2c driver to perform an I2C repeated start |
| between writing the address pointer and reading the |
| data. If this define is omitted the default behaviour |
| of doing a stop-start sequence will be used. Most I2C |
| devices can use either method, but some require one or |
| the other. |
| |
| - SPI Support: CONFIG_SPI |
| |
| Enables SPI driver (so far only tested with |
| 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_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 |
| using hardware support. This is a general purpose |
| driver that only requires three general I/O port pins |
| (two outputs, one input) to function. If this is |
| defined, the board configuration must define several |
| SPI configuration items (port pins to use, etc). For |
| an example, see include/configs/sacsng.h. |
| |
| CONFIG_HARD_SPI |
| |
| Enables a hardware SPI driver for general-purpose reads |
| and writes. As with CONFIG_SOFT_SPI, the board configuration |
| must define a list of chip-select function pointers. |
| 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 */ |
| |
| - FPGA Support: CONFIG_FPGA |
| |
| Enables FPGA subsystem. |
| |
| CONFIG_FPGA_<vendor> |
| |
| Enables support for specific chip vendors. |
| (ALTERA, XILINX) |
| |
| CONFIG_FPGA_<family> |
| |
| Enables support for FPGA family. |
| (SPARTAN2, SPARTAN3, VIRTEX2, CYCLONE2, ACEX1K, ACEX) |
| |
| CONFIG_FPGA_COUNT |
| |
| Specify the number of FPGA devices to support. |
| |
| CONFIG_CMD_FPGA_LOADMK |
| |
| Enable support for fpga loadmk command |
| |
| CONFIG_CMD_FPGA_LOADP |
| |
| Enable support for fpga loadp command - load partial bitstream |
| |
| CONFIG_CMD_FPGA_LOADBP |
| |
| Enable support for fpga loadbp command - load partial bitstream |
| (Xilinx only) |
| |
| CONFIG_SYS_FPGA_PROG_FEEDBACK |
| |
| Enable printing of hash marks during FPGA configuration. |
| |
| CONFIG_SYS_FPGA_CHECK_BUSY |
| |
| Enable checks on FPGA configuration interface busy |
| status by the configuration function. This option |
| will require a board or device specific function to |
| be written. |
| |
| CONFIG_FPGA_DELAY |
| |
| If defined, a function that provides delays in the FPGA |
| configuration driver. |
| |
| CONFIG_SYS_FPGA_CHECK_CTRLC |
| Allow Control-C to interrupt FPGA configuration |
| |
| CONFIG_SYS_FPGA_CHECK_ERROR |
| |
| Check for configuration errors during FPGA bitfile |
| loading. For example, abort during Virtex II |
| configuration if the INIT_B line goes low (which |
| indicated a CRC error). |
| |
| CONFIG_SYS_FPGA_WAIT_INIT |
| |
| Maximum time to wait for the INIT_B line to de-assert |
| after PROB_B has been de-asserted during a Virtex II |
| FPGA configuration sequence. The default time is 500 |
| ms. |
| |
| CONFIG_SYS_FPGA_WAIT_BUSY |
| |
| Maximum time to wait for BUSY to de-assert during |
| Virtex II FPGA configuration. The default is 5 ms. |
| |
| CONFIG_SYS_FPGA_WAIT_CONFIG |
| |
| Time to wait after FPGA configuration. The default is |
| 200 ms. |
| |
| - Configuration Management: |
| CONFIG_BUILD_TARGET |
| |
| Some SoCs need special image types (e.g. U-Boot binary |
| with a special header) as build targets. By defining |
| CONFIG_BUILD_TARGET in the SoC / board header, this |
| special image will be automatically built upon calling |
| make / MAKEALL. |
| |
| CONFIG_IDENT_STRING |
| |
| If defined, this string will be added to the U-Boot |
| version information (U_BOOT_VERSION) |
| |
| - Vendor Parameter Protection: |
| |
| U-Boot considers the values of the environment |
| variables "serial#" (Board Serial Number) and |
| "ethaddr" (Ethernet Address) to be parameters that |
| are set once by the board vendor / manufacturer, and |
| protects these variables from casual modification by |
| the user. Once set, these variables are read-only, |
| and write or delete attempts are rejected. You can |
| change this behaviour: |
| |
| If CONFIG_ENV_OVERWRITE is #defined in your config |
| file, the write protection for vendor parameters is |
| completely disabled. Anybody can change or delete |
| these parameters. |
| |
| 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 |
| read-only.] |
| |
| The same can be accomplished in a more flexible way |
| for any variable by configuring the type of access |
| to allow for those variables in the ".flags" variable |
| or define CONFIG_ENV_FLAGS_LIST_STATIC. |
| |
| - Protected RAM: |
| CONFIG_PRAM |
| |
| Define this variable to enable the reservation of |
| "protected RAM", i. e. RAM which is not overwritten |
| by U-Boot. Define CONFIG_PRAM to hold the number of |
| kB you want to reserve for pRAM. You can overwrite |
| this default value by defining an environment |
| variable "pram" to the number of kB you want to |
| reserve. Note that the board info structure will |
| still show the full amount of RAM. If pRAM is |
| reserved, a new environment variable "mem" will |
| automatically be defined to hold the amount of |
| remaining RAM in a form that can be passed as boot |
| argument to Linux, for instance like that: |
| |
| setenv bootargs ... mem=\${mem} |
| saveenv |
| |
| This way you can tell Linux not to use this memory, |
| either, which results in a memory region that will |
| not be affected by reboots. |
| |
| *WARNING* If your board configuration uses automatic |
| detection of the RAM size, you must make sure that |
| this memory test is non-destructive. So far, the |
| following board configurations are known to be |
| "pRAM-clean": |
| |
| IVMS8, IVML24, SPD8xx, TQM8xxL, |
| HERMES, IP860, RPXlite, LWMON, |
| FLAGADM, TQM8260 |
| |
| - Access to physical memory region (> 4GB) |
| Some basic support is provided for operations on memory not |
| normally accessible to U-Boot - e.g. some architectures |
| support access to more than 4GB of memory on 32-bit |
| machines using physical address extension or similar. |
| Define CONFIG_PHYSMEM to access this basic support, which |
| 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 |
| network operations like ARP, RARP, TFTP, or BOOTP |
| before giving up the operation. If not defined, a |
| default value of 5 is used. |
| |
| CONFIG_ARP_TIMEOUT |
| |
| Timeout waiting for an ARP reply in milliseconds. |
| |
| CONFIG_NFS_TIMEOUT |
| |
| Timeout in milliseconds used in NFS protocol. |
| If you encounter "ERROR: Cannot umount" in nfs command, |
| try longer timeout such as |
| #define CONFIG_NFS_TIMEOUT 10000UL |
| |
| - Command Interpreter: |
| CONFIG_AUTO_COMPLETE |
| |
| Enable auto completion of commands using TAB. |
| |
| CONFIG_SYS_PROMPT_HUSH_PS2 |
| |
| This defines the secondary prompt string, which is |
| printed when the command interpreter needs more input |
| to complete a command. Usually "> ". |
| |
| Note: |
| |
| In the current implementation, the local variables |
| space and global environment variables space are |
| separated. Local variables are those you define by |
| simply typing `name=value'. To access a local |
| variable later on, you have write `$name' or |
| `${name}'; to execute the contents of a variable |
| directly type `$name' at the command prompt. |
| |
| Global environment variables are those you use |
| setenv/printenv to work with. To run a command stored |
| in such a variable, you need to use the run command, |
| and you must not use the '$' sign to access them. |
| |
| To store commands and special characters in a |
| variable, please use double quotation marks |
| surrounding the whole text of the variable, instead |
| of the backslashes before semicolons and special |
| symbols. |
| |
| - Command Line Editing and History: |
| CONFIG_CMDLINE_EDITING |
| |
| Enable editing and History functions for interactive |
| command line input operations |
| |
| - Default Environment: |
| CONFIG_EXTRA_ENV_SETTINGS |
| |
| Define this to contain any number of null terminated |
| strings (variable = value pairs) that will be part of |
| the default environment compiled into the boot image. |
| |
| For example, place something like this in your |
| board's config file: |
| |
| #define CONFIG_EXTRA_ENV_SETTINGS \ |
| "myvar1=value1\0" \ |
| "myvar2=value2\0" |
| |
| Warning: This method is based on knowledge about the |
| internal format how the environment is stored by the |
| U-Boot code. This is NOT an official, exported |
| interface! Although it is unlikely that this format |
| will change soon, there is no guarantee either. |
| You better know what you are doing here. |
| |
| Note: overly (ab)use of the default environment is |
| discouraged. Make sure to check other ways to preset |
| the environment like the "source" command or the |
| boot command first. |
| |
| CONFIG_ENV_VARS_UBOOT_CONFIG |
| |
| Define this in order to add variables describing the |
| U-Boot build configuration to the default environment. |
| These will be named arch, cpu, board, vendor, and soc. |
| |
| Enabling this option will cause the following to be defined: |
| |
| - CONFIG_SYS_ARCH |
| - CONFIG_SYS_CPU |
| - CONFIG_SYS_BOARD |
| - CONFIG_SYS_VENDOR |
| - CONFIG_SYS_SOC |
| |
| CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG |
| |
| Define this in order to add variables describing certain |
| run-time determined information about the hardware to the |
| environment. These will be named board_name, board_rev. |
| |
| CONFIG_DELAY_ENVIRONMENT |
| |
| Normally the environment is loaded when the board is |
| initialised so that it is available to U-Boot. This inhibits |
| that so that the environment is not available until |
| explicitly loaded later by U-Boot code. With CONFIG_OF_CONTROL |
| 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 |
| |
| 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 |
| flash parameters, followed by read/write/erase/update |
| commands. |
| |
| The following defaults may be provided by the platform |
| to handle the common case when only a single serial |
| flash is present on the system. |
| |
| CONFIG_SF_DEFAULT_BUS Bus identifier |
| CONFIG_SF_DEFAULT_CS Chip-select |
| 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'). |
| |
| 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. |
| |
| - 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 |
| |
| If this is defined, the environment variable tftpsrcp |
| is used to supply the TFTP UDP source port value. |
| If tftpsrcp isn't defined, the normal pseudo-random port |
| number generator is used. |
| |
| Also, the environment variable tftpdstp is used to supply |
| the TFTP UDP destination port value. If tftpdstp isn't |
| defined, the normal port 69 is used. |
| |
| The purpose for tftpsrcp is to allow a TFTP server to |
| blindly start the TFTP transfer using the pre-configured |
| target IP address and UDP port. This has the effect of |
| "punching through" the (Windows XP) firewall, allowing |
| the remainder of the TFTP transfer to proceed normally. |
| A better solution is to properly configure the firewall, |
| but sometimes that is not allowed. |
| |
| - Hashing support: |
| CONFIG_CMD_HASH |
| |
| This enables a generic 'hash' command which can produce |
| hashes / digests from a few algorithms (e.g. SHA1, SHA256). |
| |
| CONFIG_HASH_VERIFY |
| |
| Enable the hash verify command (hash -v). This adds to code |
| size a little. |
| |
| 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'. |
| |
| - Freescale i.MX specific commands: |
| CONFIG_CMD_HDMIDETECT |
| 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. |
| |
| - Signing support: |
| CONFIG_RSA |
| |
| 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. The software based modular exponentiation is built into |
| mkimage irrespective of this option. |
| |
| - 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_BLACKFIN |
| enable special bootcounter support on blackfin based boards. |
| CONFIG_SOC_DA8XX |
| enable special bootcounter support on da850 based boards. |
| CONFIG_BOOTCOUNT_RAM |
| enable support for the bootcounter in RAM |
| CONFIG_BOOTCOUNT_I2C |
| enable support for the bootcounter on an i2c (like RTC) device. |
| CONFIG_SYS_I2C_RTC_ADDR = i2c chip address |
| CONFIG_SYS_BOOTCOUNT_ADDR = i2c addr which is used for |
| the bootcounter. |
| CONFIG_BOOTCOUNT_ALEN = address len |
| |
| - Show boot progress: |
| CONFIG_SHOW_BOOT_PROGRESS |
| |
| Defining this option allows to add some board- |
| specific code (calling a user-provided function |
| "show_boot_progress(int)") that enables you to show |
| the system's boot progress on some display (for |
| example, some LED's) on your board. At the moment, |
| the following checkpoints are implemented: |
| |
| |
| Legacy uImage format: |
| |
| Arg Where When |
| 1 common/cmd_bootm.c before attempting to boot an image |
| -1 common/cmd_bootm.c Image header has bad magic number |
| 2 common/cmd_bootm.c Image header has correct magic number |
| -2 common/cmd_bootm.c Image header has bad checksum |
| 3 common/cmd_bootm.c Image header has correct checksum |
| -3 common/cmd_bootm.c Image data has bad checksum |
| 4 common/cmd_bootm.c Image data has correct checksum |
| -4 common/cmd_bootm.c Image is for unsupported architecture |
| 5 common/cmd_bootm.c Architecture check OK |
| -5 common/cmd_bootm.c Wrong Image Type (not kernel, multi) |
| 6 common/cmd_bootm.c Image Type check OK |
| -6 common/cmd_bootm.c gunzip uncompression error |
| -7 common/cmd_bootm.c Unimplemented compression type |
| 7 common/cmd_bootm.c Uncompression OK |
| 8 common/cmd_bootm.c No uncompress/copy overwrite error |
| -9 common/cmd_bootm.c Unsupported OS (not Linux, BSD, VxWorks, QNX) |
| |
| 9 common/image.c Start initial ramdisk verification |
| -10 common/image.c Ramdisk header has bad magic number |
| -11 common/image.c Ramdisk header has bad checksum |
| 10 common/image.c Ramdisk header is OK |
| -12 common/image.c Ramdisk data has bad checksum |
| 11 common/image.c Ramdisk data has correct checksum |
| 12 common/image.c Ramdisk verification complete, start loading |
| -13 common/image.c Wrong Image Type (not PPC Linux ramdisk) |
| 13 common/image.c Start multifile image verification |
| 14 common/image.c No initial ramdisk, no multifile, continue. |
| |
| 15 arch/<arch>/lib/bootm.c All preparation done, transferring control to OS |
| |
| -30 arch/powerpc/lib/board.c Fatal error, hang the system |
| -31 post/post.c POST test failed, detected by post_output_backlog() |
| -32 post/post.c POST test failed, detected by post_run_single() |
| |
| 34 common/cmd_doc.c before loading a Image from a DOC device |
| -35 common/cmd_doc.c Bad usage of "doc" command |
| 35 common/cmd_doc.c correct usage of "doc" command |
| -36 common/cmd_doc.c No boot device |
| 36 common/cmd_doc.c correct boot device |
| -37 common/cmd_doc.c Unknown Chip ID on boot device |
| 37 common/cmd_doc.c correct chip ID found, device available |
| -38 common/cmd_doc.c Read Error on boot device |
| 38 common/cmd_doc.c reading Image header from DOC device OK |
| -39 common/cmd_doc.c Image header has bad magic number |
| 39 common/cmd_doc.c Image header has correct magic number |
| -40 common/cmd_doc.c Error reading Image from DOC device |
| 40 common/cmd_doc.c Image header has correct magic number |
| 41 common/cmd_ide.c before loading a Image from a IDE device |
| -42 common/cmd_ide.c Bad usage of "ide" command |
| 42 common/cmd_ide.c correct usage of "ide" command |
| -43 common/cmd_ide.c No boot device |
| 43 common/cmd_ide.c boot device found |
| -44 common/cmd_ide.c Device not available |
| 44 common/cmd_ide.c Device available |
| -45 common/cmd_ide.c wrong partition selected |
| 45 common/cmd_ide.c partition selected |
| -46 common/cmd_ide.c Unknown partition table |
| 46 common/cmd_ide.c valid partition table found |
| -47 common/cmd_ide.c Invalid partition type |
| 47 common/cmd_ide.c correct partition type |
| -48 common/cmd_ide.c Error reading Image Header on boot device |
| 48 common/cmd_ide.c reading Image Header from IDE device OK |
| -49 common/cmd_ide.c Image header has bad magic number |
| 49 common/cmd_ide.c Image header has correct magic number |
| -50 common/cmd_ide.c Image header has bad checksum |
| 50 common/cmd_ide.c Image header has correct checksum |
| -51 common/cmd_ide.c Error reading Image from IDE device |
| 51 common/cmd_ide.c reading Image from IDE device OK |
| 52 common/cmd_nand.c before loading a Image from a NAND device |
| -53 common/cmd_nand.c Bad usage of "nand" command |
| 53 common/cmd_nand.c correct usage of "nand" command |
| -54 common/cmd_nand.c No boot device |
| 54 common/cmd_nand.c boot device found |
| -55 common/cmd_nand.c Unknown Chip ID on boot device |
| 55 common/cmd_nand.c correct chip ID found, device available |
| -56 common/cmd_nand.c Error reading Image Header on boot device |
| 56 common/cmd_nand.c reading Image Header from NAND device OK |
| -57 common/cmd_nand.c Image header has bad magic number |
| 57 common/cmd_nand.c Image header has correct magic number |
| -58 common/cmd_nand.c Error reading Image from NAND device |
| 58 common/cmd_nand.c reading Image from NAND device OK |
| |
| -60 common/env_common.c Environment has a bad CRC, using default |
| |
| 64 net/eth.c starting with Ethernet configuration. |
| -64 net/eth.c no Ethernet found. |
| 65 net/eth.c Ethernet found. |
| |
| -80 common/cmd_net.c usage wrong |
| 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 |
| -83 common/cmd_net.c some error in automatic boot or "source" command |
| 84 common/cmd_net.c end without errors |
| |
| FIT uImage format: |
| |
| Arg Where When |
| 100 common/cmd_bootm.c Kernel FIT Image has correct format |
| -100 common/cmd_bootm.c Kernel FIT Image has incorrect format |
| 101 common/cmd_bootm.c No Kernel subimage unit name, using configuration |
| -101 common/cmd_bootm.c Can't get configuration for kernel subimage |
| 102 common/cmd_bootm.c Kernel unit name specified |
| -103 common/cmd_bootm.c Can't get kernel subimage node offset |
| 103 common/cmd_bootm.c Found configuration node |
| 104 common/cmd_bootm.c Got kernel subimage node offset |
| -104 common/cmd_bootm.c Kernel subimage hash verification failed |
| 105 common/cmd_bootm.c Kernel subimage hash verification OK |
| -105 common/cmd_bootm.c Kernel subimage is for unsupported architecture |
| 106 common/cmd_bootm.c Architecture check OK |
| -106 common/cmd_bootm.c Kernel subimage has wrong type |
| 107 common/cmd_bootm.c Kernel subimage type OK |
| -107 common/cmd_bootm.c Can't get kernel subimage data/size |
| 108 common/cmd_bootm.c Got kernel subimage data/size |
| -108 common/cmd_bootm.c Wrong image type (not legacy, FIT) |
| -109 common/cmd_bootm.c Can't get kernel subimage type |
| -110 common/cmd_bootm.c Can't get kernel subimage comp |
| -111 common/cmd_bootm.c Can't get kernel subimage os |
| -112 common/cmd_bootm.c Can't get kernel subimage load address |
| -113 common/cmd_bootm.c Image uncompress/copy overwrite error |
| |
| 120 common/image.c Start initial ramdisk verification |
| -120 common/image.c Ramdisk FIT image has incorrect format |
| 121 common/image.c Ramdisk FIT image has correct format |
| 122 common/image.c No ramdisk subimage unit name, using configuration |
| -122 common/image.c Can't get configuration for ramdisk subimage |
| 123 common/image.c Ramdisk unit name specified |
| -124 common/image.c Can't get ramdisk subimage node offset |
| 125 common/image.c Got ramdisk subimage node offset |
| -125 common/image.c Ramdisk subimage hash verification failed |
| 126 common/image.c Ramdisk subimage hash verification OK |
| -126 common/image.c Ramdisk subimage for unsupported architecture |
| 127 common/image.c Architecture check OK |
| -127 common/image.c Can't get ramdisk subimage data/size |
| 128 common/image.c Got ramdisk subimage data/size |
| 129 common/image.c Can't get ramdisk load address |
| -129 common/image.c Got ramdisk load address |
| |
| -130 common/cmd_doc.c Incorrect FIT image format |
| 131 common/cmd_doc.c FIT image format OK |
| |
| -140 common/cmd_ide.c Incorrect FIT image format |
| 141 common/cmd_ide.c FIT image format OK |
| |
| -150 common/cmd_nand.c Incorrect FIT image format |
| 151 common/cmd_nand.c FIT image format OK |
| |
| - legacy image format: |
| CONFIG_IMAGE_FORMAT_LEGACY |
| enables the legacy image format support in U-Boot. |
| |
| Default: |
| enabled if CONFIG_FIT_SIGNATURE is not defined. |
| |
| CONFIG_DISABLE_IMAGE_LEGACY |
| disable the legacy image format |
| |
| This define is introduced, as the legacy image format is |
| enabled per default for backward compatibility. |
| |
| - FIT image support: |
| CONFIG_FIT |
| Enable support for the FIT uImage format. |
| |
| CONFIG_FIT_BEST_MATCH |
| When no configuration is explicitly selected, default to the |
| one whose fdt's compatibility field best matches that of |
| U-Boot itself. A match is considered "best" if it matches the |
| most specific compatibility entry of U-Boot's fdt's root node. |
| The order of entries in the configuration's fdt is ignored. |
| |
| CONFIG_FIT_SIGNATURE |
| This option enables signature verification of FIT uImages, |
| 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 |
| disabled. If a board need legacy image format support |
| enable this through CONFIG_IMAGE_FORMAT_LEGACY |
| |
| CONFIG_FIT_DISABLE_SHA256 |
| Supporting SHA256 hashes has quite an impact on binary size. |
| For constrained systems sha256 hash support can be disabled |
| with this option. |
| |
| - Standalone program support: |
| CONFIG_STANDALONE_LOAD_ADDR |
| |
| This option defines a board specific value for the |
| address where standalone program gets loaded, thus |
| overwriting the architecture dependent default |
| settings. |
| |
| - Frame Buffer Address: |
| CONFIG_FB_ADDR |
| |
| Define CONFIG_FB_ADDR if you want to use specific |
| address for frame buffer. This is typically the case |
| when using a graphics controller has separate video |
| memory. U-Boot will then place the frame buffer at |
| the given address instead of dynamically reserving it |
| in system RAM by calling lcd_setmem(), which grabs |
| the memory for the frame buffer depending on the |
| configured panel size. |
| |
| Please see board_init_f function. |
| |
| - Automatic software updates via TFTP server |
| CONFIG_UPDATE_TFTP |
| CONFIG_UPDATE_TFTP_CNT_MAX |
| CONFIG_UPDATE_TFTP_MSEC_MAX |
| |
| These options enable and control the auto-update feature; |
| for a more detailed description refer to doc/README.update. |
| |
| - MTD Support (mtdparts command, UBI support) |
| CONFIG_MTD_DEVICE |
| |
| Adds the MTD device infrastructure from the Linux kernel. |
| Needed for mtdparts command support. |
| |
| CONFIG_MTD_PARTITIONS |
| |
| Adds the MTD partitioning infrastructure from the Linux |
| 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 |
| warnings and errors enabled. |
| |
| |
| CONFIG_MTD_UBI_WL_THRESHOLD |
| This parameter defines the maximum difference between the highest |
| erase counter value and the lowest erase counter value of eraseblocks |
| of UBI devices. When this threshold is exceeded, UBI starts performing |
| wear leveling by means of moving data from eraseblock with low erase |
| counter to eraseblocks with high erase counter. |
| |
| The default value should be OK for SLC NAND flashes, NOR flashes and |
| other flashes which have eraseblock life-cycle 100000 or more. |
| However, in case of MLC NAND flashes which typically have eraseblock |
| life-cycle less than 10000, the threshold should be lessened (e.g., |
| to 128 or 256, although it does not have to be power of 2). |
| |
| default: 4096 |
| |
| CONFIG_MTD_UBI_BEB_LIMIT |
| This option specifies the maximum bad physical eraseblocks UBI |
| expects on the MTD device (per 1024 eraseblocks). If the |
| underlying flash does not admit of bad eraseblocks (e.g. NOR |
| flash), this value is ignored. |
| |
| NAND datasheets often specify the minimum and maximum NVM |
| (Number of Valid Blocks) for the flashes' endurance lifetime. |
| The maximum expected bad eraseblocks per 1024 eraseblocks |
| then can be calculated as "1024 * (1 - MinNVB / MaxNVB)", |
| which gives 20 for most NANDs (MaxNVB is basically the total |
| count of eraseblocks on the chip). |
| |
| To put it differently, if this value is 20, UBI will try to |
| reserve about 1.9% of physical eraseblocks for bad blocks |
| handling. And that will be 1.9% of eraseblocks on the entire |
| NAND chip, not just the MTD partition UBI attaches. This means |
| that if you have, say, a NAND flash chip admits maximum 40 bad |
| eraseblocks, and it is split on two MTD partitions of the same |
| size, UBI will reserve 40 eraseblocks when attaching a |
| partition. |
| |
| default: 20 |
| |
| CONFIG_MTD_UBI_FASTMAP |
| Fastmap is a mechanism which allows attaching an UBI device |
| in nearly constant time. Instead of scanning the whole MTD device it |
| only has to locate a checkpoint (called fastmap) on the device. |
| The on-flash fastmap contains all information needed to attach |
| the device. Using fastmap makes only sense on large devices where |
| attaching by scanning takes long. UBI will not automatically install |
| a fastmap on old images, but you can set the UBI parameter |
| CONFIG_MTD_UBI_FASTMAP_AUTOCONVERT to 1 if you want so. Please note |
| that fastmap-enabled images are still usable with UBI implementations |
| without fastmap support. On typical flash devices the whole fastmap |
| fits into one PEB. UBI will reserve PEBs to hold two fastmaps. |
| |
| CONFIG_MTD_UBI_FASTMAP_AUTOCONVERT |
| Set this parameter to enable fastmap automatically on images |
| without a fastmap. |
| 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 |
| warnings and errors enabled. |
| |
| - SPL framework |
| CONFIG_SPL |
| Enable building of SPL globally. |
| |
| CONFIG_SPL_LDSCRIPT |
| LDSCRIPT for linking the SPL binary. |
| |
| CONFIG_SPL_MAX_FOOTPRINT |
| Maximum size in memory allocated to the SPL, BSS included. |
| When defined, the linker checks that the actual memory |
| used by SPL from _start to __bss_end does not exceed it. |
| CONFIG_SPL_MAX_FOOTPRINT and CONFIG_SPL_BSS_MAX_SIZE |
| must not be both defined at the same time. |
| |
| CONFIG_SPL_MAX_SIZE |
| Maximum size of the SPL image (text, data, rodata, and |
| linker lists sections), BSS excluded. |
| When defined, the linker checks that the actual size does |
| not exceed it. |
| |
| CONFIG_SPL_TEXT_BASE |
| TEXT_BASE for linking the SPL binary. |
| |
| CONFIG_SPL_RELOC_TEXT_BASE |
| Address to relocate to. If unspecified, this is equal to |
| CONFIG_SPL_TEXT_BASE (i.e. no relocation is done). |
| |
| CONFIG_SPL_BSS_START_ADDR |
| Link address for the BSS within the SPL binary. |
| |
| CONFIG_SPL_BSS_MAX_SIZE |
| Maximum size in memory allocated to the SPL BSS. |
| When defined, the linker checks that the actual memory used |
| by SPL from __bss_start to __bss_end does not exceed it. |
| CONFIG_SPL_MAX_FOOTPRINT and CONFIG_SPL_BSS_MAX_SIZE |
| must not be both defined at the same time. |
| |
| 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 |
| CONFIG_SPL_STACK. |
| |
| CONFIG_SYS_SPL_MALLOC_START |
| Starting address of the malloc pool used in SPL. |
| |
| 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 |
| |
| CONFIG_SPL_DISPLAY_PRINT |
| For ARM, enable an optional function to print more information |
| about the running system. |
| |
| CONFIG_SPL_INIT_MINIMAL |
| Arch init code should be built for a very small image |
| |
| CONFIG_SPL_LIBCOMMON_SUPPORT |
| Support for common/libcommon.o in SPL binary |
| |
| CONFIG_SPL_LIBDISK_SUPPORT |
| Support for disk/libdisk.o in SPL binary |
| |
| CONFIG_SPL_I2C_SUPPORT |
| Support for drivers/i2c/libi2c.o in SPL binary |
| |
| CONFIG_SPL_GPIO_SUPPORT |
| Support for drivers/gpio/libgpio.o in SPL binary |
| |
| CONFIG_SPL_MMC_SUPPORT |
| Support for drivers/mmc/libmmc.o in SPL binary |
| |
| 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_MMCSD_RAW_MODE_KERNEL_SECTOR |
| Sector to load kernel uImage from when MMC is being |
| used in raw mode (for Falcon mode) |
| |
| CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTOR, |
| CONFIG_SYS_MMCSD_RAW_MODE_ARGS_SECTORS |
| Sector and number of sectors to load kernel argument |
| parameters from when MMC is being used in raw mode |
| (for falcon mode) |
| |
| CONFIG_SYS_MMCSD_FS_BOOT_PARTITION |
| Partition on the MMC to load U-Boot from when the MMC is being |
| used in fs mode |
| |
| CONFIG_SPL_FAT_SUPPORT |
| Support for fs/fat/libfat.o in SPL binary |
| |
| CONFIG_SPL_EXT_SUPPORT |
| Support for EXT filesystem in SPL binary |
| |
| CONFIG_SPL_FS_LOAD_PAYLOAD_NAME |
| Filename to read to load U-Boot when reading from filesystem |
| |
| CONFIG_SPL_FS_LOAD_KERNEL_NAME |
| Filename to read to load kernel uImage when reading |
| from filesystem (for Falcon mode) |
| |
| CONFIG_SPL_FS_LOAD_ARGS_NAME |
| Filename to read to load kernel argument parameters |
| when reading from filesystem (for Falcon mode) |
| |
| CONFIG_SPL_MPC83XX_WAIT_FOR_NAND |
| Set this for NAND SPL on PPC mpc83xx targets, so that |
| start.S waits for the rest of the SPL to load before |
| continuing (the hardware starts execution after just |
| loading the first page rather than the full 4K). |
| |
| CONFIG_SPL_SKIP_RELOCATE |
| Avoid SPL relocation |
| |
| CONFIG_SPL_NAND_BASE |
| Include nand_base.c in the SPL. Requires |
| CONFIG_SPL_NAND_DRIVERS. |
| |
| CONFIG_SPL_NAND_DRIVERS |
| SPL uses normal NAND drivers, not minimal drivers. |
| |
| CONFIG_SPL_NAND_ECC |
| Include standard software ECC in the SPL |
| |
| CONFIG_SPL_NAND_SIMPLE |
| Support for NAND boot using simple NAND drivers that |
| expose the cmd_ctrl() interface. |
| |
| CONFIG_SPL_MTD_SUPPORT |
| Support for the MTD subsystem within SPL. Useful for |
| environment on NAND support within SPL. |
| |
| CONFIG_SPL_NAND_RAW_ONLY |
| Support to boot only raw u-boot.bin images. Use this only |
| if you need to save space. |
| |
| CONFIG_SPL_MPC8XXX_INIT_DDR_SUPPORT |
| Set for the SPL on PPC mpc8xxx targets, support for |
| drivers/ddr/fsl/libddr.o in SPL binary. |
| |
| CONFIG_SPL_COMMON_INIT_DDR |
| Set for common ddr init with serial presence detect in |
| SPL binary. |
| |
| CONFIG_SYS_NAND_5_ADDR_CYCLE, CONFIG_SYS_NAND_PAGE_COUNT, |
| CONFIG_SYS_NAND_PAGE_SIZE, CONFIG_SYS_NAND_OOBSIZE, |
| CONFIG_SYS_NAND_BLOCK_SIZE, CONFIG_SYS_NAND_BAD_BLOCK_POS, |
| CONFIG_SYS_NAND_ECCPOS, CONFIG_SYS_NAND_ECCSIZE, |
| CONFIG_SYS_NAND_ECCBYTES |
| Defines the size and behavior of the NAND that SPL uses |
| to read U-Boot |
| |
| CONFIG_SPL_NAND_BOOT |
| Add support NAND boot |
| |
| CONFIG_SYS_NAND_U_BOOT_OFFS |
| Location in NAND to read U-Boot from |
| |
| CONFIG_SYS_NAND_U_BOOT_DST |
| Location in memory to load U-Boot to |
| |
| CONFIG_SYS_NAND_U_BOOT_SIZE |
| Size of image to load |
| |
| CONFIG_SYS_NAND_U_BOOT_START |
| Entry point in loaded image to jump to |
| |
| CONFIG_SYS_NAND_HW_ECC_OOBFIRST |
| 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_SERIAL_SUPPORT |
| Support for drivers/serial/libserial.o in SPL binary |
| |
| CONFIG_SPL_SPI_FLASH_SUPPORT |
| Support for drivers/mtd/spi/libspi_flash.o in SPL binary |
| |
| CONFIG_SPL_SPI_SUPPORT |
| Support for drivers/spi/libspi.o in SPL binary |
| |
| CONFIG_SPL_RAM_DEVICE |
| Support for running image already present in ram, in SPL binary |
| |
| CONFIG_SPL_LIBGENERIC_SUPPORT |
| Support for lib/libgeneric.o in SPL binary |
| |
| CONFIG_SPL_ENV_SUPPORT |
| Support for the environment operating in SPL binary |
| |
| CONFIG_SPL_NET_SUPPORT |
| Support for the net/libnet.o in SPL binary. |
| It conflicts with SPL env from storage medium specified by |
| CONFIG_ENV_IS_xxx but CONFIG_ENV_IS_NOWHERE |
| |
| CONFIG_SPL_PAD_TO |
| Image offset to which the SPL should be padded before appending |
| the SPL payload. By default, this is defined as |
| CONFIG_SPL_MAX_SIZE, or 0 if CONFIG_SPL_MAX_SIZE is undefined. |
| CONFIG_SPL_PAD_TO must be either 0, meaning to append the SPL |
| payload without any padding, or >= CONFIG_SPL_MAX_SIZE. |
| |
| CONFIG_SPL_TARGET |
| Final target image containing SPL and payload. Some SPLs |
| use an arch-specific makefile fragment instead, for |
| example if more than one image needs to be produced. |
| |
| CONFIG_FIT_SPL_PRINT |
| Printing information about a FIT image adds quite a bit of |
| code to SPL. So this is normally disabled in SPL. Use this |
| option to re-enable it. This will affect the output of the |
| bootm command when booting a FIT image. |
| |
| - TPL framework |
| CONFIG_TPL |
| Enable building of TPL globally. |
| |
| CONFIG_TPL_PAD_TO |
| Image offset to which the TPL should be padded before appending |
| the TPL payload. By default, this is defined as |
| CONFIG_SPL_MAX_SIZE, or 0 if CONFIG_SPL_MAX_SIZE is undefined. |
| CONFIG_SPL_PAD_TO must be either 0, meaning to append the SPL |
| payload without any padding, or >= CONFIG_SPL_MAX_SIZE. |
| |
| Modem Support: |
| -------------- |
| |
| [so far only for SMDK2400 boards] |
| |
| - Modem support enable: |
| CONFIG_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() |
| for all PPC archs. interrupt_init() calls interrupt_init_cpu() |
| for CPU specific initialization. interrupt_init_cpu() |
| should set decrementer_count to appropriate value. If |
| CPU resets decrementer automatically after interrupt |
| (ppc4xx) it should set decrementer_count to zero. |
| timer_interrupt() calls timer_interrupt_cpu() for CPU |
| specific handling. If board has watchdog / status_led |
| / other_activity_monitor it works automatically from |
| general timer_interrupt(). |
| |
| - General: |
| |
| In the target system modem support is enabled when a |
| specific key (key combination) is pressed during |
| power-on. Otherwise U-Boot will boot normally |
| (autoboot). The key_pressed() function is called from |
| board_init(). Currently key_pressed() is a dummy |
| function, returning 1 and thus enabling modem |
| initialization. |
| |
| If there are no modem init strings in the |
| environment, U-Boot proceed to autoboot; the |
| previous output (banner, info printfs) will be |
| suppressed, though. |
| |
| See also: doc/README.Modem |
| |
| Board initialization settings: |
| ------------------------------ |
| |
| During Initialization u-boot calls a number of board specific functions |
| to allow the preparation of board specific prerequisites, e.g. pin setup |
| before drivers are initialized. To enable these callbacks the |
| following configuration macros have to be defined. Currently this is |
| architecture specific, so please check arch/your_architecture/lib/board.c |
| typically in board_init_f() and board_init_r(). |
| |
| - CONFIG_BOARD_EARLY_INIT_F: Call board_early_init_f() |
| - CONFIG_BOARD_EARLY_INIT_R: Call board_early_init_r() |
| - CONFIG_BOARD_LATE_INIT: Call board_late_init() |
| - CONFIG_BOARD_POSTCLK_INIT: Call board_postclk_init() |
| |
| Configuration Settings: |
| ----------------------- |
| |
| - CONFIG_SYS_SUPPORT_64BIT_DATA: Defined automatically if compiled as 64-bit. |
| Optionally it can be defined to support 64-bit memory commands. |
| |
| - CONFIG_SYS_LONGHELP: Defined when you want long help messages included; |
| undefine this when you're short of memory. |
| |
| - CONFIG_SYS_HELP_CMD_WIDTH: Defined when you want to override the default |
| width of the commands listed in the 'help' command output. |
| |
| - CONFIG_SYS_PROMPT: This is what U-Boot prints on the console to |
| prompt for user input. |
| |
| - CONFIG_SYS_CBSIZE: Buffer size for input from the Console |
| |
| - CONFIG_SYS_PBSIZE: Buffer size for Console output |
| |
| - CONFIG_SYS_MAXARGS: max. Number of arguments accepted for monitor commands |
| |
| - CONFIG_SYS_BARGSIZE: Buffer size for Boot Arguments which are passed to |
| the application (usually a Linux kernel) when it is |
| booted |
| |
| - 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. |
| |
| - CONFIG_SYS_ALT_MEMTEST: |
| Enable an alternate, more extensive memory test. |
| |
| - CONFIG_SYS_MEMTEST_SCRATCH: |
| 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): |
| 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 |
| fixing up gd->ram_size the Linux kernel should gets passed |
| the now "corrected" memory size and won't touch it either. |
| This should work for arch/ppc and arch/powerpc. Only Linux |
| board ports in arch/powerpc with bootwrapper support that |
| recalculate the memory size from the SDRAM controller setup |
| will have to get fixed in Linux additionally. |
| |
| This option can be used as a workaround for the 440EPx/GRx |
| CHIP 11 errata where the last 256 bytes in SDRAM shouldn't |
| be touched. |
| |
| WARNING: Please make sure that this value is a multiple of |
| the Linux page size (normally 4k). If this is not the case, |
| then the end address of the Linux memory will be located at a |
| non page size aligned address and this could cause major |
| problems. |
| |
| - CONFIG_SYS_LOADS_BAUD_CHANGE: |
| Enable temporary baudrate change while serial download |
| |
| - CONFIG_SYS_SDRAM_BASE: |
| Physical start address of SDRAM. _Must_ be 0 here. |
| |
| - CONFIG_SYS_MBIO_BASE: |
| Physical start address of Motherboard I/O (if using a |
| Cogent motherboard) |
| |
| - CONFIG_SYS_FLASH_BASE: |
| Physical start address of Flash memory. |
| |
| - CONFIG_SYS_MONITOR_BASE: |
| Physical start address of boot monitor code (set by |
| make config files to be same as the text base address |
| (CONFIG_SYS_TEXT_BASE) used when linking) - same as |
| CONFIG_SYS_FLASH_BASE when booting from flash. |
| |
| - CONFIG_SYS_MONITOR_LEN: |
| Size of memory reserved for monitor code, used to |
| determine _at_compile_time_ (!) if the environment is |
| embedded within the U-Boot image, or in a separate |
| flash sector. |
| |
| - CONFIG_SYS_MALLOC_LEN: |
| Size of DRAM reserved for malloc() use. |
| |
| - CONFIG_SYS_MALLOC_F_LEN |
| Size of the malloc() pool for use before relocation. If |
| this is defined, then a very simple malloc() implementation |
| will become available before relocation. The address is just |
| below the global data, and the stack is moved down to make |
| space. |
| |
| This feature allocates regions with increasing addresses |
| within the region. calloc() is supported, but realloc() |
| is not available. free() is supported but does nothing. |
| The memory will be freed (or in fact just forgotten) when |
| U-Boot relocates itself. |
| |
| Pre-relocation malloc() is only supported on ARM and sandbox |
| at present but is fairly easy to enable for other archs. |
| |
| - CONFIG_SYS_MALLOC_SIMPLE |
| Provides a simple and small malloc() and calloc() for those |
| boards which do not use the full malloc in SPL (which is |
| enabled with CONFIG_SYS_SPL_MALLOC_START). |
| |
| - CONFIG_SYS_NONCACHED_MEMORY: |
| Size of non-cached memory area. This area of memory will be |
| typically located right below the malloc() area and mapped |
| uncached in the MMU. This is useful for drivers that would |
| otherwise require a lot of explicit cache maintenance. For |
| some drivers it's also impossible to properly maintain the |
| cache. For example if the regions that need to be flushed |
| are not a multiple of the cache-line size, *and* padding |
| cannot be allocated between the regions to align them (i.e. |
| if the HW requires a contiguous array of regions, and the |
| size of each region is not cache-aligned), then a flush of |
| one region may result in overwriting data that hardware has |
| written to another region in the same cache-line. This can |
| happen for example in network drivers where descriptors for |
| buffers are typically smaller than the CPU cache-line (e.g. |
| 16 bytes vs. 32 or 64 bytes). |
| |
| Non-cached memory is only supported on 32-bit ARM at present. |
| |
| - CONFIG_SYS_BOOTM_LEN: |
| Normally compressed uImages are limited to an |
| uncompressed size of 8 MBytes. If this is not enough, |
| you can define CONFIG_SYS_BOOTM_LEN in your board config file |
| to adjust this setting to your needs. |
| |
| - CONFIG_SYS_BOOTMAPSZ: |
| Maximum size of memory mapped by the startup code of |
| the Linux kernel; all data that must be processed by |
| the Linux kernel (bd_info, boot arguments, FDT blob if |
| used) must be put below this limit, unless "bootm_low" |
| environment variable is defined and non-zero. In such case |
| all data for the Linux kernel must be between "bootm_low" |
| and "bootm_low" + CONFIG_SYS_BOOTMAPSZ. The environment |
| variable "bootm_mapsize" will override the value of |
| CONFIG_SYS_BOOTMAPSZ. If CONFIG_SYS_BOOTMAPSZ is undefined, |
| then the value in "bootm_size" will be used instead. |
| |
| - CONFIG_SYS_BOOT_RAMDISK_HIGH: |
| Enable initrd_high functionality. If defined then the |
| initrd_high feature is enabled and the bootm ramdisk subcommand |
| is enabled. |
| |
| - CONFIG_SYS_BOOT_GET_CMDLINE: |
| Enables allocating and saving kernel cmdline in space between |
| "bootm_low" and "bootm_low" + BOOTMAPSZ. |
| |
| - CONFIG_SYS_BOOT_GET_KBD: |
| Enables allocating and saving a kernel copy of the bd_info in |
| space between "bootm_low" and "bootm_low" + BOOTMAPSZ. |
| |
| - CONFIG_SYS_MAX_FLASH_BANKS: |
| Max number of Flash memory banks |
| |
| - CONFIG_SYS_MAX_FLASH_SECT: |
| Max number of sectors on a Flash chip |
| |
| - CONFIG_SYS_FLASH_ERASE_TOUT: |
| Timeout for Flash erase operations (in ms) |
| |
| - CONFIG_SYS_FLASH_WRITE_TOUT: |
| Timeout for Flash write operations (in ms) |
| |
| - CONFIG_SYS_FLASH_LOCK_TOUT |
| Timeout for Flash set sector lock bit operation (in ms) |
| |
| - CONFIG_SYS_FLASH_UNLOCK_TOUT |
| Timeout for Flash clear lock bits operation (in ms) |
| |
| - CONFIG_SYS_FLASH_PROTECTION |
| If defined, hardware flash sectors protection is used |
| instead of U-Boot software protection. |
| |
| - CONFIG_SYS_DIRECT_FLASH_TFTP: |
| |
| Enable TFTP transfers directly to flash memory; |
| without this option such a download has to be |
| performed in two steps: (1) download to RAM, and (2) |
| copy from RAM to flash. |
| |
| The two-step approach is usually more reliable, since |
| you can check if the download worked before you erase |
| the flash, but in some situations (when system RAM is |
| too limited to allow for a temporary copy of the |
| downloaded image) this option may be very useful. |
| |
| - CONFIG_SYS_FLASH_CFI: |
| Define if the flash driver uses extra elements in the |
| common flash structure for storing flash geometry. |
| |
| - CONFIG_FLASH_CFI_DRIVER |
| This option also enables the building of the cfi_flash driver |
| in the drivers directory |
| |
| - CONFIG_FLASH_CFI_MTD |
| This option enables the building of the cfi_mtd driver |
| in the drivers directory. The driver exports CFI flash |
| to the MTD layer. |
| |
| - CONFIG_SYS_FLASH_USE_BUFFER_WRITE |
| Use buffered writes to flash. |
| |
| - CONFIG_FLASH_SPANSION_S29WS_N |
| s29ws-n MirrorBit flash has non-standard addresses for buffered |
| write commands. |
| |
| - CONFIG_SYS_FLASH_QUIET_TEST |
| If this option is defined, the common CFI flash doesn't |
| print it's warning upon not recognized FLASH banks. This |
| is useful, if some of the configured banks are only |
| optionally available. |
| |
| - CONFIG_FLASH_SHOW_PROGRESS |
| If defined (must be an integer), print out countdown |
| digits and dots. Recommended value: 45 (9..1) for 80 |
| column displays, 15 (3..1) for 40 column displays. |
| |
| - CONFIG_FLASH_VERIFY |
| If defined, the content of the flash (destination) is compared |
| against the source after the write operation. An error message |
| will be printed when the contents are not identical. |
| Please note that this option is useless in nearly all cases, |
| since such flash programming errors usually are detected earlier |
| while unprotecting/erasing/programming. Please only enable |
| this option if you really know what you are doing. |
| |
| - CONFIG_SYS_RX_ETH_BUFFER: |
| Defines the number of Ethernet receive buffers. On some |
| Ethernet controllers it is recommended to set this value |
| to 8 or even higher (EEPRO100 or 405 EMAC), since all |
| buffers can be full shortly after enabling the interface |
| on high Ethernet traffic. |
| Defaults to 4 if not defined. |
| |
| - CONFIG_ENV_MAX_ENTRIES |
| |
| Maximum number of entries in the hash table that is used |
| internally to store the environment settings. The default |
| setting is supposed to be generous and should work in most |
| cases. This setting can be used to tune behaviour; see |
| lib/hashtable.c for details. |
| |
| - CONFIG_ENV_FLAGS_LIST_DEFAULT |
| - CONFIG_ENV_FLAGS_LIST_STATIC |
| Enable validation of the values given to environment variables when |
| calling env set. Variables can be restricted to only decimal, |
| hexadecimal, or boolean. If CONFIG_CMD_NET is also defined, |
| the variables can also be restricted to IP address or MAC address. |
| |
| The format of the list is: |
| type_attribute = [s|d|x|b|i|m] |
| access_attribute = [a|r|o|c] |
| attributes = type_attribute[access_attribute] |
| entry = variable_name[:attributes] |
| list = entry[,list] |
| |
| The type attributes are: |
| s - String (default) |
| d - Decimal |
| x - Hexadecimal |
| b - Boolean ([1yYtT|0nNfF]) |
| i - IP address |
| m - MAC address |
| |
| The access attributes are: |
| a - Any (default) |
| r - Read-only |
| o - Write-once |
| c - Change-default |
| |
| - CONFIG_ENV_FLAGS_LIST_DEFAULT |
| Define this to a list (string) to define the ".flags" |
| environment variable in the default or embedded environment. |
| |
| - CONFIG_ENV_FLAGS_LIST_STATIC |
| Define this to a list (string) to define validation that |
| should be done if an entry is not found in the ".flags" |
| environment variable. To override a setting in the static |
| 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. |
| |
| - CONFIG_SYS_GENERIC_BOARD |
| This selects the architecture-generic board system instead of the |
| architecture-specific board files. It is intended to move boards |
| 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 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 |
| 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 |
| building U-Boot to enable this. |
| |
| The following definitions that deal with the placement and management |
| of environment data (variable area); in general, we support the |
| following configurations: |
| |
| - CONFIG_BUILD_ENVCRC: |
| |
| 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 <board>/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 |
| U-Boot will hang. |
| |
| Please note that even with NVRAM we still use a copy of the |
| 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: |
| |
|