|
@@ -365,7 +365,13 @@ void omap_mcbsp_start(unsigned int id, int tx, int rx)
|
|
w = OMAP_MCBSP_READ(io_base, SPCR1);
|
|
w = OMAP_MCBSP_READ(io_base, SPCR1);
|
|
OMAP_MCBSP_WRITE(io_base, SPCR1, w | (rx & 1));
|
|
OMAP_MCBSP_WRITE(io_base, SPCR1, w | (rx & 1));
|
|
|
|
|
|
- udelay(100);
|
|
|
|
|
|
+ /*
|
|
|
|
+ * Worst case: CLKSRG*2 = 8000khz: (1/8000) * 2 * 2 usec
|
|
|
|
+ * REVISIT: 100us may give enough time for two CLKSRG, however
|
|
|
|
+ * due to some unknown PM related, clock gating etc. reason it
|
|
|
|
+ * is now at 500us.
|
|
|
|
+ */
|
|
|
|
+ udelay(500);
|
|
|
|
|
|
if (idle) {
|
|
if (idle) {
|
|
/* Start frame sync */
|
|
/* Start frame sync */
|