浏览代码

* 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, warnings, and README.

wdenk 22 年之前
父节点
当前提交
24ee89b97a
共有 5 个文件被更改,包括 112 次插入51 次删除
  1. 12 1
      CHANGELOG
  2. 95 45
      README
  3. 1 1
      board/csb226/csb226.c
  4. 3 3
      board/csb226/memsetup.S
  5. 1 1
      board/trab/trab.c

+ 12 - 1
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.
 This is the initial version of "Das U-Boot", the Universal Boot Loader.

+ 95 - 45
README

@@ -24,13 +24,14 @@
 Summary:
 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 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.
 support booting of Linux images.
 
 
 Some attention has been paid to make this software easily
 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
 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.
 "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.
 who contributed the specific port.
 
 
-Exception from this rule: the port to the Sandpoint 8240 has not been
-completed yet.
-
 
 
 Where to get help:
 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
 before asking FAQ's. Please see
 http://lists.sourceforge.net/lists/listinfo/u-boot-users/
 http://lists.sourceforge.net/lists/listinfo/u-boot-users/
 
 
@@ -70,6 +68,7 @@ Where we come from:
 ===================
 ===================
 
 
 - start from 8xxrom sources
 - start from 8xxrom sources
+- create PPCBoot project (http://sourceforge.net/projects/ppcboot)
 - clean up code
 - clean up code
 - make it easier to add custom boards
 - make it easier to add custom boards
 - make it possible to add other [PowerPC] CPUs
 - make it possible to add other [PowerPC] CPUs
@@ -78,7 +77,31 @@ Where we come from:
   * S-Record download
   * S-Record download
   * network boot
   * network boot
   * PCMCIA / CompactFLash / ATA disk / SCSI ... boot
   * PCMCIA / CompactFLash / ATA disk / SCSI ... boot
+- create ARMBoot project (http://sourceforge.net/projects/armboot)
 - add other CPU families (starting with ARM)
 - 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:
 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:
 images ready for downlod to / installation on your system:
 
 
 - "u-boot.bin" is a raw binary image
 - "u-boot.bin" is a raw binary image
@@ -2013,28 +2036,55 @@ device (initial ramdisk, NFS) for your target system.
 Building a Linux Image:
 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:
 Example:
 
 
 	make TQM850L_config
 	make TQM850L_config
 	make oldconfig
 	make oldconfig
 	make dep
 	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:
 checksum verification:
 
 
 	tools/mkimage -l image
 	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:
 but the entry point address depends on the kernel version:
 
 
 - 2.2.x kernels have the entry point at 0x0000000C,
 - 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:
 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
 	Created:      Wed Jul 19 02:34:59 2000
 	Image Type:   PowerPC Linux Kernel Image (gzip compressed)
 	Image Type:   PowerPC Linux Kernel Image (gzip compressed)
 	Data Size:    335725 Bytes = 327.86 kB = 0.32 MB
 	Data Size:    335725 Bytes = 327.86 kB = 0.32 MB
 	Load Address: 0x00000000
 	Load Address: 0x00000000
-	Entry Point:  0x0000000c
+	Entry Point:  0x00000000
 
 
 To verify the contents of the image (or check for corruption):
 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
 	Created:      Wed Jul 19 02:34:59 2000
 	Image Type:   PowerPC Linux Kernel Image (gzip compressed)
 	Image Type:   PowerPC Linux Kernel Image (gzip compressed)
 	Data Size:    335725 Bytes = 327.86 kB = 0.32 MB
 	Data Size:    335725 Bytes = 327.86 kB = 0.32 MB
 	Load Address: 0x00000000
 	Load Address: 0x00000000
-	Entry Point:  0x0000000c
+	Entry Point:  0x00000000
 
 
 NOTE: for embedded systems where boot time is critical you can trade
 NOTE: for embedded systems where boot time is critical you can trade
 speed for memory and install an UNCOMPRESSED image instead: this
 speed for memory and install an UNCOMPRESSED image instead: this
 needs more space in Flash, but boots much faster since it does not
 needs more space in Flash, but boots much faster since it does not
 need to be uncompressed:
 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
 	Created:      Wed Jul 19 02:34:59 2000
 	Image Type:   PowerPC Linux Kernel Image (uncompressed)
 	Image Type:   PowerPC Linux Kernel Image (uncompressed)
 	Data Size:    792160 Bytes = 773.59 kB = 0.76 MB
 	Data Size:    792160 Bytes = 773.59 kB = 0.76 MB
 	Load Address: 0x00000000
 	Load Address: 0x00000000
-	Entry Point:  0x0000000c
+	Entry Point:  0x00000000
 
 
 
 
 Similar you can build U-Boot images from a 'ramdisk.image.gz' file
 Similar you can build U-Boot images from a 'ramdisk.image.gz' file

+ 1 - 1
board/csb226/csb226.c

@@ -40,7 +40,7 @@ int board_init (void)
 	/* so we do _nothing_ here */
 	/* so we do _nothing_ here */
 
 
 	/* arch number of CSB226 board */
 	/* arch number of CSB226 board */
-	gd->bd->bi_arch_number = 0; 		/* FIXME */
+	gd->bd->bi_arch_number = 216;
 
 
 	/* adress of boot parameters */
 	/* adress of boot parameters */
 	gd->bd->bi_boot_params = 0xa0000100;
 	gd->bd->bi_boot_params = 0xa0000100;

+ 3 - 3
board/csb226/memsetup.S

@@ -232,7 +232,7 @@ mem_init:
 
 
 	ldr	r4,	=0x03ca4fff
 	ldr	r4,	=0x03ca4fff
 	str	r4,	[r1, #MDREFR_OFFSET]	/* write back MDREFR        */
 	str	r4,	[r1, #MDREFR_OFFSET]	/* write back MDREFR        */
-        ldr     r4,  [r1, #MDREFR_OFFSET]
+        ldr     r4,	[r1, #MDREFR_OFFSET]
 
 
 	ldr	r4,	=0x03ca4030
 	ldr	r4,	=0x03ca4030
 	str	r4,	[r1, #MDREFR_OFFSET]	/* write back MDREFR        */
 	str	r4,	[r1, #MDREFR_OFFSET]	/* write back MDREFR        */
@@ -261,7 +261,7 @@ mem_init:
 	/* Step 4a: assert MDREFR:K1RUN and MDREFR:K2RUN and configure      */
 	/* Step 4a: assert MDREFR:K1RUN and MDREFR:K2RUN and configure      */
 	/*          MDREFR:K1DB2 and MDREFR:K2DB2 as desired.               */
 	/*          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        */
 	str     r4,     [r1, #MDREFR_OFFSET]    /* write back MDREFR        */
 	ldr     r4,     [r1, #MDREFR_OFFSET]
 	ldr     r4,     [r1, #MDREFR_OFFSET]
@@ -286,7 +286,7 @@ mem_init:
 	/* Step 4d: write MDCNFG with MDCNFG:DEx deasserted (set to 0), to  */
 	/* Step 4d: write MDCNFG with MDCNFG:DEx deasserted (set to 0), to  */
 	/*          configure but not enable each SDRAM partition pair.     */
 	/*          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)
 	bic	r4,	r4,	#(MDCNFG_DE0|MDCNFG_DE1)
 
 
         str     r4,     [r1, #MDCNFG_OFFSET]	/* write back MDCNFG        */
         str     r4,     [r1, #MDCNFG_OFFSET]	/* write back MDCNFG        */

+ 1 - 1
board/trab/trab.c

@@ -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
  * is that timers are not available yet, so we use a manually timed
  * loop.
  * loop.
  */
  */
-#define KBD_MDELAY	100000	/* 1000 */
+#define KBD_MDELAY	1000
 static void mdelay_no_timer (int msec)
 static void mdelay_no_timer (int msec)
 {
 {
 	DECLARE_GLOBAL_DATA_PTR;
 	DECLARE_GLOBAL_DATA_PTR;