* Code cleanup:
  - remove trailing white space, trailing empty lines, C++ comments, etc.
  - split cmd_boot.c (separate cmd_bdinfo.c and cmd_load.c)

* Patches by Kenneth Johansson, 25 Jun 2003:
  - major rework of command structure
    (work done mostly by Michal Cendrowski and Joakim Kristiansen)
diff --git a/board/esd/adciop/Makefile b/board/esd/adciop/Makefile
index d4a4e65..474c936 100644
--- a/board/esd/adciop/Makefile
+++ b/board/esd/adciop/Makefile
@@ -1,3 +1,4 @@
+
 #
 # (C) Copyright 2000
 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
@@ -28,7 +29,7 @@
 OBJS	= $(BOARD).o flash.o ../common/pci.o
 
 $(LIB):	$(OBJS)
-	$(AR) crv $@ $^
+	$(AR) crv $@ $(OBJS)
 
 clean:
 	rm -f $(SOBJS) $(OBJS)
diff --git a/board/esd/adciop/flash.c b/board/esd/adciop/flash.c
index 69618de..d9eccba 100644
--- a/board/esd/adciop/flash.c
+++ b/board/esd/adciop/flash.c
@@ -96,8 +96,8 @@
 			      FLASH_BASE0_PRELIM+size_b0+size_b1-monitor_flash_len,
 			      FLASH_BASE0_PRELIM+size_b0+size_b1-1,
 			      &flash_info[1]);
-                /* monitor protection OFF by default (one is enough) */
-                flash_protect(FLAG_PROTECT_CLEAR,
+		/* monitor protection OFF by default (one is enough) */
+		flash_protect(FLAG_PROTECT_CLEAR,
 			      FLASH_BASE0_PRELIM+size_b0-monitor_flash_len,
 			      FLASH_BASE0_PRELIM+size_b0-1,
 			      &flash_info[0]);
diff --git a/board/esd/adciop/u-boot.lds b/board/esd/adciop/u-boot.lds
index ddf1307..b07d117 100644
--- a/board/esd/adciop/u-boot.lds
+++ b/board/esd/adciop/u-boot.lds
@@ -107,6 +107,11 @@
   _edata  =  .;
   PROVIDE (edata = .);
 
+  __u_boot_cmd_start = .;
+  .u_boot_cmd : { *(.u_boot_cmd) }
+  __u_boot_cmd_end = .;
+
+
   __start___ex_table = .;
   __ex_table : { *(__ex_table) }
   __stop___ex_table = .;
diff --git a/board/esd/ar405/Makefile b/board/esd/ar405/Makefile
index 39d2fec..f5bda55 100644
--- a/board/esd/ar405/Makefile
+++ b/board/esd/ar405/Makefile
@@ -28,7 +28,7 @@
 OBJS	= $(BOARD).o flash.o
 
 $(LIB):	$(OBJS) $(SOBJS)
-	$(AR) crv $@ $^
+	$(AR) crv $@ $(OBJS)
 
 clean:
 	rm -f $(SOBJS) $(OBJS)
diff --git a/board/esd/ar405/ar405.c b/board/esd/ar405/ar405.c
index f23b822..d0b06e6 100644
--- a/board/esd/ar405/ar405.c
+++ b/board/esd/ar405/ar405.c
@@ -25,8 +25,9 @@
 #include "ar405.h"
 #include <asm/processor.h>
 #include <command.h>
-#include <cmd_boot.h>
 
+/*cmd_boot.c*/
+extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
 
 /* ------------------------------------------------------------------------- */
 
diff --git a/board/esd/ar405/flash.c b/board/esd/ar405/flash.c
index 3a644f9..a651b6f 100644
--- a/board/esd/ar405/flash.c
+++ b/board/esd/ar405/flash.c
@@ -43,8 +43,8 @@
 {
 	unsigned long size_b0, size_b1;
 	int i;
-        uint pbcr;
-        unsigned long base_b0, base_b1;
+	uint pbcr;
+	unsigned long base_b0, base_b1;
 
 	/* Init: no FLASHes known */
 	for (i=0; i<CFG_MAX_FLASH_BANKS; ++i) {
@@ -66,27 +66,27 @@
 
 	/* Re-do sizing to get full correct info */
 
-        if (size_b1)
-          {
-            mtdcr(ebccfga, pb0cr);
-            pbcr = mfdcr(ebccfgd);
-            mtdcr(ebccfga, pb0cr);
-            base_b1 = -size_b1;
-            pbcr = (pbcr & 0x0001ffff) | base_b1 | (((size_b1/1024/1024)-1)<<17);
-            mtdcr(ebccfgd, pbcr);
-            /*          printf("pb1cr = %x\n", pbcr); */
-          }
+	if (size_b1)
+	  {
+	    mtdcr(ebccfga, pb0cr);
+	    pbcr = mfdcr(ebccfgd);
+	    mtdcr(ebccfga, pb0cr);
+	    base_b1 = -size_b1;
+	    pbcr = (pbcr & 0x0001ffff) | base_b1 | (((size_b1/1024/1024)-1)<<17);
+	    mtdcr(ebccfgd, pbcr);
+	    /*          printf("pb1cr = %x\n", pbcr); */
+	  }
 
-        if (size_b0)
-          {
-            mtdcr(ebccfga, pb1cr);
-            pbcr = mfdcr(ebccfgd);
-            mtdcr(ebccfga, pb1cr);
-            base_b0 = base_b1 - size_b0;
-            pbcr = (pbcr & 0x0001ffff) | base_b0 | (((size_b0/1024/1024)-1)<<17);
-            mtdcr(ebccfgd, pbcr);
-            /*            printf("pb0cr = %x\n", pbcr); */
-          }
+	if (size_b0)
+	  {
+	    mtdcr(ebccfga, pb1cr);
+	    pbcr = mfdcr(ebccfgd);
+	    mtdcr(ebccfga, pb1cr);
+	    base_b0 = base_b1 - size_b0;
+	    pbcr = (pbcr & 0x0001ffff) | base_b0 | (((size_b0/1024/1024)-1)<<17);
+	    mtdcr(ebccfgd, pbcr);
+	    /*            printf("pb0cr = %x\n", pbcr); */
+	  }
 
 	size_b0 = flash_get_size((vu_long *)base_b0, &flash_info[0]);
 
@@ -109,11 +109,11 @@
 				    base_b1+size_b1-monitor_flash_len,
 				    base_b1+size_b1-1,
 				    &flash_info[1]);
-                /* monitor protection OFF by default (one is enough) */
-                (void)flash_protect(FLAG_PROTECT_CLEAR,
-                                    base_b0+size_b0-monitor_flash_len,
-                                    base_b0+size_b0-1,
-                                    &flash_info[0]);
+		/* monitor protection OFF by default (one is enough) */
+		(void)flash_protect(FLAG_PROTECT_CLEAR,
+				    base_b0+size_b0-monitor_flash_len,
+				    base_b0+size_b0-1,
+				    &flash_info[0]);
 	} else {
 		flash_info[1].flash_id = FLASH_UNKNOWN;
 		flash_info[1].sector_count = -1;
diff --git a/board/esd/ar405/u-boot.lds b/board/esd/ar405/u-boot.lds
index 7b86a3d..3bb4304 100644
--- a/board/esd/ar405/u-boot.lds
+++ b/board/esd/ar405/u-boot.lds
@@ -129,6 +129,11 @@
   _edata  =  .;
   PROVIDE (edata = .);
 
+  __u_boot_cmd_start = .;
+  .u_boot_cmd : { *(.u_boot_cmd) }
+  __u_boot_cmd_end = .;
+
+
   __start___ex_table = .;
   __ex_table : { *(__ex_table) }
   __stop___ex_table = .;
diff --git a/board/esd/ash405/Makefile b/board/esd/ash405/Makefile
index 39d2fec..f5bda55 100644
--- a/board/esd/ash405/Makefile
+++ b/board/esd/ash405/Makefile
@@ -28,7 +28,7 @@
 OBJS	= $(BOARD).o flash.o
 
 $(LIB):	$(OBJS) $(SOBJS)
-	$(AR) crv $@ $^
+	$(AR) crv $@ $(OBJS)
 
 clean:
 	rm -f $(SOBJS) $(OBJS)
diff --git a/board/esd/ash405/ash405.c b/board/esd/ash405/ash405.c
index 4cb5183..f45ecf1 100644
--- a/board/esd/ash405/ash405.c
+++ b/board/esd/ash405/ash405.c
@@ -24,7 +24,6 @@
 #include <common.h>
 #include <asm/processor.h>
 #include <command.h>
-#include <cmd_boot.h>
 #include <malloc.h>
 
 /* ------------------------------------------------------------------------- */
@@ -33,6 +32,8 @@
 #define FPGA_DEBUG
 #endif
 
+extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+
 /* fpga configuration data - gzip compressed and generated by bin2c */
 const unsigned char fpgadata[] =
 {
diff --git a/board/esd/ash405/flash.c b/board/esd/ash405/flash.c
index f904aff..89af119 100644
--- a/board/esd/ash405/flash.c
+++ b/board/esd/ash405/flash.c
@@ -43,8 +43,8 @@
 {
 	unsigned long size_b0;
 	int i;
-        uint pbcr;
-        unsigned long base_b0;
+	uint pbcr;
+	unsigned long base_b0;
 	int size_val = 0;
 
 	/* Init: no FLASHes known */
@@ -61,14 +61,14 @@
 			size_b0, size_b0<<20);
 	}
 
-        /* Setup offsets */
-        flash_get_offsets (-size_b0, &flash_info[0]);
+	/* Setup offsets */
+	flash_get_offsets (-size_b0, &flash_info[0]);
 
-        /* Re-do sizing to get full correct info */
-        mtdcr(ebccfga, pb0cr);
-        pbcr = mfdcr(ebccfgd);
-        mtdcr(ebccfga, pb0cr);
-        base_b0 = -size_b0;
+	/* Re-do sizing to get full correct info */
+	mtdcr(ebccfga, pb0cr);
+	pbcr = mfdcr(ebccfgd);
+	mtdcr(ebccfga, pb0cr);
+	base_b0 = -size_b0;
 	switch (size_b0) {
 	case 1 << 20:
 		size_val = 0;
@@ -87,15 +87,15 @@
 		break;
 	}
 	pbcr = (pbcr & 0x0001ffff) | base_b0 | (size_val << 17);
-        mtdcr(ebccfgd, pbcr);
+	mtdcr(ebccfgd, pbcr);
 
-        /* Monitor protection ON by default */
-        (void)flash_protect(FLAG_PROTECT_SET,
-                            -CFG_MONITOR_LEN,
-                            0xffffffff,
-                            &flash_info[0]);
+	/* Monitor protection ON by default */
+	(void)flash_protect(FLAG_PROTECT_SET,
+			    -CFG_MONITOR_LEN,
+			    0xffffffff,
+			    &flash_info[0]);
 
-        flash_info[0].size = size_b0;
+	flash_info[0].size = size_b0;
 
 	return (size_b0);
 }
diff --git a/board/esd/ash405/u-boot.lds b/board/esd/ash405/u-boot.lds
index 97851f1..ba55550 100644
--- a/board/esd/ash405/u-boot.lds
+++ b/board/esd/ash405/u-boot.lds
@@ -119,6 +119,10 @@
   _edata  =  .;
   PROVIDE (edata = .);
 
+  __u_boot_cmd_start = .;
+  .u_boot_cmd : { *(.u_boot_cmd) }
+  __u_boot_cmd_end = .;
+
   __start___ex_table = .;
   __ex_table : { *(__ex_table) }
   __stop___ex_table = .;
diff --git a/board/esd/canbt/Makefile b/board/esd/canbt/Makefile
index 39d2fec..f5bda55 100644
--- a/board/esd/canbt/Makefile
+++ b/board/esd/canbt/Makefile
@@ -28,7 +28,7 @@
 OBJS	= $(BOARD).o flash.o
 
 $(LIB):	$(OBJS) $(SOBJS)
-	$(AR) crv $@ $^
+	$(AR) crv $@ $(OBJS)
 
 clean:
 	rm -f $(SOBJS) $(OBJS)
diff --git a/board/esd/canbt/canbt.c b/board/esd/canbt/canbt.c
index 708101e..ae0e880 100644
--- a/board/esd/canbt/canbt.c
+++ b/board/esd/canbt/canbt.c
@@ -25,7 +25,11 @@
 #include "canbt.h"
 #include <asm/processor.h>
 #include <command.h>
-#include <cmd_boot.h>
+
+
+/*cmd_boot.c*/
+extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+
 
 /* ------------------------------------------------------------------------- */
 
diff --git a/board/esd/canbt/flash.c b/board/esd/canbt/flash.c
index 685850e..de847f9 100644
--- a/board/esd/canbt/flash.c
+++ b/board/esd/canbt/flash.c
@@ -43,8 +43,8 @@
 {
 	unsigned long size_b0;
 	int i;
-        uint pbcr;
-        unsigned long base_b0;
+	uint pbcr;
+	unsigned long base_b0;
 
 	/* Init: no FLASHes known */
 	for (i=0; i<CFG_MAX_FLASH_BANKS; ++i) {
@@ -60,25 +60,25 @@
 			size_b0, size_b0<<20);
 	}
 
-        /* Setup offsets */
-        flash_get_offsets (-size_b0, &flash_info[0]);
+	/* Setup offsets */
+	flash_get_offsets (-size_b0, &flash_info[0]);
 
-        /* Re-do sizing to get full correct info */
-        mtdcr(ebccfga, pb0cr);
-        pbcr = mfdcr(ebccfgd);
-        mtdcr(ebccfga, pb0cr);
-        base_b0 = -size_b0;
-        pbcr = (pbcr & 0x0001ffff) | base_b0 | (((size_b0/1024/1024)-1)<<17);
-        mtdcr(ebccfgd, pbcr);
-        /*          printf("pb1cr = %x\n", pbcr); */
+	/* Re-do sizing to get full correct info */
+	mtdcr(ebccfga, pb0cr);
+	pbcr = mfdcr(ebccfgd);
+	mtdcr(ebccfga, pb0cr);
+	base_b0 = -size_b0;
+	pbcr = (pbcr & 0x0001ffff) | base_b0 | (((size_b0/1024/1024)-1)<<17);
+	mtdcr(ebccfgd, pbcr);
+	/*          printf("pb1cr = %x\n", pbcr); */
 
-        /* Monitor protection ON by default */
-        (void)flash_protect(FLAG_PROTECT_SET,
-                            -monitor_flash_len,
-                            0xffffffff,
-                            &flash_info[0]);
+	/* Monitor protection ON by default */
+	(void)flash_protect(FLAG_PROTECT_SET,
+			    -monitor_flash_len,
+			    0xffffffff,
+			    &flash_info[0]);
 
-        flash_info[0].size = size_b0;
+	flash_info[0].size = size_b0;
 
 	return (size_b0);
 }
