void lcd_init_device()
{
    iomux_lcd();       /* setup pins for 16bit lcd interface */
    lcdctrl_init();    /* basic lcdc module configuration */

    lcdctrl_bypass(1); /* run in bypass mode - all writes goes directly to lcd controller */
    lcd_display_init();
}
예제 #2
0
static void lcd_v2_set_gram_area(int x, int y, int width, int height)
{
    (void) x;
    (void) y;
    (void) width;
    (void) height;
    lcdctrl_bypass(1);
    LCDC_CTRL |= RGB24B;
    lcd_cmd(0x22);
    LCDC_CTRL &= ~RGB24B;
}
예제 #3
0
static void lcd_v1_set_gram_area(int x, int y, int width, int height)
{
    lcdctrl_bypass(1);
    LCDC_CTRL |= RGB24B;
    
    lcd_write_reg(0x03, x);
    lcd_write_reg(0x05, width-1);
    lcd_write_reg(0x07, y);
    lcd_write_reg(0x09, height-1);
    
    lcd_cmd(0x22);
    LCDC_CTRL &= ~RGB24B;
}
예제 #4
0
static void lcd_v1_enable (bool on)
{
    if (on == display_on)
        return;

    lcdctrl_bypass(1);
    LCDC_CTRL |= RGB24B;

    if (on)
    {
        lcd_write_reg(0x18, 0x44);
        lcd_write_reg(0x21, 0x01);
        lcd_write_reg(0x01, 0x00);
        lcd_write_reg(0x1C, 0x03);
        lcd_write_reg(0x19, 0x06);
        udelay(5);
        lcd_write_reg(0x26, 0x84);
        udelay(40);
        lcd_write_reg(0x26, 0xB8);
        udelay(40);
        lcd_write_reg(0x26, 0xBC);
    }
    else
    {
        lcd_write_reg(0x26, 0xB8);
        udelay(40);
        lcd_write_reg(0x19, 0x01);
        udelay(40);
        lcd_write_reg(0x26, 0xA4);
        udelay(40);
        lcd_write_reg(0x26, 0x84);
        udelay(40);
        lcd_write_reg(0x1C, 0x00);
        lcd_write_reg(0x01, 0x02);
        lcd_write_reg(0x21, 0x00);
    }
    display_on = on;

    LCDC_CTRL &= ~RGB24B;
}