]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - README
Add zero-copy ramdisk support (requires corresponding kernel support!)
[karo-tx-uboot.git] / README
diff --git a/README b/README
index 6a011cb38c87dca00c02ea72bdcdc38d384fa34f..ecc087ad914b20afd6ad63008a780ffe23629ca0 100644 (file)
--- a/README
+++ b/README
@@ -140,15 +140,19 @@ Directory Hierarchy:
 - tools                Tools to build S-Record or U-Boot images, etc.
 
 - cpu/74xx_7xx Files specific to Motorola MPC74xx and 7xx CPUs
+- cpu/mpc5xx   Files specific to Motorola MPC5xx  CPUs
 - cpu/mpc8xx   Files specific to Motorola MPC8xx  CPUs
 - cpu/mpc824x  Files specific to Motorola MPC824x CPUs
 - cpu/mpc8260  Files specific to Motorola MPC8260 CPU
 - cpu/ppc4xx   Files specific to IBM      4xx     CPUs
 
+- board/LEOX/   Files specific to boards manufactured by The LEOX team
+- board/LEOX/elpt860   Files specific to ELPT860 boards
 - board/RPXClassic
                Files specific to RPXClassic boards
 - board/RPXlite        Files specific to RPXlite    boards
 - board/c2mon  Files specific to c2mon      boards
+- board/cmi    Files specific to cmi        boards
 - board/cogent Files specific to Cogent     boards
                (need further configuration)
                Files specific to CPCIISER4  boards
@@ -176,7 +180,7 @@ Directory Hierarchy:
                Files specific to EVB64260   boards
 - board/fads   Files specific to FADS       boards
 - board/flagadm Files specific to FLAGADM    boards
-- board/gen860t Files specific to GEN860T    boards
+- board/gen860t Files specific to GEN860T and GEN860T_SC    boards
 - board/genietv Files specific to GENIETV    boards
 - board/gth    Files specific to GTH        boards
 - board/hermes Files specific to HERMES     boards
@@ -290,6 +294,7 @@ The following options need to be configured:
                PowerPC based CPUs:
                -------------------
                CONFIG_MPC823,  CONFIG_MPC850,  CONFIG_MPC855,  CONFIG_MPC860
+       or      CONFIG_MPC5xx
        or      CONFIG_MPC824X, CONFIG_MPC8260
        or      CONFIG_IOP480
        or      CONFIG_405GP
@@ -338,7 +343,8 @@ The following options need to be configured:
                CONFIG_GTH,        CONFIG_RPXClassic, CONFIG_rsdproto,
                CONFIG_IAD210,     CONFIG_RPXlite,    CONFIG_sbc8260,
                CONFIG_EBONY,      CONFIG_sacsng,     CONFIG_FPS860L,
-               CONFIG_V37
+               CONFIG_V37,        CONFIG_ELPT860,    CONFIG_CMI,
+               CONFIG_NETVIA
 
                ARM based boards:
                -----------------
@@ -464,6 +470,13 @@ The following options need to be configured:
                Set to 0 to disable this feature (this is the default).
                This will also disable hardware handshake.
 
+- Console UART Number:
+               CONFIG_UART1_CONSOLE
+
+               IBM 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.
@@ -615,6 +628,13 @@ The following options need to be configured:
                SIU Watchdog feature is enabled in the SYPCR
                register.
 
+- 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.
+               This variable is readonly.
+
 - Real-Time Clock:
 
                When CFG_CMD_DATE is selected, the type of the RTC
@@ -624,7 +644,10 @@ The following options need to be configured:
                CONFIG_RTC_MPC8xx       - use internal RTC of MPC8xx
                CONFIG_RTC_PCF8563      - use Philips PCF8563 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_DS164x       - use Dallas DS164x RTC
 
 - Timestamp Support:
 
@@ -681,6 +704,18 @@ The following options need to be configured:
                CONFIG_NS8382X
                Support for National dp8382[01] gigabit chips.
 
+- NETWORK Support (other):
+
+               CONFIG_DRIVER_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
+
 - USB Support:
                At the moment only the UHCI host controller is
                supported (PIP405, MIP405); define
@@ -726,7 +761,7 @@ The following options need to be configured:
        16,7 Mill (24bit)     315       318       31b
                (i.e. setenv videomode 317; saveenv; reset;)
 
-               CONFIG_VIDEO_SED13806 
+               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
@@ -775,6 +810,18 @@ The following options need to be configured:
                Normally display is black on white background; define
                CFG_WHITE_ON_BLACK to get it inverted.
 
+- Spash 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 supressed 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.
+
+
 - Ethernet address:
                CONFIG_ETHADDR
                CONFIG_ETH2ADDR
@@ -897,6 +944,17 @@ The following options need to be configured:
                controls the rate of data transfer.  The data rate thus
                is 1 / (I2C_DELAY * 4).
 
