Fix some missing commands, cleanup header files
(autoscript, bmp, bsp, fat, mmc, nand, portio, ...)
diff --git a/CHANGELOG b/CHANGELOG
index 6ec62cb..64e0933 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,7 +1,10 @@
 ======================================================================
-Changes since U-Boot 0.4.0:
+Changes for U-Boot 0.4.1:
 ======================================================================
 
+* Fix some missing commands, cleanup header files
+  (autoscript, bmp, bsp, fat, mmc, nand, portio, ...)
+
 * Rewrite command lookup and help command (fix problems with bubble
   sort when sorting command name list). Minor cleanup here and there.
 
diff --git a/board/evb64260/eth.c b/board/evb64260/eth.c
index 8b3a359..f0743fa 100644
--- a/board/evb64260/eth.c
+++ b/board/evb64260/eth.c
@@ -22,7 +22,6 @@
 
 #include <common.h>
 #include <malloc.h>
-#include <cmd_bsp.h>
 #include <galileo/gt64260R.h>
 #include <galileo/core.h>
 #include <asm/cache.h>
diff --git a/board/exbitgen/u-boot.lds b/board/exbitgen/u-boot.lds
index 863a7e4..36f9491 100644
--- a/board/exbitgen/u-boot.lds
+++ b/board/exbitgen/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/hymod/bsp.c b/board/hymod/bsp.c
index f131e51..7ea91e6 100644
--- a/board/hymod/bsp.c
+++ b/board/hymod/bsp.c
@@ -27,7 +27,6 @@
 #include <command.h>
 #include <net.h>
 #include <asm/iopin_8260.h>
-#include <cmd_bsp.h>
 
 /*-----------------------------------------------------------------------
  * Board Special Commands: FPGA load/store, EEPROM erase
diff --git a/board/siemens/pcu_e/pcu_e.c b/board/siemens/pcu_e/pcu_e.c
index a8d73cc..8be70d3 100644
--- a/board/siemens/pcu_e/pcu_e.c
+++ b/board/siemens/pcu_e/pcu_e.c
@@ -26,7 +26,6 @@
 #include <commproc.h>
 #include <i2c.h>
 #include <command.h>
-#include <cmd_bsp.h>
 
 /* ------------------------------------------------------------------------- */
 
diff --git a/board/sl8245/Makefile b/board/sl8245/Makefile
index da60318..6d11240 100644
--- a/board/sl8245/Makefile
+++ b/board/sl8245/Makefile
@@ -28,7 +28,7 @@
 OBJS 	= $(BOARD).o flash.o
 
 $(LIB):	.depend $(OBJS)
-	$(AR) crv $@ $^
+	$(AR) crv $@ $(OBJS)
 
 #########################################################################
 
diff --git a/board/sl8245/u-boot.lds b/board/sl8245/u-boot.lds
index 627a53b..e0d0b17 100644
--- a/board/sl8245/u-boot.lds
+++ b/board/sl8245/u-boot.lds
@@ -102,6 +102,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/w7o/cmd_vpd.c b/board/w7o/cmd_vpd.c
index 2763a53..6a151e2 100644
--- a/board/w7o/cmd_vpd.c
+++ b/board/w7o/cmd_vpd.c
@@ -27,7 +27,6 @@
 #if (CONFIG_COMMANDS & CFG_CMD_BSP)
 
 #include "vpd.h"
-#include "cmd_bsp.h"
 
 /* ======================================================================
  * Interpreter command to retrieve board specific Vital Product Data, "VPD"
diff --git a/common/cmd_autoscript.c b/common/cmd_autoscript.c
index d3d04c3..81dbf49 100644
--- a/common/cmd_autoscript.c
+++ b/common/cmd_autoscript.c
@@ -47,7 +47,6 @@
 #include <hush.h>
 #endif
 
-#define AUTOSCRIPT_MAGIC	0x09011962
 #if defined(CONFIG_AUTOSCRIPT) || \
 	 (CONFIG_COMMANDS & CFG_CMD_AUTOSCRIPT )
 
diff --git a/common/cmd_bmp.c b/common/cmd_bmp.c
index c6a16a4..6e813c6 100644
--- a/common/cmd_bmp.c
+++ b/common/cmd_bmp.c
@@ -73,6 +73,13 @@
 	}
 }
 
+cmd_tbl_t U_BOOT_CMD(BMP) = MK_CMD_ENTRY(
+	"bmp",	3,	1,	do_bmp,
+	"bmp     - manipulate BMP image data\n",
+	"info <imageAddr>    - display image info\n"
+	"bmp display <imageAddr> - display image\n"
+);
+
 /*
  * Subroutine:  bmp_info
  *
diff --git a/common/cmd_boot.c b/common/cmd_boot.c
index a0bc04b..1adbd42 100644
--- a/common/cmd_boot.c
+++ b/common/cmd_boot.c
@@ -26,7 +26,6 @@
  */
 #include <common.h>
 #include <command.h>