diff --git a/board/esd/canbt/u-boot.lds b/board/esd/canbt/u-boot.lds
index 47b0aae..d739cea 100644
--- a/board/esd/canbt/u-boot.lds
+++ b/board/esd/canbt/u-boot.lds
@@ -131,6 +131,11 @@
   _edata  =  .;
   PROVIDE (edata = .);
 
+  __u_boot_cmd_start = .;
+  .u_boot_cmd : { *(.u_boot_cmd) }
+  __u_boot_cmd_end = .;
+
+
   __start___ex_table = .;
   __ex_table : { *(__ex_table) }
   __stop___ex_table = .;
diff --git a/board/esd/common/flash.c b/board/esd/common/flash.c
index 78a1e0f..d032b00 100644
--- a/board/esd/common/flash.c
+++ b/board/esd/common/flash.c
@@ -40,11 +40,11 @@
 	short n;
 
 	/* set up sector start address table */
-        if (((info->flash_id & FLASH_VENDMASK) == FLASH_MAN_SST) ||
+	if (((info->flash_id & FLASH_VENDMASK) == FLASH_MAN_SST) ||
 	    ((info->flash_id & FLASH_TYPEMASK) == FLASH_AM640U)) {
 	    for (i = 0; i < info->sector_count; i++)
 		info->start[i] = base + (i * 0x00010000);
-        } else if (((info->flash_id & FLASH_TYPEMASK) == FLASH_AMDL322B) ||
+	} else if (((info->flash_id & FLASH_TYPEMASK) == FLASH_AMDL322B) ||
 		   ((info->flash_id & FLASH_TYPEMASK) == FLASH_AMDL323B) ||
 		   ((info->flash_id & FLASH_TYPEMASK) == FLASH_AM320B) ||
 		   ((info->flash_id & FLASH_TYPEMASK) == FLASH_AMDL324B)) {
@@ -58,7 +58,7 @@
 			base += 64 << 10;
 			++i;
 		}
-        } else if (((info->flash_id & FLASH_TYPEMASK) == FLASH_AMDL322T) ||
+	} else if (((info->flash_id & FLASH_TYPEMASK) == FLASH_AMDL322T) ||
 		   ((info->flash_id & FLASH_TYPEMASK) == FLASH_AMDL323T) ||
 		   ((info->flash_id & FLASH_TYPEMASK) == FLASH_AM320T) ||
 		   ((info->flash_id & FLASH_TYPEMASK) == FLASH_AMDL324T)) {
@@ -75,7 +75,7 @@
 			--i;
 			info->start[i] = base;
 		}
