LCD Initialization Commands in official firmware
Rockbox
|
03-27-2008
|
#1 (permalink)
|
Freshman

Join Date: Jan 2008
Posts: 46
|
LCD Initialization Commands in official firmware
Both M6SP and M6SL support more than one LCD driver ICs, here's what i found at the firmware version 2004.6, hope someone can identify the missing part num of unknown driver.
M6SL
[S6D0139]
Display Init
-------------------------------------
LCD_SetReg(7, 0);
LCD_SetReg(0x13, 0);
delay
LCD_SetReg(0x11, 0x3304);
LCD_SetReg(0x14, 0x1300);
LCD_SetReg(0x10, 0x1a20);
LCD_SetReg(0x13, 0x40);
delay
LCD_SetReg(0x13, 0x60);
LCD_SetReg(0x13, 0x70);
delay
LCD_SetReg(1, 0x127);
LCD_SetReg(2, 0x700);
LCD_SetReg(3, 0x1030);
LCD_SetReg(8, 0x208);
LCD_SetReg(11, 0x620);
LCD_SetReg(12, 0x110);
LCD_SetReg(0x30, 0x120);
LCD_SetReg(0x31, 0x117);
LCD_SetReg(0x32, 0);
LCD_SetReg(0x33, 0x305);
LCD_SetReg(0x34, 0x717);
LCD_SetReg(0x35, 0x124);
LCD_SetReg(0x36, 0x706);
LCD_SetReg(0x37, 0x503);
LCD_SetReg(0x38, 0x1f03);
LCD_SetReg(0x39, 9);
LCD_SetReg(0x40, 0);
LCD_SetReg(0x41, 0);
LCD_SetReg(0x42, 0x13f);
LCD_SetReg(0x43, 0);
LCD_SetReg(0x44, 0x13f);
LCD_SetReg(0x45, 0);
LCD_SetReg(0x46, 0xef00);
LCD_SetReg(0x47, 0x13f);
LCD_SetReg(0x48, 0);
LCD_SetReg(7, 0x15);
delay
LCD_SetReg(7, 0x17);
LCD_SetReg(0x20, 0);
LCD_SetReg(0x21, 0);
LCD_SetReg(0x22, 0);
Display Off
-------------------------------------
LCD_SetReg(7, 0x16);
delay
LCD_SetReg(7, 4);
delay
LCD_SetReg(0x10, 0x1e21);
delay
Display On
-------------------------------------
LCD_SetReg(0, 1);
delay
LCD_SetReg(0x10, 0);
delay
LCD_SetReg(0x11, 0x3304);
LCD_SetReg(0x14, 0x1300);
LCD_SetReg(0x10, 0x1a20);
LCD_SetReg(7, 0x15);
delay
LCD_SetReg(7, 0x17);
LCD_SetReg(0x20, 0);
LCD_SetReg(0x21, 0);
LCD_SetReg(0x22, 0);
Last edited by kgb2008 : 03-27-2008 at 03:04 PM.
|
|
|
03-27-2008
|
#2 (permalink)
|
Freshman

