summaryrefslogtreecommitdiff
path: root/firmware
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 /firmware
parent1096cc08c03af37517a29b4e453002911a9ad82e (diff)
downloadrockbox-744adcba81f462f41c18557d28883c086c27edf7.tar.gz
rockbox-744adcba81f462f41c18557d28883c086c27edf7.zip
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
Diffstat (limited to 'firmware')
-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 970b8661e5..b685cdcd86 100644
--- a/firmware/target/arm/imx233/lcdif-imx233.h
+++ b/firmware/target/arm/imx233/lcdif-imx233.h
@@ -85,7 +85,7 @@
85 85
86void imx233_lcdif_enable_bus_master(bool enable); 86void imx233_lcdif_enable_bus_master(bool enable);
87void imx233_lcdif_enable(bool enable); 87void imx233_lcdif_enable(bool enable);
88void imx233_lcdif_reset(void); 88void imx233_lcdif_reset(void);// reset lcdif block
89void imx233_lcdif_set_timings(unsigned data_setup, unsigned data_hold, 89void imx233_lcdif_set_timings(unsigned data_setup, unsigned data_hold,
90 unsigned cmd_setup, unsigned cmd_hold); 90 unsigned cmd_setup, unsigned cmd_hold);
91void imx233_lcdif_set_lcd_databus_width(unsigned width); 91void 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 6bc6252506..140e448630 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)
247 247
248static void lcd_init_seq_7783(void) 248static void lcd_init_seq_7783(void)
249{ 249{
250 __REG_SET(HW_LCDIF_CTRL1) = HW_LCDIF_CTRL1__RESET;
251 mdelay(50);
252 __REG_CLR(HW_LCDIF_CTRL1) = HW_LCDIF_CTRL1__RESET;
253 mdelay(10);
254 __REG_SET(HW_LCDIF_CTRL1) = HW_LCDIF_CTRL1__RESET;
255
256 _begin_seq() 250 _begin_seq()
257 _mdelay(200) 251 _mdelay(200)
258 _lcd_write_reg(1, 0x100) 252 _lcd_write_reg(1, 0x100)
@@ -377,6 +371,13 @@ void lcd_init_device(void)
377 if(lcd_kind == LCD_KIND_7783 || lcd_kind == LCD_KIND_9325) 371 if(lcd_kind == LCD_KIND_7783 || lcd_kind == LCD_KIND_9325)
378 break; 372 break;
379 } 373 }
374 // reset device
375 __REG_SET(HW_LCDIF_CTRL1) = HW_LCDIF_CTRL1__RESET;
376 mdelay(50);
377 __REG_CLR(HW_LCDIF_CTRL1) = HW_LCDIF_CTRL1__RESET;
378 mdelay(10);
379 __REG_SET(HW_LCDIF_CTRL1) = HW_LCDIF_CTRL1__RESET;
380
380 switch(lcd_kind) 381 switch(lcd_kind)
381 { 382 {
382 case LCD_KIND_7783: lcd_init_seq_7783(); break; 383 case LCD_KIND_7783: lcd_init_seq_7783(); break;