-        } else {
+	} else {
 	    if (info->flash_id & FLASH_BTYPE) {
 		/* set sector offsets for bottom boot block type	*/
 		info->start[0] = base + 0x00000000;
@@ -103,10 +103,10 @@
 void flash_print_info  (flash_info_t *info)
 {
 	int i;
-        int k;
-        int size;
-        int erased;
-        volatile unsigned long *flash;
+	int k;
+	int size;
+	int erased;
+	volatile unsigned long *flash;
 
 	if (info->flash_id == FLASH_UNKNOWN) {
 		printf ("missing or unknown FLASH type\n");
@@ -161,28 +161,28 @@
 	printf ("  Sector Start Addresses:");
 	for (i=0; i<info->sector_count; ++i) {
 #ifdef CFG_FLASH_EMPTY_INFO
-                /*
-                 * Check if whole sector is erased
-                 */
-                if (i != (info->sector_count-1))
-                  size = info->start[i+1] - info->start[i];
-                else
-                  size = info->start[0] + info->size - info->start[i];
-                erased = 1;
-                flash = (volatile unsigned long *)info->start[i];
-                size = size >> 2;        /* divide by 4 for longword access */
-                for (k=0; k<size; k++)
-                  {
-                    if (*flash++ != 0xffffffff)
-                      {
-                        erased = 0;
-                        break;
-                      }
-                  }
+		/*
+		 * Check if whole sector is erased
+		 */
+		if (i != (info->sector_count-1))
+		  size = info->start[i+1] - info->start[i];
+		else
+		  size = info->start[0] + info->size - info->start[i];
+		erased = 1;
+		flash = (volatile unsigned long *)info->start[i];
+		size = size >> 2;        /* divide by 4 for longword access */
+		for (k=0; k<size; k++)
+		  {
+		    if (*flash++ != 0xffffffff)
+		      {
+			erased = 0;
+			break;
+		      }
+		  }
 
 		if ((i % 5) == 0)
 			printf ("\n   ");
-                /* print empty and read-only info */
+		/* print empty and read-only info */
 		printf (" %08lX%s%s",
 			info->start[i],
 			erased ? " E" : "  ",
@@ -216,7 +216,7 @@
 	short n;
 	CFG_FLASH_WORD_SIZE value;
 	ulong base = (ulong)addr;
-        volatile CFG_FLASH_WORD_SIZE *addr2 = (CFG_FLASH_WORD_SIZE *)addr;
+	volatile CFG_FLASH_WORD_SIZE *addr2 = (CFG_FLASH_WORD_SIZE *)addr;
 
 	/* Write auto select command: read Manufacturer ID */
 	addr2[CFG_FLASH_ADDR0] = (CFG_FLASH_WORD_SIZE)0x00AA00AA;
@@ -282,37 +282,37 @@
 		break;				/* => 2 MB		*/
 
 	case (CFG_FLASH_WORD_SIZE)AMD_ID_LV320T:
-	        info->flash_id += FLASH_AM320T;
-	        info->sector_count = 71;
+		info->flash_id += FLASH_AM320T;
+		info->sector_count = 71;
 		info->size = 0x00400000;  break;	/* => 4 MB	*/
 
 	case (CFG_FLASH_WORD_SIZE)AMD_ID_LV320B:
-	        info->flash_id += FLASH_AM320B;
+		info->flash_id += FLASH_AM320B;
 		info->sector_count = 71;
 		info->size = 0x00400000;  break;	/* => 4 MB	*/
 
 	case (CFG_FLASH_WORD_SIZE)AMD_ID_DL322T:
-	        info->flash_id += FLASH_AMDL322T;
-	        info->sector_count = 71;
+		info->flash_id += FLASH_AMDL322T;
+		info->sector_count = 71;
 		info->size = 0x00400000;  break;	/* => 4 MB	*/
 
 	case (CFG_FLASH_WORD_SIZE)AMD_ID_DL322B:
-	        info->flash_id += FLASH_AMDL322B;
+		info->flash_id += FLASH_AMDL322B;
 		info->sector_count = 71;
 		info->size = 0x00400000;  break;	/* => 4 MB	*/
 
 	case (CFG_FLASH_WORD_SIZE)AMD_ID_DL323T:
-	        info->flash_id += FLASH_AMDL323T;
+		info->flash_id += FLASH_AMDL323T;
 		info->sector_count = 71;
 		info->size = 0x00400000;  break;	/* => 4 MB	*/
 
 	case (CFG_FLASH_WORD_SIZE)AMD_ID_DL323B:
-	        info->flash_id += FLASH_AMDL323B;
+		info->flash_id += FLASH_AMDL323B;
 		info->sector_count = 71;
 		info->size = 0x00400000;  break;	/* => 4 MB	*/
 
 	case (CFG_FLASH_WORD_SIZE)AMD_ID_LV640U:
-	        info->flash_id += FLASH_AM640U;
+		info->flash_id += FLASH_AM640U;
 		info->sector_count = 128;
 		info->size = 0x00800000;  break;	/* => 8 MB	*/
 
@@ -335,11 +335,11 @@
 	}
 
 	/* set up sector start address table */
-        if (((info->flash_id & FLASH_VENDMASK) == FLASH_MAN_SST) ||
+	if (((info->flash_id & FLASH_VENDMASK) == FLASH_MAN_SST) ||
 	    ((info->flash_id & FLASH_TYPEMASK) == FLASH_AM640U)) {
 	    for (i = 0; i < info->sector_count; i++)
 		info->start[i] = base + (i * 0x00010000);
-        } else if (((info->flash_id & FLASH_TYPEMASK) == FLASH_AMDL322B) ||
+	} else if (((info->flash_id & FLASH_TYPEMASK) == FLASH_AMDL322B) ||
 		   ((info->flash_id & FLASH_TYPEMASK) == FLASH_AMDL323B) ||
 		   ((info->flash_id & FLASH_TYPEMASK) == FLASH_AM320B) ||
 		   ((info->flash_id & FLASH_TYPEMASK) == FLASH_AMDL324B)) {
@@ -353,7 +353,7 @@
 			base += 64 << 10;
 			++i;
 		}
-        } else if (((info->flash_id & FLASH_TYPEMASK) == FLASH_AMDL322T) ||
+	} else if (((info->flash_id & FLASH_TYPEMASK) == FLASH_AMDL322T) ||
 		   ((info->flash_id & FLASH_TYPEMASK) == FLASH_AMDL323T) ||
 		   ((info->flash_id & FLASH_TYPEMASK) == FLASH_AM320T) ||
 		   ((info->flash_id & FLASH_TYPEMASK) == FLASH_AMDL324T)) {
@@ -370,7 +370,7 @@
 			--i;
 			info->start[i] = base;
 		}
-        } else {
+	} else {
 	    if (info->flash_id & FLASH_BTYPE) {
 		/* set sector offsets for bottom boot block type	*/
 		info->start[0] = base + 0x00000000;
@@ -397,10 +397,10 @@
 		/* read sector protection at sector address, (A7 .. A0) = 0x02 */
 		/* D0 = 1 if protected */
 		addr2 = (volatile CFG_FLASH_WORD_SIZE *)(info->start[i]);
-                if ((info->flash_id & FLASH_VENDMASK) == FLASH_MAN_SST)
-                  info->protect[i] = 0;
-                else
-                  info->protect[i] = addr2[CFG_FLASH_READ2] & 1;
+		if ((info->flash_id & FLASH_VENDMASK) == FLASH_MAN_SST)
+		  info->protect[i] = 0;
+		else
+		  info->protect[i] = addr2[CFG_FLASH_READ2] & 1;
 	}
 
 	/*
@@ -424,7 +424,7 @@
 	volatile CFG_FLASH_WORD_SIZE *addr2;
 	int flag, prot, sect, l_sect;
 	ulong start, now, last;
-        int i;
+	int i;
 
 	if ((s_first < 0) || (s_first > s_last)) {
 		if (info->flash_id == FLASH_UNKNOWN) {
@@ -463,25 +463,25 @@
 	for (sect = s_first; sect<=s_last; sect++) {
 		if (info->protect[sect] == 0) {	/* not protected */
 		    addr2 = (CFG_FLASH_WORD_SIZE *)(info->start[sect]);
-                    if ((info->flash_id & FLASH_VENDMASK) == FLASH_MAN_SST) {
-                        addr[CFG_FLASH_ADDR0] = (CFG_FLASH_WORD_SIZE)0x00AA00AA;
-                        addr[CFG_FLASH_ADDR1] = (CFG_FLASH_WORD_SIZE)0x00550055;
-                        addr[CFG_FLASH_ADDR0] = (CFG_FLASH_WORD_SIZE)0x00800080;
-                        addr[CFG_FLASH_ADDR0] = (CFG_FLASH_WORD_SIZE)0x00AA00AA;
-                        addr[CFG_FLASH_ADDR1] = (CFG_FLASH_WORD_SIZE)0x00550055;
-                        addr2[0] = (CFG_FLASH_WORD_SIZE)0x00500050;  /* block erase */
-                        for (i=0; i<50; i++)
-                          udelay(1000);  /* wait 1 ms */
-                    } else {
-                        if (sect == s_first) {
-                            addr[CFG_FLASH_ADDR0] = (CFG_FLASH_WORD_SIZE)0x00AA00AA;
-                            addr[CFG_FLASH_ADDR1] = (CFG_FLASH_WORD_SIZE)0x00550055;
-                            addr[CFG_FLASH_ADDR0] = (CFG_FLASH_WORD_SIZE)0x00800080;
-                            addr[CFG_FLASH_ADDR0] = (CFG_FLASH_WORD_SIZE)0x00AA00AA;
-                            addr[CFG_FLASH_ADDR1] = (CFG_FLASH_WORD_SIZE)0x00550055;
-                        }
-                        addr2[0] = (CFG_FLASH_WORD_SIZE)0x00300030;  /* sector erase */
-                    }
+		    if ((info->flash_id & FLASH_VENDMASK) == FLASH_MAN_SST) {
+			addr[CFG_FLASH_ADDR0] = (CFG_FLASH_WORD_SIZE)0x00AA00AA;
+			addr[CFG_FLASH_ADDR1] = (CFG_FLASH_WORD_SIZE)0x00550055;
+			addr[CFG_FLASH_ADDR0] = (CFG_FLASH_WORD_SIZE)0x00800080;
+			addr[CFG_FLASH_ADDR0] = (CFG_FLASH_WORD_SIZE)0x00AA00AA;
+			addr[CFG_FLASH_ADDR1] = (CFG_FLASH_WORD_SIZE)0x00550055;
+			addr2[0] = (CFG_FLASH_WORD_SIZE)0x00500050;  /* block erase */
+			for (i=0; i<50; i++)
+			  udelay(1000);  /* wait 1 ms */
+		    } else {
+			if (sect == s_first) {
+			    addr[CFG_FLASH_ADDR0] = (CFG_FLASH_WORD_SIZE)0x00AA00AA;
+			    addr[CFG_FLASH_ADDR1] = (CFG_FLASH_WORD_SIZE)0x00550055;
+			    addr[CFG_FLASH_ADDR0] = (CFG_FLASH_WORD_SIZE)0x00800080;
+			    addr[CFG_FLASH_ADDR0] = (CFG_FLASH_WORD_SIZE)0x00AA00AA;
+			    addr[CFG_FLASH_ADDR1] = (CFG_FLASH_WORD_SIZE)0x00550055;
+			}
+			addr2[0] = (CFG_FLASH_WORD_SIZE)0x00300030;  /* sector erase */
+		    }
 		    l_sect = sect;
 		}
 	}
@@ -602,42 +602,42 @@
  */
 static int write_word (flash_info_t *info, ulong dest, ulong data)
 {
-        volatile CFG_FLASH_WORD_SIZE *addr2 = (CFG_FLASH_WORD_SIZE *)(info->start[0]);
-        volatile CFG_FLASH_WORD_SIZE *dest2 = (CFG_FLASH_WORD_SIZE *)dest;
-        volatile CFG_FLASH_WORD_SIZE *data2 = (CFG_FLASH_WORD_SIZE *)&data;
+	volatile CFG_FLASH_WORD_SIZE *addr2 = (CFG_FLASH_WORD_SIZE *)(info->start[0]);
+	volatile CFG_FLASH_WORD_SIZE *dest2 = (CFG_FLASH_WORD_SIZE *)dest;
+	volatile CFG_FLASH_WORD_SIZE *data2 = (CFG_FLASH_WORD_SIZE *)&data;
 	ulong start;
 	int flag;
-        int i;
+	int i;
 
 	/* Check if Flash is (sufficiently) erased */
 	if ((*((volatile CFG_FLASH_WORD_SIZE *)dest) &
-             (CFG_FLASH_WORD_SIZE)data) != (CFG_FLASH_WORD_SIZE)data) {
+	     (CFG_FLASH_WORD_SIZE)data) != (CFG_FLASH_WORD_SIZE)data) {
 		return (2);
 	}
 	/* Disable interrupts which might cause a timeout here */
 	flag = disable_interrupts();
 
-        for (i=0; i<4/sizeof(CFG_FLASH_WORD_SIZE); i++)
-          {
-            addr2[CFG_FLASH_ADDR0] = (CFG_FLASH_WORD_SIZE)0x00AA00AA;
-            addr2[CFG_FLASH_ADDR1] = (CFG_FLASH_WORD_SIZE)0x00550055;
-            addr2[CFG_FLASH_ADDR0] = (CFG_FLASH_WORD_SIZE)0x00A000A0;
+	for (i=0; i<4/sizeof(CFG_FLASH_WORD_SIZE); i++)
+	  {
+	    addr2[CFG_FLASH_ADDR0] = (CFG_FLASH_WORD_SIZE)0x00AA00AA;
+	    addr2[CFG_FLASH_ADDR1] = (CFG_FLASH_WORD_SIZE)0x00550055;
+	    addr2[CFG_FLASH_ADDR0] = (CFG_FLASH_WORD_SIZE)0x00A000A0;
 
-            dest2[i] = data2[i];
+	    dest2[i] = data2[i];
 
-            /* re-enable interrupts if necessary */
-            if (flag)
-              enable_interrupts();
+	    /* re-enable interrupts if necessary */
+	    if (flag)
+	      enable_interrupts();
 
-            /* data polling for D7 */
-            start = get_timer (0);
-            while ((dest2[i] & (CFG_FLASH_WORD_SIZE)0x00800080) !=
-                   (data2[i] & (CFG_FLASH_WORD_SIZE)0x00800080)) {
-              if (get_timer(start) > CFG_FLASH_WRITE_TOUT) {
-                return (1);
-              }
-            }
-          }
+	    /* data polling for D7 */
+	    start = get_timer (0);
+	    while ((dest2[i] & (CFG_FLASH_WORD_SIZE)0x00800080) !=
+		   (data2[i] & (CFG_FLASH_WORD_SIZE)0x00800080)) {
+	      if (get_timer(start) > CFG_FLASH_WRITE_TOUT) {
+		return (1);
+	      }
+	    }
+	  }
 
 	return (0);
 }
diff --git a/board/esd/common/fpga.c b/board/esd/common/fpga.c
index 50bce2e..f27943f 100644
--- a/board/esd/common/fpga.c
+++ b/board/esd/common/fpga.c
@@ -57,16 +57,16 @@
 #define SET_FPGA(data)         out32(GPIO0_OR, data)
 
 #define FPGA_WRITE_1 {                                                    \
-        SET_FPGA(FPGA_PRG |            FPGA_DATA);  /* set clock to 0 */  \
-        SET_FPGA(FPGA_PRG |            FPGA_DATA);  /* set data to 1  */  \
-        SET_FPGA(FPGA_PRG | FPGA_CLK | FPGA_DATA);  /* set clock to 1 */  \
-        SET_FPGA(FPGA_PRG | FPGA_CLK | FPGA_DATA);} /* set data to 1  */
+	SET_FPGA(FPGA_PRG |            FPGA_DATA);  /* set clock to 0 */  \
+	SET_FPGA(FPGA_PRG |            FPGA_DATA);  /* set data to 1  */  \
+	SET_FPGA(FPGA_PRG | FPGA_CLK | FPGA_DATA);  /* set clock to 1 */  \
+	SET_FPGA(FPGA_PRG | FPGA_CLK | FPGA_DATA);} /* set data to 1  */
 
 #define FPGA_WRITE_0 {                                                    \
