diff --git a/Makefile b/Makefile
index 8674eb8..a55d88a 100644
--- a/Makefile
+++ b/Makefile
@@ -1148,6 +1148,24 @@
 	@./mkconfig $(@:_config=) mips mips tb0229
 
 #########################################################################
+## MIPS32 AU1X00
+#########################################################################
+dbau1000_config		: 	unconfig
+	@ >include/config.h
+	@echo "#define CONFIG_DBAU1000 1" >>include/config.h
+	@./mkconfig -a dbau1x00 mips mips dbau1x00
+
+dbau1100_config		: 	unconfig
+	@ >include/config.h
+	@echo "#define CONFIG_DBAU1100 1" >>include/config.h
+	@./mkconfig -a dbau1x00 mips mips dbau1x00
+
+dbau1500_config		: 	unconfig
+	@ >include/config.h
+	@echo "#define CONFIG_DBAU1500 1" >>include/config.h
+	@./mkconfig -a dbau1x00 mips mips dbau1x00
+
+#########################################################################
 ## MIPS64 5Kc
 #########################################################################
 
@@ -1233,24 +1251,6 @@
 	@./mkconfig -a $(@:_config=) microblaze microblaze suzaku AtmarkTechno
 
 #########################################################################
-## MIPS32 AU1X00
-#########################################################################
-dbau1000_config		: 	unconfig
-	@ >include/config.h
-	@echo "#define CONFIG_DBAU1000 1" >>include/config.h
-	@./mkconfig -a dbau1x00 mips mips dbau1x00
-
-dbau1100_config		: 	unconfig
-	@ >include/config.h
-	@echo "#define CONFIG_DBAU1100 1" >>include/config.h
-	@./mkconfig -a dbau1x00 mips mips dbau1x00
-
-dbau1500_config		: 	unconfig
-	@ >include/config.h
-	@echo "#define CONFIG_DBAU1500 1" >>include/config.h
-	@./mkconfig -a dbau1x00 mips mips dbau1x00
-
-#########################################################################
 #########################################################################
 
 clean:
diff --git a/README b/README
index bfccadf..ddb58c3 100644
--- a/README
+++ b/README
@@ -2554,8 +2554,9 @@
 	  -n ==> set image name to 'name'
 	  -d ==> use image data from 'datafile'
 
-Right now, all Linux kernels use the same load address	(0x00000000),
-but the entry point address depends on the kernel version:
+Right now, all Linux kernels for PowerPC systems use the same load
+address (0x00000000), but the entry point address depends on the
+kernel version:
 
 - 2.2.x kernels have the entry point at 0x0000000C,
 - 2.3.x and later kernels have the entry point at 0x00000000.
diff --git a/common/env_common.c b/common/env_common.c
index d46f24f..4aa043e 100644
--- a/common/env_common.c
+++ b/common/env_common.c
@@ -94,6 +94,9 @@
 #ifdef	CONFIG_ETH2ADDR
 	"eth2addr="	MK_STR(CONFIG_ETH2ADDR)		"\0"
 #endif
+#ifdef	CONFIG_ETH3ADDR
+	"eth3addr="	MK_STR(CONFIG_ETH3ADDR)		"\0"
+#endif
 #ifdef	CONFIG_IPADDR
 	"ipaddr="	MK_STR(CONFIG_IPADDR)		"\0"
 #endif
diff --git a/include/configs/OCOTEA.h b/include/configs/OCOTEA.h
index 74e5acd..6f8fd1d 100644
--- a/include/configs/OCOTEA.h
+++ b/include/configs/OCOTEA.h
@@ -154,9 +154,9 @@
 #define CONFIG_NETMASK		255.255.255.0
 #define CONFIG_IPADDR		10.1.2.3
 #define CONFIG_ETHADDR		00:04:AC:E3:28:8A
-#define CONFIG_ETHADDR1		00:04:AC:E3:28:8B
-#define CONFIG_ETHADDR2		00:04:AC:E3:28:8C
-#define CONFIG_ETHADDR3		00:04:AC:E3:28:8D
+#define CONFIG_ETH1ADDR		00:04:AC:E3:28:8B
+#define CONFIG_ETH2ADDR		00:04:AC:E3:28:8C
+#define CONFIG_ETH3ADDR		00:04:AC:E3:28:8D
 #define CFG_RX_ETH_BUFFER	32	  /* Number of ethernet rx buffers & descriptors */
 #define CONFIG_SERVERIP		10.1.2.2
 
