[U-Boot] [PATCH] 85xx: Report which "bank" of NOR flash we are booting from on MPC8536DS

Kumar Gala galak at kernel.crashing.org
Wed Jul 15 06:06:39 CEST 2009


The MPC8536DS board is capable of swizzling the upper adress bits of
the NOR flash we boot out of which creates the concept of "virtual"
banks.  This is useful in that we can flash a test of image of u-boot
and reset to one of the virtual banks while still maintaining a
working image in "bank 0".

The PIXIS FPGA exposes registers on LBC which we can use to determine
which "bank" we are booting out of (as well as setting which bank to
boot out of).

Additionally we went ahead a tweaked the print out for a future 36-bit
physical address map for the MPC8536DS.

Signed-off-by: Kumar Gala <galak at kernel.crashing.org>
---
 board/freescale/mpc8536ds/mpc8536ds.c |   18 ++++++++++++++++--
 1 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/board/freescale/mpc8536ds/mpc8536ds.c b/board/freescale/mpc8536ds/mpc8536ds.c
index 28b27ee..2f55b07 100644
--- a/board/freescale/mpc8536ds/mpc8536ds.c
+++ b/board/freescale/mpc8536ds/mpc8536ds.c
@@ -60,10 +60,24 @@ int board_early_init_f (void)
 
 int checkboard (void)
 {
-	printf ("Board: MPC8536DS, System ID: 0x%02x, "
-		"System Version: 0x%02x, FPGA Version: 0x%02x\n",
+	u8 vboot;
+
+	puts("Board: MPC8536DS ");
+#ifdef CONFIG_PHYS_64BIT
+	puts("(36-bit addrmap) ");
+#endif
+
+	printf ("Sys ID: 0x%02x, "
+		"Sys Ver: 0x%02x, FPGA Ver: 0x%02x, ",
 		in8(PIXIS_BASE + PIXIS_ID), in8(PIXIS_BASE + PIXIS_VER),
 		in8(PIXIS_BASE + PIXIS_PVER));
+
+	vboot = in8(PIXIS_BASE + 0x16);
+	if ((vboot >> 7) & 0x1)
+		printf ("Promjet\n");
+	else
+		printf ("vBank: %d\n", ((vboot >> 5) & 0x3));
+
 	return 0;
 }
 
-- 
1.6.0.6



More information about the U-Boot mailing list