]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - README
at91_emac.c: fix 'Warning: eth device name has a space!'
[karo-tx-uboot.git] / README
diff --git a/README b/README
index 1158e24de776b4f1ad01c987c6200855a1d77424..171e0d6f969e4cc9a7a0cc10dd568bb27ee44ee1 100644 (file)
--- a/README
+++ b/README
@@ -126,80 +126,104 @@ the string "u_boot" or on "U_BOOT". Example:
 Versioning:
 ===========
 
 Versioning:
 ===========
 
-U-Boot uses a 3 level version number containing a version, a
-sub-version, and a patchlevel: "U-Boot-2.34.5" means version "2",
-sub-version "34", and patchlevel "4".
+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.
 
 
-The patchlevel is used to indicate certain stages of development
-between released versions, i. e. officially released versions of
-U-Boot will always have a patchlevel of "0".
+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:
 ====================
 
 
 
 Directory Hierarchy:
 ====================
 
-- api          Machine/arch independent API for external apps
-- board                Board dependent files
-- common       Misc architecture independent functions
-- cpu          CPU specific files
-  - 74xx_7xx   Files specific to Freescale MPC74xx and 7xx CPUs
-  - arm720t    Files specific to ARM 720 CPUs
-  - arm920t    Files specific to ARM 920 CPUs
-    - at91rm9200 Files specific to Atmel AT91RM9200 CPU
-    - imx      Files specific to Freescale MC9328 i.MX CPUs
-    - s3c24x0  Files specific to Samsung S3C24X0 CPUs
-  - 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
-  - blackfin   Files specific to Analog Devices Blackfin CPUs
-  - i386       Files specific to i386 CPUs
-  - ixp                Files specific to Intel XScale IXP CPUs
-  - leon2      Files specific to Gaisler LEON2 SPARC CPU
-  - leon3      Files specific to Gaisler LEON3 SPARC CPU
-  - 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
-  - mips       Files specific to MIPS CPUs
-  - mpc5xx     Files specific to Freescale MPC5xx  CPUs
-  - mpc5xxx    Files specific to Freescale MPC5xxx CPUs
-  - mpc8xx     Files specific to Freescale MPC8xx  CPUs
-  - mpc8220    Files specific to Freescale MPC8220 CPUs
-  - mpc824x    Files specific to Freescale MPC824x CPUs
-  - mpc8260    Files specific to Freescale MPC8260 CPUs
-  - mpc85xx    Files specific to Freescale MPC85xx CPUs
-  - nios       Files specific to Altera NIOS CPUs
-  - nios2      Files specific to Altera Nios-II CPUs
-  - ppc4xx     Files specific to AMCC PowerPC 4xx CPUs
-  - pxa                Files specific to Intel XScale PXA CPUs
-  - s3c44b0    Files specific to Samsung S3C44B0 CPUs
-  - sa1100     Files specific to Intel StrongARM SA1100 CPUs
-- disk         Code for disk drive partition handling
-- doc          Documentation (don't expect too much)
-- drivers      Commonly used device drivers
-- examples     Example code for standalone applications, etc.
-- fs           Filesystem code (cramfs, ext2, jffs2, etc.)
-- include      Header Files
-- lib_arm      Files generic to ARM     architecture
-- lib_avr32    Files generic to AVR32   architecture
-- lib_blackfin Files generic to Blackfin architecture
-- lib_generic  Files generic to all     architectures
-- lib_i386     Files generic to i386    architecture
-- lib_m68k     Files generic to m68k    architecture
-- lib_microblaze Files generic to microblaze architecture
-- lib_mips     Files generic to MIPS    architecture
-- lib_nios     Files generic to NIOS    architecture
-- lib_nios2    Files generic to NIOS2   architecture
-- lib_ppc      Files generic to PowerPC architecture
-- lib_sh       Files generic to SH      architecture
-- lib_sparc    Files generic to SPARC   architecture
-- libfdt       Library files to support flattened device trees
-- net          Networking code
-- post         Power On Self Test
-- rtc          Real Time Clock drivers
-- tools                Tools to build S-Record or U-Boot images, etc.
+/arch                  Architecture specific 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
+       /at91rm9200     Files specific to Atmel AT91RM9200 CPU
+       /imx            Files specific to Freescale MC9328 i.MX CPUs
+       /s3c24x0        Files specific to Samsung S3C24X0 CPUs
+      /arm925t         Files specific to ARM 925 CPUs
+      /arm926ejs       Files specific to ARM 926 CPUs
+      /arm1136         Files specific to ARM 1136 CPUs
+      /ixp             Files specific to Intel XScale IXP CPUs
+      /pxa             Files specific to Intel XScale PXA CPUs
+      /s3c44b0         Files specific to Samsung S3C44B0 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
+  /i386                        Files generic to i386 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
+    /lib               Architecture specific library files
+  /nios2               Files generic to Altera NIOS2 architecture
+    /cpu               CPU specific files
+    /lib               Architecture specific library files
+  /powerpc             Files generic to PowerPC architecture
+    /cpu               CPU specific files
+      /74xx_7xx                Files specific to Freescale MPC74xx and 7xx CPUs
+      /mpc5xx          Files specific to Freescale MPC5xx CPUs
+      /mpc5xxx         Files specific to Freescale MPC5xxx CPUs
+      /mpc8xx          Files specific to Freescale MPC8xx CPUs
+      /mpc8220         Files specific to Freescale MPC8220 CPUs
+      /mpc824x         Files specific to Freescale MPC824x 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
+/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
+/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
+/rtc                   Real Time Clock drivers
+/tools                 Tools to build S-Record or U-Boot images, etc.
 
 Software Configuration:
 =======================
 
 Software Configuration:
 =======================
@@ -512,25 +536,6 @@ The following options need to be configured:
                must be defined, to setup the maximum idle timeout for
                the SMC.
 
                must be defined, to setup the maximum idle timeout for
                the SMC.
 
-- Interrupt driven serial port input:
-               CONFIG_SERIAL_SOFTWARE_FIFO
-
-               PPC405GP only.
-               Use an interrupt handler for receiving data on the
-               serial port. It also enables using hardware handshake
-               (RTS/CTS) and UART's built-in FIFO. Set the number of
-               bytes the interrupt driven input buffer should have.
-
-               Leave undefined to disable this feature, including
-               disable the buffer and hardware handshake.
-
-- Console UART Number:
-               CONFIG_UART1_CONSOLE
-
-               AMCC PPC4xx only.
-               If defined internal UART1 (and not UART0) is used
-               as default U-Boot console.
-
 - Boot Delay:  CONFIG_BOOTDELAY - in seconds
                Delay before automatically booting the default image;
                set to -1 to disable autoboot.
 - Boot Delay:  CONFIG_BOOTDELAY - in seconds
                Delay before automatically booting the default image;
                set to -1 to disable autoboot.
@@ -1133,6 +1138,12 @@ The following options need to be configured:
                images, gzipped BMP images can be displayed via the
                splashscreen support or the bmp command.
 
                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.
+
 - Compression support:
                CONFIG_BZIP2
 
 - Compression support:
                CONFIG_BZIP2
 
@@ -1387,10 +1398,11 @@ The following options need to be configured:
                to run and CONFIG_SYS_I2C_SLAVE to be the address of this node (ie
                the CPU's i2c node address).
 
                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 (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.
+               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
 
 
                CONFIG_SYS_I2C_INIT_MPC5XXX
 
@@ -1468,6 +1480,16 @@ The following options need to be configured:
 
                #define I2C_DELAY  udelay(2)
 
 
                #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
                CONFIG_SYS_I2C_INIT_BOARD
 
                When a board is reset during an i2c bus transfer
@@ -1479,6 +1501,17 @@ The following options need to be configured:
                custom i2c_init_board() routine in boards/xxx/board.c
                is run early in the boot sequence.
 
                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
                CONFIG_I2CFAST (PPC405GP|PPC405EP only)
 
                This option enables configuration of bi_iic_fast[] flags
@@ -1934,9 +1967,9 @@ Legacy uImage format:
    13  common/image.c          Start multifile image verification
    14  common/image.c          No initial ramdisk, no multifile, continue.
 
    13  common/image.c          Start multifile image verification
    14  common/image.c          No initial ramdisk, no multifile, continue.
 
-   15  lib_<arch>/bootm.c      All preparation done, transferring control to OS
+   15  arch/<arch>/lib/bootm.c All preparation done, transferring control to OS
 
 
-  -30  lib_ppc/board.c         Fatal error, hang the system
+  -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()
 
   -31  post/post.c             POST test failed, detected by post_output_backlog()
   -32  post/post.c             POST test failed, detected by post_run_single()
 
@@ -2316,6 +2349,14 @@ Configuration Settings:
                on high Ethernet traffic.
                Defaults to 4 if not defined.
 
                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.
+
 The following definitions that deal with the placement and management
 of environment data (variable area); in general, we support the
 following configurations:
 The following definitions that deal with the placement and management
 of environment data (variable area); in general, we support the
 following configurations:
@@ -2466,7 +2507,7 @@ to save the current settings.
          I2C muxes, you can define here, how to reach this
          EEPROM. For example:
 
          I2C muxes, you can define here, how to reach this
          EEPROM. For example:
 
-         #define CONFIG_I2C_ENV_EEPROM_BUS       "pca9547:70:d\0"
+         #define CONFIG_I2C_ENV_EEPROM_BUS       "pca9547:70:d\0"
 
          EEPROM which holds the environment, is reached over
          a pca9547 i2c mux with address 0x70, channel 3.
 
          EEPROM which holds the environment, is reached over
          a pca9547 i2c mux with address 0x70, channel 3.
@@ -2524,7 +2565,7 @@ to save the current settings.
 
 Please note that the environment is read-only until the monitor
 has been relocated to RAM and a RAM copy of the environment has been
 
 Please note that the environment is read-only until the monitor
 has been relocated to RAM and a RAM copy of the environment has been
-created; also, when using EEPROM you will have to use getenv_r()
+created; also, when using EEPROM you will have to use getenv_f()
 until then to read environment variables.
 
 The environment is protected by a CRC32 checksum. Before the monitor
 until then to read environment variables.
 
 The environment is protected by a CRC32 checksum. Before the monitor
@@ -2697,7 +2738,7 @@ Low Level (hardware related) configuration options:
   CONFIG_SYS_PCI_MSTR_MEMIO_SIZE, CONFIG_SYS_POCMR1_MASK_ATTRIB, CONFIG_SYS_PCI_MSTR_IO_LOCAL,
   CONFIG_SYS_PCI_MSTR_IO_BUS, CONFIG_SYS_CPU_PCI_IO_START, CONFIG_SYS_PCI_MSTR_IO_SIZE,
   CONFIG_SYS_POCMR2_MASK_ATTRIB: (MPC826x only)
   CONFIG_SYS_PCI_MSTR_MEMIO_SIZE, CONFIG_SYS_POCMR1_MASK_ATTRIB, CONFIG_SYS_PCI_MSTR_IO_LOCAL,
   CONFIG_SYS_PCI_MSTR_IO_BUS, CONFIG_SYS_CPU_PCI_IO_START, CONFIG_SYS_PCI_MSTR_IO_SIZE,
   CONFIG_SYS_POCMR2_MASK_ATTRIB: (MPC826x only)
-               Overrides the default PCI memory map in cpu/mpc8260/pci.c if set.
+               Overrides the default PCI memory map in arch/powerpc/cpu/mpc8260/pci.c if set.
 
 - CONFIG_PCI_DISABLE_PCIE:
                Disable PCI-Express on systems where it is supported but not
 
 - CONFIG_PCI_DISABLE_PCIE:
                Disable PCI-Express on systems where it is supported but not
@@ -3005,7 +3046,9 @@ environment. As long as you don't save the environment you are
 working with an in-memory copy. In case the Flash area containing the
 environment is erased by accident, a default environment is provided.
 
 working with an in-memory copy. In case the Flash area containing the
 environment is erased by accident, a default environment is provided.
 
-Some configuration options can be set using Environment Variables:
+Some configuration options can be set using Environment Variables.
+
+List of environment variables (most likely not complete):
 
   baudrate     - see CONFIG_BAUDRATE
 
 
   baudrate     - see CONFIG_BAUDRATE
 
@@ -3108,16 +3151,16 @@ Some configuration options can be set using Environment Variables:
                  interface is currently active. For example you
                  can do the following
 
                  interface is currently active. For example you
                  can do the following
 
-                 => setenv ethact FEC ETHERNET
-                 => ping 192.168.0.1 # traffic sent on FEC ETHERNET
-                 => setenv ethact SCC ETHERNET
-                 => ping 10.0.0.1 # traffic sent on SCC ETHERNET
+                 => setenv ethact FEC
+                 => ping 192.168.0.1 # traffic sent on FEC
+                 => setenv ethact SCC
+                 => ping 10.0.0.1 # traffic sent on SCC
 
   ethrotate    - When set to "no" U-Boot does not go through all
                  available network interfaces.
                  It just stays at the currently selected interface.
 
 
   ethrotate    - When set to "no" U-Boot does not go through all
                  available network interfaces.
                  It just stays at the currently selected interface.
 
-   netretry    - When set to "no" each network operation will
+  netretry     - When set to "no" each network operation will
                  either succeed or fail without retrying.
                  When set to "once" the network operation will
                  fail when all the available network interfaces
                  either succeed or fail without retrying.
                  When set to "once" the network operation will
                  fail when all the available network interfaces
@@ -3133,7 +3176,18 @@ Some configuration options can be set using Environment Variables:
   tftpdstport  - If this is set, the value is used for TFTP's UDP
                  destination port instead of the Well Know Port 69.
 
   tftpdstport  - If this is set, the value is used for TFTP's UDP
                  destination port instead of the Well Know Port 69.
 
-   vlan                - When set to a value < 4095 the traffic over
+  tftpblocksize - Block size to use for TFTP transfers; if not set,
+                 we use the TFTP server's default block size
+
+  tftptimeout  - Retransmission timeout for TFTP packets (in milli-
+                 seconds, minimum value is 1000 = 1 second). Defines
+                 when a packet is considered to be lost so it has to
+                 be retransmitted. The default is 5000 = 5 seconds.
+                 Lowering this value may make downloads succeed
+                 faster in networks with high packet loss rates or
+                 with unreliable TFTP servers.
+
+  vlan         - When set to a value < 4095 the traffic over
                  Ethernet is encapsulated/received over 802.1q
                  VLAN tagged frames.
 
                  Ethernet is encapsulated/received over 802.1q
                  VLAN tagged frames.
 
@@ -3249,6 +3303,11 @@ o If both the SROM and the environment contain a MAC address, and the
 o If neither SROM nor the environment contain a MAC address, an error
   is raised.
 
 o If neither SROM nor the environment contain a MAC address, an error
   is raised.
 
+If Ethernet drivers implement the 'write_hwaddr' function, valid MAC addresses
+will be programmed into hardware as part of the initialization process.  This
+may be skipped by setting the appropriate 'ethmacskip' environment variable.
+The naming convention is as follows:
+"ethmacskip" (=>eth0), "eth1macskip" (=>eth1) etc.
 
 Image Formats:
 ==============
 
 Image Formats:
 ==============
@@ -3278,8 +3337,8 @@ details; basically, the header defines the following image properties:
   Currently supported: Linux, NetBSD, VxWorks, QNX, RTEMS, LynxOS,
   INTEGRITY).
 * Target CPU Architecture (Provisions for Alpha, ARM, AVR32, Intel x86,
   Currently supported: Linux, NetBSD, VxWorks, QNX, RTEMS, LynxOS,
   INTEGRITY).
 * Target CPU Architecture (Provisions for Alpha, ARM, AVR32, Intel x86,
-  IA64, MIPS, NIOS, PowerPC, IBM S390, SuperH, Sparc, Sparc 64 Bit;
-  Currently supported: ARM, AVR32, Intel x86, MIPS, NIOS, PowerPC).
+  IA64, MIPS, Nios II, PowerPC, IBM S390, SuperH, Sparc, Sparc 64 Bit;
+  Currently supported: ARM, AVR32, Intel x86, MIPS, Nios II, PowerPC).
 * Compression Type (uncompressed, gzip, bzip2)
 * Load Address
 * Entry Point
 * Compression Type (uncompressed, gzip, bzip2)
 * Load Address
 * Entry Point
@@ -3330,7 +3389,7 @@ configure the Linux device drivers for use with your target hardware
 (no, we don't intend to provide a full virtual machine interface to
 Linux :-).
 
 (no, we don't intend to provide a full virtual machine interface to
 Linux :-).
 
-But now you can ignore ALL boot loader code (in arch/ppc/mbxboot).
+But now you can ignore ALL boot loader code (in arch/powerpc/mbxboot).
 
 Just make sure your machine specific header file (for instance
 include/asm-ppc/tqm8xx.h) includes the same definition of the Board
 
 Just make sure your machine specific header file (for instance
 include/asm-ppc/tqm8xx.h) includes the same definition of the Board
@@ -3428,7 +3487,7 @@ So a typical call to build a U-Boot image would read:
 
        -> tools/mkimage -n '2.4.4 kernel for TQM850L' \
        > -A ppc -O linux -T kernel -C gzip -a 0 -e 0 \
 
        -> tools/mkimage -n '2.4.4 kernel for TQM850L' \
        > -A ppc -O linux -T kernel -C gzip -a 0 -e 0 \
-       > -d /opt/elsk/ppc_8xx/usr/src/linux-2.4.4/arch/ppc/coffboot/vmlinux.gz \
+       > -d /opt/elsk/ppc_8xx/usr/src/linux-2.4.4/arch/powerpc/coffboot/vmlinux.gz \
        > examples/uImage.TQM850L
        Image Name:   2.4.4 kernel for TQM850L
        Created:      Wed Jul 19 02:34:59 2000
        > examples/uImage.TQM850L
        Image Name:   2.4.4 kernel for TQM850L
        Created:      Wed Jul 19 02:34:59 2000
@@ -3452,10 +3511,10 @@ speed for memory and install an UNCOMPRESSED image instead: this
 needs more space in Flash, but boots much faster since it does not
 need to be uncompressed:
 
 needs more space in Flash, but boots much faster since it does not
 need to be uncompressed:
 
-       -> gunzip /opt/elsk/ppc_8xx/usr/src/linux-2.4.4/arch/ppc/coffboot/vmlinux.gz
+       -> gunzip /opt/elsk/ppc_8xx/usr/src/linux-2.4.4/arch/powerpc/coffboot/vmlinux.gz
        -> tools/mkimage -n '2.4.4 kernel for TQM850L' \
        > -A ppc -O linux -T kernel -C none -a 0 -e 0 \
        -> tools/mkimage -n '2.4.4 kernel for TQM850L' \
        > -A ppc -O linux -T kernel -C none -a 0 -e 0 \
-       > -d /opt/elsk/ppc_8xx/usr/src/linux-2.4.4/arch/ppc/coffboot/vmlinux \
+       > -d /opt/elsk/ppc_8xx/usr/src/linux-2.4.4/arch/powerpc/coffboot/vmlinux \
        > examples/uImage.TQM850L-uncompressed
        Image Name:   2.4.4 kernel for TQM850L
        Created:      Wed Jul 19 02:34:59 2000
        > examples/uImage.TQM850L-uncompressed
        Image Name:   2.4.4 kernel for TQM850L
        Created:      Wed Jul 19 02:34:59 2000
@@ -3964,6 +4023,14 @@ On ARM, the following registers are used:
 
     ==> U-Boot will use R8 to hold a pointer to the global data
 
 
     ==> U-Boot will use R8 to hold a pointer to the global data
 
+On Nios II, the ABI is documented here:
+       http://www.altera.com/literature/hb/nios2/n2cpu_nii51016.pdf
+
+    ==> U-Boot will use gp to hold a pointer to the global data
+
+    Note: on Nios II, we give "-G0" option to gcc and don't use gp
+    to access small data sections, so gp is free.
+
 NOTE: DECLARE_GLOBAL_DATA_PTR must be used with file-global scope,
 or current versions of GCC may "optimize" the code too much.
 
 NOTE: DECLARE_GLOBAL_DATA_PTR must be used with file-global scope,
 or current versions of GCC may "optimize" the code too much.