diff --git a/board/keymile/km_arm/km_arm.c b/board/keymile/km_arm/km_arm.c
index 9dafcef..cb999b2 100644
--- a/board/keymile/km_arm/km_arm.c
+++ b/board/keymile/km_arm/km_arm.c
@@ -41,8 +41,6 @@
 
 DECLARE_GLOBAL_DATA_PTR;
 
-static int	io_dev;
-
 /* Multi-Purpose Pins Functionality configuration */
 u32 kwmpp_config[] = {
 	MPP0_NF_IO2,
@@ -119,15 +117,39 @@ int ethernet_present(void)
 	return ret;
 }
 
+int initialize_unit_leds(void)
+{
+	/*
+	 * init the unit LEDs
+	 * per default they all are
+	 * ok apart from bootstat
+	 * LED connected through BOCO
+	 * BOCO	lies at the address  0x10
+	 * LEDs are in the block CTRL_H	(addr 0x02)
+	 * BOOTSTAT LED is the first 0x01
+	 */
+	#define BOCO        0x10
+	#define CTRL_H      0x02
+	#define APPLEDMASK  0x01
+	uchar buf;
+
+	if (i2c_read(BOCO, CTRL_H, 1, &buf, 1) != 0) {
+		printf("%s: Error reading Boco\n", __func__);
+		return -1;
+	}
+	buf |= APPLEDMASK;
+	if (i2c_write(BOCO, CTRL_H, 1, &buf, 1) != 0) {
+		printf("%s: Error writing Boco\n", __func__);
+		return -1;
+	}
+	return 0;
+}
+
 int misc_init_r(void)
 {
-	I2C_MUX_DEVICE	*i2cdev;
 	char *str;
 	int mach_type;
 
-	/* add I2C Bus for I/O Expander */
-	i2cdev = i2c_mux_ident_muxstring((uchar *)"pca9554a:70:a");
-	io_dev = i2cdev->busid;
 	puts("Piggy:");
 	if (ethernet_present() == 0)
 		puts (" not");
@@ -139,6 +161,9 @@ int misc_init_r(void)
 		printf("Overwriting MACH_TYPE with %d!!!\n", mach_type);
 		gd->bd->bi_arch_number = mach_type;
 	}
+
+	initialize_unit_leds();
+
 	return 0;
 }
 
@@ -245,7 +270,6 @@ void dram_init_banksize(void)
 
 	for (i = 0; i < CONFIG_NR_DRAM_BANKS; i++) {
 		gd->bd->bi_dram[i].start = kw_sdram_bar(i);
-		gd->bd->bi_dram[i].size = kw_sdram_bs(i);
 		gd->bd->bi_dram[i].size = get_ram_size((long *)kw_sdram_bar(i),
 						       kw_sdram_bs(i));
 	}
diff --git a/include/configs/km_arm.h b/include/configs/km_arm.h
index 5fa0153..8cb0fe8 100644
--- a/include/configs/km_arm.h
+++ b/include/configs/km_arm.h
@@ -49,6 +49,7 @@
 /* include common defines/options for all Keymile boards */
 #include "keymile-common.h"
 
+#define CONFIG_SYS_TEXT_BASE	0x04000000	/* code address after reloc */
 #define CONFIG_ENV_SIZE		(128 << 10)	/* NAND chip block size	*/
 #define CONFIG_SYS_MEMTEST_START 0x00400000	/* 4M */
 #define CONFIG_SYS_MEMTEST_END	0x007fffff	/*(_8M -1) */
diff --git a/include/configs/mgcoge2un.h b/include/configs/mgcoge2un.h
index 9f5464b..d3c7bdc 100644
--- a/include/configs/mgcoge2un.h
+++ b/include/configs/mgcoge2un.h
@@ -44,12 +44,14 @@
 
 #define CONFIG_HOSTNAME			mgcoge2un
 
