summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2014-03-03 18:33:04 +0100
committerAmaury Pouly <amaury.pouly@gmail.com>2014-03-03 18:33:04 +0100
commite5ce28ca094b719078e1783d0a9d5acc08b48d26 (patch)
tree4e9cb5b032a9563de9051b7e585c8ae7e90b2709
parent382d1861af12741af4ff235b9d18f179c0adc4c5 (diff)
downloadrockbox-e5ce28c.tar.gz
rockbox-e5ce28c.tar.bz2
rockbox-e5ce28c.zip
zen/zenxfi: correctly implement lcdif errata
Change-Id: Ib2a6000035d70d687025a78bbea416d77af562fe
-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);