03-27-2008
|
#1
|
|
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 05:04 PM.
|
|
|
03-27-2008
|
#2
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
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
|
|
Member
Join Date: Jan 2008
Location: Indonesia
Posts: 106
|
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
|
|
Member
Join Date: Oct 2007
Location: Poznan, Poland
Posts: 101
|
Isn't that a iPod nano display in the M3? (just a guess)
|
|
|
03-27-2008
|
#10
|
|
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 08:27 PM.
|
|
|
03-27-2008
|
#11
|
|
Freshman
Join Date: Jan 2008
Posts: 46
|
Meizu often change their components in the same model, it's announced that the Philips audio codec of M3 will be replaced with Wolfson 8987 from next week. So the new firmware must be smart enough to detect the chip.
|
|
|
03-27-2008
|
#12
|
|
Junior Member
Join Date: Dec 2006
Location: Cornwall, UK
Posts: 89
|
Say, how did you figure out these? Do you have access to the official source code or did you just do a fair amount of decompilation?
|
|
|
03-27-2008
|
#13
|
|
Valued Member
Join Date: Aug 2007
Location: France
Posts: 1,192
|
Quote:
Originally Posted by Pytak
Isn't that a iPod nano display in the M3? (just a guess)
|
i think the answer is here
|
|
|
03-28-2008
|
#14
|
|
Member
Join Date: Jan 2008
Location: Indonesia
Posts: 106
|
Quote:
Originally Posted by kgb2008
the Philips audio codec of M3 will be replaced with Wolfson 8987 from next week.
|
Where did you get this info?
|
|
|
03-28-2008
|
#15
|
|
Freshman
Join Date: Jan 2008
Posts: 46
|
Quote:
Originally Posted by wpyh
Where did you get this info?
|
Meizu chinese official support forum
即日起新出厂的M3将音频芯片更换为Wolfson8987[魅族论坛]
In fact, this change is right there at the Feb.25 firmware upgrade, the UDA1380 occupies the i2c address 0x30 and WM8987 use 0x34, when the audio task is start, the code will try to set the analog volume register of UDA1380 and read it back, if unmatch, it will switch to WM8987 function set.
|
|
|
03-28-2008
|
#16
|
|
Junior Member
Join Date: Mar 2008
Location: Netherlands
Posts: 68
|
I don't think we ever needed to put so much runtime detection in any of our rockbox targets before...
But I guess it's better than having many different firmwares and people needing to know which hardware they have exactly.
|
|
|
03-28-2008
|
#17
|
|
Moderator
Join Date: Mar 2007
Location: Sz閗esfeh閞v醨, Hungary
Posts: 1,386
|
Quote:
Originally Posted by kgb2008
Meizu often change their components in the same model, it's announced that the Philips audio codec of M3 will be replaced with Wolfson 8987 from next week.
|
Wow, great news! So I guess the M3's sound quality will reach the M6SL's :P
|
|
|
03-28-2008
|
#18
|
|
Member
Join Date: Jan 2008
Location: Indonesia
Posts: 106
|
Quote:
Originally Posted by kgb2008
Meizu chinese official support forum
即日起新出厂的M3将音频芯片更换为Wolfson8987[魅族论坛]
In fact, this change is right there at the Feb.25 firmware upgrade, the UDA1380 occupies the i2c address 0x30 and WM8987 use 0x34, when the audio task is start, the code will try to set the analog volume register of UDA1380 and read it back, if unmatch, it will switch to WM8987 function set.
|
Wow! I frequent that site but didn't notice his particular thread...
By the way, do you speak Chinese then?
|
|
|
03-28-2008
|
#19
|
|
Member
Join Date: Jan 2008
Location: Indonesia
Posts: 106
|
nice2know_u: Is the M6SL sound quality better than the M3? I don't have an M6SL, only an M3 and M6. How does the M6SL compare to the M6?
|
|
|
03-28-2008
|
#20
|
|
Moderator
Join Date: Mar 2007
Location: Sz閗esfeh閞v醨, Hungary
Posts: 1,386
|
I think the M6SL has the best sound quality of all meizu players (no hissing whatsoever). However I only had an M6SP before...
Here's a comparison thread
Last edited by nice2know_u; 03-28-2008 at 01:29 PM.
|
|
|
| Thread Tools |
|
|
| Display Modes |
Linear Mode
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
Powered by vBulletin. Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.
|