|
@@ -10,11 +10,20 @@
|
|
|
#include <asm/arch/clk.h>
|
|
|
#include <asm/arch/sama5d2.h>
|
|
|
|
|
|
-char *get_cpu_name()
|
|
|
+int cpu_is_sama5d2(void)
|
|
|
{
|
|
|
+ unsigned int chip_id = get_chip_id();
|
|
|
+
|
|
|
+ return ((chip_id == ARCH_ID_SAMA5D2) ||
|
|
|
+ (chip_id == ARCH_ID_SAMA5D2_SIP)) ? 1 : 0;
|
|
|
+}
|
|
|
+
|
|
|
+char *get_cpu_name(void)
|
|
|
+{
|
|
|
+ unsigned int chip_id = get_chip_id();
|
|
|
unsigned int extension_id = get_extension_chip_id();
|
|
|
|
|
|
- if (cpu_is_sama5d2()) {
|
|
|
+ if (chip_id == ARCH_ID_SAMA5D2) {
|
|
|
switch (extension_id) {
|
|
|
case ARCH_EXID_SAMA5D21CU:
|
|
|
return "SAMA5D21";
|
|
@@ -41,6 +50,19 @@ char *get_cpu_name()
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ if ((chip_id == ARCH_ID_SAMA5D2) || (chip_id == ARCH_ID_SAMA5D2_SIP)) {
|
|
|
+ switch (extension_id) {
|
|
|
+ case ARCH_EXID_SAMA5D225C_D1M:
|
|
|
+ return "SAMA5D225 128M bits DDR2 SDRAM";
|
|
|
+ case ARCH_EXID_SAMA5D27C_D5M:
|
|
|
+ return "SAMA5D27 512M bits DDR2 SDRAM";
|
|
|
+ case ARCH_EXID_SAMA5D27C_D1G:
|
|
|
+ return "SAMA5D27 1G bits DDR2 SDRAM";
|
|
|
+ case ARCH_EXID_SAMA5D28C_D1G:
|
|
|
+ return "SAMA5D28 1G bits DDR2 SDRAM";
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
return "Unknown CPU type";
|
|
|
}
|
|
|
|