OMAP3: Move get_cpu_family() function to not duplicate code
[pandora-x-loader.git] / cpu / omap3 / sys_info.c
index 8422b4e..ef18d60 100644 (file)
@@ -64,3 +64,33 @@ u32 get_cpu_id(void)
 
        return cpuid;
 }
+
+/*
+ * get_cpu_family(void): extract cpu info
+ */
+u32 get_cpu_family(void)
+{
+       u16 hawkeye;
+       u32 cpu_family;
+       u32 cpuid = get_cpu_id();
+
+       if (cpuid == 0)
+               return CPU_OMAP34XX;
+
+       hawkeye = (cpuid >> HAWKEYE_SHIFT) & 0xffff;
+       switch (hawkeye) {
+       case HAWKEYE_OMAP34XX:
+               cpu_family = CPU_OMAP34XX;
+               break;
+       case HAWKEYE_AM35XX:
+               cpu_family = CPU_AM35XX;
+               break;
+       case HAWKEYE_OMAP36XX:
+               cpu_family = CPU_OMAP36XX;
+               break;
+       default:
+               cpu_family = CPU_OMAP34XX;
+       }
+
+       return cpu_family;
+}