diff --git a/CHANGELOG b/CHANGELOG
index d39fabe..85394aa 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -2,6 +2,15 @@
 Changes for U-Boot 1.0.2:
 ======================================================================
 
+* Patch by Rahul Shanbhag, 19 Feb 2004:
+  Fixes for for OMAP1610 board:
+  - shift some IRQ specific code to platform.S file
+  - remove duplicatewatchdog reset code from start.S
+
+* Make Auto-MDIX Support configurable on INCA-IP board
+
+* Fix license for mkimage tool
+
 * Patch by Masami Komiya, 24 Feb 2004:
   Update NetBootFileXferSize in NFS code
 
diff --git a/board/omap1610inn/platform.S b/board/omap1610inn/platform.S
index 4d6224c..2fa4378 100644
--- a/board/omap1610inn/platform.S
+++ b/board/omap1610inn/platform.S
@@ -41,6 +41,15 @@
 platformsetup:
 
 
+	/*------------------------------------------------------* 
+	 *mask all IRQs by setting all bits in the INTMR default* 
+	*------------------------------------------------------*/
+	mov	r1, #0xffffffff
+	ldr	r0, =REG_IHL1_MIR
+	str	r1, [r0]
+	ldr	r0, =REG_IHL2_MIR
+	str	r1, [r0]
+	
 	/*------------------------------------------------------*
 	 * Set up ARM CLM registers (IDLECT1)                   *
 	 *------------------------------------------------------*/
diff --git a/cpu/arm926ejs/start.S b/cpu/arm926ejs/start.S
index 0c28927..51a2605 100644
--- a/cpu/arm926ejs/start.S
+++ b/cpu/arm926ejs/start.S
@@ -133,27 +133,6 @@
 	orr	r0,r0,#0xd3
 	msr	cpsr,r0
 
-
-	/*
-	 * turn off the watchdog, unlock/diable sequence
-	 */
-	mov	r1, #0xF5
-	ldr	r0, =WDTIM_MODE
-	strh	r1, [r0]
-	mov	r1, #0xA0
-	strh	r1, [r0]
-
-
-	/*
-	 * mask all IRQs by setting all bits in the INTMR - default
-	 */
-
-	mov	r1, #0xffffffff
-	ldr	r0, =REG_IHL1_MIR
-	str	r1, [r0]
-	ldr	r0, =REG_IHL2_MIR
-	str	r1, [r0]
-
 	/*
 	 * we do sys-critical inits only at reboot,
 	 * not when booting from ram!
diff --git a/drivers/inca-ip_sw.c b/drivers/inca-ip_sw.c
index c76b344..88bc813 100644
--- a/drivers/inca-ip_sw.c
+++ b/drivers/inca-ip_sw.c
@@ -174,7 +174,9 @@
 
 	inca_init_switch_chip();
 
+#if defined(CONFIG_INCA_IP_SWITCH_AMDIX)
 	inca_amdix();
+#endif
 
 	sprintf(dev->name, "INCA-IP Switch");
 	dev->init = inca_switch_init;
@@ -623,6 +625,7 @@
 	DMA_WRITE_REG(INCA_IP_DMA_DMA_RXISR, 0xFFFFFFFF);
 }
 
+#if defined(CONFIG_INCA_IP_SWITCH_AMDIX)
 static int inca_amdix(void)
 {
 	u32 regValue = 0;
@@ -706,5 +709,6 @@
 
 	return 0;
 }
+#endif /* CONFIG_INCA_IP_SWITCH_AMDIX */
 
 #endif
diff --git a/include/configs/incaip.h b/include/configs/incaip.h
index c90ac65..2180607 100644
--- a/include/configs/incaip.h
+++ b/include/configs/incaip.h
@@ -85,7 +85,8 @@
 				 CFG_CMD_ASKENV	| \
 				 CFG_CMD_DHCP	| \
 				 CFG_CMD_ELF	| \
-				 CFG_CMD_JFFS2	)
+				 CFG_CMD_JFFS2	| \
+				 CFG_CMD_PING	)
 #include <cmd_confdefs.h>
 
 /*
@@ -143,6 +144,7 @@
 
 #define CONFIG_INCA_IP_SWITCH
 #define CONFIG_NET_MULTI
+#define CONFIG_INCA_IP_SWITCH_AMDIX
 
 #define CFG_JFFS2_FIRST_BANK	1
 #define CFG_JFFS2_NUM_BANKS	1
diff --git a/tools/mkimage.c b/tools/mkimage.c
index 9ec02ce..c32085d 100644
--- a/tools/mkimage.c
+++ b/tools/mkimage.c
@@ -1,8 +1,23 @@
 /*
- * (C) Copyright 2000-2003
+ * (C) Copyright 2000-2004
  * DENX Software Engineering
  * Wolfgang Denk, wd@denx.de
  * All rights reserved.
+ *
+ * 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
  */
 
 #include <errno.h>
