*
         * temporary HACK: ocr_mask instead of fixed supply
         */
-       if (cpu_is_omap3517())
+       if (soc_is_am35xx())
                mmc->slots[0].ocr_mask = MMC_VDD_165_195 |
                                         MMC_VDD_26_27 |
                                         MMC_VDD_27_28 |
        else
                mmc->slots[0].ocr_mask = c->ocr_mask;
 
-       if (!cpu_is_omap3517())
+       if (!soc_is_am35xx())
                mmc->slots[0].features |= HSMMC_HAS_PBIAS;
 
        if (cpu_is_omap44xx() && (omap_rev() > OMAP4430_REV_ES1_0))
                        }
                }
 
-               if (cpu_is_omap3517())
+               if (soc_is_am35xx())
                        mmc->slots[0].set_power = nop_mmc_set_power;
 
                /* OMAP3630 HSMMC1 supports only 4-bit */
                }
                break;
        case 2:
-               if (cpu_is_omap3517())
+               if (soc_is_am35xx())
                        mmc->slots[0].set_power = am35x_hsmmc2_set_power;
 
                if (c->ext_clock)
 
         */
        if (cpu_is_omap3630()) {
                cpu_name = "OMAP3630";
-       } else if (cpu_is_omap3517()) {
-               /* AM35xx devices */
+       } else if (soc_is_am35xx()) {
                cpu_name = (omap3_has_sgx()) ? "AM3517" : "AM3505";
        } else if (cpu_is_ti816x()) {
                cpu_name = "TI816X";
                 */
                switch (rev) {
                case 0:
-                       omap_revision = OMAP3517_REV_ES1_0;
+                       omap_revision = AM35XX_REV_ES1_0;
                        cpu_rev = "1.0";
                        break;
                case 1:
                /* FALLTHROUGH */
                default:
-                       omap_revision = OMAP3517_REV_ES1_1;
+                       omap_revision = AM35XX_REV_ES1_1;
                        cpu_rev = "1.1";
                }
                break;
 
            rev == OMAP3430_REV_ES2_1 || rev == OMAP3430_REV_ES3_0 ||
            rev == OMAP3430_REV_ES3_1 || rev == OMAP3430_REV_ES3_1_2) {
                h = omap34xx_hwmod_ocp_ifs;
-       } else if (rev == OMAP3517_REV_ES1_0 || rev == OMAP3517_REV_ES1_1) {
+       } else if (rev == AM35XX_REV_ES1_0 || rev == AM35XX_REV_ES1_1) {
                h = am35xx_hwmod_ocp_ifs;
        } else if (rev == OMAP3630_REV_ES1_0 || rev == OMAP3630_REV_ES1_1 ||
                   rev == OMAP3630_REV_ES1_2) {
 
                 rev == OMAP3430_REV_ES3_0 || rev == OMAP3630_REV_ES1_0)
                pwrdm_register_pwrdms(powerdomains_omap3430es2_es3_0);
        else if (rev == OMAP3430_REV_ES3_1 || rev == OMAP3430_REV_ES3_1_2 ||
-                rev == OMAP3517_REV_ES1_0 || rev == OMAP3517_REV_ES1_1 ||
+                rev == AM35XX_REV_ES1_0 || rev == AM35XX_REV_ES1_1 ||
                 rev == OMAP3630_REV_ES1_1 || rev == OMAP3630_REV_ES1_2)
                pwrdm_register_pwrdms(powerdomains_omap3430es3_1plus);
        else
 
        musb_plat.mode = board_data->mode;
        musb_plat.extvbus = board_data->extvbus;
 
-       if (cpu_is_omap3517()) {
+       if (soc_is_am35xx()) {
                oh_name = "am35x_otg_hs";
                name = "musb-am35x";
        } else if (cpu_is_ti81xx()) {
 
        }
 #endif
 
-       if (cpu_is_omap3517())
+       if (soc_is_am35xx())
                voltdms = voltagedomains_am35xx;
        else
                voltdms = voltagedomains_omap3;
 
 IS_OMAP_CLASS(24xx, 0x24)
 IS_OMAP_CLASS(34xx, 0x34)
 IS_OMAP_CLASS(44xx, 0x44)
+IS_AM_CLASS(35xx, 0x35)
 IS_AM_CLASS(33xx, 0x33)
 
 IS_TI_CLASS(81xx, 0x81)
 #define cpu_is_ti81xx()                        0
 #define cpu_is_ti816x()                        0
 #define cpu_is_ti814x()                        0
+#define soc_is_am35xx()                        0
 #define cpu_is_am33xx()                        0
 #define cpu_is_am335x()                        0
 #define cpu_is_omap44xx()              0
 # undef cpu_is_ti81xx
 # undef cpu_is_ti816x
 # undef cpu_is_ti814x
+# undef soc_is_am35xx
 # undef cpu_is_am33xx
 # undef cpu_is_am335x
 # define cpu_is_omap3430()             is_omap3430()
 # define cpu_is_ti81xx()               is_ti81xx()
 # define cpu_is_ti816x()               is_ti816x()
 # define cpu_is_ti814x()               is_ti814x()
+# define soc_is_am35xx()               is_am35xx()
 # define cpu_is_am33xx()               is_am33xx()
 # define cpu_is_am335x()               is_am335x()
 #endif
 #define TI8148_REV_ES2_0       (TI814X_CLASS | (0x1 << 8))
 #define TI8148_REV_ES2_1       (TI814X_CLASS | (0x2 << 8))
 
+#define AM35XX_CLASS           0x35170034
+#define AM35XX_REV_ES1_0       AM35XX_CLASS
+#define AM35XX_REV_ES1_1       (AM35XX_CLASS | (0x1 << 8))
+
 #define AM335X_CLASS           0x33500034
 #define AM335X_REV_ES1_0       AM335X_CLASS