* 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/hymod/Makefile b/board/hymod/Makefile
index 4d3097c..b52af9a 100644
--- a/board/hymod/Makefile
+++ b/board/hymod/Makefile
@@ -28,7 +28,7 @@
 OBJS	= $(BOARD).o flash.o bsp.o eeprom.o fetch.o input.o env.o
 
 $(LIB):	.depend $(OBJS)
-	$(AR) crv $@ $^
+	$(AR) crv $@ $(OBJS)
 
 #########################################################################
 
diff --git a/board/hymod/bsp.c b/board/hymod/bsp.c
index 02b6421..f131e51 100644
--- a/board/hymod/bsp.c
+++ b/board/hymod/bsp.c
@@ -276,7 +276,30 @@
 	printf ("Usage:\n%s\n", cmdtp->usage);
 	return 1;
 }
-
+cmd_tbl_t U_BOOT_CMD(fpga) = MK_CMD_ENTRY(
+	"fpga",	6,	1,	do_fpga,
+	"fpga    - FPGA sub-system\n",
+	"load [type] addr size\n"
+	"  - write the configuration data at memory address `addr',\n"
+	"    size `size' bytes, into the FPGA of type `type' (either\n"
+	"    `main' or `mezz', default `main'). e.g.\n"
+	"        `fpga load 100000 7d8f'\n"
+	"    loads the main FPGA with config data at address 100000\n"
+	"    HEX, size 7d8f HEX (32143 DEC) bytes\n"
+	"fpga tftp file addr\n"
+	"  - transfers `file' from the tftp server into memory at\n"
+	"    address `addr', then writes the entire file contents\n"
+	"    into the main FPGA\n"
+	"fpga store addr\n"
+	"  - read configuration data from the main FPGA (the mezz\n"
+	"    FPGA is write-only), into address `addr'. There must be\n"
+	"    enough memory available at `addr' to hold all the config\n"
+	"    data - the size of which is determined by VC:???\n"
+	"fpga info\n"
+	"  - print information about the Hymod FPGA, namely the\n"
+	"    memory addresses at which the four FPGA local bus\n"
+	"    address spaces appear in the physical address space\n"
+);
 /* ------------------------------------------------------------------------- */
 int
 do_eecl (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
@@ -312,15 +335,17 @@
 
 	return 0;
 }
+cmd_tbl_t U_BOOT_CMD(eec) = MK_CMD_ENTRY(
+	"eeclear",	1,	0,	do_eecl,
+	"eeclear - Clear the eeprom on a Hymod board \n",
+	"[type]\n"
+	"  - write zeroes into the EEPROM on the board of type `type'\n"
+	"    (`type' is either `main' or `mezz' - default `main')\n"
+	"    Note: the EEPROM write enable jumper must be installed\n"
+);
 
 /* ------------------------------------------------------------------------- */
 
-#if 0
-static uchar test_bitfile[] = {
-	/* one day ... */
-};
-#endif
-
 int
 do_htest (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 {
diff --git a/board/hymod/u-boot.lds b/board/hymod/u-boot.lds
index d71859c..1e20425 100644
--- a/board/hymod/u-boot.lds
+++ b/board/hymod/u-boot.lds
@@ -111,6 +111,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 = .;
@@ -138,4 +143,3 @@
   _end = . ;
   PROVIDE (end = .);
 }
-
diff --git a/board/hymod/u-boot.lds.debug b/board/hymod/u-boot.lds.debug
index 22138f8..c0ee849 100644
--- a/board/hymod/u-boot.lds.debug
+++ b/board/hymod/u-boot.lds.debug
@@ -106,6 +106,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 = .;
@@ -128,4 +133,3 @@
   _end = . ;
   PROVIDE (end = .);
 }
-