diff options
Diffstat (limited to 'firmware')
-rw-r--r-- | firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c | 92 |
1 files changed, 90 insertions, 2 deletions
diff --git a/firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c b/firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c index 74cfa08712..f2fbf706d7 100644 --- a/firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c +++ b/firmware/target/arm/imx233/sansa-fuzeplus/lcd-fuzeplus.c | |||
@@ -268,7 +268,63 @@ static void lcd_init_seq_7783(void) | |||
268 | 268 | ||
269 | static void lcd_init_seq_9325(void) | 269 | static void lcd_init_seq_9325(void) |
270 | { | 270 | { |
271 | 271 | lcd_write_reg(0xe5, 0x78f0); | |
272 | lcd_write_reg(0xe3, 0x3008); | ||
273 | lcd_write_reg(0xe7, 0x12); | ||
274 | lcd_write_reg(0xef, 0x1231); | ||
275 | lcd_write_reg(0, 1); | ||
276 | lcd_write_reg(1, 0x100); | ||
277 | lcd_write_reg(2, 0x700); | ||
278 | lcd_write_reg(3, 0x1030); | ||
279 | lcd_write_reg(4, 0); | ||
280 | lcd_write_reg(8, 0x207); | ||
281 | lcd_write_reg(9, 0); | ||
282 | lcd_write_reg(0xa, 0); | ||
283 | lcd_write_reg(0xc, 0); | ||
284 | lcd_write_reg(0xd, 0); | ||
285 | lcd_write_reg(0xf, 0); | ||
286 | lcd_write_reg(0x10, 0); | ||
287 | lcd_write_reg(0x11, 7); | ||
288 | lcd_write_reg(0x12, 0); | ||
289 | lcd_write_reg(0x13, 0); | ||
290 | mdelay(20); | ||
291 | lcd_write_reg(0x10, 0x1290); | ||
292 | lcd_write_reg(0x11, 7); | ||
293 | mdelay(50); | ||
294 | lcd_write_reg(0x12, 0x19); | ||
295 | mdelay(50); | ||
296 | lcd_write_reg(0x13, 0x1700); | ||
297 | lcd_write_reg(0x29, 0x14); | ||
298 | mdelay(50); | ||
299 | lcd_write_reg(0x20, 0); | ||
300 | lcd_write_reg(0x21, 0); | ||
301 | lcd_write_reg(0x30, 0x504); | ||
302 | lcd_write_reg(0x31, 7); | ||
303 | lcd_write_reg(0x32, 6); | ||
304 | lcd_write_reg(0x35, 0x106); | ||
305 | lcd_write_reg(0x36, 0x202); | ||
306 | lcd_write_reg(0x37, 0x504); | ||
307 | lcd_write_reg(0x38, 0x500); | ||
308 | lcd_write_reg(0x39, 0x706); | ||
309 | lcd_write_reg(0x3c, 0x204); | ||
310 | lcd_write_reg(0x3d, 0x202); | ||
311 | lcd_write_reg(0x50, 0); | ||
312 | lcd_write_reg(0x51, 0xef); | ||
313 | lcd_write_reg(0x52, 0); | ||
314 | lcd_write_reg(0x53, 0x13f); | ||
315 | lcd_write_reg(0x60, 0xa700); | ||
316 | lcd_write_reg(0x61, 1); | ||
317 | lcd_write_reg(0x6a, 1); | ||
318 | lcd_write_reg(0x2b, 0xd); | ||
319 | mdelay(50); | ||
320 | lcd_write_reg(0x90, 0x11); | ||
321 | lcd_write_reg(0x92, 0x600); | ||
322 | lcd_write_reg(0x93, 3); | ||
323 | lcd_write_reg(0x95, 0x110); | ||
324 | lcd_write_reg(0x97, 0); | ||
325 | lcd_write_reg(0x98, 0); | ||
326 | lcd_write_reg(7, 0x173); | ||
327 | lcd_write_reg(0x22, 0); | ||
272 | } | 328 | } |
273 | 329 | ||
274 | void lcd_init_device(void) | 330 | void lcd_init_device(void) |
@@ -333,7 +389,39 @@ static void lcd_enable_7783(bool enable) | |||
333 | 389 | ||
334 | static void lcd_enable_9325(bool enable) | 390 | static void lcd_enable_9325(bool enable) |
335 | { | 391 | { |
336 | (void) enable; | 392 | if(!enable) |
393 | { | ||
394 | lcd_write_reg(7, 0x131); | ||
395 | mdelay(10); | ||
396 | lcd_write_reg(7, 0x130); | ||
397 | mdelay(10); | ||
398 | lcd_write_reg(7, 0); | ||
399 | lcd_write_reg(0x10, 0x80); | ||
400 | lcd_write_reg(0x11, 0); | ||
401 | lcd_write_reg(0x12, 0); | ||
402 | lcd_write_reg(0x13, 0); | ||
403 | mdelay(200); | ||
404 | lcd_write_reg(0x10, 0x82); | ||
405 | } | ||
406 | else | ||
407 | { | ||
408 | lcd_write_reg(0x10, 0x80); | ||
409 | lcd_write_reg(0x11, 0); | ||
410 | lcd_write_reg(0x12, 0); | ||
411 | lcd_write_reg(0x13, 0); | ||
412 | lcd_write_reg(7, 1); | ||
413 | mdelay(200); | ||
414 | lcd_write_reg(0x10, 0x1290); | ||
415 | lcd_write_reg(0x11, 7); | ||
416 | mdelay(50); | ||
417 | lcd_write_reg(0x12, 0x19); | ||
418 | mdelay(50); | ||
419 | lcd_write_reg(0x13, 0x1700); | ||
420 | lcd_write_reg(0x29, 0x10); | ||
421 | mdelay(50); | ||
422 | lcd_write_reg(7, 0x133); | ||
423 | lcd_write_reg(0x22, 0); | ||
424 | } | ||
337 | } | 425 | } |
338 | 426 | ||
339 | void lcd_enable(bool enable) | 427 | void lcd_enable(bool enable) |