@@ -469,6 +469,7 @@ static const struct ili9881c_instr ili9881c_init_1[] = {//10-inch
469469 ILI9881C_COMMAND_INSTR (0xD3 , 0x39 ),
470470};
471471
472+ extern struct backlight_device * tinker_mcu_ili9881c_get_backlightdev (void );
472473extern int tinker_mcu_ili9881c_set_bright (int bright );
473474extern void tinker_mcu_ili9881c_screen_power_up (void );
474475
@@ -596,14 +597,25 @@ static int ili9881c_enable(struct drm_panel *panel)
596597 msleep (120 );
597598
598599 //backlight_enable(ctx->backlight);
599- #if 1
600+
601+ #if 0
600602 if (!powering_on ) {
601603 tinker_mcu_ili9881c_set_bright (0x9f );
602604 msleep (10 );
603605 powering_on = 1 ;
604606 }
605607
606608 tinker_mcu_ili9881c_set_bright (0x9f );
609+ #else
610+ ctx -> backlight -> props .power = FB_BLANK_UNBLANK ;
611+ if (!powering_on ) {
612+ ctx -> backlight -> props .brightness = 50 ;
613+ backlight_update_status (ctx -> backlight );
614+ msleep (10 );
615+ powering_on = 1 ;
616+ ctx -> backlight -> props .brightness = 255 ;
617+ }
618+ backlight_update_status (ctx -> backlight );
607619#endif
608620
609621 enable = 1 ;
@@ -613,10 +625,14 @@ static int ili9881c_enable(struct drm_panel *panel)
613625
614626static int ili9881c_disable (struct drm_panel * panel )
615627{
628+ struct ili9881c * ctx = panel_to_ili9881c (panel );
629+
616630 enable = 0 ;
617631 pr_info ("%s\n" , __func__ );
618632 //backlight_disable(ctx->backlight);
619- tinker_mcu_ili9881c_set_bright (0x00 );
633+ //tinker_mcu_ili9881c_set_bright(0x00);
634+ ctx -> backlight -> props .power = FB_BLANK_POWERDOWN ;
635+ backlight_update_status (ctx -> backlight );
620636
621637 return 0 ;
622638}
@@ -728,8 +744,14 @@ int ili9881c_dsi_probe(struct mipi_dsi_device *dsi)
728744 if (!ctx )
729745 return - ENOMEM ;
730746 mipi_dsi_set_drvdata (dsi , ctx );
731- ctx -> dsi = dsi ;
747+ ctx -> backlight = tinker_mcu_ili9881c_get_backlightdev ();
748+ if (!ctx -> backlight ) {
749+ printk ("ili9881c_dsi_probe get backlight fail\n" );
750+ return - ENODEV ;
751+ }
752+ ctx -> backlight -> props .brightness = 255 ;
732753
754+ ctx -> dsi = dsi ;
733755 drm_panel_init (& ctx -> panel );
734756 ctx -> panel .dev = & dsi -> dev ;
735757 ctx -> panel .funcs = & ili9881c_funcs ;
0 commit comments