usb:gadget:ums: Replace malloc calls with memalign to fix cache buffer alignment
[oweals/u-boot.git] / drivers / usb / musb / blackfin_usb.c
index 0eb19a0924cb79a4e0334b575b4f8fcb310f2cff..35268ba58ef00b1c18e18ccecd7f0b0c85e3f0b9 100644 (file)
@@ -97,10 +97,25 @@ static void __def_musb_init(void)
 }
 void board_musb_init(void) __attribute__((weak, alias("__def_musb_init")));
 
-int musb_platform_init(void)
+static void bfin_anomaly_init(void)
 {
-       /* board specific initialization */
-       board_musb_init();
+       u32 revid;
+
+       if (!ANOMALY_05000346 && !ANOMALY_05000347)
+               return;
+
+       revid = bfin_revid();
+
+#ifdef __ADSPBF54x__
+       if (revid > 0)
+               return;
+#endif
+#ifdef __ADSPBF52x__
+       if (ANOMALY_BF526 && revid > 0)
+               return;
+       if (ANOMALY_BF527 && revid > 1)
+               return;
+#endif
 
        if (ANOMALY_05000346) {
                bfin_write_USB_APHY_CALIB(ANOMALY_05000346_value);
@@ -111,6 +126,14 @@ int musb_platform_init(void)
                bfin_write_USB_APHY_CNTRL(0x0);
                SSYNC();
        }
+}
+
+int musb_platform_init(void)
+{
+       /* board specific initialization */
+       board_musb_init();
+
+       bfin_anomaly_init();
 
        /* Configure PLL oscillator register */
        bfin_write_USB_PLLOSC_CTRL(0x3080 |