]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - README
Add support for multiple I2C buses
[people/ms/u-boot.git] / README
diff --git a/README b/README
index 0fda03f3c27c758080516ec1924906e3a2dbf472..6b94f8482c5c55816a9d878c006d1d64f641aa0b 100644 (file)
--- a/README
+++ b/README
@@ -132,6 +132,7 @@ Directory Hierarchy:
   - arm925t    Files specific to ARM 925 CPUs
   - arm926ejs  Files specific to ARM 926 CPUs
   - arm1136    Files specific to ARM 1136 CPUs
+  - at32ap     Files specific to Atmel AVR32 AP CPUs
   - i386       Files specific to i386 CPUs
   - ixp                Files specific to Intel XScale IXP CPUs
   - mcf52x2    Files specific to Freescale ColdFire MCF52x2 CPUs
@@ -156,6 +157,7 @@ Directory Hierarchy:
 - examples     Example code for standalone applications, etc.
 - include      Header Files
 - lib_arm      Files generic to ARM     architecture
+- lib_avr32    Files generic to AVR32   architecture
 - lib_generic  Files generic to all     architectures
 - lib_i386     Files generic to i386    architecture
 - lib_m68k     Files generic to m68k    architecture
@@ -256,6 +258,9 @@ The following options need to be configured:
                ----------------------
                CONFIG_NIOS2
 
+               AVR32 based CPUs:
+               ----------------------
+               CONFIG_AT32AP
 
 - Board Type:  Define exactly one of
 
@@ -306,7 +311,7 @@ The following options need to be configured:
 
                CONFIG_ARMADILLO,       CONFIG_AT91RM9200DK,    CONFIG_CERF250,
                CONFIG_CSB637,          CONFIG_DELTA,           CONFIG_DNP1110,
-               CONFIG_EP7312,          CONFIG_H2_OMAP1610,     CONFIG_HHP_CRADLE,
+               CONFIG_EP7312,          CONFIG_H2_OMAP1610,     CONFIG_HHP_CRADLE,
                CONFIG_IMPA7,       CONFIG_INNOVATOROMAP1510,   CONFIG_INNOVATOROMAP1610,
                CONFIG_KB9202,          CONFIG_LART,            CONFIG_LPD7A400,
                CONFIG_LUBBOCK,         CONFIG_OSK_OMAP5912,    CONFIG_OMAP2420H4,
@@ -325,6 +330,15 @@ The following options need to be configured:
                CONFIG_PCI5441 CONFIG_PK1C20
                CONFIG_EP1C20 CONFIG_EP1S10 CONFIG_EP1S40
 
+               AVR32 based boards:
+               -------------------
+
+               CONFIG_ATSTK1000
+
+- CPU Daughterboard Type: (if CONFIG_ATSTK1000 is defined)
+               Define exactly one of
+               CONFIG_ATSTK1002
+
 
 - CPU Module Type: (if CONFIG_COGENT is defined)
                Define exactly one of
@@ -1193,7 +1207,12 @@ The following options need to be configured:
                clock chips. See common/cmd_i2c.c for a description of the
                command line interface.
 
-               CONFIG_HARD_I2C selects the CPM hardware driver for I2C.
+               CONFIG_I2C_CMD_TREE is a recommended option that places
+               all I2C commands under a single 'i2c' root command.  The
+               older 'imm', 'imd', 'iprobe' etc. commands are considered
+               deprecated and may disappear in the future.
+
+               CONFIG_HARD_I2C selects a hardware I2C controller.
 
                CONFIG_SOFT_I2C configures u-boot to use a software (aka
                bit-banging) driver instead of CPM or similar hardware
@@ -1298,6 +1317,31 @@ The following options need to be configured:
                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.
