Fansite and Forum for Meizu Products
 
       

Go Back   Meizu Me > General > Community Development > Rockbox

Reply
 
Thread Tools
Old 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.
kgb2008 nincs online   Reply With Quote
Old 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);
kgb2008 nincs online   Reply With Quote
Old 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);
kgb2008 nincs online   Reply With Quote
Old 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);
kgb2008 nincs online   Reply With Quote
Old 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);
kgb2008 nincs online   Reply With Quote
Old 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);
kgb2008 nincs online   Reply With Quote
Old 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);
kgb2008 nincs online   Reply With Quote
Old 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.
wpyh nincs online   Reply With Quote
Old 03-27-2008   #9
Member
 
Pytak's Avatar
 
Join Date: Oct 2007
Location: Poznan, Poland
Posts: 101
Isn't that a iPod nano display in the M3? (just a guess)
Pytak nincs online   Reply With Quote
Old 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.
dbmajster nincs online   Reply With Quote
Old 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.
kgb2008 nincs online   Reply With Quote
Old 03-27-2008   #12
Junior Member
 
audiofish's Avatar
 
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?
audiofish nincs online   Reply With Quote
Old 03-27-2008   #13
Valued Member
 
adamL's Avatar
 
Join Date: Aug 2007
Location: France
Posts: 1,192
Quote:
Originally Posted by Pytak View Post
Isn't that a iPod nano display in the M3? (just a guess)
i think the answer is here
adamL nincs online   Reply With Quote
Old 03-28-2008   #14
Member
 
Join Date: Jan 2008
Location: Indonesia
Posts: 106
Quote:
Originally Posted by kgb2008 View Post
the Philips audio codec of M3 will be replaced with Wolfson 8987 from next week.
Where did you get this info?
wpyh nincs online   Reply With Quote
Old 03-28-2008   #15
Freshman
 
Join Date: Jan 2008
Posts: 46
Quote:
Originally Posted by wpyh View Post
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.
kgb2008 nincs online   Reply With Quote
Old 03-28-2008   #16
Junior Member
 
markun's Avatar
 
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.
markun nincs online   Reply With Quote
Old 03-28-2008   #17
Moderator
 
nice2know_u's Avatar
 
Join Date: Mar 2007
Location: Sz閗esfeh閞v醨, Hungary
Posts: 1,386
Quote:
Originally Posted by kgb2008 View Post
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
nice2know_u online van   Reply With Quote
Old 03-28-2008   #18
Member
 
Join Date: Jan 2008
Location: Indonesia
Posts: 106
Quote:
Originally Posted by kgb2008 View Post
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?
wpyh nincs online   Reply With Quote
Old 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?
wpyh nincs online   Reply With Quote
Old 03-28-2008   #20
Moderator
 
nice2know_u's Avatar
 
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.
nice2know_u online van   Reply With Quote
Reply

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off

Similar Threads
Thread Thread Starter Forum Replies Last Post
How to use Commands in Batman?? Superman92 Video and Imaging 22 04-06-2008 10:51 PM
M3 T2004.5 Official firmware sas-seb Firmware (M3) 21 02-20-2008 04:15 PM
M6 8GB official xx-c miniPlayer M6 / SL 4 03-28-2007 06:28 PM
M3 first official photos xx-c music card M3 5 03-14-2007 06:57 PM
Official 8GB m6 Specs???? sere83 Technical 7 03-13-2007 08:56 AM


All times are GMT. The time now is 07:31 AM.


Powered by vBulletin. Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc.
 
Meizu Me is an independent resource for all things Meizu. Meizu, Mini Player, Music Card, Mini One and all other related names are properties of MEIZU Inc. All content © 2008 Meizu Me. All Rights Reserved.