* Patch by Imre Deak, 26 May 2004:
On OMAP1610 platforms check if booting from RAM(CS0) or flash(CS3).
Set flash base accordingly, and decide whether to do or skip board
specific setup steps.
* Patch by Josef Baumgartner, 26 May 2004:
Add missing define in include/asm-m68k/global_data.h
diff --git a/board/omap1610inn/platform.S b/board/omap1610inn/platform.S
index 441edc2..d694f94 100644
--- a/board/omap1610inn/platform.S
+++ b/board/omap1610inn/platform.S
@@ -71,6 +71,12 @@
ldr r1, VAL_ARM_IDLECT3
str r1, [r0]
+#ifdef CONFIG_CS_AUTOBOOT /* do the setup depending on boot mode */
+ ldr r0, CONF_STATUS
+ ldr r1, [r0]
+ tst r1, #0x02
+ beq disable_wd /* booting from RAM, skip setup */
+#endif
mov r1, #0x01 /* PER_EN bit */
ldr r0, REG_ARM_RSTCT2
@@ -118,6 +124,7 @@
/*------------------------------------------------------*
* Turn off the watchdog during init... *
*------------------------------------------------------*/
+disable_wd:
ldr r0, REG_WATCHDOG
ldr r1, WATCHDOG_VAL1
str r1, [r0]
@@ -281,6 +288,10 @@
/* the literal pools origin */
.ltorg
+#ifdef CONFIG_CS_AUTOBOOT
+CONF_STATUS:
+ .word 0xfffe1130 /* 32 bits */
+#endif
REG_TC_EMIFS_CONFIG: /* 32 bits */
.word 0xfffecc0c