-        SET_FPGA(FPGA_PRG |            FPGA_DATA);  /* set clock to 0 */  \
-        SET_FPGA(FPGA_PRG);                         /* set data to 0  */  \
-        SET_FPGA(FPGA_PRG | FPGA_CLK);              /* set clock to 1 */  \
-        SET_FPGA(FPGA_PRG | FPGA_CLK | FPGA_DATA);} /* set data to 1  */
+	SET_FPGA(FPGA_PRG |            FPGA_DATA);  /* set clock to 0 */  \
+	SET_FPGA(FPGA_PRG);                         /* set data to 0  */  \
+	SET_FPGA(FPGA_PRG | FPGA_CLK);              /* set clock to 1 */  \
+	SET_FPGA(FPGA_PRG | FPGA_CLK | FPGA_DATA);} /* set data to 1  */
 
 
 static int fpga_boot(unsigned char *fpgadata, int size)
@@ -94,10 +94,10 @@
   while (1)
     {
       if ((fpgadata[index] == 0xff) && (fpgadata[index+1] == 0xff) &&
-          (fpgadata[index+2] == 0xff) && (fpgadata[index+3] == 0xff))
-        break; /* preamble found */
+	  (fpgadata[index+2] == 0xff) && (fpgadata[index+3] == 0xff))
+	break; /* preamble found */
       else
-        index++;
+	index++;
     }
 #else
   /* search for preamble 0xFF2X */
@@ -134,10 +134,10 @@
       udelay(1000); /* wait 1ms */
       /* Check for timeout - 100us max, so use 3ms */
       if (count++ > 3)
-        {
-          DBG("FPGA: Booting failed!\n");
-          return ERROR_FPGA_PRG_INIT_LOW;
-        }
+	{
+	  DBG("FPGA: Booting failed!\n");
+	  return ERROR_FPGA_PRG_INIT_LOW;
+	}
     }
 
   DBG("%s, ",((in32(GPIO0_IR) & FPGA_DONE) == 0) ? "NOT DONE" : "DONE" );
@@ -153,10 +153,10 @@
       udelay(1000); /* wait 1ms */
       /* Check for timeout */
       if (count++ > 3)
-        {
-          DBG("FPGA: Booting failed!\n");
-          return ERROR_FPGA_PRG_INIT_HIGH;
-        }
+	{
+	  DBG("FPGA: Booting failed!\n");
+	  return ERROR_FPGA_PRG_INIT_HIGH;
+	}
     }
 
   DBG("%s, ",((in32(GPIO0_IR) & FPGA_DONE) == 0) ? "NOT DONE" : "DONE" );
@@ -172,17 +172,17 @@
   for (i=index; i<size; i++)
     {
       for (j=0; j<8; j++)
-        {
-          if ((fpgadata[i] & 0x80) == 0x80)
+	{
+	  if ((fpgadata[i] & 0x80) == 0x80)
 	    {
-              FPGA_WRITE_1;
+	      FPGA_WRITE_1;
 	    }
-          else
+	  else
 	    {
-              FPGA_WRITE_0;
+	      FPGA_WRITE_0;
 	    }
-          fpgadata[i] <<= 1;
-        }
+	  fpgadata[i] <<= 1;
+	}
     }
 #else
   /* send 0xff 0x20 */
@@ -205,30 +205,30 @@
       if ((b >= 1) && (b <= MAX_ONES))
 	{
 	  for(bit=0; bit<b; bit++)
-            {
-              FPGA_WRITE_1;
-            }
+	    {
+	      FPGA_WRITE_1;
+	    }
 	  FPGA_WRITE_0;
 	}
       else if (b == (MAX_ONES+1))
 	{
 	  for(bit=1; bit<b; bit++)
-            {
-              FPGA_WRITE_1;
-            }
+	    {
+	      FPGA_WRITE_1;
+	    }
 	}
       else if ((b >= (MAX_ONES+2)) && (b <= 254))
 	{
 	  for(bit=0; bit<(b-(MAX_ONES+2)); bit++)
-            {
-              FPGA_WRITE_0;
-            }
-          FPGA_WRITE_1;
+	    {
+	      FPGA_WRITE_0;
+	    }
+	  FPGA_WRITE_1;
 	}
       else if (b == 255)
-        {
-          FPGA_WRITE_1;
-        }
+	{
+	  FPGA_WRITE_1;
+	}
     }
 #endif
 
@@ -246,10 +246,10 @@
       udelay(1000); /* wait 1ms */
       /* Check for timeout */
       if (count++ > 3)
-        {
-          DBG("FPGA: Booting failed!\n");
-          return ERROR_FPGA_PRG_DONE;
-        }
+	{
+	  DBG("FPGA: Booting failed!\n");
+	  return ERROR_FPGA_PRG_DONE;
+	}
     }
 
   DBG("FPGA: Booting successful!\n");
diff --git a/board/esd/cpci405/Makefile b/board/esd/cpci405/Makefile
index 39d2fec..f5bda55 100644
--- a/board/esd/cpci405/Makefile
+++ b/board/esd/cpci405/Makefile
@@ -28,7 +28,7 @@
 OBJS	= $(BOARD).o flash.o
 
 $(LIB):	$(OBJS) $(SOBJS)
-	$(AR) crv $@ $^
+	$(AR) crv $@ $(OBJS)
 
 clean:
 	rm -f $(SOBJS) $(OBJS)
diff --git a/board/esd/cpci405/cpci405.c b/board/esd/cpci405/cpci405.c
index 5a6a27c..3f0ef1e 100644
--- a/board/esd/cpci405/cpci405.c
+++ b/board/esd/cpci405/cpci405.c
@@ -24,11 +24,10 @@
 #include <common.h>
 #include <asm/processor.h>
 #include <command.h>
-#include <cmd_boot.h>
 #include <malloc.h>
 
 /* ------------------------------------------------------------------------- */
-
+extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);       /*cmd_boot.c*/
 #if 0
 #define FPGA_DEBUG
 #endif
diff --git a/board/esd/cpci405/u-boot.lds b/board/esd/cpci405/u-boot.lds
index 97851f1..311a5fe 100644
--- a/board/esd/cpci405/u-boot.lds
+++ b/board/esd/cpci405/u-boot.lds
@@ -119,6 +119,11 @@
   _edata  =  .;
   PROVIDE (edata = .);
 