Join Date: Jan 2008
Posts: 46
|
M6SL
[S6D0154]
Display Init
-------------------------------------
LCD_SetReg(12, 0x130);
LCD_SetReg(0x80, 0x8d);
LCD_SetReg(0x92, 0x10);
LCD_SetReg(0x11, 0x1b);
LCD_SetReg(0x12, 0x3101);
LCD_SetReg(0x13, 0x105f);
LCD_SetReg(0x14, 0x667f);
LCD_SetReg(0x10, 0x800);
delay
LCD_SetReg(0x11, 0x11b);
delay
LCD_SetReg(0x11, 0x31b);
delay
LCD_SetReg(0x11, 0x71b);
delay
LCD_SetReg(0x11, 0xf1b);
delay
LCD_SetReg(0x11, 0xf3b);
delay
LCD_SetReg(1, 0x2128);
LCD_SetReg(2, 0x100);
LCD_SetReg(3, 0x1030);
LCD_SetReg(7, 0);
LCD_SetReg(8, 0x808);
LCD_SetReg(11, 0x1100);
LCD_SetReg(15, 0xf01);
LCD_SetReg(0x15, 0);
LCD_SetReg(0x30, 0);
LCD_SetReg(0x34, 0x13f);
LCD_SetReg(0x35, 0);
LCD_SetReg(0x36, 0xef);
LCD_SetReg(0x37, 0);
LCD_SetReg(0x38, 0x13f);
LCD_SetReg(0x39, 0);
LCD_SetReg(0x50, 0);
LCD_SetReg(0x51, 0xf00);
LCD_SetReg(0x52, 0xa03);
LCD_SetReg(0x53, 0x300);
LCD_SetReg(0x54, 0xc05);
LCD_SetReg(0x55, 0xf00);
LCD_SetReg(0x56, 0xf00);
LCD_SetReg(0x57, 3);
LCD_SetReg(0x58, 0x1f07);
LCD_SetReg(0x59, 0x71f);
Display Off
-------------------------------------
LCD_SetReg(7, 0x12);
delay
LCD_SetReg(7, 0);
delay
Display On
-------------------------------------
Display_Init
LCD_SetReg(7, 0x12);
delay
LCD_SetReg(7, 0x13);
|
|
|
03-27-2008
|
#3 (permalink)
|
Freshman

Join Date: Jan 2008
Posts: 46
|
M6SL
[Unknown Driver IC]
Display Init
-------------------------------------
LCD_SetReg(1, 0x2b3f);
LCD_SetReg(2, 0x300);
LCD_SetReg(3, 0x6e6a);
LCD_SetReg(11, 0xd408);
LCD_SetReg(12, 2);
LCD_SetReg(13, 11);
LCD_SetReg(14, 0x3000);
LCD_SetReg(15, 0);
LCD_SetReg(0x10, 0xd4);
LCD_SetReg(0x15, 4);
LCD_SetReg(0x16, 0xef08);
LCD_SetReg(0x17, 7);
LCD_SetReg(0x1e, 0xb3);
LCD_SetReg(0x30, 0);
LCD_SetReg(0x31, 0x604);
LCD_SetReg(0x32, 7);
LCD_SetReg(0x33, 0x500);
LCD_SetReg(0x34, 7);
LCD_SetReg(0x35, 0x301);
LCD_SetReg(0x36, 0x707);
LCD_SetReg(0x37, 5);
LCD_SetReg(0x3a, 4);
LCD_SetReg(0x3b, 4);
Display Off
-------------------------------------
LCD_SetReg(0x28, 6);
LCD_SetReg(0x2d, 0x3f66);
delay
Display On
-------------------------------------
LCD_SetReg(0x28, 6);
LCD_SetReg(0x2d, 0x3f60);
delay
LCD_SetReg(0x28, 6);
|
|
|
03-27-2008
|
#4 (permalink)
|
Freshman

