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 @@ 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 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) 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;