+               CFG_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.
+
 - SPI Support: CONFIG_SPI
 
                Enables SPI driver (so far only tested with
@@ -1043,7 +1101,7 @@ The following options need to be configured:
 
                If CONFIG_ENV_OVERWRITE is #defined in your config
                file, the write protection for vendor parameters is
-               completely disabled. Anybody can change or delte
+               completely disabled. Anybody can change or delete
                these parameters.
 
                Alternatively, if you #define _both_ CONFIG_ETHADDR
@@ -1230,7 +1288,7 @@ The following options need to be configured:
 Modem Support:
 --------------
 
-[so far only for SMDK2400 board]
+[so far only for SMDK2400 and TRAB boards]
 
 - Modem support endable:
                CONFIG_MODEM_SUPPORT
@@ -1437,7 +1495,7 @@ following configurations:
 
           These settings describe a second storage area used to hold
           a redundand copy of the environment data, so that there is
-          a valid backup copy in case there is a power failur during
+          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
@@ -1517,23 +1575,20 @@ 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()
 until then to read environment variables.
 
-The environment is now protected by a CRC32 checksum. Before the
-monitor is relocated into RAM, as a result of a bad CRC you will be
-working with the compiled-in default environment - *silently*!!!
-[This is necessary, because the first environment variable we need is
-the "baudrate" setting for the console - if we have a bad CRC, we
-don't have any device yet where we could complain.]
+The environment is protected by a CRC32 checksum. Before the monitor
+is relocated into RAM, as a result of a bad CRC you will be working
+with the compiled-in default environment - *silently*!!! [This is
+necessary, because the first environment variable we need is the
+"baudrate" setting for the console - if we have a bad CRC, we don't
+have any device yet where we could complain.]
 
 Note: once the monitor has been relocated, then it will complain if
 the default environment is used; a new CRC is computed as soon as you
-use the "setenv" command to modify / delete / add any environment
-variable [even when you try to delete a non-existing variable!].
-
-Note2: you must edit your u-boot.lds file to reflect this
-configuration.
+use the "saveenv" command to store a valid environment.
 
 
 Low Level (hardware related) configuration options:
+---------------------------------------------------
 
 - CFG_CACHELINE_SIZE:
                Cache Line Size of the CPU.
@@ -1589,16 +1644,16 @@ Low Level (hardware related) configuration options:
                - MPC824X: data cache
                - PPC4xx:  data cache
 
-- CFG_INIT_DATA_OFFSET:
+- CFG_GBL_DATA_OFFSET:
 
                Offset of the initial data structure in the memory
                area defined by CFG_INIT_RAM_ADDR. Usually
-               CFG_INIT_DATA_OFFSET is chosen such that the initial
+               CFG_GBL_DATA_OFFSET is chosen such that the initial
                data is located at the end of the available space
                (sometimes written as (CFG_INIT_RAM_END -
                CFG_INIT_DATA_SIZE), and the initial stack is just
                below that area (growing from (CFG_INIT_RAM_ADDR +
-               CFG_INIT_DATA_OFFSET) downward.
+               CFG_GBL_DATA_OFFSET) downward.
 
        Note:
                On the MPC824X (or other systems that use the data
@@ -1662,6 +1717,16 @@ Low Level (hardware related) configuration options:
                #define'd default value in commproc.h resp.
                cpm_8260.h.
 
+- CFG_PCI_SLV_MEM_LOCAL, CFG_PCI_SLV_MEM_BUS, CFG_PICMR0_MASK_ATTRIB,
+  CFG_PCI_MSTR0_LOCAL, CFG_PCIMSK0_MASK, CFG_PCI_MSTR1_LOCAL,
+  CFG_PCIMSK1_MASK, CFG_PCI_MSTR_MEM_LOCAL, CFG_PCI_MSTR_MEM_BUS,
+  CFG_CPU_PCI_MEM_START, CFG_PCI_MSTR_MEM_SIZE, CFG_POCMR0_MASK_ATTRIB,
+  CFG_PCI_MSTR_MEMIO_LOCAL, CFG_PCI_MSTR_MEMIO_BUS, CPU_PCI_MEMIO_START,
+  CFG_PCI_MSTR_MEMIO_SIZE, CFG_POCMR1_MASK_ATTRIB, CFG_PCI_MSTR_IO_LOCAL,
+  CFG_PCI_MSTR_IO_BUS, CFG_CPU_PCI_IO_START, CFG_PCI_MSTR_IO_SIZE,
+  CFG_POCMR2_MASK_ATTRIB: (MPC826x only)
+               Overrides the default PCI memory map in cpu/mpc8260/pci.c if set.
+
 Building the Software:
 ======================
 
@@ -1704,6 +1769,7 @@ configurations; the following names are supported:
     FPS850L_config       Sandpoint8240_config  sbc8260_config
     GENIETV_config       TQM823L_config        PIP405_config
     GEN860T_config       EBONY_config          FPS860L_config
+    ELPT860_config       cmi_mpc5xx_config     NETVIA_config
 
 Note: for some board special configuration names may exist; check  if
       additional  information is available from the board vendor; for
@@ -1754,14 +1820,21 @@ to port U-Boot to your hardware platform. To do this, follow these
 steps:
 
 1.  Add a new configuration option for your board to the toplevel
-    "Makefile", using the existing entries as examples.
+    "Makefile" and to the "MAKEALL" script, using the existing
+    entries as examples. Note that here and at many other places
+    boards and other names are listed alphabetically sorted. Please
+    keep this order.
 2.  Create a new directory to hold your board specific code. Add any
-    files you need.
+    files you need. In your board directory, you will need at least
+    the "Makefile", a "<board>.c", "flash.c" and "u-boot.lds".
+3.  Create a new configuration file "include/configs/<board>.h" for
+    your board
 3.  If you're porting U-Boot to a new CPU, then also create a new
     directory to hold your CPU specific code. Add any files you need.
-4.  Run "make config_name" with your new name.
+4.  Run "make <board>_config" with your new name.
 5.  Type "make", and you should get a working "u-boot.srec" file
     to be installed on your target system.
+6.  Debug and solve any problems that might arise.
     [Of course, this last step is much harder than it sounds.]
 
 
@@ -1888,6 +1961,12 @@ Some configuration options can be set using Environment Variables:
                  be automatically started (by internally calling
                  "bootm")
 
+                 If set to "no", a standalone image passed to the
+                 "bootm" command will be copied to the load address
+                 (and eventually uncompressed), but NOT be started.
+                 This can be used to load and uncompress arbitrary
+                 data.
+
   initrd_high  - restrict positioning of initrd images:
                  If this variable is not set, initrd images will be
                  copied to the highest possible address in RAM; this
@@ -1909,10 +1988,18 @@ Some configuration options can be set using Environment Variables:
 
                  setenv initrd_high 00c00000
 
+                  If you set initrd_high to 0xFFFFFFFF, this is an
+                  indication to U-Boot that all addresses are legal
+                  for the Linux kernel, including addresses in flash
+                  memory. In this case U-Boot will NOT COPY the
+                  ramdisk at all. This may be useful to reduce the
+                  boot time on your system, but requires that this
+                  feature is supported by your Linux kernel.
+
   ipaddr       - IP address; needed for tftpboot command
 
   loadaddr     - Default load address for commands like "bootp",
-                 "rarpboot", "tftpboot" or "diskboot"
+                 "rarpboot", "tftpboot", "loadb" or "diskboot"
 
   loads_echo   - see CONFIG_LOADS_ECHO
 
@@ -1950,6 +2037,13 @@ the board). U-Boot refuses to delete or overwrite these variables
 once they have been set once.
 
 
+Further special Environment Variables:
+
+  ver          - Contains the U-Boot version string as printed
+                 with the "version" command. This variable is
+                 readonly (see CONFIG_VERSION_VARIABLE).
+
+
 Please note that changes to some configuration parameters may take
 only effect after the next boot (yes, that's just like Windoze :-).
 
@@ -1999,8 +2093,8 @@ defines the following image properties:
 
 * Target Operating System (Provisions for OpenBSD, NetBSD, FreeBSD,
   4.4BSD, Linux, SVR4, Esix, Solaris, Irix, SCO, Dell, NCR, VxWorks,
-  LynxOS, pSOS, QNX;
-  Currently supported: Linux, NetBSD, VxWorks, QNX).
+  LynxOS, pSOS, QNX, RTEMS, ARTOS;
+  Currently supported: Linux, NetBSD, VxWorks, QNX, RTEMS, ARTOS).
 * Target CPU Architecture (Provisions for Alpha, ARM, Intel x86,
   IA64, MIPS, MIPS, PowerPC, IBM S390, SuperH, Sparc, Sparc 64 Bit;
   Currently supported: PowerPC).
@@ -2358,18 +2452,18 @@ U-Boot supports the following image types:
        to boot over the network using BOOTP etc., where the boot
        server provides just a single image file, but you want to get
        for instance an OS kernel and a RAMDisk image.
-  
+
        "Multi-File Images" start with a list of image sizes, each
        image size (in bytes) specified by an "uint32_t" in network
        byte order. This list is terminated by an "(uint32_t)0".
        Immediately after the terminating 0 follow the images, one by
        one, all aligned on "uint32_t" boundaries (size rounded up to
        a multiple of 4 bytes).
-  
+
    "Firmware Images" are binary images containing firmware (like
        U-Boot or FPGA images) which usually will be programmed to
        flash memory.
-  
+
    "Script files" are command sequences that will be executed by
        U-Boot's command interpreter; this feature is especially
        useful when you configure U-Boot to use a real shell (hush)
@@ -2464,6 +2558,17 @@ Hit 'q':
        [q, b, e, ?] ## Application terminated, rc = 0x0
 
 
+
+Minicom warning:
+================
+
+Over time, many people have reported problems when trying to used the
+"minicom" terminal emulation program  for  serial  download.  I  (wd)
+consider  minicom  to  be  broken, and recommend not to use it. Under
+Unix, I recommend  to  use  CKermit  for  general  purpose  use  (and
+especially for kermit binary protocol download ("loadb" command), and
+use "cu" for S-Record download ("loads" command).
+
 NetBSD Notes:
 =============