+  __u_boot_cmd_start = .;
+  .u_boot_cmd : { *(.u_boot_cmd) }
+  __u_boot_cmd_end = .;
+
+
   __start___ex_table = .;
   __ex_table : { *(__ex_table) }
   __stop___ex_table = .;
diff --git a/board/esd/cpci440/Makefile b/board/esd/cpci440/Makefile
index 4e1f701..f706ebc 100644
--- a/board/esd/cpci440/Makefile
+++ b/board/esd/cpci440/Makefile
@@ -29,7 +29,7 @@
 SOBJS	= init.o
 
 $(LIB):	$(OBJS) $(SOBJS)
-	$(AR) crv $@ $^
+	$(AR) crv $@ $(OBJS)
 
 clean:
 	rm -f $(SOBJS) $(OBJS)
diff --git a/board/esd/cpci440/cpci440.c b/board/esd/cpci440/cpci440.c
index 51a5edd..66cfe06 100644
--- a/board/esd/cpci440/cpci440.c
+++ b/board/esd/cpci440/cpci440.c
@@ -66,7 +66,6 @@
 }
 
 
-
 int checkboard (void)
 {
 	sys_info_t sysinfo;
diff --git a/board/esd/cpci440/init.S b/board/esd/cpci440/init.S
index 2dab9f9..82f37fd 100644
--- a/board/esd/cpci440/init.S
+++ b/board/esd/cpci440/init.S
@@ -92,5 +92,3 @@
     tlbentry( CFG_ISRAM_BASE + 0x1000, SZ_4K, 0x80001000, 0, AC_R|AC_W|AC_X )
     tlbentry( CFG_SDRAM_BASE, SZ_256M, 0x00000000, 0, AC_R|AC_W|AC_X )
     tlbtab_end
-
-
diff --git a/board/esd/cpci440/strataflash.c b/board/esd/cpci440/strataflash.c
index de57318..2f055c2 100644
--- a/board/esd/cpci440/strataflash.c
+++ b/board/esd/cpci440/strataflash.c
@@ -89,8 +89,6 @@
 #define FLASH_MAN_CFI			0x01000000
 
 
-
-
 typedef union {
 	unsigned char c;
 	unsigned short w;
@@ -113,7 +111,6 @@
  */
 
 
-
 static void flash_add_byte(flash_info_t *info, cfiword_t * cword, uchar c);
 static void flash_make_cmd(flash_info_t * info, uchar cmd, void * cmdbuf);
 static void flash_write_cmd(flash_info_t * info, int sect, uchar offset, uchar cmd);
diff --git a/board/esd/cpci440/u-boot.lds b/board/esd/cpci440/u-boot.lds
index 35d9931..46ccf31 100644
--- a/board/esd/cpci440/u-boot.lds
+++ b/board/esd/cpci440/u-boot.lds
@@ -126,6 +126,11 @@
   _edata  =  .;
   PROVIDE (edata = .);
 
+  __u_boot_cmd_start = .;
+  .u_boot_cmd : { *(.u_boot_cmd) }
+  __u_boot_cmd_end = .;
+
+
   __start___ex_table = .;
   __ex_table : { *(__ex_table) }
   __stop___ex_table = .;
diff --git a/board/esd/cpciiser4/Makefile b/board/esd/cpciiser4/Makefile
index 39d2fec..f5bda55 100644
--- a/board/esd/cpciiser4/Makefile
+++ b/board/esd/cpciiser4/Makefile
@@ -28,7 +28,7 @@
 OBJS	= $(BOARD).o flash.o
 
 $(LIB):	$(OBJS) $(SOBJS)
-	$(AR) crv $@ $^
+	$(AR) crv $@ $(OBJS)
 
 clean:
 	rm -f $(SOBJS) $(OBJS)
diff --git a/board/esd/cpciiser4/cpciiser4.c b/board/esd/cpciiser4/cpciiser4.c
index 2e10412..725abe9 100644
--- a/board/esd/cpciiser4/cpciiser4.c
+++ b/board/esd/cpciiser4/cpciiser4.c
@@ -25,7 +25,11 @@
 #include "cpciiser4.h"
 #include <asm/processor.h>
 #include <command.h>
-#include <cmd_boot.h>
+
+/*cmd_boot.c*/
+
+extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
+
 
 /* ------------------------------------------------------------------------- */
 
diff --git a/board/esd/cpciiser4/flash.c b/board/esd/cpciiser4/flash.c
index 685850e..de847f9 100644
--- a/board/esd/cpciiser4/flash.c
+++ b/board/esd/cpciiser4/flash.c
@@ -43,8 +43,8 @@
 {
 	unsigned long size_b0;
 	int i;
-        uint pbcr;
-        unsigned long base_b0;
+	uint pbcr;
+	unsigned long base_b0;
 
 	/* Init: no FLASHes known */
 	for (i=0; i<CFG_MAX_FLASH_BANKS; ++i) {
@@ -60,25 +60,25 @@
 			size_b0, size_b0<<20);
 	}
 
-        /* Setup offsets */
-        flash_get_offsets (-size_b0, &flash_info[0]);
+	/* Setup offsets */
+	flash_get_offsets (-size_b0, &flash_info[0]);
 
-        /* Re-do sizing to get full correct info */
-        mtdcr(ebccfga, pb0cr);
-        pbcr = mfdcr(ebccfgd);
-        mtdcr(ebccfga, pb0cr);
-        base_b0 = -size_b0;
-        pbcr = (pbcr & 0x0001ffff) | base_b0 | (((size_b0/1024/1024)-1)<<17);
-        mtdcr(ebccfgd, pbcr);
-        /*          printf("pb1cr = %x\n", pbcr); */
+	/* Re-do sizing to get full correct info */
+	mtdcr(ebccfga, pb0cr);
+	pbcr = mfdcr(ebccfgd);
+	mtdcr(ebccfga, pb0cr);
+	base_b0 = -size_b0;
+	pbcr = (pbcr & 0x0001ffff) | base_b0 | (((size_b0/1024/1024)-1)<<17);
+	mtdcr(ebccfgd, pbcr);
+	/*          printf("pb1cr = %x\n", pbcr); */
 
-        /* Monitor protection ON by default */
-        (void)flash_protect(FLAG_PROTECT_SET,
-                            -monitor_flash_len,
-                            0xffffffff,
-                            &flash_info[0]);
+	/* Monitor protection ON by default */
+	(void)flash_protect(FLAG_PROTECT_SET,
+			    -monitor_flash_len,
+			    0xffffffff,
+			    &flash_info[0]);
 
-        flash_info[0].size = size_b0;
+	flash_info[0].size = size_b0;
 
 	return (size_b0);
 }
diff --git a/board/esd/cpciiser4/u-boot.lds b/board/esd/cpciiser4/u-boot.lds
index 97851f1..311a5fe 100644
--- a/board/esd/cpciiser4/u-boot.lds
+++ b/board/esd/cpciiser4/u-boot.lds
@@ -119,6 +119,11 @@
   _edata  =  .;
   PROVIDE (edata = .);
 
+  __u_boot_cmd_start = .;
+  .u_boot_cmd : { *(.u_boot_cmd) }
+  __u_boot_cmd_end = .;
+
+
   __start___ex_table = .;
   __ex_table : { *(__ex_table) }
   __stop___ex_table = .;
diff --git a/board/esd/dasa_sim/Makefile b/board/esd/dasa_sim/Makefile
index 29aaf3b..e3b1c87 100644
--- a/board/esd/dasa_sim/Makefile
+++ b/board/esd/dasa_sim/Makefile
@@ -1,3 +1,4 @@
+
 #
 # (C) Copyright 2000
 # Wolfgang Denk, DENX Software Engineering, wd@denx.de.
@@ -28,7 +29,7 @@
 OBJS	= $(BOARD).o flash.o cmd_dasa_sim.o eeprom.o ../common/pci.o
 
 $(LIB):	$(OBJS)
-	$(AR) crv $@ $^
+	$(AR) crv $@ $(OBJS)
 
 clean:
 	rm -f $(SOBJS) $(OBJS)
diff --git a/board/esd/dasa_sim/cmd_dasa_sim.c b/board/esd/dasa_sim/cmd_dasa_sim.c
index 4608da7..0ebe09e 100644
--- a/board/esd/dasa_sim/cmd_dasa_sim.c
+++ b/board/esd/dasa_sim/cmd_dasa_sim.c
@@ -42,195 +42,194 @@
  *
  */
 
-static unsigned int PciEepromReadLongVPD(int offs)
+static unsigned int PciEepromReadLongVPD (int offs)
 {
-  unsigned int value;
-  unsigned int ret;
-  int count;
+	unsigned int value;
+	unsigned int ret;
+	int count;
 
-  pci_write_config_dword(CFG_PCI9054_DEV_FN, 0x4c, (offs<<16) | 0x0003);
-  count = 0;
+	pci_write_config_dword (CFG_PCI9054_DEV_FN, 0x4c,
+				(offs << 16) | 0x0003);
+	count = 0;
 
-  for (;;)
-    {
-      udelay(10 * 1000);
-      pci_read_config_dword(CFG_PCI9054_DEV_FN, 0x4c, &ret);
-      if ((ret & 0x80000000) != 0)
-        {
-          break;
-        }
-      else
-        {
-          count++;
-          if (count > 10)
-            {
-              printf("\nTimeout: ret=%08x - Please try again!\n", ret);
-              break;
-            }
-        }
-    }
+	for (;;) {
+		udelay (10 * 1000);
+		pci_read_config_dword (CFG_PCI9054_DEV_FN, 0x4c, &ret);
+		if ((ret & 0x80000000) != 0) {
+			break;
+		} else {
+			count++;
+			if (count > 10) {
+				printf ("\nTimeout: ret=%08x - Please try again!\n", ret);
+				break;
+			}
+		}
+	}
 
-  pci_read_config_dword(CFG_PCI9054_DEV_FN, 0x50, &value);
+	pci_read_config_dword (CFG_PCI9054_DEV_FN, 0x50, &value);
 
-  return value;
+	return value;
 }
 
 
-static int PciEepromWriteLongVPD(int offs, unsigned int value)
+static int PciEepromWriteLongVPD (int offs, unsigned int value)
 {
-  unsigned int ret;
-  int count;
+	unsigned int ret;
+	int count;
 
-  pci_write_config_dword(CFG_PCI9054_DEV_FN, 0x50, value);
-  pci_write_config_dword(CFG_PCI9054_DEV_FN, 0x4c, (offs<<16) | 0x80000003);
-  count = 0;
+	pci_write_config_dword (CFG_PCI9054_DEV_FN, 0x50, value);
+	pci_write_config_dword (CFG_PCI9054_DEV_FN, 0x4c,
+				(offs << 16) | 0x80000003);
+	count = 0;
 
-  for (;;)
-    {
-      udelay(10 * 1000);
-      pci_read_config_dword(CFG_PCI9054_DEV_FN, 0x4c, &ret);
-      if ((ret & 0x80000000) == 0)
-        {
-          break;
-        }
-      else
-        {
-          count++;
-          if (count > 10)
-            {
-              printf("\nTimeout: ret=%08x - Please try again!\n", ret);
-              break;
-            }
-        }
-    }
+	for (;;) {
+		udelay (10 * 1000);
+		pci_read_config_dword (CFG_PCI9054_DEV_FN, 0x4c, &ret);
+		if ((ret & 0x80000000) == 0) {
+			break;
+		} else {
+			count++;
+			if (count > 10) {
+				printf ("\nTimeout: ret=%08x - Please try again!\n", ret);
+				break;
+			}
+		}
+	}
 
-  return TRUE;
+	return TRUE;
 }
 
 
-static void showPci9054(void)
+static void showPci9054 (void)
 {
-  int val;
-  int l, i;
+	int val;
+	int l, i;
 
-  /* read 9054-values */
-  for (l=0; l<6; l++)
-    {
-      printf("%02x: ", l*0x10);
-      for (i=0; i<4; i++)
-        {
-	  pci_read_config_dword(CFG_PCI9054_DEV_FN, l*16+i*4, &val);
-          printf("%08x ", val);
-        }
-      printf("\n");
-    }
-  printf("\n");
+	/* read 9054-values */
+	for (l = 0; l < 6; l++) {
+		printf ("%02x: ", l * 0x10);
+		for (i = 0; i < 4; i++) {
+			pci_read_config_dword (CFG_PCI9054_DEV_FN,
+						l * 16 + i * 4,
+						&val);
+			printf ("%08x ", val);
+		}
+		printf ("\n");
+	}
+	printf ("\n");
 
-  for (l=0; l<7; l++)
-    {
-      printf("%02x: ", l*0x10);
-      for (i=0; i<4; i++)
-        printf("%08x ", PciEepromReadLongVPD((i+l*4)*4));
-      printf("\n");
-    }
-  printf("\n");
+	for (l = 0; l < 7; l++) {
+		printf ("%02x: ", l * 0x10);
+		for (i = 0; i < 4; i++)
+			printf ("%08x ",
+				PciEepromReadLongVPD ((i + l * 4) * 4));
+		printf ("\n");
+	}
+	printf ("\n");
 }
 
 
-static void updatePci9054(void)
+static void updatePci9054 (void)
 {
-  int val;
+	int val;
 
-  /*
-   * Set EEPROM write-protect register to 0
-   */
-  out32(pci9054_iobase+0x0c, in32(pci9054_iobase+0x0c) & 0xffff00ff);
+	/*
+	 * Set EEPROM write-protect register to 0
+	 */
+	out32 (pci9054_iobase + 0x0c,
+		   in32 (pci9054_iobase + 0x0c) & 0xffff00ff);
 
-  /* Long Serial EEPROM Load Registers... */
-  val = PciEepromWriteLongVPD(0x00, 0x905410b5);
-  val = PciEepromWriteLongVPD(0x04, 0x09800001); /* other input controller */
-  val = PciEepromWriteLongVPD(0x08, 0x28140100);
+	/* Long Serial EEPROM Load Registers... */
+	val = PciEepromWriteLongVPD (0x00, 0x905410b5);
+	val = PciEepromWriteLongVPD (0x04, 0x09800001);	/* other input controller */
+	val = PciEepromWriteLongVPD (0x08, 0x28140100);
 
-  val = PciEepromWriteLongVPD(0x0c, 0x00000000); /* MBOX0... */
-  val = PciEepromWriteLongVPD(0x10, 0x00000000);
+	val = PciEepromWriteLongVPD (0x0c, 0x00000000);	/* MBOX0... */
+	val = PciEepromWriteLongVPD (0x10, 0x00000000);
 
-  /* las0: fpga access (0x0000.0000 ... 0x0003.ffff) */
-  val = PciEepromWriteLongVPD(0x14, 0xfffc0000); /* LAS0RR... */
-  val = PciEepromWriteLongVPD(0x18, 0x00000001); /* LAS0BA */
+	/* las0: fpga access (0x0000.0000 ... 0x0003.ffff) */
+	val = PciEepromWriteLongVPD (0x14, 0xfffc0000);	/* LAS0RR... */
+	val = PciEepromWriteLongVPD (0x18, 0x00000001);	/* LAS0BA */
 
-  val = PciEepromWriteLongVPD(0x1c, 0x00200000); /* MARBR... */
-  val = PciEepromWriteLongVPD(0x20, 0x00300500); /* LMISC/BIGEND */
+	val = PciEepromWriteLongVPD (0x1c, 0x00200000);	/* MARBR... */
+	val = PciEepromWriteLongVPD (0x20, 0x00300500);	/* LMISC/BIGEND */
 
-  val = PciEepromWriteLongVPD(0x24, 0x00000000); /* EROMRR... */
-  val = PciEepromWriteLongVPD(0x28, 0x00000000); /* EROMBA */
+	val = PciEepromWriteLongVPD (0x24, 0x00000000);	/* EROMRR... */
+	val = PciEepromWriteLongVPD (0x28, 0x00000000);	/* EROMBA */
 
-  val = PciEepromWriteLongVPD(0x2c, 0x43030000); /* LBRD0... */
+	val = PciEepromWriteLongVPD (0x2c, 0x43030000);	/* LBRD0... */
 
-  val = PciEepromWriteLongVPD(0x30, 0x00000000); /* DMRR... */
-  val = PciEepromWriteLongVPD(0x34, 0x00000000);
-  val = PciEepromWriteLongVPD(0x38, 0x00000000);
+	val = PciEepromWriteLongVPD (0x30, 0x00000000);	/* DMRR... */
+	val = PciEepromWriteLongVPD (0x34, 0x00000000);
+	val = PciEepromWriteLongVPD (0x38, 0x00000000);
 
-  val = PciEepromWriteLongVPD(0x3c, 0x00000000); /* DMPBAM... */
-  val = PciEepromWriteLongVPD(0x40, 0x00000000);
+	val = PciEepromWriteLongVPD (0x3c, 0x00000000);	/* DMPBAM... */
+	val = PciEepromWriteLongVPD (0x40, 0x00000000);
 
-  /* Extra Long Serial EEPROM Load Registers... */
-  val = PciEepromWriteLongVPD(0x44, 0x010212fe); /* PCISID... */
+	/* Extra Long Serial EEPROM Load Registers... */
+	val = PciEepromWriteLongVPD (0x44, 0x010212fe);	/* PCISID... */
 
-  /* las1: 505-sram access (0x0004.0000 ... 0x001f.ffff) */
-  /* Offset to LAS1: Group 1: 0x00040000                 */
-  /*                 Group 2: 0x00080000                 */
-  /*                 Group 3: 0x000c0000                 */
-  val = PciEepromWriteLongVPD(0x48, 0xffe00000); /* LAS1RR */
-  val = PciEepromWriteLongVPD(0x4c, 0x00040001); /* LAS1BA */
-  val = PciEepromWriteLongVPD(0x50, 0x00000208); /* LBRD1 */ /* so wars bisher */
+	/* las1: 505-sram access (0x0004.0000 ... 0x001f.ffff) */
+	/* Offset to LAS1: Group 1: 0x00040000                 */
+	/*                 Group 2: 0x00080000                 */
+	/*                 Group 3: 0x000c0000                 */
+	val = PciEepromWriteLongVPD (0x48, 0xffe00000);	/* LAS1RR */
+	val = PciEepromWriteLongVPD (0x4c, 0x00040001);	/* LAS1BA */
+	val = PciEepromWriteLongVPD (0x50, 0x00000208);	/* LBRD1 */ /* so wars bisher */
 
-  val = PciEepromWriteLongVPD(0x54, 0x00004c06); /* HotSwap... */
+	val = PciEepromWriteLongVPD (0x54, 0x00004c06);	/* HotSwap... */
 
-  printf("Finished writing defaults into PLX PCI9054 EEPROM!\n");
+	printf ("Finished writing defaults into PLX PCI9054 EEPROM!\n");
 }
 
 
-static void clearPci9054(void)
+static void clearPci9054 (void)
 {
-  int val;
+	int val;
 
-  /*
-   * Set EEPROM write-protect register to 0
-   */
-  out32(pci9054_iobase+0x0c, in32(pci9054_iobase+0x0c) & 0xffff00ff);
+	/*
+	 * Set EEPROM write-protect register to 0
+	 */
+	out32 (pci9054_iobase + 0x0c,
+		in32 (pci9054_iobase + 0x0c) & 0xffff00ff);
 
-  /* Long Serial EEPROM Load Registers... */
-  val = PciEepromWriteLongVPD(0x00, 0xffffffff);
-  val = PciEepromWriteLongVPD(0x04, 0xffffffff); /* other input controller */
+	/* Long Serial EEPROM Load Registers... */
+	val = PciEepromWriteLongVPD (0x00, 0xffffffff);
+	val = PciEepromWriteLongVPD (0x04, 0xffffffff);	/* other input controller */
 
-  printf("Finished clearing PLX PCI9054 EEPROM!\n");
+	printf ("Finished clearing PLX PCI9054 EEPROM!\n");
 }
 
 
 /* ------------------------------------------------------------------------- */
-int do_pci9054(cmd_tbl_t *cmdtp, bd_t *bd, int flag, int argc, char *argv[])
+int do_pci9054 (cmd_tbl_t * cmdtp, int flag, int argc,
+				char *argv[])
 {
-  if (strcmp(argv[1], "info") == 0)
-    {
-      showPci9054();
-      return 0;
-    }
+	if (strcmp (argv[1], "info") == 0) {
+		showPci9054 ();
+		return 0;
+	}
 
-  if (strcmp(argv[1], "update") == 0)
-    {
-      updatePci9054();
-      return 0;
-    }
+	if (strcmp (argv[1], "update") == 0) {
+		updatePci9054 ();
+		return 0;
+	}
 
-  if (strcmp(argv[1], "clear") == 0)
-    {
-      clearPci9054();
-      return 0;
-    }
+	if (strcmp (argv[1], "clear") == 0) {
+		clearPci9054 ();
+		return 0;
+	}
 
-  printf("Usage:\n%s\n", cmdtp->usage);
-  return 1;
+	printf ("Usage:\n%s\n", cmdtp->usage);
+	return 1;
 
 }
 
+cmd_tbl_t U_BOOT_CMD (pci9054) = MK_CMD_ENTRY(
+	"pci9054", 3, 1, do_pci9054,
+	"pci9054 - PLX PCI9054 EEPROM access\n",
+	"pci9054 info - print EEPROM values\n"
+	"pci9054 update - updates EEPROM with default values\n"
+);
+
 /* ------------------------------------------------------------------------- */
diff --git a/board/esd/dasa_sim/eeprom.c b/board/esd/dasa_sim/eeprom.c
index 59ef1d6..1b4c7b3 100644
--- a/board/esd/dasa_sim/eeprom.c
+++ b/board/esd/dasa_sim/eeprom.c
@@ -46,7 +46,7 @@
       ret = *(unsigned short *)EEPROM_CAP;
 
       if ((ret & 0x8000) != 0)
-        break;
+	break;
     }
 
   value = *(unsigned long *)EEPROM_DATA;
