[U-Boot] [PATCH] ppc4xx: Add PPC405EX(r) Rev D support

Stefan Roese
2009-10-06T05:21:08Z

Unfortunately some Rev D PPC405EX/405EXr PVR's are identical with older
405EX(r) parts. Here a list:

0x12911475 - 405EX Rev D with Security *and* 405EX Rev A/B witout Sec
0x12911473 - 405EX Rev D without Security *and* 405EXr Rev A/B with Sec

Since there are only a few older parts in the field, this patch now
changes the PVR's above to represent the new Rev D versions.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Phong Vo" <pvo@amcc.com>
---
cpu/ppc4xx/cpu.c | 30 ++++++++++++++++++++----------
include/asm-ppc/processor.h | 6 ++++--
2 files changed, 24 insertions(+), 12 deletions(-)

diff --git a/cpu/ppc4xx/cpu.c b/cpu/ppc4xx/cpu.c
index 2287904..a9a0ac3 100644
--- a/cpu/ppc4xx/cpu.c
+++ b/cpu/ppc4xx/cpu.c
@@ -371,16 +371,6 @@ int checkcpu (void)
strcpy(addstr, "Security support");
break;

- case PVR_405EX2_RA:
- puts("EX Rev. A");
- strcpy(addstr, "No Security support");
- break;
-
- case PVR_405EXR1_RA:
- puts("EXr Rev. A");
- strcpy(addstr, "Security support");
- break;
-
case PVR_405EXR2_RA:
puts("EXr Rev. A");
strcpy(addstr, "No Security support");
@@ -406,6 +396,26 @@ int checkcpu (void)
strcpy(addstr, "No Security support");
break;

+ case PVR_405EX1_RD:
+ puts("EX Rev. D");
+ strcpy(addstr, "Security support");
+ break;
+
+ case PVR_405EX2_RD:
+ puts("EX Rev. D");
+ strcpy(addstr, "No Security support");
+ break;
+
+ case PVR_405EXR1_RD:
+ puts("EXr Rev. D");
+ strcpy(addstr, "Security support");
+ break;
+
+ case PVR_405EXR2_RD:
+ puts("EXr Rev. D");
+ strcpy(addstr, "No Security support");
+ break;
+
#if defined(CONFIG_440)
case PVR_440GP_RB:
puts("GP Rev. B");
diff --git a/include/asm-ppc/processor.h b/include/asm-ppc/processor.h
index d009957..f61778f 100644
--- a/include/asm-ppc/processor.h
+++ b/include/asm-ppc/processor.h
@@ -863,14 +863,16 @@
#define PVR_405EP_RA 0x51210950
#define PVR_405GPR_RB 0x50910951
#define PVR_405EZ_RA 0x41511460
-#define PVR_405EXR1_RA 0x12911473 /* 405EXr rev A/B with Security */
#define PVR_405EXR2_RA 0x12911471 /* 405EXr rev A/B without Security */
#define PVR_405EX1_RA 0x12911477 /* 405EX rev A/B with Security */
-#define PVR_405EX2_RA 0x12911475 /* 405EX rev A/B without Security */
#define PVR_405EXR1_RC 0x1291147B /* 405EXr rev C with Security */
#define PVR_405EXR2_RC 0x12911479 /* 405EXr rev C without Security */
#define PVR_405EX1_RC 0x1291147F /* 405EX rev C with Security */
#define PVR_405EX2_RC 0x1291147D /* 405EX rev C without Security */
+#define PVR_405EXR1_RD 0x12911472 /* 405EXr rev D with Security */
+#define PVR_405EXR2_RD 0x12911470 /* 405EXr rev D without Security */
+#define PVR_405EX1_RD 0x12911475 /* 405EX rev D with Security */
+#define PVR_405EX2_RD 0x12911473 /* 405EX rev D without Security */
#define PVR_440GP_RB 0x40120440
#define PVR_440GP_RC 0x40120481
#define PVR_440EP_RA 0x42221850
--
1.6.4.4