Join Date: Jan 2008
Posts: 46
|
M3
[Unknown Driver IC]
Display Init
-------------------------------------
LCD_SetReg(0xa4, 1);
delay
LCD_SetReg(1, 0x100);
LCD_SetReg(2, 0x300);
LCD_SetReg(3, 0x9230);
LCD_SetReg(8, 0x404);
LCD_SetReg(14, 0x10);
LCD_SetReg(0x70, 0x1000);
LCD_SetReg(0x71, 1);
LCD_SetReg(0x30, 2);
LCD_SetReg(0x31, 0x400);
LCD_SetReg(0x32, 7);
LCD_SetReg(0x33, 0x500);
LCD_SetReg(0x34, 7);
LCD_SetReg(0x35, 0x703);
LCD_SetReg(0x36, 0x507);
LCD_SetReg(0x37, 5);
LCD_SetReg(0x38, 0x1404);
LCD_SetReg(0x39, 14);
LCD_SetReg(0x40, 0x202);
LCD_SetReg(0x41, 3);
LCD_SetReg(0x42, 0);
LCD_SetReg(0x43, 0x200);
LCD_SetReg(0x44, 0x707);
LCD_SetReg(0x45, 0x407);
LCD_SetReg(0x46, 0x505);
LCD_SetReg(0x47, 2);
LCD_SetReg(0x48, 4);
LCD_SetReg(0x49, 4);
LCD_SetReg(0x60, 0x202);
LCD_SetReg(0x61, 3);
LCD_SetReg(0x62, 0);
LCD_SetReg(0x63, 0x200);
LCD_SetReg(0x64, 0x707);
LCD_SetReg(0x65, 0x407);
LCD_SetReg(0x66, 0x505);
LCD_SetReg(0x67, 2);
LCD_SetReg(0x68, 4);
LCD_SetReg(0x69, 4);
LCD_SetReg(7, 1);
LCD_SetReg(0x18, 1);
LCD_SetReg(0x10, 0x1690);
LCD_SetReg(0x11, 0x100);
LCD_SetReg(0x12, 0x117);
LCD_SetReg(0x13, 0xf80);
LCD_SetReg(0x12, 0x137);
LCD_SetReg(0x20, 0);
LCD_SetReg(0x21, 0);
LCD_SetReg(0x50, 0);
LCD_SetReg(0x51, 0xaf);
LCD_SetReg(0x52, 0);
LCD_SetReg(0x53, 0x83);
LCD_SetReg(0x90, 0);
LCD_SetReg(0x91, 0);
LCD_SetReg(0x92, 0);
LCD_SetReg(0x98, 0);
LCD_SetReg(0x99, 0x903);
LCD_SetReg(0x9a, 0x502);
LCD_SetReg(0x9b, 0x300);
delay
Display Off
-------------------------------------
LCD_SetReg(7, 0x21);
LCD_SetReg(0x12, 0x0137);
delay
LCD_SetReg(7, 0x21);
LCD_SetReg(0x12, 0x1137);
delay
Display On
-------------------------------------
LCD_SetReg(7, 0x232);
LCD_SetReg(0x12, 0x1137);
delay
LCD_SetReg(7, 0x201);
LCD_SetReg(0x12, 0x0137);
delay
LCD_SetReg(7, 0x201);
delay
LCD_SetReg(0x10, 0x680);
LCD_SetReg(0x11, 0x160);
LCD_SetReg(0x12, 0x127);
delay
LCD_SetReg(0x10, 0x600);
|
|
|
03-27-2008
|
#5 (permalink)
|
Freshman

Join Date: Jan 2008
Posts: 46
|
M6TP
[Unknown Driver IC]
Display Init
-------------------------------------
LCD_SetReg(3,1);
LCD_SetReg(0x3A,1);
LCD_SetReg(0x32,2);
LCD_SetReg(0x33,0);
LCD_SetReg(0x37,0);
LCD_SetReg(0x77,0x0FFF);
LCD_SetReg(0x72,1);
LCD_SetReg(0x1C,0x1A5C);
LCD_SetReg(0x52,0x21);
LCD_SetReg(0x53,0x11);
LCD_SetReg(0x24,0x61);
LCD_SetReg(0x25,0x61);
LCD_SetReg(0x26,0);
LCD_SetReg(0x27,0);
LCD_SetReg(0x61,0x26);
LCD_SetReg(0x62,8);
LCD_SetReg(0x63,0x15);
LCD_SetReg(0x64,0x16);
LCD_SetReg(0x65,0xC);
LCD_SetReg(0x66,0x24);
LCD_SetReg(0x4D,0x0205);
LCD_SetReg(0x4E,1);
LCD_SetReg(0x4F,0x104);
LCD_SetReg(0x2E,0x32);
LCD_SetReg(0x3E,0x88);
LCD_SetReg(0x70,0x20);
LCD_SetReg(0x29,0);
LCD_SetReg(0x2A,0);
LCD_SetReg(0x2B,0xEF);
LCD_SetReg(0x2C,0x013F);
LCD_SetReg(8,0);
LCD_SetReg(9,0xEF);
LCD_SetReg(0x0A,0);
LCD_SetReg(0x0B,0x013F);
LCD_SetReg(1,0);
LCD_SetReg(5,4);
LCD_SetReg(6,0);
LCD_SetReg(7,0);
LCD_SetReg(2,0x46);
LCD_SetReg(0x3C,0);
LCD_SetReg(0x3D,0x013F);
delay
LCD_SetReg(0x1E,0x21);
LCD_SetReg(0x3B,1);
LCD_SetReg(0,8);
Display Off
-------------------------------------
LCD_SetReg(0,8);
Display On
-------------------------------------
LCD_SetReg(0.0);
delay
LCD_SetReg(0,0);
|
|
|
03-27-2008
|
#6 (permalink)
|
Freshman

