|
|
|
@ -1,5 +1,5 @@ |
|
|
|
|
# |
|
|
|
|
# (C) Copyright 2000 - 2005 |
|
|
|
|
# (C) Copyright 2000 - 2008 |
|
|
|
|
# Wolfgang Denk, DENX Software Engineering, wd@denx.de. |
|
|
|
|
# |
|
|
|
|
# See file CREDITS for list of people who contributed to this |
|
|
|
@ -51,7 +51,8 @@ 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. |
|
|
|
|
who contributed the specific port. The MAINTAINERS file lists board |
|
|
|
|
maintainers. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Where to get help: |
|
|
|
@ -65,6 +66,22 @@ before asking FAQ's. Please see |
|
|
|
|
http://lists.sourceforge.net/lists/listinfo/u-boot-users/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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. Ofifcial releases are also |
|
|
|
|
available for FTP download from the ftp://ftp.denx.de/pub/u-boot/ |
|
|
|
|
directory. |
|
|
|
|
|
|
|
|
|
Pre-build (and tested) images are available from |
|
|
|
|
ftp://ftp.denx.de/pub/u-boot/images/ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Where we come from: |
|
|
|
|
=================== |
|
|
|
|
|
|
|
|
@ -81,6 +98,7 @@ Where we come from: |
|
|
|
|
- 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/UBoot |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Names and Spelling: |
|
|
|
@ -168,7 +186,7 @@ Directory Hierarchy: |
|
|
|
|
- lib_mips Files generic to MIPS architecture |
|
|
|
|
- lib_nios Files generic to NIOS architecture |
|
|
|
|
- lib_ppc Files generic to PowerPC architecture |
|
|
|
|
- libfdt Library files to support flattened device trees |
|
|
|
|
- libfdt Library files to support flattened device trees |
|
|
|
|
- net Networking code |
|
|
|
|
- post Power On Self Test |
|
|
|
|
- rtc Real Time Clock drivers |
|
|
|
@ -320,7 +338,7 @@ The following options need to be configured: |
|
|
|
|
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 |
|
|
|
|
"clocks_in_mhz=1" is automatically included in the |
|
|
|
|
default environment. |
|
|
|
|
|
|
|
|
|
CONFIG_MEMSIZE_IN_BYTES [relevant for MIPS only] |
|
|
|
@ -686,9 +704,9 @@ The following options need to be configured: |
|
|
|
|
CONFIG_MAC_PARTITION and/or CONFIG_DOS_PARTITION |
|
|
|
|
and/or CONFIG_ISO_PARTITION |
|
|
|
|
|
|
|
|
|
If IDE or SCSI support is enabled (CONFIG_CMD_IDE or |
|
|
|
|
CONFIG_CMD_SCSI) you must configure support for at least |
|
|
|
|
one partition type as well. |
|
|
|
|
If IDE or SCSI support is enabled (CONFIG_CMD_IDE or |
|
|
|
|
CONFIG_CMD_SCSI) you must configure support for at |
|
|
|
|
least one partition type as well. |
|
|
|
|
|
|
|
|
|
- IDE Reset method: |
|
|
|
|
CONFIG_IDE_RESET_ROUTINE - this is defined in several |
|
|
|
@ -1325,7 +1343,7 @@ The following options need to be configured: |
|
|
|
|
This option specifies a list of I2C devices that will be skipped |
|
|
|
|
when the 'i2c probe' command is issued (or 'iprobe' using the legacy |
|
|
|
|
command). If CONFIG_I2C_MULTI_BUS is set, specify a list of bus-device |
|
|
|
|
pairs. Otherwise, specify a 1D array of device addresses |
|
|
|
|
pairs. Otherwise, specify a 1D array of device addresses |
|
|
|
|
|
|
|
|
|
e.g. |
|
|
|
|
#undef CONFIG_I2C_MULTI_BUS |
|
|
|
@ -2324,22 +2342,24 @@ Low Level (hardware related) configuration options: |
|
|
|
|
Overrides the default PCI memory map in cpu/mpc8260/pci.c if set. |
|
|
|
|
|
|
|
|
|
- CONFIG_SPD_EEPROM |
|
|
|
|
Get DDR timing information from an I2C EEPROM. Common with pluggable |
|
|
|
|
memory modules such as SODIMMs |
|
|
|
|
Get DDR timing information from an I2C EEPROM. Common |
|
|
|
|
with pluggable memory modules such as SODIMMs |
|
|
|
|
|
|
|
|
|
SPD_EEPROM_ADDRESS |
|
|
|
|
I2C address of the SPD EEPROM |
|
|
|
|
|
|
|
|
|
- CFG_SPD_BUS_NUM |
|
|
|
|
If SPD EEPROM is on an I2C bus other than the first one, specify here. |
|
|
|
|
Note that the value must resolve to something your driver can deal with. |
|
|
|
|
If SPD EEPROM is on an I2C bus other than the first |
|
|
|
|
one, specify here. Note that the value must resolve |
|
|
|
|
to something your driver can deal with. |
|
|
|
|
|
|
|
|
|
- CFG_83XX_DDR_USES_CS0 |
|
|
|
|
Only for 83xx systems. If specified, then DDR should be configured |
|
|
|
|
using CS0 and CS1 instead of CS2 and CS3. |
|
|
|
|
Only for 83xx systems. If specified, then DDR should |
|
|
|
|
be configured using CS0 and CS1 instead of CS2 and CS3. |
|
|
|
|
|
|
|
|
|
- CFG_83XX_DDR_USES_CS0 |
|
|
|
|
Only for 83xx systems. If specified, then DDR should be configured |
|
|
|
|
using CS0 and CS1 instead of CS2 and CS3. |
|
|
|
|
Only for 83xx systems. If specified, then DDR should |
|
|
|
|
be configured using CS0 and CS1 instead of CS2 and CS3. |
|
|
|
|
|
|
|
|
|
- CONFIG_ETHER_ON_FEC[12] |
|
|
|
|
Define to enable FEC[12] on a 8xx series processor. |
|
|
|
@ -2405,29 +2425,30 @@ Low Level (hardware related) configuration options: |
|
|
|
|
Building the Software: |
|
|
|
|
====================== |
|
|
|
|
|
|
|
|
|
Building U-Boot has been tested in native PPC environments (on a |
|
|
|
|
PowerBook G3 running LinuxPPC 2000) and in cross environments |
|
|
|
|
(running RedHat 6.x and 7.x Linux on x86, Solaris 2.6 on a SPARC, and |
|
|
|
|
NetBSD 1.5 on x86). |
|
|
|
|
|
|
|
|
|
If you are not using a native PPC environment, it is assumed that you |
|
|
|
|
have the GNU cross compiling tools available in your path and named |
|
|
|
|
with a prefix of "powerpc-linux-". If this is not the case, (e.g. if |
|
|
|
|
you are using Monta Vista's Hard Hat Linux CDK 1.2) you must change |
|
|
|
|
the definition of CROSS_COMPILE in Makefile. For HHL on a 4xx CPU, |
|
|
|
|
change it to: |
|
|
|
|
Building U-Boot has been tested in several native build environments |
|
|
|
|
and in many different cross environments. Of course we cannot support |
|
|
|
|
all possibly existing versions of cross development tools in all |
|
|
|
|
(potentially obsolete) versions. In case of tool chain problems we |
|
|
|
|
recommend to use the ELDK (see http://www.denx.de/wiki/DULG/ELDK) |
|
|
|
|
which is extensively used to build and test U-Boot. |
|
|
|
|
|
|
|
|
|
CROSS_COMPILE = ppc_4xx- |
|
|
|
|
If you are not using a native environment, it is assumed that you |
|
|
|
|
have GNU cross compiling tools available in your path. In this case, |
|
|
|
|
you must set the environment variable CROSS_COMPILE in your shell. |
|
|
|
|
Note that no changes to the Makefile or any other source files are |
|
|
|
|
necessary. For example using the ELDK on a 4xx CPU, please enter: |
|
|
|
|
|
|
|
|
|
$ CROSS_COMPILE=ppc_4xx- |
|
|
|
|
$ export CROSS_COMPILE |
|
|
|
|
|
|
|
|
|
U-Boot is intended to be simple to build. After installing the |
|
|
|
|
sources you must configure U-Boot for one specific board type. This |
|
|
|
|
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_config |
|
|
|
|
|
|
|
|
|
where "NAME_config" is the name of one of the existing |
|
|
|
|
configurations; see the main Makefile for supported names. |
|
|
|
|
where "NAME_config" is the name of one of the existing configu- |
|
|
|
|
rations; see the main Makefile for supported names. |
|
|
|
|
|
|
|
|
|
Note: for some board special configuration names may exist; check if |
|
|
|
|
additional information is available from the board vendor; for |
|
|
|
@ -2503,20 +2524,20 @@ steps: |
|
|
|
|
Testing of U-Boot Modifications, Ports to New Hardware, etc.: |
|
|
|
|
============================================================== |
|
|
|
|
|
|
|
|
|
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 |
|
|
|
|
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 |
|
|
|
|
official or latest in CVS) version of U-Boot sources. |
|
|
|
|
official or latest in the git repository) version of U-Boot sources. |
|
|
|
|
|
|
|
|
|
But before you submit such a patch, please verify that your modifi- |
|
|
|
|
cation did not break existing code. At least make sure that *ALL* of |
|
|
|
|
But before you submit such a patch, please verify that your modifi- |
|
|
|
|
cation did not break existing code. At least make sure that *ALL* of |
|
|
|
|
the supported boards compile WITHOUT ANY compiler warnings. To do so, |
|
|
|
|
just run the "MAKEALL" script, which will configure and build U-Boot |
|
|
|
|
for ALL supported system. Be warned, this will take a while. You can |
|
|
|
|
select which (cross) compiler to use by passing a `CROSS_COMPILE' |
|
|
|
|
environment variable to the script, i. e. to use the cross tools from |
|
|
|
|
MontaVista's Hard Hat Linux you can type |
|
|
|
|
for ALL supported system. Be warned, this will take a while. You can |
|
|
|
|
select which (cross) compiler to use by passing a `CROSS_COMPILE' |
|
|
|
|
environment variable to the script, i. e. to use the ELDK cross tools |
|
|
|
|
you can type |
|
|
|
|
|
|
|
|
|
CROSS_COMPILE=ppc_8xx- MAKEALL |
|
|
|
|
|
|
|
|
@ -2524,20 +2545,21 @@ or to build on a native PowerPC system you can type |
|
|
|
|
|
|
|
|
|
CROSS_COMPILE=' ' MAKEALL |
|
|
|
|
|
|
|
|
|
When using the MAKEALL script, the default behaviour is to build U-Boot |
|
|
|
|
in the source directory. This location can be changed by setting the |
|
|
|
|
BUILD_DIR environment variable. Also, for each target built, the MAKEALL |
|
|
|
|
script saves two log files (<target>.ERR and <target>.MAKEALL) in the |
|
|
|
|
<source dir>/LOG directory. This default location can be changed by |
|
|
|
|
setting the MAKEALL_LOGDIR environment variable. For example: |
|
|
|
|
When using the MAKEALL script, the default behaviour is to build |
|
|
|
|
U-Boot in the source directory. This location can be changed by |
|
|
|
|
setting the BUILD_DIR environment variable. Also, for each target |
|
|
|
|
built, the MAKEALL script saves two log files (<target>.ERR and |
|
|
|
|
<target>.MAKEALL) in the <source dir>/LOG directory. This default |
|
|
|
|
location can be changed by setting the MAKEALL_LOGDIR environment |
|
|
|
|
variable. For example: |
|
|
|
|
|
|
|
|
|
export BUILD_DIR=/tmp/build |
|
|
|
|
export MAKEALL_LOGDIR=/tmp/log |
|
|
|
|
CROSS_COMPILE=ppc_8xx- MAKEALL |
|
|
|
|
|
|
|
|
|
With the above settings build objects are saved in the /tmp/build, log |
|
|
|
|
files are saved in the /tmp/log and the source tree remains clean during |
|
|
|
|
the whole build process. |
|
|
|
|
With the above settings build objects are saved in the /tmp/build, |
|
|
|
|
log files are saved in the /tmp/log and the source tree remains clean |
|
|
|
|
during the whole build process. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
See also "U-Boot Porting Guide" below. |
|
|
|
@ -3093,7 +3115,7 @@ TQM8xxL is in the first Flash bank): |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
You can check the success of the download using the 'iminfo' command; |
|
|
|
|
this includes a checksum verification so you can be sure no data |
|
|
|
|
this includes a checksum verification so you can be sure no data |
|
|
|
|
corruption happened: |
|
|
|
|
|
|
|
|
|
=> imi 40100000 |
|
|
|
@ -3438,7 +3460,7 @@ models provide on-chip memory (like the IMMR area on MPC8xx and |
|
|
|
|
MPC826x processors), on others (parts of) the data cache can be |
|
|
|
|
locked as (mis-) used as memory, etc. |
|
|
|
|
|
|
|
|
|
Chris Hallinan posted a good summary of these issues to the |
|
|
|
|
Chris Hallinan posted a good summary of these issues to the |
|
|
|
|
u-boot-users mailing list: |
|
|
|
|
|
|
|
|
|
Subject: RE: [U-Boot-Users] RE: More On Memory Bank x (nothingness)? |
|
|
|
@ -3728,6 +3750,8 @@ may be rejected, even when they contain important and valuable stuff. |
|
|
|
|
|
|
|
|
|
Patches shall be sent to the u-boot-users mailing list. |
|
|
|
|
|
|
|
|
|
Please see http://www.denx.de/wiki/UBoot/Patches for details. |
|
|
|
|
|
|
|
|
|
When you send a patch, please include the following information with |
|
|
|
|
it: |
|
|
|
|
|
|
|
|
@ -3748,18 +3772,23 @@ it: |
|
|
|
|
* If your patch adds new configuration options, don't forget to |
|
|
|
|
document these in the README file. |
|
|
|
|
|
|
|
|
|
* The patch itself. If you are accessing the CVS repository use "cvs |
|
|
|
|
update; cvs diff -puRN"; else, use "diff -purN OLD NEW". If your |
|
|
|
|
version of diff does not support these options, then get the latest |
|
|
|
|
version of GNU diff. |
|
|
|
|
* The patch itself. If you are using git (which is *strongly* |
|
|
|
|
recommended) you can easily generate the patch using the |
|
|
|
|
"git-format-patch". If you then use "git-send-email" to send it to |
|
|
|
|
the U-Boot mailing list, you will avoid most of the common problems |
|
|
|
|
with some other mail clients. |
|
|
|
|
|
|
|
|
|
If you cannot use git, use "diff -purN OLD NEW". If your version of |
|
|
|
|
diff does not support these options, then get the latest version of |
|
|
|
|
GNU diff. |
|
|
|
|
|
|
|
|
|
The current directory when running this command shall be the top |
|
|
|
|
level directory of the U-Boot source tree, or it's parent directory |
|
|
|
|
(i. e. please make sure that your patch includes sufficient |
|
|
|
|
directory information for the affected files). |
|
|
|
|
The current directory when running this command shall be the parent |
|
|
|
|
directory of the U-Boot source tree (i. e. please make sure that |
|
|
|
|
your patch includes sufficient directory information for the |
|
|
|
|
affected files). |
|
|
|
|
|
|
|
|
|
We accept patches as plain text, MIME attachments or as uuencoded |
|
|
|
|
gzipped text. |
|
|
|
|
We prefer patches as plain text. MIME attachments are discouraged, |
|
|
|
|
and compressed attachments must not be used. |
|
|
|
|
|
|
|
|
|
* If one logical set of modifications affects or creates several |
|
|
|
|
files, all these changes shall be submitted in a SINGLE patch file. |
|
|
|
@ -3786,4 +3815,6 @@ Notes: |
|
|
|
|
modification. |
|
|
|
|
|
|
|
|
|
* Remember that there is a size limit of 40 kB per message on the |
|
|
|
|
u-boot-users mailing list. Compression may help. |
|
|
|
|
u-boot-users mailing list. Bigger patches will be moderated. If |
|
|
|
|
they are reasonable and not bigger than 100 kB, they will be |
|
|
|
|
acknowledged. Even bigger patches should be avoided. |
|
|
|
|