* Fix mdelay() on TRAB - this was still the debugging version with
authorwdenk <wdenk>
Sun, 3 Nov 2002 17:56:27 +0000 (17:56 +0000)
committerwdenk <wdenk>
Sun, 3 Nov 2002 17:56:27 +0000 (17:56 +0000)
  seconds instead of ms.

* Patch by Robert Schwebel, 1 Nov 2002:
  XScale related cleanup (affects all ARM boards)

* Cleanup of names, warnings, and README.

CHANGELOG
README
board/csb226/csb226.c
board/csb226/memsetup.S
board/trab/trab.c

index 094060fb96b9ee45fb6dac7e0745032e355549f9..8cf309db18fc5dd05ce11d898929c7c955e4e382 100644 (file)
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,6 +1,17 @@
+======================================================================
+Changes since for U-Boot 0.1.0:
+======================================================================
+
+* Fix mdelay() on TRAB - this was still the debugging version with
+  seconds instead of ms.
+
+* Patch by Robert Schwebel, 1 Nov 2002:
+  XScale related cleanup (affects all ARM boards)
+
+* Cleanup of names and README.
 
 ======================================================================
-Notes for U-Boot 1.0.0:
+Notes for U-Boot 0.1.0:
 ======================================================================
 
 This is the initial version of "Das U-Boot", the Universal Boot Loader.
diff --git a/README b/README
index 30ff772c6d8205e5b9eb0c112ab7efb8a1687968..7e49a0c468cbc6eceaa36b5e5504dce0c7dfdefa 100644 (file)
--- a/README
+++ b/README
 Summary:
 ========
 
-This directory contains the source code for U-Boot, a monitor for
-Embedded PowerPC boards, which can be installed in a boot ROM and
-used to test the hardware or download and run application code.
+This directory contains the source code for U-Boot, a boot loader for
+Embedded boards based on PowerPC and ARM processors, which can be
+installed in a boot ROM and used to initialize and test the hardware
+or to download and run application code.
 
 The development of U-Boot is closely related to Linux: some parts of
-the source code originate in the Linux source tree, we still have
-some header files in common, and special provision has been made to
+the source code originate in the Linux source tree, we have some
+header files in common, and special provision has been made to
 support booting of Linux images.
 
 Some attention has been paid to make this software easily
@@ -45,23 +46,20 @@ Status:
 =======
 
 In general, all boards for which a configuration option exists in the
-Makefile have been tested  to  some  extent  and  can  be  considered
+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
+In case of problems see the CHANGELOG and CREDITS files to find out
 who contributed the specific port.
 
-Exception from this rule: the port to the Sandpoint 8240 has not been
-completed yet.
-
 
 Where to get help:
 ==================
 
-In case you have questions about, problems with or contributions  for
-U-Boot  you  should  send  a  message to the U-Boot mailing list at
-<u-boot-users@lists.sourceforge.net>. There is also  an  archive  of
-previous  traffic  on  the  mailing  list - please search the archive
+In case you have questions about, problems with or contributions for
+U-Boot you should send a message to the U-Boot mailing list at
+<u-boot-users@lists.sourceforge.net>. There is also an archive of
+previous traffic on the mailing list - please search the archive
 before asking FAQ's. Please see
 http://lists.sourceforge.net/lists/listinfo/u-boot-users/
 
@@ -70,6 +68,7 @@ Where we come from:
 ===================
 
 - start from 8xxrom sources
+- create PPCBoot project (http://sourceforge.net/projects/ppcboot)
 - clean up code
 - make it easier to add custom boards
 - make it possible to add other [PowerPC] CPUs
@@ -78,7 +77,31 @@ Where we come from:
   * S-Record download
   * network boot
   * PCMCIA / CompactFLash / 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)
+
+
+Names and Spelling:
+===================
+
+The "official" name of this project is "Das U-Boot". The spelling
+"U-Boot" shall be used in all written text (documentation, comments
+in source files etc.). Example:
+
+       This is the README file for the U-Boot project.
+
+File names etc. shall be based on the string "u-boot". Examples:
+
+       include/asm-ppc/u-boot.h
+
+       #include <asm/u-boot.h>
+
+Variable names, preprocessor constants etc. shall be either based on
+the string "u_boot" or on "U_BOOT". Example:
+
+       U_BOOT_VERSION          u_boot_logo
+       IH_OS_U_BOOT            u_boot_hush_start
 
 
 Directory Hierarchy:
@@ -1675,7 +1698,7 @@ Note: for some board special configuration names may exist; check  if
 
 
 
