All pastes #752039 Raw Edit

Untitled

public text v1 · immutable
#752039 ·published 2007-10-27 23:40 UTC
rendered paste body
static void lcd_write_reg(int reg, int data)
{
    GPIOA |= 0x400;
    outw(0, 0x50010000);
    outw(reg<<1,0x50010000);
    GPIOA &= ~0x400;
    outw((data & 0xff00) >> 7, 0x50010008);
    outw((data << 24)>>23, 0x50010008);
}

static void lcd_delay(int x)
{
    int i;
    x *= 0xc35; 
    for (i=0;i<x*8;i++) {}; 
}

void lcd_init_device(void)
{
    /* lcd init 1 */
    lcd_write_reg(0x0, 0x1);
    lcd_delay(0xf);
    lcd_write_reg(0x7, 0x0);
    lcd_delay(0xa);
    lcd_write_reg(0x11, 0x2);
    lcd_write_reg(0x12, 0xa);
    lcd_write_reg(0x13, 0xc5a);         
    lcd_write_reg(0x10, 0x4);
    lcd_write_reg(0x10, 0x134);
    lcd_write_reg(0x11, 0x111);
    lcd_write_reg(0x12, 0x1c);
    lcd_delay(0x28);
    lcd_write_reg(0x13, 0x2c40);
    lcd_write_reg(0x10, 0x510);
    lcd_delay(0x3c);

    /* lcd init 2 */
    lcd_write_reg(0x1, 0x113);
    lcd_write_reg(0x2, 0x700);
    lcd_write_reg(0x3, 0x1038);
    lcd_write_reg(0x8, 0x3c8);
    lcd_write_reg(0x9, 0x0);
    lcd_write_reg(0xb, 0x3);
    lcd_write_reg(0x21, 0x0);
    lcd_write_reg(0x30, 0x406);
    lcd_write_reg(0x31, 0x303);
    lcd_write_reg(0x32, 0x0);
    lcd_write_reg(0x33, 0x305);
    lcd_write_reg(0x34, 0x404);
    lcd_write_reg(0x35, 0x0);
    lcd_write_reg(0x36, 0x0);
    lcd_write_reg(0x37, 0x503);
    lcd_write_reg(0x38, 0x1d05);
    lcd_write_reg(0x39, 0x1d05);
    lcd_write_reg(0x41, 0x0);
    lcd_write_reg(0x42, 0x9f00);
    lcd_write_reg(0x34, 0x9f00);
    lcd_write_reg(0x44, 0x7f00);
    lcd_write_reg(0x45, 0x9f00);

    /* lcd init 3 */
    lcd_write_reg(0x10, 0x4510);
    lcd_write_reg(0x7, 0x5);
    lcd_delay(0x28);
    lcd_write_reg(0x7, 0x25);
    lcd_write_reg(0x7, 0x27);
    lcd_delay(0x28);
    lcd_write_reg(0x7, 0x37);
}