Make IPB clock on MGT5100/MPC5200 configurable in board config file;
go back to 66 MHz for stability
diff --git a/CHANGELOG b/CHANGELOG
index 0d7c5d7..b7fa446 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,9 @@
 Changes for U-Boot 1.0.0:
 ======================================================================
 
+* Make IPB clock on MGT5100/MPC5200 configurable in board config file;
+  go back to 66 MHz for stability
+
 * Patches by Jon Diekema, 15 Sep 2003:
   - add description for missing CFG_CMD_* entries in the README file
   - sacsng tweaks
diff --git a/cpu/mpc5xxx/cpu_init.c b/cpu/mpc5xxx/cpu_init.c
index a93a198..a33e250 100644
--- a/cpu/mpc5xxx/cpu_init.c
+++ b/cpu/mpc5xxx/cpu_init.c
@@ -152,6 +152,7 @@
 	/* enable timebase */
 	*(vu_long *)(MPC5XXX_XLBARB + 0x40) |= (1 << 13);
 
+#if defined(CFG_IPBSPEED_133)
 	/* Motorola reports IPB should better run at 133 MHz. */
 	*(vu_long *)MPC5XXX_ADDECR |= 1;
 	/* pci_clk_sel = 0x02, ipb_clk_sel = 0x00; */
@@ -160,6 +161,7 @@
 	addecr |= 0x02;
 	*(vu_long *)MPC5XXX_CDM_CFG = addecr;
 #endif
+#endif
 }
 
 /*
diff --git a/include/configs/IceCube.h b/include/configs/IceCube.h
index 64fc6fe..71cd81b 100644
--- a/include/configs/IceCube.h
+++ b/include/configs/IceCube.h
@@ -96,6 +96,12 @@
 #define CONFIG_BOOTCOMMAND	"bootm 100000"	/* autoboot command */
 #define CONFIG_BOOTARGS		"root=/dev/ram rw"
 
+#if defined(CONFIG_MPC5200)
+/*
+ * IPB Bus clocking configuration.
+ */
+#undef CFG_IPBSPEED_133   		/* define for 133MHz speed */
+#endif
 /*
  * I2C configuration
  */
diff --git a/tools/mkimage.c b/tools/mkimage.c
index 9de0224..241853a 100644
--- a/tools/mkimage.c
+++ b/tools/mkimage.c
@@ -1,5 +1,5 @@
 /*
- * (C) Copyright 2000-2002
+ * (C) Copyright 2000-2003
  * DENX Software Engineering
  * Wolfgang Denk, wd@denx.de
  * All rights reserved.
@@ -39,6 +39,10 @@
 #define     htonl(a)	SWAP_LONG(a)
 #endif	/* __WIN32__ */
 
+#ifndef	O_BINARY		/* should be define'd on __WIN32__ */
+#define O_BINARY	0
+#endif
+
 #include <image.h>
 
 extern int errno;
@@ -265,11 +269,7 @@
 	if (lflag) {
 		ifd = open(imagefile, O_RDONLY);
 	} else {
-#ifdef __WIN32__
 		ifd = open(imagefile, O_RDWR|O_CREAT|O_TRUNC|O_BINARY, 0666);
-#else
-		ifd = open(imagefile, O_RDWR|O_CREAT|O_TRUNC, 0666);
-#endif
 	}
 
 	if (ifd < 0) {