-Finally, type "make all", and you should  get  some  working  U-Boot
+Finally, type "make all", and you should get some working U-Boot
 images ready for downlod to / installation on your system:
 
 - "u-boot.bin" is a raw binary image
@@ -2013,28 +2036,55 @@ device (initial ramdisk, NFS) for your target system.
 Building a Linux Image:
 -----------------------
 
-No specific requirements for U-Boot. There is no need to add a
-"ramdisk.image.gz" file when building the kernel, even when you
-intend to run it with initial ramdisk.
+With U-Boot, "normal" build targets like "zImage" or "bzImage" are
+not used. If you use recent kernel source, a new build target
+"uImage" will exist which automatically builds an image usable by
+U-Boot. Most older kernels also have support for a "pImage" target,
+which was introduced for our predecessor project PPCBoot and uses a
+100% compatible format.
 
 Example:
 
        make TQM850L_config
        make oldconfig
        make dep
-       make zImage
+       make uImage
+
+The "uImage" build target uses a special tool (in 'tools/mkimage') to
+encapsulate a compressed Linux kernel image with header  information,
+CRC32 checksum etc. for use with U-Boot. This is what we are doing:
 
-However, we don't use the 'zImage' (= 'arch/ppc/mbxboot/zvmlinux') we
-build this way. The 'zImage' includes the old boot loader code which
-we don't ned any more. Instead, we use the raw (compressed) Linux
-kernel image in 'arch/ppc/coffboot/vmlinux.gz'.
+* build a standard "vmlinux" kernel image (in ELF binary format):
 
-There is a special tool (in 'tools/mkimage') to encapsulate this
-image with header information, CRC32 checksum etc. for use with
-U-Boot:
+* convert the kernel into a raw binary image:
 
-In the first form (with "-l" option) mkimage  lists  the  information
-contained  in  the header of an existing U-Boot image; this includes
+       ${CROSS_COMPILE}-objcopy -O binary \
+                                -R .note -R .comment \
+                                -S vmlinux linux.bin
+
+* compress the binary image:
+
+       gzip -9 linux.bin
+
+* package compressed binary image for U-Boot:
+
+       mkimage -A ppc -O linux -T kernel -C gzip \
+               -a 0 -e 0 -n "Linux Kernel Image" \
+               -d linux.bin.gz uImage
+
+
+The "mkimage" tool can also be used to create ramdisk images for use
+with U-Boot, either separated from the Linux kernel image, or
+combined into one file. "mkimage" encapsulates the images with a 64
+byte header containing information about target architecture,
+operating system, image type, compression method, entry points, time
+stamp, CRC32 checksums, etc.
+
+"mkimage" can be called in two ways: to verify existing images and
+print the header information, or to build new images.
+
+In the first form (with "-l" option) mkimage lists the information
+contained in the header of an existing U-Boot image; this includes
 checksum verification:
 
        tools/mkimage -l image
@@ -2058,47 +2108,47 @@ Right now, all Linux kernels use the same load address  (0x00000000),
 but the entry point address depends on the kernel version:
 
 - 2.2.x kernels have the entry point at 0x0000000C,
-- 2.3.x and 2.4.x kernels have the entry point at 0x00000000.
+- 2.3.x and later kernels have the entry point at 0x00000000.
 
 So a typical call to build a U-Boot image would read:
 
-       -> tools/mkimage -n '2.2.13 for initrd on TQM850L' \
-       > -A ppc -O linux -T kernel -C gzip -a 00000000 -e 0000000C \
-       > -d /opt/mpc8xx/src/linux-2.2.13/arch/ppc/coffboot/vmlinux.gz \
-       > examples/image-2.2.13-initrd
-       Image Name:   2.2.13 for initrd on TQM850L
+       -> 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 \
+       > examples/uImage.TQM850L
+       Image Name:   2.4.4 kernel for TQM850L
        Created:      Wed Jul 19 02:34:59 2000
        Image Type:   PowerPC Linux Kernel Image (gzip compressed)
        Data Size:    335725 Bytes = 327.86 kB = 0.32 MB
        Load Address: 0x00000000
-       Entry Point:  0x0000000c
+       Entry Point:  0x00000000
 
 To verify the contents of the image (or check for corruption):
 
-       -> tools/mkimage -l examples/image-2.2.13-initrd
-       Image Name:   2.2.13 for initrd on TQM850L
+       -> tools/mkimage -l examples/uImage.TQM850L
+       Image Name:   2.4.4 kernel for TQM850L
        Created:      Wed Jul 19 02:34:59 2000
        Image Type:   PowerPC Linux Kernel Image (gzip compressed)
        Data Size:    335725 Bytes = 327.86 kB = 0.32 MB
        Load Address: 0x00000000
