From: Thomas Herzmann <thomas.herzmann@keymile.com>
Date: Fri, 4 May 2012 08:55:57 +0000 (+0200)
Subject: powerpc/83xx/km: readout dip_switch on kmcoge5ne
X-Git-Tag: v2025.01-rc5-pxa1908~17674^2~35^2~1
X-Git-Url: http://git.dujemihanovic.xyz/html/static/git-logo.png?a=commitdiff_plain;h=13fff2229178ab3d7f8d6b8fda37873c7a8cb1eb;p=u-boot.git

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>
---

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;
 }