* Patches by Robert Schwebel, 06 Mar 2003:
  - fix bug in BOOTP code (must use NetCopyIP)
  - update of CSB226 port
  - clear BSS segment on XScale
  - added support for i2c_init_board() function
  - update to the Innokom plattform

* Extend support for redundand environments for configurations where
  environment size < sector size
diff --git a/include/cmd_console.h b/include/cmd_console.h
index 4ac8b83..c5f90c9 100644
--- a/include/cmd_console.h
+++ b/include/cmd_console.h
@@ -30,7 +30,7 @@
 #if (CONFIG_COMMANDS & CFG_CMD_CONSOLE)
 #define	CMD_TBL_CONINFO	MK_CMD_TBL_ENTRY(			\
 	"coninfo",	5,	3,	1,	do_coninfo,	\
-	"coninfo - print console devices and informations\n",	\
+	"coninfo - print console devices and information\n",	\
 	""		 		 			\
 ),
 int do_coninfo (cmd_tbl_t *cmdtp, int flag, int argc, char *argv[]);
diff --git a/include/configs/csb226.h b/include/configs/csb226.h
index b6c7302..2806b6d 100644
--- a/include/configs/csb226.h
+++ b/include/configs/csb226.h
@@ -55,12 +55,13 @@
 /*
  * select serial console configuration
  */
-#define CONFIG_FFUART		1	/* we use FFUART on CSB226 */
+#define CONFIG_FFUART		1	/* we use FFUART on CSB226          */
 
 /* allow to overwrite serial and ethaddr */
 #define CONFIG_ENV_OVERWRITE
 
 #define CONFIG_BAUDRATE		19200
+#undef  CONFIG_MISC_INIT_R		/* not used yet                     */
 
 #define CONFIG_COMMANDS		(CONFIG_CMD_DFL & ~CFG_CMD_NET)
 
@@ -68,7 +69,7 @@
 #include <cmd_confdefs.h>
 
 #define CONFIG_BOOTDELAY	3
-#define CONFIG_BOOTARGS		"root=/dev/nfs ip=bootp console=ttyS0,19200"
+#define CONFIG_BOOTARGS		"console=ttyS0,19200 ip=dhcp root=/dev/nfs, ether=0,0x08000000,eth0"
 #define CONFIG_ETHADDR		FF:FF:FF:FF:FF:FF
 #define CONFIG_NETMASK		255.255.255.0
 #define CONFIG_IPADDR		192.168.1.56
@@ -76,8 +77,10 @@
 #define CONFIG_BOOTCOMMAND	"bootm 0x40000"
 #define CONFIG_SHOW_BOOT_PROGRESS
 
+#define CONFIG_CMDLINE_TAG	1
+
 #if (CONFIG_COMMANDS & CFG_CMD_KGDB)
-#define CONFIG_KGDB_BAUDRATE	115200		/* speed to run kgdb serial port */
+#define CONFIG_KGDB_BAUDRATE	19200		/* speed to run kgdb serial port */
 #define CONFIG_KGDB_SER_INDEX	2		/* which serial port to use */
 #endif
 
@@ -90,7 +93,7 @@
  * used for the RAM copy of the uboot code
  *
  */
-#define CFG_MALLOC_LEN		(CFG_ENV_SIZE + 128*1024)
+#define CFG_MALLOC_LEN		(128*1024)
 
 #define CFG_LONGHELP				/* undef to save memory         */
 #define CFG_PROMPT		"uboot> "	/* Monitor Command Prompt       */
@@ -104,7 +107,7 @@
 
 #undef  CFG_CLKS_IN_HZ          /* everything, incl board info, in Hz */
 
-#define CFG_LOAD_ADDR           0xa7fe0000      /* default load address */
+#define CFG_LOAD_ADDR           0xa3000000	/* default load address */
 						/* RS: where is this documented? */
 						/* RS: is this where U-Boot is  */
 						/* RS: relocated to in RAM?      */
diff --git a/include/configs/trab.h b/include/configs/trab.h
index 06aed93..61a643a 100644
--- a/include/configs/trab.h
+++ b/include/configs/trab.h
@@ -117,7 +117,6 @@
 /* this must be included AFTER the definition of CONFIG_COMMANDS (if any) */
 #include <cmd_confdefs.h>
 
-
 #define CONFIG_BOOTDELAY	5
 #define CONFIG_PREBOOT		"echo;echo *** booting ***;echo"
 #define CONFIG_BOOTARGS    	"console=ttyS0"