@@ -83,7 +83,7 @@
       ret = *(unsigned short *)EEPROM_CAP;
 
       if ((ret & 0x8000) == 0)
-        break;
+	break;
     }
 }
 
@@ -107,7 +107,7 @@
   int i;
   int len2, ptr;
 
-  /*  printf("\naddr=%x alen=%x buffer=%x len=%x", addr[0], addr[1], *(short *)addr, alen, buffer, len); // test-only */
+  /*  printf("\naddr=%x alen=%x buffer=%x len=%x", addr[0], addr[1], *(short *)addr, alen, buffer, len); /###* test-only */
 
   ptr = *(short *)addr;
 
@@ -146,7 +146,7 @@
   int i;
   int len2, ptr;
 
-  /*  printf("\naddr=%x alen=%x buffer=%x len=%x", addr[0], addr[1], *(short *)addr, alen, buffer, len); // test-only */
+  /*  printf("\naddr=%x alen=%x buffer=%x len=%x", addr[0], addr[1], *(short *)addr, alen, buffer, len); /###* test-only */
 
   ptr = *(short *)addr;
 
diff --git a/board/esd/dasa_sim/flash.c b/board/esd/dasa_sim/flash.c
index 32cd64c..d2ac13f 100644
--- a/board/esd/dasa_sim/flash.c
+++ b/board/esd/dasa_sim/flash.c
@@ -43,8 +43,8 @@
 unsigned long flash_init (void)
 {
 	unsigned long size_b0;
-        int i;
-        unsigned long base_b0;
+	int i;
+	unsigned long base_b0;
 
 	/* Init: no FLASHes known */
 	for (i=0; i<CFG_MAX_FLASH_BANKS; ++i) {
@@ -60,18 +60,18 @@
 			size_b0, size_b0<<20);
 	}
 