-#include <cmd_autoscript.h>
 #include <net.h>
 #include <syscall.h>
 
diff --git a/common/cmd_fat.c b/common/cmd_fat.c
index 12eb764..6be5555 100644
--- a/common/cmd_fat.c
+++ b/common/cmd_fat.c
@@ -26,7 +26,6 @@
  */
 #include <common.h>
 #include <command.h>
-#include <cmd_autoscript.h>
 #include <s_record.h>
 #include <net.h>
 #include <ata.h>
@@ -63,6 +62,14 @@
 	return size;
 }
 
+cmd_tbl_t U_BOOT_CMD(FATLOAD) = MK_CMD_ENTRY(
+	"fatload",	4,	0,	do_fat_fsload,
+	"fatload - load binary file from a dos filesystem\n",
+	"[ off ] [ filename ]\n"
+	"    - load binary file from dos filesystem\n"
+	"      with offset 'off'\n"
+);
+
 int do_fat_ls (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 {
 	char *filename = "/";
@@ -76,6 +83,13 @@
 	return (ret);
 }
 
+cmd_tbl_t U_BOOT_CMD(FATLS) = MK_CMD_ENTRY(
+	"fatls",	2,	1,	do_fat_ls,
+	"fatls   - list files in a directory (default /)\n",
+	"[ directory ]\n"
+	"    - list files in a directory\n"
+);
+
 int do_fat_fsinfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 {
 	int ret;
@@ -87,6 +101,13 @@
 	return (ret);
 }
 
+cmd_tbl_t U_BOOT_CMD(FATINFO) = MK_CMD_ENTRY(
+	"fatinfo",	1,	1,	do_fat_fsinfo,
+	"fatinfo - print information about filesystem\n",
+	"\n"
+	"    - print information about filesystem\n"
+);
+
 #ifdef NOT_IMPLEMENTED_YET
 /* find first device whose first partition is a DOS filesystem */
 int find_fat_partition (void)
diff --git a/common/cmd_fpga.c b/common/cmd_fpga.c
index f8ae52a..b364f14 100644
--- a/common/cmd_fpga.c
+++ b/common/cmd_fpga.c
@@ -27,7 +27,6 @@
  */
 #include <common.h>
 #include <command.h>
-#include <cmd_bsp.h>
 #if (CONFIG_COMMANDS & CFG_CMD_NET)
 #include <net.h>
 #endif
diff --git a/common/cmd_ide.c b/common/cmd_ide.c
index c1e610a..8ca2b89 100644
--- a/common/cmd_ide.c
+++ b/common/cmd_ide.c
@@ -39,7 +39,6 @@
 #endif
 #include <ide.h>
 #include <ata.h>
-#include <cmd_disk.h>
 #ifdef CONFIG_STATUS_LED
 # include <status_led.h>
 #endif
diff --git a/common/cmd_load.c b/common/cmd_load.c
index d784e83..5272b0f 100644
--- a/common/cmd_load.c
+++ b/common/cmd_load.c
@@ -26,7 +26,6 @@
  */
 #include <common.h>
 #include <command.h>
-#include <cmd_autoscript.h>
 #include <s_record.h>
 #include <net.h>
 #include <syscall.h>
diff --git a/common/cmd_mmc.c b/common/cmd_mmc.c
index 45b5064..39c18cc 100644
--- a/common/cmd_mmc.c
+++ b/common/cmd_mmc.c
@@ -37,4 +37,10 @@
 	return 0;
 }
 
+cmd_tbl_t U_BOOT_CMD(MMCINIT) = MK_CMD_ENTRY(
+	"mmcinit",	1,	0,	do_mmc,
+	"mmcinit - init mmc card\n",
+	NULL
+);
+
 #endif	/* CFG_CMD_MMC */