@@ -126,6 +125,8 @@
 #define CONFIG_HOSTNAME		trab
 #define CONFIG_SERVERIP		192.168.3.1
 #define CONFIG_BOOTCOMMAND	"run flash_nfs"
+
+#ifndef CONFIG_BIG_FLASH
 #define	CONFIG_EXTRA_ENV_SETTINGS	\
 	"nfs_args=setenv bootargs root=/dev/nfs rw " \
 		"nfsroot=$(serverip):$(rootpath)\0" \
@@ -137,7 +138,7 @@
 	"load=tftp 0xC100000 /tftpboot/TRAB/u-boot.bin\0" \
 	"update=protect off 1:0-8;era 1:0-8;cp.b 0xc100000 0 $(filesize);" \
 		"setenv filesize;saveenv\0" \
-	"loadfile=/tftpboot/TRAB/pImage\0" \
+	"loadfile=/tftpboot/TRAB/uImage\0" \
 	"loadaddr=c400000\0" \
 	"net_load=tftpboot $(loadaddr) $(loadfile)\0" \
 	"net_nfs=run net_load nfs_args add_net add_misc;bootm\0" \
@@ -146,6 +147,27 @@
 	"mdm_init1=ATZ\0" \
 	"mdm_init2=ATS0=1\0" \
 	"mdm_flow_control=rts/cts\0"
+#else	/* CONFIG_BIG_FLASH */
+#define	CONFIG_EXTRA_ENV_SETTINGS	\
+	"nfs_args=setenv bootargs root=/dev/nfs rw " \
+		"nfsroot=$(serverip):$(rootpath)\0" \
+	"rootpath=/opt/eldk/arm_920TDI\0" \
+	"ram_args=setenv bootargs root=/dev/ram rw\0" \
+	"add_net=setenv bootargs $(bootargs) ethaddr=$(ethaddr) " \
+		"ip=$(ipaddr):$(serverip):$(gatewayip):$(netmask):$(hostname)::off\0" \
+	"add_misc=setenv bootargs $(bootargs) console=ttyS0 panic=1\0" \
+	"load=tftp 0xC100000 /tftpboot/TRAB/u-boot.bin\0" \
+	"update=protect off 1:0;era 1:0;cp.b 0xc100000 0 $(filesize)\0" \
+	"loadfile=/tftpboot/TRAB/uImage\0" \
+	"loadaddr=c400000\0" \
+	"net_load=tftpboot $(loadaddr) $(loadfile)\0" \
+	"net_nfs=run net_load nfs_args add_net add_misc;bootm\0" \
+	"kernel_addr=00040000\0" \
+	"flash_nfs=run nfs_args add_net add_misc;bootm $(kernel_addr)\0" \
+	"mdm_init1=ATZ\0" \
+	"mdm_init2=ATS0=1\0" \
+	"mdm_flow_control=rts/cts\0"
+#endif	/* CONFIG_BIG_FLASH */
 
 #if 0	/* disabled for development */
 #define	CONFIG_AUTOBOOT_KEYED		/* Enable password protection	*/
@@ -215,7 +237,11 @@
 
 /* The following #defines are needed to get flash environment right */
 #define	CFG_MONITOR_BASE	CFG_FLASH_BASE
+#ifndef CONFIG_BIG_FLASH
 #define	CFG_MONITOR_LEN		(256 << 10)
+#else
+#define	CFG_MONITOR_LEN		(128 << 10)
+#endif
 
 /*-----------------------------------------------------------------------
  * FLASH and environment organization
@@ -239,7 +265,7 @@
 #define CFG_ENV_SIZE		0x4000
 #define CFG_ENV_SECT_SIZE	0x4000
 #else
-#define CFG_ENV_ADDR		(CFG_FLASH_BASE + 0x40000)
+#define CFG_ENV_ADDR		(CFG_FLASH_BASE + 0x20000)
 #define CFG_ENV_SIZE		0x4000
 #define CFG_ENV_SECT_SIZE	0x20000
 #endif
diff --git a/include/devices.h b/include/devices.h
index 875710d..4f46e17 100644
--- a/include/devices.h
+++ b/include/devices.h
@@ -35,7 +35,7 @@
 #define DEV_FLAGS_SYSTEM 0x80000000	/* Device is a system device		*/
 #define DEV_EXT_VIDEO	 0x00000001	/* Video extensions supported		*/
 
-/* Device informations */
+/* Device information */
 typedef struct {
 	int	flags;			/* Device flags: input/output/system	*/
 	int	ext;			/* Supported extensions			*/