* Provide extended interface to Linux boot loader
* S-Record download
* network boot
- * PCMCIA / CompactFlash / ATA disk / SCSI ... boot
+ * 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)
- 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
+ - for specific scenarios on certain architectures an early BSS *can*
+ be made available (via CONFIG_SPL_EARLY_BSS by moving the clearing
+ of BSS prior to entering board_init_f()) but doing so is discouraged.
+ Instead it is strongly recommended to architect any code changes
+ or additions such to not depend on the availability of BSS during
+ board_init_f() as indicated in other sections of this README to
+ maintain compatibility and consistency across the entire code base.
- must return normally from this function (don't call board_init_r()
directly)
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.
- 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
Configuration Settings:
-----------------------
-- CONFIG_SYS_SUPPORT_64BIT_DATA: Defined automatically if compiled as 64-bit.
+- MEM_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;
- CONFIG_SYS_BAUDRATE_TABLE:
List of legal baudrate settings for this board.
-- CONFIG_SYS_MEMTEST_START, CONFIG_SYS_MEMTEST_END:
- Begin and End addresses of the area used by the
- simple 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_RESERVE_SECURE
Only implemented for ARMv8 for now.
If defined, the size of CONFIG_SYS_MEM_RESERVE_SECURE memory
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.
-
The following definitions that deal with the placement and management
of environment data (variable area); in general, we support the
following configurations:
If this macro is defined, then CONFIG_SYS_CCSRBAR_PHYS will be
forced to a value that ensures that CCSR is not relocated.
-- Floppy Disk Support:
- CONFIG_SYS_FDC_DRIVE_NUMBER
-
- the default drive number (default value 0)
-
- CONFIG_SYS_ISA_IO_STRIDE
-
- defines the spacing between FDC chipset registers
- (default value 1)
-
- CONFIG_SYS_ISA_IO_OFFSET
-
- defines the offset of register from address. It
- depends on which part of the data bus is connected to
- the FDC chipset. (default value 0)
-
- If CONFIG_SYS_ISA_IO_STRIDE CONFIG_SYS_ISA_IO_OFFSET and
- CONFIG_SYS_FDC_DRIVE_NUMBER are undefined, they take their
- default value.
-
- if CONFIG_SYS_FDC_HW_INIT is defined, then the function
- fdc_hw_init() is called at the beginning of the FDC
- setup. fdc_hw_init() must be provided by the board
- source code. It is used to make hardware-dependent
- initializations.
-
- CONFIG_IDE_AHB:
Most IDE controllers were designed to be connected with PCI
interface. Only few of them were designed for AHB interface.
- CONFIG_SYS_SRIOn_MEM_VIRT:
Virtual Address of SRIO port 'n' memory region
-- CONFIG_SYS_SRIOn_MEM_PHYS:
+- CONFIG_SYS_SRIOn_MEM_PHYxS:
Physical Address of SRIO port 'n' memory region
- CONFIG_SYS_SRIOn_MEM_SIZE:
Add the "loopw" memory command. This only takes effect if
the memory commands are activated globally (CONFIG_CMD_MEMORY).
-- CONFIG_MX_CYCLIC
+- CONFIG_CMD_MX_CYCLIC
Add the "mdc" and "mwc" memory commands. These are cyclic
"md/mw" commands.
Examples:
instruction cache) is still performed.
- CONFIG_SPL_BUILD
- Modifies the behaviour of start.S when compiling a loader
- that is executed before the actual U-Boot. E.g. when
- compiling a NAND SPL.
+ Set when the currently-running compilation is for an artifact
+ that will end up in the SPL (as opposed to the TPL or U-Boot
+ proper). Code that needs stage-specific behavior should check
+ this.
- CONFIG_TPL_BUILD
- Modifies the behaviour of start.S when compiling a loader
- that is executed after the SPL and before the actual U-Boot.
- It is loaded by the SPL.
+ Set when the currently-running compilation is for an artifact
+ that will end up in the TPL (as opposed to the SPL or U-Boot
+ proper). Code that needs stage-specific behavior should check
+ this.
- CONFIG_SYS_MPC85XX_NO_RESETVEC
Only for 85xx systems. If this variable is specified, the section
$ CROSS_COMPILE=ppc_4xx-
$ export CROSS_COMPILE
-Note: If you wish to generate Windows versions of the utilities in
- the tools directory you can use the MinGW toolchain
- (http://www.mingw.org). Set your HOST tools to the MinGW
- toolchain and execute 'make tools'. For example:
-
- $ make HOSTCC=i586-mingw32msvc-gcc HOSTSTRIP=i586-mingw32msvc-strip tools
-
- Binaries such as tools/mkimage.exe will be created which can
- be executed on computers running Windows.
-
U-Boot is intended to be simple to build. After installing the
sources you must configure U-Boot for one specific board type. This
is done by typing:
make NAME_defconfig
where "NAME_defconfig" is the name of one of the existing configu-
-rations; see boards.cfg for supported names.
+rations; see configs/*_defconfig for supported names.
-Note: for some board special configuration names may exist; check if
+Note: for some boards special configuration names may exist; check if
additional information is available from the board vendor; for
instance, the TQM823L systems are available without (standard)
or with LCD support. You can select such additional "features"
If you have modified U-Boot sources (for instance added a new board
or support for new devices, a new CPU, etc.) you are expected to
provide feedback to the other developers. The feedback normally takes
-the form of a "patch", i. e. a context diff against a certain (latest
+the form of a "patch", i.e. a context diff against a certain (latest
official or latest in the git repository) version of U-Boot sources.
But before you submit such a patch, please verify that your modifi-
while (learning) {
Read the README file in the top level directory;
Read http://www.denx.de/twiki/bin/view/DULG/Manual;
- Read applicable doc/*.README;
+ Read applicable doc/README.*;
Read the source, Luke;
/* find . -name "*.[chS]" | xargs grep -i <keyword> */
}
* For new features: a description of the feature and your
implementation.
-* A CHANGELOG entry as plaintext (separate from the patch)
-
* For major contributions, add a MAINTAINERS file with your
information and associated file and directory references.