diff options
| author | Amaury Pouly <pamaury@rockbox.org> | 2011-12-13 22:48:01 +0000 |
|---|---|---|
| committer | Amaury Pouly <pamaury@rockbox.org> | 2011-12-13 22:48:01 +0000 |
| commit | 744adcba81f462f41c18557d28883c086c27edf7 (patch) | |
| tree | 85cb0f1080df4a975acbf921b3d5a3b59180a592 | |
| parent | 1096cc08c03af37517a29b4e453002911a9ad82e (diff) | |
| download | rockbox-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.h | 2 | ||||
| -rw-r--r-- | firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c | 13 |
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; |