diff --git a/common/cmd_nand.c b/common/cmd_nand.c
index 41f84fd..1da5b03 100644
--- a/common/cmd_nand.c
+++ b/common/cmd_nand.c
@@ -247,6 +247,21 @@
     }
 }
 
+cmd_tbl_t U_BOOT_CMD(NAND) = MK_CMD_ENTRY(
+	"nand",	5,	1,	do_nand,
+	"nand    - NAND sub-system\n",
+	"info  - show available NAND devices\n"
+	"nand device [dev] - show or set current device\n"
+	"nand read[.jffs2]  addr off size\n"
+	"nand write[.jffs2] addr off size - read/write `size' bytes starting\n"
+	"    at offset `off' to/from memory address `addr'\n"
+	"nand erase [clean] [off size] - erase `size' bytes from\n"
+	"    offset `off' (entire device if not specified)\n"
+	"nand bad - show bad blocks\n"
+	"nand read.oob addr off size - read out-of-band data\n"
+	"nand write.oob addr off size - read out-of-band data\n"
+);
+
 int do_nandboot (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 {
 	char *boot_device = NULL;
@@ -348,6 +363,12 @@
 	return rcode;
 }
 
+cmd_tbl_t U_BOOT_CMD(NBOOT) = MK_CMD_ENTRY(
+	"nboot",	4,	1,	do_nandboot,
+	"nboot   - boot from NAND device\n",
+	"loadAddr dev\n"
+);
+
 /* returns 0 if block containing pos is OK:
  *		valid erase block and
  *		not marked bad, or no bad mark position is specified
diff --git a/common/cmd_net.c b/common/cmd_net.c
index 8a55f43..01f5f91 100644
--- a/common/cmd_net.c
+++ b/common/cmd_net.c
@@ -26,7 +26,6 @@
  */
 #include <common.h>
 #include <command.h>
-#include <cmd_autoscript.h>
 #include <net.h>
 
 #if (CONFIG_COMMANDS & CFG_CMD_NET)
diff --git a/common/cmd_portio.c b/common/cmd_portio.c
index afa39e1..ad84b81 100644
--- a/common/cmd_portio.c
+++ b/common/cmd_portio.c
@@ -29,7 +29,6 @@
 
 #include <common.h>
 #include <command.h>
-#include <cmd_portio.h>
 
 #if (CONFIG_COMMANDS & CFG_CMD_PORTIO)
 
@@ -96,6 +95,12 @@
 	return 0;
 }
 
+cmd_tbl_t U_BOOT_CMD(PORTIO_OUT) = MK_CMD_ENTRY(
+	"out",	3,	1,	do_portio_out,
+	"out     - write datum to IO port\n",
+	"[.b, .w, .l] port value\n    - output to IO port\n"
+);
+
 int do_portio_in (cmd_tbl_t * cmdtp, int flag, int argc, char *argv[])
 {
 	uint addr = in_last_addr;
@@ -154,4 +159,11 @@
 	return 0;
 }
 
+cmd_tbl_t U_BOOT_CMD(PORTIO_IN) = MK_CMD_ENTRY(
+	"in",	2,	1,	do_portio_in,
+	"in      - read data from an IO port\n",
+	"[.b, .w, .l] port\n"
+	"    - read datum from IO port\n"
+);
+
 #endif	/* CFG_CMD_PORTIO */
diff --git a/common/cmd_scsi.c b/common/cmd_scsi.c
index c925823..2da9ac9 100644
--- a/common/cmd_scsi.c
+++ b/common/cmd_scsi.c
@@ -33,7 +33,6 @@
 #include <asm/processor.h>
 #include <scsi.h>
 #include <image.h>
-#include <cmd_disk.h>
 #include <pci.h>
 
 
diff --git a/common/cmd_usb.c b/common/cmd_usb.c
index d8f2f2c..17e6433 100644
--- a/common/cmd_usb.c
+++ b/common/cmd_usb.c
@@ -31,7 +31,6 @@
 #if (CONFIG_COMMANDS & CFG_CMD_USB)
 
 #include <usb.h>
-#include <cmd_disk.h>
 
 #undef	CMD_USB_DEBUG
 
diff --git a/common/command.c b/common/command.c
index 059da7c..9a982b8 100644
--- a/common/command.c
+++ b/common/command.c
@@ -36,6 +36,12 @@
 	return 0;
 }
 