diff --git a/lib_mips/board.c b/lib_mips/board.c
index 65a0bc3..7f5fa80 100644
--- a/lib_mips/board.c
+++ b/lib_mips/board.c
@@ -190,8 +190,8 @@
 	void copy_code (ulong);
 #endif
 
-		/* Pointer is writable since we allocated a register for it.
-		 */
+	/* Pointer is writable since we allocated a register for it.
+	 */
 	gd = &gd_data;
 	memset ((void *)gd, 0, sizeof (gd_t));
 
@@ -207,33 +207,27 @@
 	 */
 	addr = CFG_SDRAM_BASE + gd->ram_size;
 
-		/* We can reserve some RAM "on top" here.
-		 */
+	/* We can reserve some RAM "on top" here.
+	 */
 
-		/* round down to next 4 kB limit.
-		 */
+	/* round down to next 4 kB limit.
+	 */
 	addr &= ~(4096 - 1);
-#ifdef DEBUG
-	printf ("Top of RAM usable for U-Boot at: %08lx\n", addr);
-#endif
+	debug ("Top of RAM usable for U-Boot at: %08lx\n", addr);
 
-		/* Reserve memory for U-Boot code, data & bss
-		 * round down to next 16 kB limit
-		 */
+	/* Reserve memory for U-Boot code, data & bss
+	 * round down to next 16 kB limit
+	 */
 	addr -= len;
 	addr &= ~(16 * 1024 - 1);
 
-#ifdef DEBUG
-	printf ("Reserving %ldk for U-Boot at: %08lx\n", len >> 10, addr);
-#endif
+	debug ("Reserving %ldk for U-Boot at: %08lx\n", len >> 10, addr);
 
-	 	/* Reserve memory for malloc() arena.
-		 */
+	 /* Reserve memory for malloc() arena.
+	 */
 	addr_sp = addr - TOTAL_MALLOC_LEN;
-#ifdef DEBUG
-	printf ("Reserving %dk for malloc() at: %08lx\n",
+	debug ("Reserving %dk for malloc() at: %08lx\n",
 			TOTAL_MALLOC_LEN >> 10, addr_sp);
-#endif
 
 	/*
 	 * (permanently) allocate a Board Info struct
@@ -242,25 +236,20 @@
 	addr_sp -= sizeof(bd_t);
 	bd = (bd_t *)addr_sp;
 	gd->bd = bd;
-#ifdef DEBUG
-	printf ("Reserving %d Bytes for Board Info at: %08lx\n",
+	debug ("Reserving %d Bytes for Board Info at: %08lx\n",
 			sizeof(bd_t), addr_sp);
-#endif
+
 	addr_sp -= sizeof(gd_t);
 	id = (gd_t *)addr_sp;
-#ifdef DEBUG
-	printf ("Reserving %d Bytes for Global Data at: %08lx\n",
+	debug ("Reserving %d Bytes for Global Data at: %08lx\n",
 			sizeof (gd_t), addr_sp);
-#endif
 
-	 	/* Reserve memory for boot params.
-		 */
+ 	/* Reserve memory for boot params.
+	 */
 	addr_sp -= CFG_BOOTPARAMS_LEN;
 	bd->bi_boot_params = addr_sp;
-#ifdef DEBUG
-	printf ("Reserving %dk for malloc() at: %08lx\n",
+	debug ("Reserving %dk for boot params() at: %08lx\n",
 			CFG_BOOTPARAMS_LEN >> 10, addr_sp);
-#endif
 
 	/*
 	 * Finally, we set up a new (bigger) stack.
@@ -272,9 +261,8 @@
 	addr_sp &= ~0xF;
 	*((ulong *) addr_sp)-- = 0;
 	*((ulong *) addr_sp)-- = 0;
-#ifdef DEBUG
-	printf ("Stack Pointer at: %08lx\n", addr_sp);
-#endif
+	debug ("Stack Pointer at: %08lx\n", addr_sp);
+
 	/*
 	 * Save local variables to board info struct
 	 */
@@ -321,9 +309,7 @@
 	gd = id;
 	gd->flags |= GD_FLG_RELOC;	/* tell others: relocation done */
 
-#ifdef DEBUG
-	printf ("Now running in RAM - U-Boot at: %08lx\n", dest_addr);
-#endif
+	debug ("Now running in RAM - U-Boot at: %08lx\n", dest_addr);
 
 	gd->reloc_off = dest_addr - CFG_MONITOR_BASE;
 
