diff options
| -rw-r--r-- | firmware/target/arm/as3525/sansa-e200v2/button-e200v2.c | 3 | ||||
| -rw-r--r-- | firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c | 4 |
2 files changed, 7 insertions, 0 deletions
diff --git a/firmware/target/arm/as3525/sansa-e200v2/button-e200v2.c b/firmware/target/arm/as3525/sansa-e200v2/button-e200v2.c index 9154753..0e0e157 100644 --- a/firmware/target/arm/as3525/sansa-e200v2/button-e200v2.c +++ b/firmware/target/arm/as3525/sansa-e200v2/button-e200v2.c @@ -154,6 +154,9 @@ unsigned short button_read_dbop(void) DBOP_CTRL |= (1<<15); /* start read */ while (!(DBOP_STAT & (1<<16))); /* wait for valid data */ + int delay=10; + while(delay--); /* short delay before reading */ + _dbop_din = DBOP_DIN; /* Read dbop data*/ /* Reset dbop for output */ diff --git a/firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c b/firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c index 840d3c4..ece773f 100644 --- a/firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c +++ b/firmware/target/arm/as3525/sansa-e200v2/lcd-e200v2.c @@ -138,6 +138,10 @@ static void lcd_write_cmd(int cmd) /* Wait for fifo to empty */ while ((DBOP_STAT & (1<<10)) == 0); + /* Fuze OF has this loop and it seems to help us now also */ + int delay=8; + while(delay--); + DBOP_TIMPOL_23 = 0xa167e06f; } |