+cmd_tbl_t U_BOOT_CMD(VERS) = MK_CMD_ENTRY(
+	"version",	1,		1,	do_version,
+ 	"version - print monitor version\n",
+	NULL
+);
+
 int
 do_echo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[])
 {
@@ -61,6 +67,13 @@
 	return 0;
 }
 
+cmd_tbl_t U_BOOT_CMD(ECHO) = MK_CMD_ENTRY(
+	"echo",	CFG_MAXARGS,	1,	do_echo,
+ 	"echo    - echo args to console\n",
+ 	"[args..]\n"
+	"    - echo args to console; \\c suppresses newline\n"
+);
+
 /*
  * Use puts() instead of printf() to avoid printf buffer overflow
  * for long help messages
@@ -162,19 +175,6 @@
 	NULL
 );
 
-cmd_tbl_t U_BOOT_CMD(VERS) = MK_CMD_ENTRY(
-	"version",	1,		1,	do_version,
- 	"version - print monitor version\n",
-	NULL
-);
-
-cmd_tbl_t U_BOOT_CMD(ECHO) = MK_CMD_ENTRY(
-	"echo",	CFG_MAXARGS,	1,	do_echo,
- 	"echo    - echo args to console\n",
- 	"[args..]\n"
-	"    - echo args to console; \\c suppresses newline\n"
-);
-
 /***************************************************************************
  * find command table entry for a command
  */
diff --git a/disk/part.c b/disk/part.c
index 47dc39b..97ed918 100644
--- a/disk/part.c
+++ b/disk/part.c
@@ -24,7 +24,6 @@
 #include <common.h>
 #include <command.h>
 #include <ide.h>
-#include <cmd_disk.h>
 
 #undef	PART_DEBUG
 
diff --git a/disk/part_amiga.c b/disk/part_amiga.c
index f1ad24a..07b3210 100644
--- a/disk/part_amiga.c
+++ b/disk/part_amiga.c
@@ -24,7 +24,6 @@
 #include <common.h>
 #include <command.h>
 #include <ide.h>
-#include <cmd_disk.h>
 #include "part_amiga.h"
 
 #if ((CONFIG_COMMANDS & CFG_CMD_IDE) || (CONFIG_COMMANDS & CFG_CMD_SCSI)) && defined(CONFIG_AMIGA_PARTITION)
diff --git a/disk/part_dos.c b/disk/part_dos.c
index d585b35..db2c23b 100644
--- a/disk/part_dos.c
+++ b/disk/part_dos.c
@@ -33,7 +33,6 @@
 #include <common.h>
 #include <command.h>
 #include <ide.h>
-#include <cmd_disk.h>
 #include "part_dos.h"
 
 #if ((CONFIG_COMMANDS & CFG_CMD_IDE) || (CONFIG_COMMANDS & CFG_CMD_SCSI)) && defined(CONFIG_DOS_PARTITION)
diff --git a/disk/part_iso.c b/disk/part_iso.c
index 4d746e4..ff3e4d9 100644
--- a/disk/part_iso.c
+++ b/disk/part_iso.c
@@ -23,7 +23,6 @@
 
 #include <common.h>
 #include <command.h>
-#include <cmd_disk.h>
 #include "part_iso.h"
 
 #if ((CONFIG_COMMANDS & CFG_CMD_IDE) || (CONFIG_COMMANDS & CFG_CMD_SCSI)) && defined(CONFIG_ISO_PARTITION)
diff --git a/disk/part_mac.c b/disk/part_mac.c
index 087133d..6e055af 100644
--- a/disk/part_mac.c
+++ b/disk/part_mac.c
@@ -32,7 +32,6 @@
 #include <common.h>
 #include <command.h>
 #include <ide.h>
-#include <cmd_disk.h>
 #include "part_mac.h"
 
 #if ((CONFIG_COMMANDS & CFG_CMD_IDE) || (CONFIG_COMMANDS & CFG_CMD_SCSI)) && defined(CONFIG_MAC_PARTITION)