+#define KM_IVM_BUS	"pca9547:70:9" /* I2C2 (Mux-Port 1)*/
+#define KM_ENV_BUS	"pca9547:70:d" /* I2C2 (Mux-Port 5)*/
+
 /*
  * Default environment variables
  */
 #define CONFIG_EXTRA_ENV_SETTINGS					\
 	CONFIG_KM_DEF_ENV						\
-	"memsize=0x8000000\0"						\
 	"newenv=setenv addr 0x100000 && "				\
 		"i2c dev 1; mw.b ${addr} 0 4 && "			\
 		"eeprom write " xstr(CONFIG_SYS_DEF_EEPROM_ADDR)	\
@@ -57,7 +59,7 @@
 		"eeprom write " xstr(CONFIG_SYS_DEF_EEPROM_ADDR)	\
 		" ${addr} " xstr(CONFIG_ENV_OFFSET_REDUND) " 4\0"	\
 	"rootpath=/opt/eldk/arm\0"					\
-	"EEprom_ivm=pca9547:70:9\0"					\
+	"EEprom_ivm=" KM_IVM_BUS "\0"					\
 	""
 
 #endif /* _CONFIG_MGCOGE2UN_H */
diff --git a/include/configs/suen3.h b/include/configs/suen3.h
index 87f524a..2b6f19e 100644
--- a/include/configs/suen3.h
+++ b/include/configs/suen3.h
@@ -43,12 +43,14 @@
 
 #define CONFIG_HOSTNAME			suen3
 
+#define KM_IVM_BUS	"pca9544a:70:9"	/* I2C2 (Mux-Port 1)*/
+#define KM_ENV_BUS	"pca9544a:70:d"	/* I2C2 (Mux-Port 5)*/
+
 /*
  * Default environment variables
  */
 #define CONFIG_EXTRA_ENV_SETTINGS					\
 	CONFIG_KM_DEF_ENV						\
-	"memsize=0x8000000\0"						\
 	"newenv=setenv addr 0x100000 && "				\
 		"i2c dev 1; mw.b ${addr} 0 4 && "			\
 		"eeprom write " xstr(CONFIG_SYS_DEF_EEPROM_ADDR)	\
@@ -56,7 +58,7 @@
 		"eeprom write " xstr(CONFIG_SYS_DEF_EEPROM_ADDR)	\
 		" ${addr} " xstr(CONFIG_ENV_OFFSET_REDUND) " 4\0"	\
 	"rootpath=/opt/eldk/arm\0"					\
-	"EEprom_ivm=pca9544a:70:9\0"					\
+	"EEprom_ivm=" KM_IVM_BUS "\0"					\
 	""
 
 #endif /* _CONFIG_SUEN3_H */
diff --git a/include/configs/suen8.h b/include/configs/suen8.h
index cdda4af..3f60bc3 100644
--- a/include/configs/suen8.h
+++ b/include/configs/suen8.h
@@ -44,12 +44,14 @@
 
 #define CONFIG_HOSTNAME			suen8
 
+#define KM_IVM_BUS	"pca9544a:70:9" /* I2C2 (Mux-Port 1)*/
+#define KM_ENV_BUS	"pca9544a:70:d" /* I2C2 (Mux-Port 5)*/
+
 /*
  * Default environment variables
  */
 #define CONFIG_EXTRA_ENV_SETTINGS					\
 	CONFIG_KM_DEF_ENV						\
-	"memsize=0x8000000\0"						\
 	"newenv=setenv addr 0x100000 && "				\
 		"i2c dev 1; mw.b ${addr} 0 4 && "			\
 		"eeprom write " xstr(CONFIG_SYS_DEF_EEPROM_ADDR)	\
@@ -57,7 +59,7 @@
 		"eeprom write " xstr(CONFIG_SYS_DEF_EEPROM_ADDR)	\
 		" ${addr} " xstr(CONFIG_ENV_OFFSET_REDUND) " 4\0"	\
 	"rootpath=/opt/eldk/arm\0"					\
-	"EEprom_ivm=pca9544a:70:9\0"					\
+	"EEprom_ivm=" KM_IVM_BUS "\0"					\
 	""
 
 #endif /* _CONFIG_SUEN8_H */
