} else if (omap3_has_iva() && omap3_has_sgx()) {
                /* OMAP3430, OMAP3525, OMAP3515, OMAP3503 devices */
                strcpy(cpu_name, "OMAP3430/3530");
-       } else if (omap3_has_sgx()) {
+       } else if (omap3_has_iva()) {
                omap_revision = OMAP3525_REV(rev);
                strcpy(cpu_name, "OMAP3525");
-       } else if (omap3_has_iva()) {
+       } else if (omap3_has_sgx()) {
                omap_revision = OMAP3515_REV(rev);
                strcpy(cpu_name, "OMAP3515");
        } else {
 
                                                (!omap3_has_iva()) &&   \
                                                (!omap3_has_sgx()))
 # define cpu_is_omap3515()             (cpu_is_omap3430() &&           \
-                                               (omap3_has_iva()) &&    \
-                                               (!omap3_has_sgx()))
+                                               (!omap3_has_iva()) &&   \
+                                               (omap3_has_sgx()))
 # define cpu_is_omap3525()             (cpu_is_omap3430() &&           \
-                                               (omap3_has_sgx()) &&    \
-                                               (!omap3_has_iva()))
+                                               (!omap3_has_sgx()) &&   \
+                                               (omap3_has_iva()))
 # define cpu_is_omap3530()             (cpu_is_omap3430())
 # define cpu_is_omap3505()             is_omap3505()
 # define cpu_is_omap3517()             is_omap3517()