diff --git a/include/cmd_autoscript.h b/include/cmd_autoscript.h
deleted file mode 100644
index ca5fdb5..0000000
--- a/include/cmd_autoscript.h
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * (C) Copyright 2001
- * Kyle Harris, kharris@nexus-tech.net
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#ifndef	_CMD_AUTOSCRIPT_H_
-#define	_CMD_AUTOSCRIPT_H_
-
-#define AUTOSCRIPT_MAGIC	0x09011962
-
-#if (CONFIG_COMMANDS & CFG_CMD_AUTOSCRIPT)
-
-int autoscript (ulong addr);
-#endif
-
-#endif	/* _CMD_AUTOSCRIPT_H_ */
diff --git a/include/cmd_bmp.h b/include/cmd_bmp.h
deleted file mode 100644
index 2b66617..0000000
--- a/include/cmd_bmp.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/* (C) Copyright 2002
- * Detlev Zundel, DENX Software Engineering, dzu@denx.de.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-/*
- * Bitmap display support
- */
-#ifndef	_CMD_BMP_H
-#define	_CMD_BMP_H
-
-#include <common.h>
-#include <command.h>
-
-
-#if (CONFIG_COMMANDS & CFG_CMD_BMP)
-
-#define CMD_TBL_BMP	MK_CMD_TBL_ENTRY(				\
-	"bmp", 3,	3,	1,	do_bmp,				\
-	"bmp     - manipulate BMP image data\n",			\
-	"info <imageAddr>    - display image info\n"			\
-	"bmp display <imageAddr> - display image\n"			\
-),
-int do_bmp (cmd_tbl_t *cmdtp,  int flag, int argc, char *argv[]);
-
-#else
-#define CMD_TBL_BMP
-#endif
-
-#endif	/* _CMD_BMP_H */
diff --git a/include/cmd_bsp.h b/include/cmd_bsp.h
deleted file mode 100644
index 417d32f..0000000
--- a/include/cmd_bsp.h
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * (C) Copyright 2001, 2002
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#ifndef _CMD_BSP_H_
-#define _CMD_BSP_H_
-
-/* do not edit this file */
-
-#endif	/* _CMD_BSP_H_ */
diff --git a/include/cmd_disk.h b/include/cmd_disk.h
deleted file mode 100644
index 6e2e0cb..0000000
--- a/include/cmd_disk.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * (C) Copyright 2000
- * Wolfgang Denk, DENX Software Engineering, wd@denx.de.
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-/*
- * Harddisk support
- */
-#ifndef	_CMD_DISK_H
-#define	_CMD_DISK_H
-
-#include <common.h>
-#include <command.h>
-
-/*
- * Type string for U-Boot bootable partitions
- */
-#define BOOT_PART_TYPE	"U-Boot"	/* primary boot partition type	*/
-#define BOOT_PART_COMP	"PPCBoot"	/* PPCBoot compatibility type	*/
-
-#if 0
-
-typedef	struct disk_partition {
-	ulong	start;		/* # of first block in partition	*/
-	ulong	size;		/* number of blocks in partition	*/
-	ulong	blksz;		/* block size in bytes			*/
-	uchar	name[32];	/* partition name			*/
-	uchar	type[32];	/* string type description		*/
-} disk_partition_t;
-
-int get_partition_info     (block_dev_desc_t * dev_desc, int part, disk_partition_t *info);
-#ifdef CONFIG_MAC_PARTITION
-int get_partition_info_mac (block_dev_desc_t * dev_desc, int part, disk_partition_t *info);
-#endif
-#ifdef CONFIG_DOS_PARTITION
-int get_partition_info_dos (block_dev_desc_t * dev_desc, int part, disk_partition_t *info);
-#endif
-#endif	/* 0 */
-
-#endif	/* _CMD_DISK_H */
diff --git a/include/cmd_fat.h b/include/cmd_fat.h
deleted file mode 100644
index 12245bd..0000000
--- a/include/cmd_fat.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * (C) Copyright 2002
- * Richard Jones, rjones@nexus-tech.net
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-/*
- * FAT support
- */
-#ifndef	_CMD_FAT_H
-#define	_CMD_FAT_H
-
-#if (CONFIG_COMMANDS & CFG_CMD_FAT)
-
-int do_fat_fsload (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
-int do_fat_fsinfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
-int do_fat_ls (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
-int do_fat_dump (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
-
-#define	CMD_TBL_FAT	MK_CMD_TBL_ENTRY(				\
-	"fatload",	5,	4,	0,	do_fat_fsload,		\
-	"fatload - load binary file from a dos filesystem\n",		\
-	"[ off ] [ filename ]\n"					\
-	"    - load binary file from dos filesystem\n"			\
-	"      with offset 'off'\n"					\
-),									\
-    	MK_CMD_TBL_ENTRY(						\
-	"fatinfo",	5,	1,	1,	do_fat_fsinfo,		\
-	"fatinfo - print information about filesystem\n",		\
-	"\n"								\
-	"    - print information about filesystem\n"			\
-),									\
-	MK_CMD_TBL_ENTRY(						\
-	"fatls",	2,	2,	1,	do_fat_ls,		\
-	"fatls   - list files in a directory (default /)\n",		\
-	"[ directory ]\n"						\
-	"    - list files in a directory.\n"				\
-),
-
-#else
-#define CMD_TBL_FAT
-#endif	/* CFG_CMD_FAT */
-
-#endif	/* _CMD_FAT_H */
diff --git a/include/cmd_mmc.h b/include/cmd_mmc.h
deleted file mode 100644
index ff5a176..0000000
--- a/include/cmd_mmc.h
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-#ifndef	_CMD_MMC_H_
-#define	_CMD_MMC_H_
-
-#include <command.h>
-
-#if (CONFIG_COMMANDS & CFG_CMD_MMC)
-
-#define	CMD_TBL_MMC	MK_CMD_TBL_ENTRY(	\
-	"mmcinit",	4,	1,	0,	do_mmc,	\
-	"mmcinit - init mmc card\n", \
-),
-#else
-
-#define	CMD_TBL_MMC
-
-#endif
-
-int do_mmc (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
-
-#endif	/* _CMD_MMC_H_ */
diff --git a/include/cmd_nand.h b/include/cmd_nand.h
deleted file mode 100644
index ce7ee84..0000000
--- a/include/cmd_nand.h
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-/*
- * NAND support
- */
-#ifndef	_CMD_NAND_H
-#define	_CMD_NAND_H
-
-#include <common.h>
-#include <command.h>
-
-
-#if (CONFIG_COMMANDS & CFG_CMD_NAND)
-#define	CMD_TBL_NAND	MK_CMD_TBL_ENTRY(					\
-	"nand",	3,	5,	1,	do_nand,				\
-	"nand    - NAND sub-system\n",						\
-	"info  - show available NAND devices\n"					\
-	"nand device [dev] - show or set current device\n"			\
-	"nand read[.jffs2]  addr off size\n"					\
-	"nand write[.jffs2] addr off size - read/write `size' bytes starting\n"	\
-	"    at offset `off' to/from memory address `addr'\n"			\
-	"nand erase [clean] [off size] - erase `size' bytes from\n"		\
-	"    offset `off' (entire device if not specified)\n"			\
-	"nand bad - show bad blocks\n"						\
-	"nand read.oob addr off size - read out-of-band data\n"			\
-	"nand write.oob addr off size - read out-of-band data\n"		\
-),
-
-#define CMD_TBL_NANDBOOT	MK_CMD_TBL_ENTRY(				\
-	"nboot", 4,	4,	1,	do_nandboot,				\
-	"nboot   - boot from NAND device\n",					\
-	"loadAddr dev\n"							\
-),
-
-int do_nand (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
-int do_nandboot (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
-
-#else
-#define CMD_TBL_NAND
-#define CMD_TBL_NANDBOOT
-#endif
-
-#endif	/* _CMD_NAND_H */
diff --git a/include/cmd_portio.h b/include/cmd_portio.h
deleted file mode 100644
index 6897ab6..0000000
--- a/include/cmd_portio.h
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * (C) Copyright 2003
- * Marc Singer, elf@buici.com
- *
- * See file CREDITS for list of people who contributed to this
- * project.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License as
- * published by the Free Software Foundation; either version 2 of
- * the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
- * MA 02111-1307 USA
- */
-
-/*
- * Memory Functions
- */
-#ifndef	_CMD_PORTIO_H
-#define _CMD_PORTIO_H
-
-#if (CONFIG_COMMANDS & CFG_CMD_PORTIO)
-
-#define CMD_TBL_PORTIO_OUT	MK_CMD_TBL_ENTRY(		      \
-	"out",		3,	3,	1,	do_portio_out,	      \
-	"out     - write datum to IO port\n",			      \
-	"[.b, .w, .l] port value\n    - output to IO port\n"   	      \
-),
-#define CMD_TBL_PORTIO_IN	MK_CMD_TBL_ENTRY(		      \
- 	"in",		2,	2,	1,	do_portio_in,	      \
-	"in      - read data from an IO port\n",		      \
-	"[.b, .w, .l] port\n"					      \
-	"    - read datum from IO port\n"			      \
-),
-
-int do_portio_out (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
-int do_portio_in  (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
-
-#else
-#define CMD_TBL_PORTIO_OUT
-#define CMD_TBL_PORTIO_IN
-#endif	/* CFG_CMD_PORTIO */
-
-#endif	/* _CMD_PORTIO_H */
diff --git a/include/common.h b/include/common.h
index 0bb4353..8a98de3 100644
--- a/include/common.h
+++ b/include/common.h
@@ -147,8 +147,11 @@
 /* common/flash.c */
 void flash_perror (int);
 
+/* common/cmd_autoscript.c */
+int	autoscript (ulong addr);
+
 /* common/cmd_bootm.c */
-void print_image_hdr (image_header_t *hdr);
+void	print_image_hdr (image_header_t *hdr);
 
 extern ulong load_addr;		/* Default Load Address	*/
 
diff --git a/include/configs/lwmon.h b/include/configs/lwmon.h
index 2989d42..34923f1 100644
--- a/include/configs/lwmon.h
+++ b/include/configs/lwmon.h
@@ -152,6 +152,7 @@
 
 #ifdef CONFIG_8xx_CONS_SCC2	/* Can't use ethernet, then */
 #define CONFIG_COMMANDS	     ( (CONFIG_CMD_DFL & ~CFG_CMD_NET) | \
+				CFG_CMD_ASKENV	| \
 				CFG_CMD_DATE	| \
 				CFG_CMD_I2C	| \
 				CFG_CMD_EEPROM	| \
@@ -161,6 +162,7 @@
 				CFG_CMD_POST_DIAG )
 #else
 #define CONFIG_COMMANDS	      ( CONFIG_CMD_DFL	| \
+				CFG_CMD_ASKENV	| \
 				CFG_CMD_DHCP	| \
 				CFG_CMD_DATE	| \
 				CFG_CMD_I2C	| \
diff --git a/include/part.h b/include/part.h
index 35afa28..2f5a01d 100644
--- a/include/part.h
+++ b/include/part.h
@@ -37,15 +37,20 @@
 	unsigned char product[20];/* IDE Serial no, SCSI product */
 	unsigned char revision[8];/* firmware revision */
 	unsigned char removable;	/* removable device */
-	unsigned long (*block_read)(int dev,unsigned long start,unsigned long blkcnt, unsigned long *buffer);
+	unsigned long (*block_read)(int dev,
+				    unsigned long start,
+				    unsigned long blkcnt,
+				    unsigned long *buffer);
 }block_dev_desc_t;