Join Date: Jan 2008
Posts: 46
|
M6SP
[S6D0139]
Display Init
-------------------------------------
LCD_SetReg(7,0);
LCD_SetReg(0x13,0);
delay
0x11,0x3304
LCD_SetReg(7, 0);
LCD_SetReg(0x13, 0);
delay
LCD_SetReg(0x11, 0x3304);
LCD_SetReg(0x14, 0x1300);
LCD_SetReg(0x10, 0x1a20);
LCD_SetReg(0x13, 0x40);
delay
LCD_SetReg(0x13, 0x60);
LCD_SetReg(0x13, 0x70);
delay
LCD_SetReg(1, 0x127);
LCD_SetReg(2, 0x700);
LCD_SetReg(3, 0x1030);
LCD_SetReg(8, 0x208);
LCD_SetReg(11, 0x620);
LCD_SetReg(12, 0x110);
LCD_SetReg(0x30, 0x120);
LCD_SetReg(0x31, 0x117);
LCD_SetReg(0x32, 0);
LCD_SetReg(0x33, 0x305);
LCD_SetReg(0x34, 0x717);
LCD_SetReg(0x35, 0x124);
LCD_SetReg(0x36, 0x706);
LCD_SetReg(0x37, 0x503);
LCD_SetReg(0x38, 0x1f03);
LCD_SetReg(0x39, 9);
LCD_SetReg(0x40, 0);
LCD_SetReg(0x41, 0);
LCD_SetReg(0x42, 0x13f);
LCD_SetReg(0x43, 0);
LCD_SetReg(0x44, 0x13f);
LCD_SetReg(0x45, 0);
LCD_SetReg(0x46, 0xef00);
LCD_SetReg(0x47, 0x13f);
LCD_SetReg(0x48, 0);
LCD_SetReg(7, 0x15);
delay
LCD_SetReg(7, 0x17);
LCD_SetReg(0x20, 0);
LCD_SetReg(0x21, 0);
LCD_SetReg(0x22, 0);
Display Off
-------------------------------------
LCD_SetReg(7, 0x16,);
delay
LCD_SetReg(7, 4);
delay
LCD_SetReg(0x10, 0x1e21);
delay
Display On
-------------------------------------
LCD_SetReg(0, 1)
delay
LCD_SetReg(0x10, 0);
delay
LCD_SetReg(0x11, 0x3304);
LCD_SetReg(0x14, 0x1300);
LCD_SetReg(0x10, 0x1a20);
LCD_SetReg(7, 0x15);
delay
LCD_SetReg(7, 0x17);
LCD_SetReg(0x20, 0);
LCD_SetReg(0x21, 0);
LCD_SetReg(0x22, 0);
|
|
|
03-27-2008
|
#7 (permalink)
|
Freshman