-       Entry Point:  0x0000000c
+       Entry Point:  0x00000000
 
 NOTE: for embedded systems where boot time is critical you can trade
 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:
 
-       -> gunzip /opt/mpc8xx/src/linux-2.2.13/arch/ppc/coffboot/vmlinux.gz
-       -> tools/mkimage -n '2.2.13 for initrd on TQM850L' \
-       > -A ppc -O linux -T kernel -C none -a 00000000 -e 0000000C \
-       > -d /opt/mpc8xx/src/linux-2.2.13/arch/ppc/coffboot/vmlinux \
-       > examples/image-2.2.13-initrd-uncompressed
-       Image Name:   2.2.13 for initrd on TQM850L
+       -> gunzip /opt/elsk/ppc_8xx/usr/src/linux-2.4.4/arch/ppc/coffboot/vmlinux.gz
+       -> 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 \
+       > examples/uImage.TQM850L-uncompressed
+       Image Name:   2.4.4 kernel for TQM850L
        Created:      Wed Jul 19 02:34:59 2000
        Image Type:   PowerPC Linux Kernel Image (uncompressed)
        Data Size:    792160 Bytes = 773.59 kB = 0.76 MB
        Load Address: 0x00000000
-       Entry Point:  0x0000000c
+       Entry Point:  0x00000000
 
 
 Similar you can build U-Boot images from a 'ramdisk.image.gz' file
index 1335fd77bf11d40992f1378c284dd5b233704b9e..1ed403464c9805488bceaeec8945b385223b88f2 100644 (file)
@@ -40,7 +40,7 @@ int board_init (void)
        /* so we do _nothing_ here */
 
        /* arch number of CSB226 board */
-       gd->bd->bi_arch_number = 0;             /* FIXME */
+       gd->bd->bi_arch_number = 216;
 
        /* adress of boot parameters */
        gd->bd->bi_boot_params = 0xa0000100;
index 5a584c153814c31ee8d56a8ca9c3ab507d6eaa65..d34ead4a5b3dd72a2663299c55ea4d0eee308698 100644 (file)
@@ -232,7 +232,7 @@ mem_init:
 
        ldr     r4,     =0x03ca4fff
        str     r4,     [r1, #MDREFR_OFFSET]    /* write back MDREFR        */
-        ldr     r4,  [r1, #MDREFR_OFFSET]
+        ldr     r4,    [r1, #MDREFR_OFFSET]
 
        ldr     r4,     =0x03ca4030
        str     r4,     [r1, #MDREFR_OFFSET]    /* write back MDREFR        */
@@ -261,7 +261,7 @@ mem_init:
        /* Step 4a: assert MDREFR:K1RUN and MDREFR:K2RUN and configure      */
        /*          MDREFR:K1DB2 and MDREFR:K2DB2 as desired.               */
 
-       orr     r4,     r4,     #(MDREFR_K1RUN|MDREFR_K2RUN|MDREFR_K0RUN)
+       orr     r4,     r4,     #(MDREFR_K1RUN|MDREFR_K0RUN)
 
        str     r4,     [r1, #MDREFR_OFFSET]    /* write back MDREFR        */
        ldr     r4,     [r1, #MDREFR_OFFSET]
@@ -286,7 +286,7 @@ mem_init:
        /* Step 4d: write MDCNFG with MDCNFG:DEx deasserted (set to 0), to  */
        /*          configure but not enable each SDRAM partition pair.     */
 
-       ldr     r4,     [r1, #MDCNFG_OFFSET]
+       ldr     r4,     =CFG_MDCNFG_VAL
        bic     r4,     r4,     #(MDCNFG_DE0|MDCNFG_DE1)
 
         str     r4,     [r1, #MDCNFG_OFFSET]   /* write back MDCNFG        */
index 3f9b198698648957209e71c31bd56cbee30330ea..b4ab32936798313b4fb0cc0c21591ceff90aa6df 100644 (file)
@@ -42,7 +42,7 @@ extern int do_mdm_init; /* defined in common/main.c */
  * is that timers are not available yet, so we use a manually timed
  * loop.
  */
-#define KBD_MDELAY     100000  /* 1000 */
+#define KBD_MDELAY     1000
 static void mdelay_no_timer (int msec)
 {
        DECLARE_GLOBAL_DATA_PTR;