Home Forums Gallery FAQs Downloads
 
 

Go Back   Meizu Me > miniPlayer M6 / SL > Community Development > Rockbox

Register Today!  

LCD Initialization Commands in official firmware

This is a discussion on LCD Initialization Commands in official firmware within the Rockbox forums, part of the Community Development category; Both M6SP and M6SL support more than one LCD driver ICs, here's what i found at the firmware version 2004.6, ...


Reply
 
Thread Tools Display Modes
Old 03-27-2008   #1
Freshman
 
Join Date: Jan 2008
Posts: 46
Thanks: 0
Thanked 0 Times in 0 Posts
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 04:04 PM.
kgb2008 nincs online   Reply With Quote
Old 03-27-2008   #2
Freshman
 
Join Date: Jan 2008
Posts: 46
Thanks: 0
Thanked 0 Times in 0 Posts
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
Thanks: 0
Thanked 0 Times in 0 Posts
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
Thanks: 0
Thanked 0 Times in 0 Posts
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
Thanks: 0
Thanked 0 Times in 0 Posts
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
Thanks: 0
Thanked 0 Times in 0 Posts
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
Thanks: 0
Thanked 0 Times in 0 Posts
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
Thanks: 0
Thanked 0 Times in 0 Posts
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: 113
Thanks: 0
Thanked 0 Times in 0 Posts
My Meizu
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
Thanks: 0
Thanked 0 Times in 0 Posts
My Meizu
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 07:27 PM.
dbmajster nincs online   Reply With Quote
Old 03-27-2008   #11
Freshman
 
Join Date: Jan 2008
Posts: 46
Thanks: 0
Thanked 0 Times in 0 Posts
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
Thanks: 0
Thanked 0 Times in 0 Posts
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
French Moderator
 
adamL's Avatar
 
Join Date: Aug 2007
Location: France
Posts: 1,858
Thanks: 33
Thanked 53 Times in 41 Posts
My Meizu
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
Thanks: 0
Thanked 0 Times in 0 Posts
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
Thanks: 0
Thanked 0 Times in 0 Posts
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: 72
Thanks: 0
Thanked 0 Times in 0 Posts
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
Administrator
 
nice2know_u's Avatar
 
Join Date: Mar 2007
Location: Budapest, Hungary
Posts: 3,243
Thanks: 101
Thanked 475 Times in 178 Posts
My Meizu
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 nincs online   Reply With Quote
Old 03-28-2008   #18
Member
 
Join Date: Jan 2008
Location: Indonesia
Posts: 106
Thanks: 0
Thanked 0 Times in 0 Posts
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
Thanks: 0
Thanked 0 Times in 0 Posts
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
Administrator
 
nice2know_u's Avatar
 
Join Date: Mar 2007
Location: Budapest, Hungary
Posts: 3,243
Thanks: 101
Thanked 475 Times in 178 Posts
My Meizu
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 12:29 PM.
nice2know_u nincs online   Reply With Quote

   
 
Meizu Me is an independent resource for all things Meizu. All rights reserved. Powered by vBulletin. Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
SEO by vBSEO 3.2.0 ©2008, Crawlability, Inc. Meizu M8, miniPlayer and all related names are properties of MEIZU Electronic Technology, Inc. Copyright 2009 Meizu Me.