]> git.kernelconcepts.de Git - karo-tx-linux.git/blobdiff - arch/arm/mach-omap2/id.c
Merge tag 'soc-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
[karo-tx-linux.git] / arch / arm / mach-omap2 / id.c
index 54e4c16ce53956f645e6a4e9ba8d470ee8dfb4b2..2dc62a25f2c3fc7897e0e20e18ccf086a74da161 100644 (file)
@@ -55,7 +55,7 @@ int omap_type(void)
 
        if (cpu_is_omap24xx()) {
                val = omap_ctrl_readl(OMAP24XX_CONTROL_STATUS);
-       } else if (soc_is_am33xx()) {
+       } else if (soc_is_am33xx() || soc_is_am43xx()) {
                val = omap_ctrl_readl(AM33XX_CONTROL_STATUS);
        } else if (cpu_is_omap34xx()) {
                val = omap_ctrl_readl(OMAP343X_CONTROL_STATUS);
@@ -209,6 +209,8 @@ static void __init omap3_cpuinfo(void)
                cpu_name = "TI816X";
        } else if (soc_is_am335x()) {
                cpu_name =  "AM335X";
+       } else if (soc_is_am437x()) {
+               cpu_name =  "AM437x";
        } else if (cpu_is_ti814x()) {
                cpu_name = "TI814X";
        } else if (omap3_has_iva() && omap3_has_sgx()) {
@@ -302,6 +304,19 @@ void __init ti81xx_check_features(void)
        omap3_cpuinfo();
 }
 
+void __init am33xx_check_features(void)
+{
+       u32 status;
+
+       omap_features = OMAP3_HAS_NEON;
+
+       status = omap_ctrl_readl(AM33XX_DEV_FEATURE);
+       if (status & AM33XX_SGX_MASK)
+               omap_features |= OMAP3_HAS_SGX;
+
+       omap3_cpuinfo();
+}
+
 void __init omap3xxx_check_revision(void)
 {
        const char *cpu_rev;
@@ -405,11 +420,18 @@ void __init omap3xxx_check_revision(void)
                        cpu_rev = "1.0";
                        break;
                case 1:
-               /* FALLTHROUGH */
-               default:
                        omap_revision = TI8168_REV_ES1_1;
                        cpu_rev = "1.1";
                        break;
+               case 2:
+                       omap_revision = TI8168_REV_ES2_0;
+                       cpu_rev = "2.0";
+                       break;
+               case 3:
+                       /* FALLTHROUGH */
+               default:
+                       omap_revision = TI8168_REV_ES2_1;
+                       cpu_rev = "2.1";
                }
                break;
        case 0xb944:
@@ -430,6 +452,10 @@ void __init omap3xxx_check_revision(void)
                        break;
                }
                break;
+       case 0xb98c:
+               omap_revision = AM437X_REV_ES1_0;
+               cpu_rev = "1.0";
+               break;
        case 0xb8f2:
                switch (rev) {
                case 0: