[U-Boot-Users] [PATCH] 85xx: Limit CPU2 workaround to parts that have the errata

Andy Fleming afleming at freescale.com
Thu May 8 00:02:56 CEST 2008


Signed-off-by: Ebony Zhu <ebony.zhu at freescale.com>
Signed-off-by: Andy Fleming <afleming at freescale.com>
---
 board/freescale/mpc8548cds/mpc8548cds.c |    7 ++++++-
 1 files changed, 6 insertions(+), 1 deletions(-)

diff --git a/board/freescale/mpc8548cds/mpc8548cds.c b/board/freescale/mpc8548cds/mpc8548cds.c
index dc39fbe..efe2a3a 100644
--- a/board/freescale/mpc8548cds/mpc8548cds.c
+++ b/board/freescale/mpc8548cds/mpc8548cds.c
@@ -59,6 +59,7 @@ int checkboard (void)
 	uint pci_slot = get_pci_slot ();
 
 	uint cpu_board_rev = get_cpu_board_revision ();
+	uint svr;
 
 	printf ("Board: CDS Version 0x%02x, PCI Slot %d\n",
 		get_board_version (), pci_slot);
@@ -71,12 +72,16 @@ int checkboard (void)
 	 */
 	local_bus_init ();
 
+	svr = get_svr();
+
 	/*
 	 * Fix CPU2 errata: A core hang possible while executing a
 	 * msync instruction and a snoopable transaction from an I/O
 	 * master tagged to make quick forward progress is present.
+	 * Fixed in Silicon Rev.2.1
 	 */
-	ecm->eebpcr |= (1 << 16);
+	if (!(SVR_MAJ(svr) >= 2 && SVR_MIN(svr) >= 1))
+		ecm->eebpcr |= (1 << 16);
 
 	/*
 	 * Hack TSEC 3 and 4 IO voltages.
-- 
1.5.4.GIT





More information about the U-Boot mailing list