-        /* Setup offsets */
-        flash_get_offsets (-size_b0, &flash_info[0]);
+	/* Setup offsets */
+	flash_get_offsets (-size_b0, &flash_info[0]);
 
-        base_b0 = -size_b0;
+	base_b0 = -size_b0;
 
-        /* Monitor protection ON by default */
-        (void)flash_protect(FLAG_PROTECT_SET,
-                            -monitor_flash_len,
-                            0xffffffff,
-                            &flash_info[0]);
+	/* Monitor protection ON by default */
+	(void)flash_protect(FLAG_PROTECT_SET,
+			    -monitor_flash_len,
+			    0xffffffff,
+			    &flash_info[0]);
 
-        flash_info[0].size = size_b0;
+	flash_info[0].size = size_b0;
 
 	return (size_b0);
 }
diff --git a/board/esd/dasa_sim/u-boot.lds b/board/esd/dasa_sim/u-boot.lds
index 03c0cef..5e7b225 100644
--- a/board/esd/dasa_sim/u-boot.lds
+++ b/board/esd/dasa_sim/u-boot.lds
@@ -133,6 +133,11 @@
   _edata  =  .;
   PROVIDE (edata = .);
 
+  __u_boot_cmd_start = .;
+  .u_boot_cmd : { *(.u_boot_cmd) }
+  __u_boot_cmd_end = .;
+
+
   __start___ex_table = .;
   __ex_table : { *(__ex_table) }
   __stop___ex_table = .;
diff --git a/board/esd/du405/Makefile b/board/esd/du405/Makefile
index 1123673..e6d7dd0 100644
--- a/board/esd/du405/Makefile
+++ b/board/esd/du405/Makefile
@@ -28,7 +28,7 @@
 OBJS	= $(BOARD).o flash.o
 
 $(LIB):	$(OBJS) $(SOBJS)
-	$(AR) crv $@ $^
+	$(AR) crv $@ $(OBJS)
 
 clean:
 	rm -f $(SOBJS) $(OBJS)
diff --git a/board/esd/du405/du405.c b/board/esd/du405/du405.c
index 184cda8..7b430ea 100644
--- a/board/esd/du405/du405.c
+++ b/board/esd/du405/du405.c
@@ -27,7 +27,10 @@
 #include <ppc4xx.h>
 #include <405gp_i2c.h>
 #include <command.h>
-#include <cmd_boot.h>
+
+/*cmd_boot.c*/
+
+extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
 
 /* ------------------------------------------------------------------------- */
 
diff --git a/board/esd/du405/u-boot.lds b/board/esd/du405/u-boot.lds
index 463e388..b1793a2 100644
--- a/board/esd/du405/u-boot.lds
+++ b/board/esd/du405/u-boot.lds
@@ -119,6 +119,11 @@
   _edata  =  .;
   PROVIDE (edata = .);
 
+  __u_boot_cmd_start = .;
+  .u_boot_cmd : { *(.u_boot_cmd) }
+  __u_boot_cmd_end = .;
+
+
   __start___ex_table = .;
   __ex_table : { *(__ex_table) }
   __stop___ex_table = .;
diff --git a/board/esd/ocrtc/Makefile b/board/esd/ocrtc/Makefile
index 45d3d8d..b059f73 100644
--- a/board/esd/ocrtc/Makefile
+++ b/board/esd/ocrtc/Makefile
@@ -28,7 +28,7 @@
 OBJS	= $(BOARD).o flash.o
 
 $(LIB):	$(OBJS) $(SOBJS)
-	$(AR) crv $@ $^
+	$(AR) crv $@ $(OBJS)
 
 clean:
 	rm -f $(SOBJS) $(OBJS)
diff --git a/board/esd/ocrtc/ocrtc.c b/board/esd/ocrtc/ocrtc.c
index 3c3d56e..0600273 100644
--- a/board/esd/ocrtc/ocrtc.c
+++ b/board/esd/ocrtc/ocrtc.c
@@ -26,7 +26,6 @@
 #include <asm/processor.h>
 #include <i2c.h>
 #include <command.h>
-#include <cmd_boot.h>
 
 /* ------------------------------------------------------------------------- */
 
diff --git a/board/esd/ocrtc/u-boot.lds b/board/esd/ocrtc/u-boot.lds
index 8e940a8..251a4cc 100644
--- a/board/esd/ocrtc/u-boot.lds
+++ b/board/esd/ocrtc/u-boot.lds
@@ -119,6 +119,11 @@
   _edata  =  .;
   PROVIDE (edata = .);
 
+  __u_boot_cmd_start = .;
+  .u_boot_cmd : { *(.u_boot_cmd) }
+  __u_boot_cmd_end = .;
+
+
   __start___ex_table = .;
   __ex_table : { *(__ex_table) }
   __stop___ex_table = .;
diff --git a/board/esd/pci405/Makefile b/board/esd/pci405/Makefile
index 62d7bf9..fd72b18 100644
--- a/board/esd/pci405/Makefile
+++ b/board/esd/pci405/Makefile
@@ -28,7 +28,7 @@
 OBJS	= $(BOARD).o flash.o cmd_pci405.o
 
 $(LIB):	$(OBJS) $(SOBJS)
-	$(AR) crv $@ $^
+	$(AR) crv $@ $(OBJS)
 
 clean:
 	rm -f $(SOBJS) $(OBJS)
diff --git a/board/esd/pci405/cmd_pci405.c b/board/esd/pci405/cmd_pci405.c
index 555dc0c..df91cd4 100644
--- a/board/esd/pci405/cmd_pci405.c
+++ b/board/esd/pci405/cmd_pci405.c
@@ -22,12 +22,12 @@
  */
 
 #include <common.h>
+#include <command.h>
 #include <malloc.h>
 #include <net.h>
 #include <asm/io.h>
 #include <pci.h>
 #include <405gp_pci.h>
-#include <cmd_bsp.h>
 
 #include "pci405.h"
 
diff --git a/board/esd/pci405/flash.c b/board/esd/pci405/flash.c
index 1707dcf..3b21781 100644
--- a/board/esd/pci405/flash.c
+++ b/board/esd/pci405/flash.c
@@ -43,8 +43,8 @@
 {
 	unsigned long size_b0;
 	int i;
-        uint pbcr;
-        unsigned long base_b0;
+	uint pbcr;
+	unsigned long base_b0;
 	int size_val = 0;
 
 	/* Init: no FLASHes known */
@@ -61,14 +61,14 @@
 			size_b0, size_b0<<20);
 	}
 