+
+               CFG_I2C_NOPROBES
+
+               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
+
+               e.g.
+                       #undef  CONFIG_I2C_MULTI_BUS
+                       #define CFG_I2C_NOPROBES        {0x50,0x68}
+
+               will skip addresses 0x50 and 0x68 on a board with one I2C bus
+
+                       #define CONFIG_I2C_MULTI_BUS
+                       #define CFG_I2C_MULTI_NOPROBES  {{0,0x50},{0,0x68},{1,0x54}}
+
+               will skip addresses 0x50 and 0x68 on bus 0 and address 0x54 on bus 1
+
 - SPI Support: CONFIG_SPI
 
                Enables SPI driver (so far only tested with
@@ -1452,10 +1496,14 @@ The following options need to be configured:
                default value of 5 is used.
 
 - Command Interpreter:
-               CFG_AUTO_COMPLETE
+               CONFIG_AUTO_COMPLETE
 
                Enable auto completion of commands using TAB.
 
+                Note that this feature has NOT been implemented yet
+                for the "hush" shell.
+
+
                CFG_HUSH_PARSER
 
                Define this variable to enable the "hush" shell (from
@@ -1495,6 +1543,12 @@ The following options need to be configured:
                of the backslashes before semicolons and special
                symbols.
 
+- Commandline Editing and History:
+               CONFIG_CMDLINE_EDITING
+
+               Enable editiong and History functions for interactive
+               commandline input operations
+
 - Default Environment:
                CONFIG_EXTRA_ENV_SETTINGS
 
@@ -2185,6 +2239,16 @@ Low Level (hardware related) configuration options:
   CFG_POCMR2_MASK_ATTRIB: (MPC826x only)
                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
+  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.
+
 - CONFIG_ETHER_ON_FEC[12]
                Define to enable FEC[12] on a 8xx series processor.
 
@@ -2322,6 +2386,26 @@ images ready for download to / installation on your system:
 - "u-boot" is an image in ELF binary format
 - "u-boot.srec" is in Motorola S-Record format
 
+By default the build is performed locally and the objects are saved
+in the source directory. One of the two methods can be used to change
+this behavior and build U-Boot to some external directory:
+
+1. Add O= to the make command line invocations:
+
+       make O=/tmp/build distclean
+       make O=/tmp/build NAME_config
+       make O=/tmp/build all
+
+2. Set environment variable BUILD_DIR to point to the desired location:
+
+       export BUILD_DIR=/tmp/build
+       make distclean
+       make NAME_config
+       make all
+
+Note that the command line "O=" setting overrides the BUILD_DIR environment
+variable.
+
 
 Please be aware that the Makefiles assume you are using GNU make, so
 for instance on NetBSD you might need to use "gmake" instead of
@@ -2375,6 +2459,22 @@ 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:
+
+       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.
+
+
 See also "U-Boot Porting Guide" below.
 
 
@@ -2685,9 +2785,9 @@ defines the following image properties:
   4.4BSD, Linux, SVR4, Esix, Solaris, Irix, SCO, Dell, NCR, VxWorks,
   LynxOS, pSOS, QNX, RTEMS, ARTOS;
   Currently supported: Linux, NetBSD, VxWorks, QNX, RTEMS, ARTOS, LynxOS).
-* Target CPU Architecture (Provisions for Alpha, ARM, Intel x86,
+* Target CPU Architecture (Provisions for Alpha, ARM, AVR32, Intel x86,
   IA64, MIPS, NIOS, PowerPC, IBM S390, SuperH, Sparc, Sparc 64 Bit;
-  Currently supported: ARM, Intel x86, MIPS, NIOS, PowerPC).
+  Currently supported: ARM, AVR32, Intel x86, MIPS, NIOS, PowerPC).
 * Compression Type (uncompressed, gzip, bzip2)
 * Load Address
 * Entry Point
@@ -3517,12 +3617,19 @@ Coding Standards:
 -----------------
 
 All contributions to U-Boot should conform to the Linux kernel
-coding style; see the file "Documentation/CodingStyle" in your Linux
-kernel source directory.
-
-Please note that U-Boot is implemented in C (and to some small parts
-in Assembler); no C++ is used, so please do not use C++ style
-comments (//) in your code.
+coding style; see the file "Documentation/CodingStyle" and the script
+"scripts/Lindent" in your Linux kernel source directory.  In sources
+originating from U-Boot a style corresponding to "Lindent -pcs" (adding
+spaces before parameters to function calls) is actually used.
+
+Source files originating from a different project (for example the
+MTD subsystem) are generally exempt from these guidelines and are not
+reformated to ease subsequent migration to newer versions of those
+sources.
+
+Please note that U-Boot is implemented in C (and to some small parts in
+Assembler); no C++ is used, so please do not use C++ style comments (//)
+in your code.
 
 Please also stick to the following formatting rules:
 - remove any trailing white space