Beispiel #1
0
static void hx8357a_set_backlight(struct msm_fb_data_type *mfd)
{
    int bl_level = mfd->bl_level;
       
#ifdef CONFIG_HUAWEI_BACKLIGHT_USE_CABC
    if(LCD_MAX_BACKLIGHT_LEVEL < mfd->bl_level) {
        mfd->bl_level = 1;
    }

    /*BCTRL	=1	(Backlight Control Block, This bit is always used to switch brightness for display.)
       DD	=0	(Display Dimming)
       BL		=1	(Backlight Control)*/ 
    serigo(0x3D, 0x24);
    /*Set backlight level*/
    serigo(0x3C, lcd_backlight_level[mfd->bl_level]);

    /* Set still picture mode for content adaptive image functionality*/
    serigo(0x3E, 0x02);

    /* set the minimum brightness value of the display for CABC function*/
    serigo(0x3F, 0x00);
#else
   // lcd_set_backlight_pwm(bl_level);
    pwm_set_backlight(bl_level);
#endif
     return;
}
Beispiel #2
0
static void mddi_r61581_sleep(u32 sleepin)
{
	if (sleepin) {
		serigo(0x0028, 0, "\x00", TRUE);
		serigo(0x0010, 0, "\x00", TRUE);
	} else {
		serigo(0x0011, 0, "\x00", TRUE);
		mddi_wait(120);
		serigo(0x0029, 0, "\x00", TRUE);
	}
}
static int lcdc_sharp_panel_off(struct platform_device *pdev)
{
	if (sharp_state.disp_powered_up && sharp_state.display_on) {
		serigo(4, 0x00);
		mdelay(40);
		serigo(31, 0xC1);
		mdelay(40);
		serigo(31, 0x00);
		mdelay(100);
		sharp_state.display_on = FALSE;
		sharp_state.disp_initialized = FALSE;
	}
	return 0;
}
void sharp_lcdc_disp_on(void)
{
	unsigned i;
	gpio_set(SPI_CS, 1);
	gpio_set(SPI_SCLK, 1);
	gpio_set(SPI_MOSI, 0);
	gpio_set(SPI_MISO, 0);

	for (i = 0; i < ARRAY_SIZE(init_sequence); i++) {
		serigo(init_sequence[i].addr, init_sequence[i].data);
	}
	mdelay(10);
	serigo(31, 0xC1);
	mdelay(10);
	serigo(31, 0xD9);
	serigo(31, 0xDF);
}
static void sharp_disp_on(void)
{
	int i;

	if (sharp_state.disp_powered_up && !sharp_state.display_on) {
		for (i = 0; i < ARRAY_SIZE(init_sequence); i++) {
			serigo(init_sequence[i].addr,
			       init_sequence[i].data);
		}
		mdelay(10);
		serigo(31, 0xC1);
		mdelay(10);
		serigo(31, 0xD9);
		serigo(31, 0xDF);

		sharp_state.display_on = TRUE;
	}
}
static void nt35410_hvga_set_backlight(struct msm_fb_data_type *mfd)
{
    int bl_level = mfd->bl_level;
       
#ifdef CONFIG_HUAWEI_BACKLIGHT_USE_CABC
    if(LCD_MAX_BACKLIGHT_LEVEL < mfd->bl_level) {
        mfd->bl_level = 1;
    }
    serigo(0x3D, 0x24);
    /*Set backlight level*/
    serigo(0x3C, lcd_backlight_level[mfd->bl_level]);

    /* Set still picture mode for content adaptive image functionality*/
    serigo(0x3E, 0x02);

    /* set the minimum brightness value of the display for CABC function*/
    serigo(0x3F, 0x00);
#else
   // lcd_set_backlight_pwm(bl_level);
    pwm_set_backlight(bl_level);
#endif
     return;
}
Beispiel #7
0
static int mddi_r61581_lcd_on(struct platform_device *pdev)
{
	MDDI_MSG_DEBUG("[MDDI] turning r61581 on\n");
	if (r61581_initialized) {
		mddi_r61581_sleep(0);
	} else {
		mddi_r61581_hw_reset();

		mddi_wait(10);

		serigo(0x00B0, 1, "\x0", TRUE);
		serigo(0x00B3, 4, "\x02\x00\x00\x00", TRUE);
		serigo(0x00B4, 1, "\x00", TRUE);
		serigo(0x00C0, 8, "\x03\x3B\x00\x02\x00\x01\x00\x43", TRUE);
		serigo(0x00C1, 4, "\x08\x17\x08\x08", TRUE);

		serigo(0x00C4, 4, "\x22\x02\x00\x00", TRUE);
		serigo(0x00C8, 20, "\x09\x08\x10\x85\x07\x08\x16\x05\x00\x32"
			"\x05\x16\x08\x88\x09\x10\x09\x04\x32\x00", TRUE);

		serigo(0x002A, 4, "\x00\x00\x01\x3F", TRUE);
		serigo(0x002B, 4, "\x00\x00\x01\xDF", TRUE);
		serigo(0x0035, 1, "\x00", TRUE);
		serigo(0x003A, 1, "\x66", TRUE);
		serigo(0x0044, 2, "\x00\x01", TRUE);
		serigo(0x002C, 0, "\x00", TRUE);
		serigo(0x0011, 0, "\x00", TRUE);

		mddi_wait(150);

		serigo(0x00D0, 4, "\x07\x07\x16\x72", TRUE);
		serigo(0x00D1, 3, "\x03\x3A\x0A", TRUE);
		serigo(0x00D2, 3, "\x02\x44\x04", TRUE);
		serigo(0x0029, 0, "\x00", TRUE);
		serigo(0x002C, 0, "\x00", TRUE);

		mddi_wait(10);
		r61581_initialized = TRUE;
	}
	return 0;
}