summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorAndy Fleming <afleming@freescale.com>2008-02-06 01:19:40 -0600
committerAndrew Fleming-AFLEMING <afleming@freescale.com>2008-03-26 11:43:04 -0500
commit1ced121600b2060ab2ff9f0fddd9421fd70a0dc6 (patch)
tree9b2f8defd6879f399795a41f9caef39cb3fa76ba /include
parentb83eef440cf3cef816172ccbb5897ccd8e403cf3 (diff)
downloadu-boot-imx-1ced121600b2060ab2ff9f0fddd9421fd70a0dc6.zip
u-boot-imx-1ced121600b2060ab2ff9f0fddd9421fd70a0dc6.tar.gz
u-boot-imx-1ced121600b2060ab2ff9f0fddd9421fd70a0dc6.tar.bz2
Update SVR numbers to expand support
FSL has taken to using SVR[16:23] as an SOC sub-version field. This is used to distinguish certain variants within an SOC family. To account for this, we add the SVR_SOC_VER() macro, and update the SVR_* constants to reflect the larger value. We also add SVR numbers for all of the current variants. Finally, to make things neater, rather than use an enormous switch statement to print out the CPU type, we create and array of SVR/name pairs (using a macro), and print out the CPU name that matches the SVR SOC version. Signed-off-by: Andy Fleming <afleming@freescale.com>
Diffstat (limited to 'include')
-rw-r--r--include/asm-ppc/processor.h44
1 files changed, 32 insertions, 12 deletions
diff --git a/include/asm-ppc/processor.h b/include/asm-ppc/processor.h
index b7a5b28..544cc01 100644
--- a/include/asm-ppc/processor.h
+++ b/include/asm-ppc/processor.h
@@ -879,22 +879,42 @@
#define SVR_MAJ(svr) (((svr) >> 4) & 0xF) /* Major revision field*/
#define SVR_MIN(svr) (((svr) >> 0) & 0xF) /* Minor revision field*/
+/* Some parts define SVR[0:23] as the SOC version */
+#define SVR_SOC_VER(svr) (((svr) >> 8) & 0xFFFFFF) /* SOC Version fields */
+
/*
- * SVR_VER() Version Values
+ * SVR_SOC_VER() Version Values
*/
-#define SVR_8540 0x8030
-#define SVR_8560 0x8070
-#define SVR_8555 0x8079
-#define SVR_8541 0x807A
-#define SVR_8544 0x8034
-#define SVR_8544_E 0x803C
-#define SVR_8548 0x8031
-#define SVR_8548_E 0x8039
-#define SVR_8610 0x80A0
-#define SVR_8641 0x8090
-#define SVR_8568_E 0x807D
+#define SVR_8533 0x803400
+#define SVR_8533_E 0x803C00
+#define SVR_8540 0x803000
+#define SVR_8541 0x807200
+#define SVR_8541_E 0x807A00
+#define SVR_8543 0x803200
+#define SVR_8543_E 0x803A00
+#define SVR_8544 0x803401
+#define SVR_8544_E 0x803C01
+#define SVR_8545 0x803102
+#define SVR_8545_E 0x803902
+#define SVR_8547_E 0x803901
+#define SVR_8548 0x803100
+#define SVR_8548_E 0x803900
+#define SVR_8555 0x807100
+#define SVR_8555_E 0x807900
+#define SVR_8560 0x807000
+#define SVR_8567 0x807600
+#define SVR_8567_E 0x807E00
+#define SVR_8568 0x807500
+#define SVR_8568_E 0x807D00
+#define SVR_8572 0x80E000
+#define SVR_8572_E 0x80E800
+
+#define SVR_8610 0x80A000
+#define SVR_8641 0x809000
+#define SVR_8641D 0x809001
+
/* I am just adding a single entry for 8260 boards. I think we may be