diff options
Diffstat (limited to 'drivers/usb/musb/blackfin.h')
-rw-r--r-- | drivers/usb/musb/blackfin.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/drivers/usb/musb/blackfin.h b/drivers/usb/musb/blackfin.h index a240c1e53d16..10b7d7584f4b 100644 --- a/drivers/usb/musb/blackfin.h +++ b/drivers/usb/musb/blackfin.h | |||
@@ -14,6 +14,43 @@ | |||
14 | * Blackfin specific definitions | 14 | * Blackfin specific definitions |
15 | */ | 15 | */ |
16 | 16 | ||
17 | /* Anomalies notes: | ||
18 | * | ||
19 | * 05000450 - USB DMA Mode 1 Short Packet Data Corruption: | ||
20 | * MUSB driver is designed to transfer buffer of N * maxpacket size | ||
21 | * in DMA mode 1 and leave the rest of the data to the next | ||
22 | * transfer in DMA mode 0, so we never transmit a short packet in | ||
23 | * DMA mode 1. | ||
24 | * | ||
25 | * 05000463 - This anomaly doesn't affect this driver since it | ||
26 | * never uses L1 or L2 memory as data destination. | ||
27 | * | ||
28 | * 05000464 - This anomaly doesn't affect this driver since it | ||
29 | * never uses L1 or L2 memory as data source. | ||
30 | * | ||
31 | * 05000465 - The anomaly can be seen when SCLK is over 100 MHz, and there is | ||
32 | * no way to workaround for bulk endpoints. Since the wMaxPackSize | ||
33 | * of bulk is less than or equal to 512, while the fifo size of | ||
34 | * endpoint 5, 6, 7 is 1024, the double buffer mode is enabled | ||
35 | * automatically when these endpoints are used for bulk OUT. | ||
36 | * | ||
37 | * 05000466 - This anomaly doesn't affect this driver since it never mixes | ||
38 | * concurrent DMA and core accesses to the TX endpoint FIFOs. | ||
39 | * | ||
40 | * 05000467 - The workaround for this anomaly will introduce another | ||
41 | * anomaly - 05000465. | ||
42 | */ | ||
43 | |||
44 | /* The Mentor USB DMA engine on BF52x (silicon v0.0 and v0.1) seems to be | ||
45 | * unstable in host mode. This may be caused by Anomaly 05000380. After | ||
46 | * digging out the root cause, we will change this number accordingly. | ||
47 | * So, need to either use silicon v0.2+ or disable DMA mode in MUSB. | ||
48 | */ | ||
49 | #if ANOMALY_05000380 && defined(CONFIG_BF52x) && \ | ||
50 | defined(CONFIG_USB_MUSB_HDRC) && !defined(CONFIG_MUSB_PIO_ONLY) | ||
51 | # error "Please use PIO mode in MUSB driver on bf52x chip v0.0 and v0.1" | ||
52 | #endif | ||
53 | |||
17 | #undef DUMP_FIFO_DATA | 54 | #undef DUMP_FIFO_DATA |
18 | #ifdef DUMP_FIFO_DATA | 55 | #ifdef DUMP_FIFO_DATA |
19 | static void dump_fifo_data(u8 *buf, u16 len) | 56 | static void dump_fifo_data(u8 *buf, u16 len) |