From 13fff2229178ab3d7f8d6b8fda37873c7a8cb1eb Mon Sep 17 00:00:00 2001
From: Thomas Herzmann <thomas.herzmann@keymile.com>
Date: Fri, 4 May 2012 10:55:57 +0200
Subject: [PATCH] powerpc/83xx/km: readout dip_switch on kmcoge5ne

On kmcoge5ne we have a dip switch present. If this switch
was switched on the actual_bank is set to 0 and this SW
will be booted.

Signed-off-by: Thomas Herzmann <thomas.herzmann@keymile.com>
Signed-off-by: Holger Brunck <holger.brunck@keymile.com>
Signed-off-by: Kim Phillips <kim.phillips@freescale.com>
---
 board/keymile/km83xx/km83xx.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/board/keymile/km83xx/km83xx.c b/board/keymile/km83xx/km83xx.c
index f05cdfd938..e01a633aae 100644
--- a/board/keymile/km83xx/km83xx.c
+++ b/board/keymile/km83xx/km83xx.c
@@ -195,6 +195,17 @@ int misc_init_r(void)
 
 int last_stage_init(void)
 {
+#if defined(CONFIG_KMCOGE5NE)
+	struct bfticu_iomap *base =
+		(struct bfticu_iomap *)CONFIG_SYS_BFTIC3_BASE;
+	u8 dip_switch = in_8((u8 *)&(base->mswitch)) & BFTICU_DIPSWITCH_MASK;
+
+	if (dip_switch != 0) {
+		/* start bootloader */
+		puts("DIP:   Enabled\n");
+		setenv("actual_bank", "0");
+	}
+#endif
 	set_km_env();
 	return 0;
 }
-- 
2.39.5