+
 /* Interface types: */
-#define IF_TYPE_UNKNOWN	0
-#define IF_TYPE_IDE			1
+#define IF_TYPE_UNKNOWN		0
+#define IF_TYPE_IDE		1
 #define IF_TYPE_SCSI		2
 #define IF_TYPE_ATAPI		3
-#define IF_TYPE_USB			4
-#define IF_TYPE_DOC			5
+#define IF_TYPE_USB		4
+#define IF_TYPE_DOC		5
+
 /* Part types */
 #define	PART_TYPE_UNKNOWN	0x00
 #define PART_TYPE_MAC		0x01
@@ -53,12 +58,18 @@
 #define PART_TYPE_ISO		0x03
 #define PART_TYPE_AMIGA         0x04
 
+/*
+ * Type string for U-Boot bootable partitions
+ */
+#define BOOT_PART_TYPE	"U-Boot"	/* primary boot partition type	*/
+#define BOOT_PART_COMP	"PPCBoot"	/* PPCBoot compatibility type	*/
+
 /* device types */
-#define DEV_TYPE_UNKNOWN 0xff /* not connected */
-#define DEV_TYPE_HARDDISK 0x00 /* harddisk */
-#define DEV_TYPE_TAPE 		0x01 /* Tape */
-#define DEV_TYPE_CDROM 		0x05 /* CD-ROM */
-#define DEV_TYPE_OPDISK 	0x07 /* optical disk */
+#define DEV_TYPE_UNKNOWN	0xff	/* not connected */
+#define DEV_TYPE_HARDDISK	0x00	/* harddisk */
+#define DEV_TYPE_TAPE 		0x01	/* Tape */
+#define DEV_TYPE_CDROM 		0x05	/* CD-ROM */
+#define DEV_TYPE_OPDISK 	0x07	/* optical disk */
 
 typedef	struct disk_partition {
 	ulong	start;		/* # of first block in partition	*/