Join Date: Jan 2008
Posts: 46
|
M6SP
[Unknown Driver IC]
Display Init
-------------------------------------
LCD_SetReg(7, 0);
LCD_SetReg(0x12, 0);
delay
LCD_SetReg(0x11, 12);
LCD_SetReg(0x12, 0xa1c);
LCD_SetReg(0x13, 0x22);
LCD_SetReg(0x14, 0);
LCD_SetReg(0x10, 0x7404);
LCD_SetReg(0x11, 0x738);
LCD_SetReg(0x10, 0x7404);
delay
LCD_SetReg(7, 9);
LCD_SetReg(0x12, 0x65c);
delay
LCD_SetReg(1, 0xe127);
LCD_SetReg(2, 0x300);
LCD_SetReg(3, 0x1100);
LCD_SetReg(8, 8);
LCD_SetReg(11, 0);
LCD_SetReg(12, 0);
LCD_SetReg(13, 7);
LCD_SetReg(0x15, 3);
LCD_SetReg(0x16, 0x14);
LCD_SetReg(0x17, 0);
LCD_SetReg(0x30, 0x503);
LCD_SetReg(0x31, 0x303);
LCD_SetReg(0x32, 0x305);
LCD_SetReg(0x33, 0x202);
LCD_SetReg(0x34, 0x204);
LCD_SetReg(0x35, 0x404);
LCD_SetReg(0x36, 0x402);
LCD_SetReg(0x37, 0x202);
LCD_SetReg(0x38, 0x1000);
LCD_SetReg(0x39, 0x1000);
LCD_SetReg(7, 9);
delay
LCD_SetReg(7, 0x109);
delay
LCD_SetReg(7, 0x10b);
Display Off
-------------------------------------
LCD_SetReg(11, 0);
LCD_SetReg(7, 0x109);
delay
LCD_SetReg(7, 8);
delay
LCD_SetReg(0x10, 0x400);
LCD_SetReg(0x10, 0x401);
delay
Display On
-------------------------------------
LCD_SetReg(0x10, 0x400);
delay
LCD_SetReg(7, 0);
LCD_SetReg(0x12, 0);
delay
LCD_SetReg(0x11, 12);
LCD_SetReg(0x12, 0xa1c);
LCD_SetReg(0x13, 0x22);
LCD_SetReg(0x14, 0);
LCD_SetReg(0x10, 0x7404);
LCD_SetReg(0x11, 0x738);
LCD_SetReg(0x10, 0x7404);
delay
LCD_SetReg(7, 9);
LCD_SetReg(0x12, 0x65c);
delay
LCD_SetReg(11, 0);
LCD_SetReg(7, 9);
delay
LCD_SetReg(7, 0x109);
delay
LCD_SetReg(7, 0x10b);
|
|
|
03-27-2008
|
#8 (permalink)
|
Member

Join Date: Jan 2008
Location: Indonesia
Posts: 100
|
Hi, I'm not familiar with this, but I know that there are at least two different initialization sequences for the M3.
My M3 once had an LCD problem and was sent back for repairs. They changed my LCD panel for a new one, and now I could only use firmware version 2.004, not 2.003 or 2.001. So there must be some difference in the old and new panels.
|
|
|
03-27-2008
|
#9 (permalink)
|
Junior Member

Join Date: Oct 2007
Location: Poznan, Poland
Posts: 72
|
Isn't that a iPod nano display in the M3? (just a guess)
|
|
|
03-27-2008
|
#10 (permalink)
|
Passing By

Join Date: Feb 2008
Location: Gdańsk in Poland
Posts: 7
|
I think it is, but i'm not sure (i've read about it but i don't remember where).
Last edited by dbmajster : 03-27-2008 at 06:27 PM.
|
|
|
| Thread Tools |
|
|
| Display Modes |
Linear Mode
|
All times are GMT. The time now is 09:28 PM.
|