From: Sonic Zhang <sonic.zhang@xxxxxxxxxx>
Add some helpful notes about how the driver works around different
anomalies that exist in the on-chip host controller.
Signed-off-by: Sonic Zhang <sonic.zhang@xxxxxxxxxx>
Signed-off-by: Cliff Cai <cliff.cai@xxxxxxxxxx>
Signed-off-by: Mike Frysinger <vapier@xxxxxxxxxx>
diff --git a/drivers/usb/musb/blackfin.h b/drivers/usb/musb/blackfin.h
index a240c1e..de62962 100644
--- a/drivers/usb/musb/blackfin.h
+++ b/drivers/usb/musb/blackfin.h
@@ -14,6 +14,35 @@
* Blackfin specific definitions
*/
+/* Anomalies notes:
+ *
+ * 05000450 - USB DMA Mode 1 Short Packet Data Corruption:
+ * MUSB driver is designed to transfer buffer of N * maxpacket size
+ * in DMA mode 1 and leave rest data to the next transfer in DMA
+ * mode 0, so we never transmit a short packet in DMA mode 1.
+ *
+ * 05000463 - This anomaly doesn't affect this driver,Since it
+ * never uses L1 or L2 memory as data destination.
+ *
+ * 05000464 - This anomaly doesn't affect this driver,Since it
+ * never uses L1 or L2 memory as data source.
+ *
+ * 05000465 - Actually,the anomaly still can be seen when SCLK
+ * is over 100 MHz,and there is no way to workaround
+ * for bulk endpoints,because the wMaxPackSize of bulk
+ * is less than or equal to 512,while the fifo size of
+ * endpoint 5,6,7 is 1024,the double buffer mode is
+ * enabled automatically when these endpoints are used
+ * for bulk OUT.
+ *
+ * 05000466 - This anomaly doesn't affect this driver,Since it
+ * never mixs concurrent DMA and core accesses to the
+ * TX endpoint FIFOs.