-        /* Setup offsets */
-        flash_get_offsets (-size_b0, &flash_info[0]);
+	/* Setup offsets */
+	flash_get_offsets (-size_b0, &flash_info[0]);
 
-        /* Re-do sizing to get full correct info */
-        mtdcr(ebccfga, pb0cr);
-        pbcr = mfdcr(ebccfgd);
-        mtdcr(ebccfga, pb0cr);
-        base_b0 = -size_b0;
+	/* Re-do sizing to get full correct info */
+	mtdcr(ebccfga, pb0cr);
+	pbcr = mfdcr(ebccfgd);
+	mtdcr(ebccfga, pb0cr);
+	base_b0 = -size_b0;
 	switch (size_b0) {
 	case 1 << 20:
 		size_val = 0;
@@ -87,15 +87,15 @@
 		break;
 	}
 	pbcr = (pbcr & 0x0001ffff) | base_b0 | (size_val << 17);
-        mtdcr(ebccfgd, pbcr);
+	mtdcr(ebccfgd, pbcr);
 
-        /* Monitor protection ON by default */
-        (void)flash_protect(FLAG_PROTECT_SET,
-                            -monitor_flash_len,
-                            0xffffffff,
-                            &flash_info[0]);
+	/* Monitor protection ON by default */
+	(void)flash_protect(FLAG_PROTECT_SET,
+			    -monitor_flash_len,
+			    0xffffffff,
+			    &flash_info[0]);
 
-        flash_info[0].size = size_b0;
+	flash_info[0].size = size_b0;
 
 	return (size_b0);
 }
diff --git a/board/esd/pci405/pci405.c b/board/esd/pci405/pci405.c
index 18d24a8..cc45fa9 100644
--- a/board/esd/pci405/pci405.c
+++ b/board/esd/pci405/pci405.c
@@ -24,7 +24,6 @@
 #include <common.h>
 #include <asm/processor.h>
 #include <command.h>
-#include <cmd_boot.h>
 #include <malloc.h>
 #include <pci.h>
 #include <405gp_pci.h>
@@ -33,7 +32,7 @@
 
 
 /* ------------------------------------------------------------------------- */
-
+extern int do_reset (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);/*cmd_boot.c*/
 #if 0
 #define FPGA_DEBUG
 #endif
diff --git a/board/esd/pci405/u-boot.lds b/board/esd/pci405/u-boot.lds
index 97851f1..311a5fe 100644
--- a/board/esd/pci405/u-boot.lds
+++ b/board/esd/pci405/u-boot.lds
@@ -119,6 +119,11 @@
   _edata  =  .;
   PROVIDE (edata = .);
 
+  __u_boot_cmd_start = .;
+  .u_boot_cmd : { *(.u_boot_cmd) }
+  __u_boot_cmd_end = .;
+
+
   __start___ex_table = .;
   __ex_table : { *(__ex_table) }
   __stop___ex_table = .;
diff --git a/board/esd/pmc405/Makefile b/board/esd/pmc405/Makefile
index 2fa097a..c4198c4 100644
--- a/board/esd/pmc405/Makefile
+++ b/board/esd/pmc405/Makefile
@@ -28,7 +28,7 @@
 OBJS	= $(BOARD).o strataflash.o
 
 $(LIB):	$(OBJS) $(SOBJS)
-	$(AR) crv $@ $^
+	$(AR) crv $@ $(OBJS)
 
 clean:
 	rm -f $(SOBJS) $(OBJS)
diff --git a/board/esd/pmc405/pmc405.c b/board/esd/pmc405/pmc405.c
index 78eed9f..5c2e98c 100644
--- a/board/esd/pmc405/pmc405.c
+++ b/board/esd/pmc405/pmc405.c
@@ -24,7 +24,6 @@
 #include <common.h>
 #include <asm/processor.h>
 #include <command.h>
-#include <cmd_boot.h>
 #include <malloc.h>
 
 /* ------------------------------------------------------------------------- */
diff --git a/board/esd/pmc405/strataflash.c b/board/esd/pmc405/strataflash.c
index 6578ed9..d21d885 100644
--- a/board/esd/pmc405/strataflash.c
+++ b/board/esd/pmc405/strataflash.c
@@ -24,7 +24,7 @@
 #include <common.h>
 #include <asm/processor.h>
 
-#undef  DEBUG_FLASH 
+#undef  DEBUG_FLASH
 /*
  * This file implements a Common Flash Interface (CFI) driver for ppcboot.
  * The width of the port and the width of the chips are determined at initialization.
@@ -89,8 +89,6 @@
 #define FLASH_MAN_CFI			0x01000000
 
 
-
-
 typedef union {
 	unsigned char c;
 	unsigned short w;
@@ -113,7 +111,6 @@
  */
 
 
-
 static void flash_add_byte(flash_info_t *info, cfiword_t * cword, uchar c);
 static void flash_make_cmd(flash_info_t * info, uchar cmd, void * cmdbuf);
 static void flash_write_cmd(flash_info_t * info, int sect, uchar offset, uchar cmd);
@@ -249,7 +246,7 @@
 			flash_write_cmd(info, sect, 0, FLASH_CMD_CLEAR_STATUS);
 			flash_write_cmd(info, sect, 0, FLASH_CMD_BLOCK_ERASE);
 			flash_write_cmd(info, sect, 0, FLASH_CMD_ERASE_CONFIRM);
-			
+
 			if(flash_full_status_check(info, sect, info->erase_blk_tout, "erase")) {
 				rcode = 1;
 			} else
@@ -277,7 +274,7 @@
 		info->size >> 20, info->sector_count);
 	printf(" Erase timeout %ld ms, write timeout %ld ms, buffer write timeout %ld ms, buffer size %d\n",
 	       info->erase_blk_tout, info->write_tout, info->buffer_write_tout, info->buffer_size);
-      
+
 	printf ("  Sector Start Addresses:");
 	for (i=0; i<info->sector_count; ++i) {
 #ifdef CFG_FLASH_EMPTY_INFO
@@ -286,28 +283,28 @@
 		int erased;
 		volatile unsigned long *flash;
 
-                /*
-                 * Check if whole sector is erased
-                 */
-                if (i != (info->sector_count-1))
-                  size = info->start[i+1] - info->start[i];
-                else
-                  size = info->start[0] + info->size - info->start[i];
-                erased = 1;
-                flash = (volatile unsigned long *)info->start[i];
-                size = size >> 2;        /* divide by 4 for longword access */
-                for (k=0; k<size; k++)
-                  {
-                    if (*flash++ != 0xffffffff)
-                      {
-                        erased = 0;
-                        break;
-                      }
-                  }
+		/*
+		 * Check if whole sector is erased
+		 */
+		if (i != (info->sector_count-1))
+		  size = info->start[i+1] - info->start[i];
+		else
+		  size = info->start[0] + info->size - info->start[i];
+		erased = 1;
+		flash = (volatile unsigned long *)info->start[i];
+		size = size >> 2;        /* divide by 4 for longword access */
+		for (k=0; k<size; k++)
+		  {
+		    if (*flash++ != 0xffffffff)
+		      {
+			erased = 0;
+			break;
+		      }
+		  }
 
 		if ((i % 5) == 0)
 			printf ("\n   ");
-                /* print empty and read-only info */
+		/* print empty and read-only info */
 		printf (" %08lX%s%s",
 			info->start[i],
 			erased ? " E" : "  ",
@@ -414,7 +411,7 @@
 	else
 		flash_write_cmd(info, sector, 0, FLASH_CMD_PROTECT_CLEAR);
 
-	if((retcode = flash_full_status_check(info, sector, info->erase_blk_tout, 
+	if((retcode = flash_full_status_check(info, sector, info->erase_blk_tout,
 					 prot?"protect":"unprotect")) == 0) {
 
 		info->protect[sector] = prot;
@@ -464,7 +461,7 @@
 			printf("Command Sequence Error.\n");
 		} else if(flash_isset(info, sector, 0, FLASH_STATUS_ECLBS)){
 			printf("Block Erase Error.\n");
-		        retcode = ERR_NOT_ERASED;
+			retcode = ERR_NOT_ERASED;
 		} else if (flash_isset(info, sector, 0, FLASH_STATUS_PSLBS)) {
 			printf("Locking Error\n");
 		}
@@ -733,7 +730,7 @@
 {
 	int sector;
 	for(sector = info->sector_count - 1; sector >= 0; sector--) {
-		if(addr >= info->start[sector]) 
+		if(addr >= info->start[sector])
 			break;
 	}
 	return sector;
@@ -741,7 +738,7 @@
 
 static int flash_write_cfibuffer(flash_info_t * info, ulong dest, uchar * cp, int len)
 {
-	
+
 	int sector;
 	int cnt;
 	int retcode;
@@ -789,8 +786,8 @@
 		flash_write_cmd(info, sector, 0, FLASH_CMD_WRITE_BUFFER_CONFIRM);
 		retcode = flash_full_status_check(info, sector, info->buffer_write_tout,
 					     "buffer write");
-	} 
+	}
 	flash_write_cmd(info, sector, 0, FLASH_CMD_CLEAR_STATUS);
 	return retcode;
-}	
+}
 #endif /* CFG_USE_FLASH_BUFFER_WRITE */
diff --git a/board/esd/pmc405/u-boot.lds b/board/esd/pmc405/u-boot.lds
index 463e388..bfd71db 100644
--- a/board/esd/pmc405/u-boot.lds
+++ b/board/esd/pmc405/u-boot.lds
@@ -119,6 +119,10 @@
   _edata  =  .;
   PROVIDE (edata = .);
 
+  __u_boot_cmd_start = .;
+  .u_boot_cmd : { *(.u_boot_cmd) }
+  __u_boot_cmd_end = .;
+
   __start___ex_table = .;
   __ex_table : { *(__ex_table) }
   __stop___ex_table = .;