summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--firmware/target/arm/imx233/creative-zen/lcd-zen.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/firmware/target/arm/imx233/creative-zen/lcd-zen.c b/firmware/target/arm/imx233/creative-zen/lcd-zen.c
index 4f459937f0..e9644278f1 100644
--- a/firmware/target/arm/imx233/creative-zen/lcd-zen.c
+++ b/firmware/target/arm/imx233/creative-zen/lcd-zen.c
@@ -266,7 +266,9 @@ void lcd_enable(bool enable)
lcd_power(false);
// stop lcdif
BF_CLR(LCDIF_CTRL, DOTCLK_MODE);
- // stmp37xx errata: clearing DOTCLK_MODE won't clear RUN
+ /* stmp37xx errata: clearing DOTCLK_MODE won't clear RUN: wait until
+ * fifo is empty and then clear manually */
+ while(!BF_RD(LCDIF_STAT, TXFIFO_EMPTY));
BF_CLR(LCDIF_CTRL, RUN);
// disable spi
spi_enable(false);