[U-Boot] [PATCH] powerpc/86xx: display boot device and bank on the MPC8610 HPCD

Timur Tabi timur at freescale.com
Thu Apr 28 20:41:20 CEST 2011


Signed-off-by: Timur Tabi <timur at freescale.com>
---
 board/freescale/mpc8610hpcd/mpc8610hpcd.c |   25 +++++++++++++++++++++++--
 1 files changed, 23 insertions(+), 2 deletions(-)

diff --git a/board/freescale/mpc8610hpcd/mpc8610hpcd.c b/board/freescale/mpc8610hpcd/mpc8610hpcd.c
index d7dd470..4e4b7c0 100644
--- a/board/freescale/mpc8610hpcd/mpc8610hpcd.c
+++ b/board/freescale/mpc8610hpcd/mpc8610hpcd.c
@@ -94,11 +94,32 @@ int checkboard(void)
 	volatile ccsr_local_mcm_t *mcm = &immap->im_local_mcm;
 	u8 *pixis_base = (u8 *)PIXIS_BASE;
 
-	printf ("Board: MPC8610HPCD, System ID: 0x%02x, "
-		"System Version: 0x%02x, FPGA Version: 0x%02x\n",
+	printf ("Board: MPC8610HPCD, Sys ID: 0x%02x, "
+		"Sys Ver: 0x%02x, FPGA Ver: 0x%02x, ",
 		in_8(pixis_base + PIXIS_ID), in_8(pixis_base + PIXIS_VER),
 		in_8(pixis_base + PIXIS_PVER));
 
+	/*
+	 * The MPC8610 HPCD workbook says that LBMAP=11 is the "normal" boot
+	 * bank and LBMAP=00 is the alternate bank.  However, the pixis
+	 * altbank code can only set bits, not clear them, so we treat 00 as
+	 * the normal bank and 11 as the alternate.
+	 */
+	switch (in_8(pixis_base + PIXIS_VBOOT) & 0xC0) {
+	case 0:
+		puts("vBank: Standard\n");
+		break;
+	case 0x40:
+		puts("Promjet\n");
+		break;
+	case 0x80:
+		puts("NAND\n");
+		break;
+	case 0xC0:
+		puts("vBank: Alternate\n");
+		break;
+	}
+
 	mcm->abcr |= 0x00010000; /* 0 */
 	mcm->hpmr3 = 0x80000008; /* 4c */
 	mcm->hpmr0 = 0;
-- 
1.7.3.4




More information about the U-Boot mailing list