From 7aac4188d2fbb3b72e36b7daa9a9a50cf67333d6 Mon Sep 17 00:00:00 2001 From: Amaury Pouly Date: Thu, 10 Nov 2011 17:29:57 +0000 Subject: fuze+: fix typo (mdelay vs udelay) in register read (shouldn't change anything) and be sure lcdif is ready git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30958 a1c6a512-1295-4272-9138-f99709370657 --- .../arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c | 31 +++++++++++----------- 1 file changed, 16 insertions(+), 15 deletions(-) (limited to 'firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c') diff --git a/firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c b/firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c index 9b914d6945..6bc6252506 100644 --- a/firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c +++ b/firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c @@ -164,39 +164,40 @@ static void setup_lcdif_clock(void) static uint32_t i80_read_register(uint32_t data_out) { + imx233_lcdif_wait_ready(); /* lcd_enable is mapped to the RD pin of the controller */ imx233_set_gpio_output(1, 21, true); /* lcd_cs */ imx233_set_gpio_output(1, 19, true); /* lcd_rs */ imx233_set_gpio_output(1, 23, true); /* lcd_enable */ imx233_set_gpio_output(1, 20, true); /* lcd_wr */ imx233_enable_gpio_output_mask(1, 0x3ffff, true); /* lcd_d{0-17} */ - mdelay(2); + udelay(2); imx233_set_gpio_output(1, 19, false); /* lcd_rs */ - mdelay(1); + udelay(1); imx233_set_gpio_output(1, 21, false); /* lcd_cs */ - mdelay(1); + udelay(1); imx233_set_gpio_output(1, 20, false); /* lcd_wr */ - mdelay(1); + udelay(1); imx233_set_gpio_output_mask(1, data_out & 0x3ffff, true); /* lcd_d{0-17} */ - mdelay(1); + udelay(1); imx233_set_gpio_output(1, 20, true); /* lcd_wr */ - mdelay(3); + udelay(3); imx233_enable_gpio_output_mask(1, 0x3ffff, false); /* lcd_d{0-17} */ - mdelay(2); + udelay(2); imx233_set_gpio_output(1, 23, false); /* lcd_enable */ - mdelay(1); + udelay(1); imx233_set_gpio_output(1, 19, true); /* lcd_rs */ - mdelay(1); + udelay(1); imx233_set_gpio_output(1, 23, true); /* lcd_enable */ - mdelay(3); + udelay(3); imx233_set_gpio_output(1, 23, false); /* lcd_enable */ - mdelay(2); + udelay(2); uint32_t data_in = imx233_get_gpio_input_mask(1, 0x3ffff); /* lcd_d{0-17} */ - mdelay(1); + udelay(1); imx233_set_gpio_output(1, 23, true); /* lcd_enable */ - mdelay(1); + udelay(1); imx233_set_gpio_output(1, 21, true); /* lcd_cs */ - mdelay(1); + udelay(1); return data_in; } @@ -372,10 +373,10 @@ void lcd_init_device(void) for(int i = 0; i < 10; i++) { lcd_kind = lcd_read_reg(0); + mdelay(5); if(lcd_kind == LCD_KIND_7783 || lcd_kind == LCD_KIND_9325) break; } - mdelay(5); switch(lcd_kind) { case LCD_KIND_7783: lcd_init_seq_7783(); break; -- cgit v1.2.3