summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAmaury Pouly <pamaury@rockbox.org>2011-12-13 22:48:01 +0000
committerAmaury Pouly <pamaury@rockbox.org>2011-12-13 22:48:01 +0000
commit744adcba81f462f41c18557d28883c086c27edf7 (patch)
tree85cb0f1080df4a975acbf921b3d5a3b59180a592
parent1096cc08c03af37517a29b4e453002911a9ad82e (diff)
downloadrockbox-744adcba81f462f41c18557d28883c086c27edf7.zip
rockbox-744adcba81f462f41c18557d28883c086c27edf7.tar.gz
rockbox-744adcba81f462f41c18557d28883c086c27edf7.tar.bz2
rockbox-744adcba81f462f41c18557d28883c086c27edf7.tar.xz
imx233: add comment about block reset
fuze+: reset the controller for all lcd types, should fix the "CRT effet" git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31234 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--firmware/target/arm/imx233/lcdif-imx233.h2
-rw-r--r--firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c13
2 files changed, 8 insertions, 7 deletions
diff --git a/firmware/target/arm/imx233/lcdif-imx233.h b/firmware/target/arm/imx233/lcdif-imx233.h
index 970b866..b685cdc 100644
--- a/firmware/target/arm/imx233/lcdif-imx233.h
+++ b/firmware/target/arm/imx233/lcdif-imx233.h
@@ -85,7 +85,7 @@
void imx233_lcdif_enable_bus_master(bool enable);
void imx233_lcdif_enable(bool enable);
-void imx233_lcdif_reset(void);
+void imx233_lcdif_reset(void);// reset lcdif block
void imx233_lcdif_set_timings(unsigned data_setup, unsigned data_hold,
unsigned cmd_setup, unsigned cmd_hold);
void imx233_lcdif_set_lcd_databus_width(unsigned width);
diff --git a/firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c b/firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c
index 6bc6252..140e448 100644
--- a/firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c
+++ b/firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c
@@ -247,12 +247,6 @@ static void lcd_send_sequence(struct lcd_sequence_entry_t *seq, unsigned count)
static void lcd_init_seq_7783(void)
{
- __REG_SET(HW_LCDIF_CTRL1) = HW_LCDIF_CTRL1__RESET;
- mdelay(50);
- __REG_CLR(HW_LCDIF_CTRL1) = HW_LCDIF_CTRL1__RESET;
- mdelay(10);
- __REG_SET(HW_LCDIF_CTRL1) = HW_LCDIF_CTRL1__RESET;
-
_begin_seq()
_mdelay(200)
_lcd_write_reg(1, 0x100)
@@ -377,6 +371,13 @@ void lcd_init_device(void)
if(lcd_kind == LCD_KIND_7783 || lcd_kind == LCD_KIND_9325)
break;
}
+ // reset device
+ __REG_SET(HW_LCDIF_CTRL1) = HW_LCDIF_CTRL1__RESET;
+ mdelay(50);
+ __REG_CLR(HW_LCDIF_CTRL1) = HW_LCDIF_CTRL1__RESET;
+ mdelay(10);
+ __REG_SET(HW_LCDIF_CTRL1) = HW_LCDIF_CTRL1__RESET;
+
switch(lcd_kind)
{
case LCD_KIND_7783: lcd_init_seq_7783(); break;