summaryrefslogtreecommitdiff
path: root/firmware/target/arm/imx233/creative-zenxfi2/lcd-zenxfi2.c
diff options
context:
space:
mode:
authorAmaury Pouly <amaury.pouly@gmail.com>2013-01-12 18:58:19 +0000
committerAmaury Pouly <amaury.pouly@gmail.com>2013-01-12 18:58:19 +0000
commit0946a1e0f2c7c6491f87276cfadab5e9492313c6 (patch)
tree42a6b389fd3e444c9a4544ecd13bff8da50cbb62 /firmware/target/arm/imx233/creative-zenxfi2/lcd-zenxfi2.c
parent2ef7a549d57c984fee2cd26fbaa70bbfa054dfb4 (diff)
downloadrockbox-0946a1e0f2c7c6491f87276cfadab5e9492313c6.tar.gz
rockbox-0946a1e0f2c7c6491f87276cfadab5e9492313c6.zip
imx233: enable underflow recovery in lcdif (needed for freq scale)
When chaging the cpu and memory frequency we need to disable the external memory interface (EMI) for a small time. This can underflow the dma and cause some breakage. Hopefully the SSP controller handles this gracefully by stopping the clock and the I2C probably handles this naturally because the clock can be streched anyway. However the LCDIF has a special setting for this which needs to be enable, otherwise it will send garbage to the LCD. No other block is known to suffer from this currently but this issue might have more unexpected consequences. Change-Id: Ide154cad87929f2bf6cc419ac1d2ff33e30eec66
Diffstat (limited to 'firmware/target/arm/imx233/creative-zenxfi2/lcd-zenxfi2.c')
-rw-r--r--firmware/target/arm/imx233/creative-zenxfi2/lcd-zenxfi2.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/firmware/target/arm/imx233/creative-zenxfi2/lcd-zenxfi2.c b/firmware/target/arm/imx233/creative-zenxfi2/lcd-zenxfi2.c
index 370104c724..f452ae083e 100644
--- a/firmware/target/arm/imx233/creative-zenxfi2/lcd-zenxfi2.c
+++ b/firmware/target/arm/imx233/creative-zenxfi2/lcd-zenxfi2.c
@@ -40,6 +40,7 @@ static void setup_parameters(void)
40 imx233_lcdif_set_lcd_databus_width(HW_LCDIF_CTRL__LCD_DATABUS_WIDTH_18_BIT); 40 imx233_lcdif_set_lcd_databus_width(HW_LCDIF_CTRL__LCD_DATABUS_WIDTH_18_BIT);
41 imx233_lcdif_set_word_length(HW_LCDIF_CTRL__WORD_LENGTH_18_BIT); 41 imx233_lcdif_set_word_length(HW_LCDIF_CTRL__WORD_LENGTH_18_BIT);
42 imx233_lcdif_set_timings(2, 2, 3, 3); 42 imx233_lcdif_set_timings(2, 2, 3, 3);
43 imx233_lcdif_enable_underflow_recover(true);
43} 44}
44 45
45static void setup_lcd_pins(bool use_lcdif) 46static void setup_lcd_pins(bool use_lcdif)