diff --git a/board/mpc8360emds/mpc8360emds.c b/board/mpc8360emds/mpc8360emds.c
index 562eb8b53af29deab02ed9f27a707e7f33c997a6..de4ca1e77470e86bc17c6745645a9c20caf682ff 100644
--- a/board/mpc8360emds/mpc8360emds.c
+++ b/board/mpc8360emds/mpc8360emds.c
@@ -103,7 +103,9 @@ int board_early_init_f(void)
 
 	/* Disable G1TXCLK, G2TXCLK h/w buffers (rev.2 h/w bug workaround) */
 	if (immr->sysconf.spridr == SPR_8360_REV20 ||
-	    immr->sysconf.spridr == SPR_8360E_REV20)
+	    immr->sysconf.spridr == SPR_8360E_REV20 ||
+	    immr->sysconf.spridr == SPR_8360_REV21 ||
+	    immr->sysconf.spridr == SPR_8360E_REV21)
 		bcsr[0xe] = 0x30;
 
 	return 0;
diff --git a/cpu/mpc83xx/cpu.c b/cpu/mpc83xx/cpu.c
index 841fe82428d4c9b5509ee3f6fe63923c02b946a6..bfac227d68e3322f1da08a116aba612ecae6bb11 100644
--- a/cpu/mpc83xx/cpu.c
+++ b/cpu/mpc83xx/cpu.c
@@ -113,12 +113,14 @@ int checkcpu(void)
 	case SPR_8360E_REV11:
 	case SPR_8360E_REV12:
 	case SPR_8360E_REV20:
+	case SPR_8360E_REV21:
 		puts("MPC8360E, ");
 		break;
 	case SPR_8360_REV10:
 	case SPR_8360_REV11:
 	case SPR_8360_REV12:
 	case SPR_8360_REV20:
+	case SPR_8360_REV21:
 		puts("MPC8360, ");
 		break;
 	case SPR_8323E_REV10:
@@ -150,7 +152,8 @@ int checkcpu(void)
 		puts("MPC8313E, ");
 		break;
 	default:
-		puts("Rev: Unknown revision number.\nWarning: Unsupported cpu revision!\n");
+		printf("Rev: Unknown revision number:%08x\n"
+			"Warning: Unsupported cpu revision!\n",spridr);
 		return 0;
 	}
 
diff --git a/include/mpc83xx.h b/include/mpc83xx.h
index 336c0ac4f22842720903988432fde9920fd5c2e9..01df06bf1929dd29039ac70658ddff30d27d472f 100644
--- a/include/mpc83xx.h
+++ b/include/mpc83xx.h
@@ -86,6 +86,8 @@
 #define SPR_8360_REV12			0x80490012
 #define SPR_8360E_REV20			0x80480020
 #define SPR_8360_REV20			0x80490020
+#define SPR_8360E_REV21			0x80480021
+#define SPR_8360_REV21			0x80490021
 
 #define SPR_8323E_REV10			0x80620010
 #define SPR_8323_REV10			0x80630010