summaryrefslogtreecommitdiff
path: root/firmware/target/arm
diff options
context:
space:
mode:
authorAmaury Pouly <pamaury@rockbox.org>2011-11-10 17:29:57 +0000
committerAmaury Pouly <pamaury@rockbox.org>2011-11-10 17:29:57 +0000
commit7aac4188d2fbb3b72e36b7daa9a9a50cf67333d6 (patch)
treec6696ef9fd3a120eb6fa42d056834add4a751a83 /firmware/target/arm
parent0d2484bedb0e08eb5c659eccca4a24ef127bf3e1 (diff)
downloadrockbox-7aac4188d2fbb3b72e36b7daa9a9a50cf67333d6.tar.gz
rockbox-7aac4188d2fbb3b72e36b7daa9a9a50cf67333d6.zip
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
Diffstat (limited to 'firmware/target/arm')
-rw-r--r--firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c31
1 files changed, 16 insertions, 15 deletions
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)
164 164
165static uint32_t i80_read_register(uint32_t data_out) 165static uint32_t i80_read_register(uint32_t data_out)
166{ 166{
167 imx233_lcdif_wait_ready();
167 /* lcd_enable is mapped to the RD pin of the controller */ 168 /* lcd_enable is mapped to the RD pin of the controller */
168 imx233_set_gpio_output(1, 21, true); /* lcd_cs */ 169 imx233_set_gpio_output(1, 21, true); /* lcd_cs */
169 imx233_set_gpio_output(1, 19, true); /* lcd_rs */ 170 imx233_set_gpio_output(1, 19, true); /* lcd_rs */
170 imx233_set_gpio_output(1, 23, true); /* lcd_enable */ 171 imx233_set_gpio_output(1, 23, true); /* lcd_enable */
171 imx233_set_gpio_output(1, 20, true); /* lcd_wr */ 172 imx233_set_gpio_output(1, 20, true); /* lcd_wr */
172 imx233_enable_gpio_output_mask(1, 0x3ffff, true); /* lcd_d{0-17} */ 173 imx233_enable_gpio_output_mask(1, 0x3ffff, true); /* lcd_d{0-17} */
173 mdelay(2); 174 udelay(2);
174 imx233_set_gpio_output(1, 19, false); /* lcd_rs */ 175 imx233_set_gpio_output(1, 19, false); /* lcd_rs */
175 mdelay(1); 176 udelay(1);
176 imx233_set_gpio_output(1, 21, false); /* lcd_cs */ 177 imx233_set_gpio_output(1, 21, false); /* lcd_cs */
177 mdelay(1); 178 udelay(1);
178 imx233_set_gpio_output(1, 20, false); /* lcd_wr */ 179 imx233_set_gpio_output(1, 20, false); /* lcd_wr */
179 mdelay(1); 180 udelay(1);
180 imx233_set_gpio_output_mask(1, data_out & 0x3ffff, true); /* lcd_d{0-17} */ 181 imx233_set_gpio_output_mask(1, data_out & 0x3ffff, true); /* lcd_d{0-17} */
181 mdelay(1); 182 udelay(1);
182 imx233_set_gpio_output(1, 20, true); /* lcd_wr */ 183 imx233_set_gpio_output(1, 20, true); /* lcd_wr */
183 mdelay(3); 184 udelay(3);
184 imx233_enable_gpio_output_mask(1, 0x3ffff, false); /* lcd_d{0-17} */ 185 imx233_enable_gpio_output_mask(1, 0x3ffff, false); /* lcd_d{0-17} */
185 mdelay(2); 186 udelay(2);
186 imx233_set_gpio_output(1, 23, false); /* lcd_enable */ 187 imx233_set_gpio_output(1, 23, false); /* lcd_enable */
187 mdelay(1); 188 udelay(1);
188 imx233_set_gpio_output(1, 19, true); /* lcd_rs */ 189 imx233_set_gpio_output(1, 19, true); /* lcd_rs */
189 mdelay(1); 190 udelay(1);
190 imx233_set_gpio_output(1, 23, true); /* lcd_enable */ 191 imx233_set_gpio_output(1, 23, true); /* lcd_enable */
191 mdelay(3); 192 udelay(3);
192 imx233_set_gpio_output(1, 23, false); /* lcd_enable */ 193 imx233_set_gpio_output(1, 23, false); /* lcd_enable */
193 mdelay(2); 194 udelay(2);
194 uint32_t data_in = imx233_get_gpio_input_mask(1, 0x3ffff); /* lcd_d{0-17} */ 195 uint32_t data_in = imx233_get_gpio_input_mask(1, 0x3ffff); /* lcd_d{0-17} */
195 mdelay(1); 196 udelay(1);
196 imx233_set_gpio_output(1, 23, true); /* lcd_enable */ 197 imx233_set_gpio_output(1, 23, true); /* lcd_enable */
197 mdelay(1); 198 udelay(1);
198 imx233_set_gpio_output(1, 21, true); /* lcd_cs */ 199 imx233_set_gpio_output(1, 21, true); /* lcd_cs */
199 mdelay(1); 200 udelay(1);
200 return data_in; 201 return data_in;
201} 202}
202 203
@@ -372,10 +373,10 @@ void lcd_init_device(void)
372 for(int i = 0; i < 10; i++) 373 for(int i = 0; i < 10; i++)
373 { 374 {
374 lcd_kind = lcd_read_reg(0); 375 lcd_kind = lcd_read_reg(0);
376 mdelay(5);
375 if(lcd_kind == LCD_KIND_7783 || lcd_kind == LCD_KIND_9325) 377 if(lcd_kind == LCD_KIND_7783 || lcd_kind == LCD_KIND_9325)
376 break; 378 break;
377 } 379 }
378 mdelay(5);
379 switch(lcd_kind) 380 switch(lcd_kind)
380 { 381 {
381 case LCD_KIND_7783: lcd_init_seq_7783(); break; 382 case LCD_KIND_7783: lcd_init_seq_7783(); break;