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; }
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; }
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; }