LCD driver for meizu M3, new type (older M3s are not yet supported)

Thanks to Denes Balatoni


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18719 a1c6a512-1295-4272-9138-f99709370657
This commit is contained in:
Frank Gevaerts 2008-10-05 20:01:25 +00:00
parent 4450d3c9fe
commit 2d5e6e1a87
2 changed files with 134 additions and 22 deletions

View file

@ -101,6 +101,26 @@ void bl_debug_int(unsigned int input,unsigned int count)
void main(void)
{
char mystring[64];
int tmpval;
/* set clock to 200 MHz */
CLKCON = 0x00800080;
CLKCON2= 0x00;
PLL0PMS = 0x1ad200;
PLLCON = 1;
while (!(PLLLOCK & 1)) ;
CLKCON = 0x20802080;
/* mask all interrupts
this is done, because the lcd framebuffer
overwrites some stuff, which leads to a freeze
when an irq is generated after the dfu upload.
crt0 should have disabled irqs,
but the bootrom hands us execution in
user mode so we can't switch interrupts off */
INTMSK = 0;
//Set backlight pin to output and enable
int oldval = PCON0;
PCON0 = ((oldval & ~(3 << 4)) | (1 << 4));
@ -110,6 +130,15 @@ void main(void)
oldval = PCON1;
PCON1 = ((oldval & ~(0xf << 16)) | (0 << 16));
asm volatile("mrs %0, cpsr \n\t"
: "=r" (tmpval)
);
lcd_init();
snprintf(mystring, 64, "tmpval: %x", tmpval);
lcd_putsxy(0,0,mystring);
lcd_update();
init_qt1106();
// Wait for play to be pressed